River
Y CombinatorBacked by Y Combinator
FREE TEMPLATE

PRISMA Systematic Review Template

The screening log, the deduplication register, and a PRISMA flow whose every box is a row count with its own subtraction printed beside it.

Free download  ·  No account needed

PRISMA Counts

Identification → Included

BoxCountIdentity check
Records identified5,128OK
Removed before screening1,745OK
Records screened3,383OK: 5,128 − 1,745 = 3,383
Excluded, title and abstract3,142OK: 3,085 + 57 = 3,142
Reports sought241OK: 3,383 − 3,142 = 241
Not retrieved18
Assessed for eligibility223OK: 241 − 18 = 223
Excluded at full text205OK
Studies included18OK: 223 − 205 = 18

Every count is a row filter on the Screening Log, and the subtraction that produced it sits in the next column. Nothing here was typed.

The pack is four sheets, four documents and one rule. The sheets hold the record. A deduplication register separates deleted matches from merged ones, and a screening log carries both screeners' decisions with a reason on every exclusion. A counts sheet checks each subtraction, and the extraction table holds what the included studies say. The documents hold the output: the protocol, the criteria with their borderline cases, the flow, and the study selection paragraph. The rule is that no count is typed.

Every sheet ships filled in for one illustrative review of pharmacist-led medication review and adherence. It runs 5,128 records identified down to 3,383 screened, 241 reports sought, 223 assessed and 18 studies included, and each of those four subtractions is printed in the sheet next to the number it produced. Cohen's kappa between the two screeners is 0.782 on 100 disagreements, of which 43 resolved toward inclusion, which is 18 per cent of everything retrieved.

The same review tallied by hand reports 1,398 removed before screening instead of 1,745, 223 assessed as 241, and 25 included studies instead of 18, with one exclusion reason missing from the diagram. Four identities, four failures, 384 records misstated, and not one figure that looks wrong on its own. Open the pack in River and the flow is regenerated from the log. Or download the sheets and run the checks yourself, starting from a search you documented as you ran it.

Every sheet in the pack

The PRISMA Counts sheet, the Screening Log, the Deduplication Register, and the same review tallied by hand.

PRISMA Counts

Every box is a filter on the Screening Log. The last column is the subtraction, printed rather than trusted.

Flow diagram boxCountDerived fromIdentity check
Records identified, total5,128Search export, five sourcesOK
Removed: duplicate records1,436Deduplication Register
Removed: ineligible by automation212Screening Log
Removed: other reasons97Screening Log
Removed before screening, total1,745Sum of removalsOK
Records screened3,383Screening Log row countOK: 5,128 − 1,745 = 3,383
Excluded at title and abstract3,142Screening LogOK: 3,085 + 57 = 3,142
Reports sought for retrieval241Screening LogOK: 3,383 − 3,142 = 241
Reports not retrieved18Screening Log
Reports assessed for eligibility223Screening LogOK: 241 − 18 = 223
Excluded at full text, total205Sum of seven reasonsOK
Studies included in review18Extraction Table row countOK: 223 − 205 = 18

The four highlighted rows are the four identities. A hand-built diagram has no column for them, which is why a flow can be internally contradictory and still look finished.

Screening Log

Both screeners' decisions, not just the resolved one. That extra column costs nothing and is where the kappa and the retrieval share come from.

RefScreener AScreener BResolvedReasonStage
00412ExcludeExcludeExcludeWrong populationTitle/abstract
00418IncludeExcludeIncludeThird reader
00431IncludeIncludeIncludeTitle/abstract
00447ExcludeIncludeExcludeWrong outcomeThird reader
00463IncludeIncludeNot retrievedRetrieval
00470IncludeIncludeExcludeDuplicate report of an included studyFull text
00488IncludeExcludeIncludeIncluded

Agreement, computed from the four decision pairs across all 3,383 records:

Decision pairRecords
Both included198
Both excluded3,085
Disagreed, sent to a third reader100
  of those, resolved as include43
  of those, resolved as exclude57
Observed agreement97.04%
Agreement expected by chance86.41%
Cohen’s kappa0.782

43 of the 241 reports that reached retrieval, 18 per cent, got there only because a second screener disagreed. A single screener drops those with no record that a judgement was ever made.

Deduplication Register

Two columns, because a deleted match has left the screening set and a merged one has not. Both are duplicates. Only one changes the count.

Source pairMatchedMatch ruleDeletedMerged, still in the set
MEDLINE / Embase1,089DOI exact match1,0890
MEDLINE / CENTRAL141DOI exact match1410
Embase / CINAHL96Title and year, confirmed960
CENTRAL / CINAHL34Title and year, confirmed340
ClinicalTrials.gov / MEDLINE25Registration linked to publication025
Embase conference abstract38Abstract superseded by full report380
MEDLINE erratum13Erratum attached to parent013
Total1,4361,39838

A reference manager reports 1,398, because that is what it deleted. It has no reason to mention the 38 it merged, and those 38 are still waiting to be screened. That single conflation breaks the first box in the diagram.

Tallied by hand, against the same log

The same review, same decisions, diagram built at the end from memory and a reference manager's summary screen.

BoxReportedActualOff byWhy
Removed before screening1,3981,745347212 automation and 97 other removals omitted, 38 merged records counted as gone
Reports assessed for eligibility24122318The 18 never retrieved were counted as assessed
Studies included in review251877 duplicate reports of included studies counted as studies
Exclusion reasons, sum19320512Insufficient data reported never made it onto the diagram
Total misstatement384

Four identities, four failures. The headline count is off by seven studies in the direction that flatters the review, and every number on the diagram is individually plausible, which is why this survives peer review and surfaces as a query from an editor.

What's in the pack

01

Screening Log sheet

One row per record, carrying both screeners' decisions, the resolved decision and a reason on every exclusion drawn from a fixed ordered list. A record leaves the set only by getting a decision written against it.

02

PRISMA Counts sheet

Every flow diagram box as a row count, with what it was derived from and the subtraction that produced it. The four identities are checked in the sheet, not asserted in a footnote.

03

Deduplication Register sheet

Matched records per source pair with the match rule that caught each group, and deleted matches kept in a separate column from merged ones, because a merged record is still waiting to be screened.

04

Extraction Table sheet

Fixed fields, dual independent extraction, and the original wording kept beside the coded value. Its row count has to equal the studies-included box, which is the fifth check most reviews never run. For the coding itself, the extraction table goes deeper on field design. Study quality runs alongside it, in the critical appraisal pack, which keeps two reviewers' ratings apart rather than only the agreed one.

05

Review Protocol

Written in the field order PROSPERO asks for, so registration is a transfer rather than a rewrite, with the eligibility criteria as a table a screener can apply without opening the paper.

06

Screening Criteria

Each criterion paired with the borderline records that were actually argued about and the decision made, so a screener joining in week three applies the same rule as the one who screened week one.

07

PRISMA Flow and Narrative

The diagram and the study selection paragraph, both generated from the same counts, so the manuscript and the record cannot drift apart between drafts. Writing the review itself starts once the included set is settled.

08

Every count is derived, not typed

The standing space rule every prompt reads first. When an identity does not close, the answer is to name the records causing it and fix the log, never to adjust a box until the arithmetic works.

How to use it

  1. 1

    Open in River, or download it

    Open the pack in River and the agent builds the log with you, or download the four CSV sheets and four Word documents instantly, filled in with the worked example.

  2. 2

    Deduplicate before you screen

    The register runs first, because the records-screened count depends on it. Deleted matches and merged matches go in separate columns, and only the deleted ones reduce what you have to read.

  3. 3

    Screen with two readers, log as you go

    Both screeners' decisions and a reason on every exclusion, written at the moment the decision is made. A reason reconstructed six weeks later is a guess about what somebody was thinking.

  4. 4

    Generate the flow, then the paragraph

    The counts come out of the log as filters, each identity is checked and printed, and the study selection narrative is written from the same numbers so the two cannot disagree.

Frequently asked questions

Is this template free?

Yes. Download the whole pack as CSV sheets and Word documents with no signup and no credit card. Edit with AI is a separate, optional path that has the agent build the register and the log with you. The template library holds the rest of the packs.

What format are the downloaded files?

CSV for the four sheets and Word documents for the protocol, criteria, flow and narrative, in one zip. They open in Excel, Numbers, Sheets, Word, Pages and Google Docs with nothing to convert. Inside River the same content opens as live Docs and Sheets.

How is this different from a PRISMA flow diagram template?

A template, and the official R package behind the Shiny app, both take the counts as input: the package reads a template CSV containing data for the flow diagram. They draw whatever numbers you supply. This pack derives those numbers from the screening decisions instead, so the diagram cannot contradict the log.

Does River do the screening for me?

No, and it should not. Screening is a judgement two named people make against criteria they agreed in advance, and the value of the record is that those judgements are traceable. River builds the criteria, runs the arithmetic, holds the log and generates the reporting.

We have already screened half of them. Is it too late?

No, if the reasons were recorded at the time. The log gets rebuilt around what exists and the identities get checked on the records decided so far, which usually surfaces a discrepancy. Exclusions with no reason recorded cannot be reconstructed, only re-screened.

Do we really need two screeners?

Cochrane calls dual independent screening desirable but not mandatory. The log settles it for your review rather than in general: in the worked example 43 of 241 retrieved reports, 18 per cent, arrived only through a resolved disagreement.

What does the flow diagram actually have to report?

PRISMA 2020 item 16a asks for records identified, excluded before screening, screened, excluded after screening, retrieved, not retrievable, and studies included. Those are separate boxes because they are separate facts, and deduplicating first is what makes the first one right.

Make the flow diagram come out of the log

Send your review question, the search export, and your screening sheet in whatever state it is in. The counts come back with their subtractions attached.

Edit with AI