A single search runs against PubMed/Medline, the Cochrane Library, the FDA MAUDE device database and the EU Clinical Trials Register. Each source has its own crawler behind a common interface, so adding a fifth database is a contained piece of work rather than a rewrite.
Results arriving from different sources are matched on publication identifiers and collapsed into one record, so the same paper is never screened twice.
Queries are queued and executed by a worker process, with visible state, running, done, so a large search doesn’t block anyone’s browser and progress is never guessed at.
Reviews progress through numbered phases, mirroring the way systematic reviews actually run: a broad screen, then a narrower one, then full text. Publications judged relevant in one phase are carried into the next automatically; the rest stay on file with the reason they were dropped
Each phase has its own questions, yes/no or scored, and a rule set decides what “relevant” means: at least *n* of these criteria, at most *n* of those, a minimum or maximum point total, evaluated across combinations of answers. The definition of inclusion becomes an object in the system instead of a convention in a team’s memory.
Users belong to an organization, work through the same phases, and answer the same questions independently.
Every ranking and answer is versioned, changed what, when, and what the value was before. When a decision is challenged months later, the record is there.
Containerized, PostgreSQL-backed, deployable in-house, which matters when the review underpins a regulatory submission.