Data model

The main model is PrismaFlow. It contains four PRISMA stages and optional metadata.

The stage names and count relationships follow the PRISMA 2020 flow diagram concepts for identification, screening, eligibility, and included studies. For the reporting guideline itself and citation guidance, see PRISMA acknowledgement and references.

from prismaflow import (
    EligibilityStage,
    IdentificationStage,
    IncludedStage,
    PrismaFlow,
    PrismaTemplate,
    ScreeningStage,
)

flow = PrismaFlow(
    template=PrismaTemplate.PRISMA_2020_NEW_DATABASES_REGISTERS,
    title="Example PRISMA Flow Diagram",
    identification=IdentificationStage(
        records_identified_databases=1240,
        records_identified_registers=50,
    ),
    screening=ScreeningStage(
        records_removed_duplicates=210,
        records_removed_automation=0,
        records_removed_other=0,
        records_screened=1080,
        records_excluded=950,
    ),
    eligibility=EligibilityStage(
        reports_sought=130,
        reports_not_retrieved=10,
        reports_assessed=120,
        reports_excluded={"Wrong population": 30},
    ),
    included=IncludedStage(studies_included=40),
)

Stages

Identification

  • records_identified_databases
  • records_identified_registers
  • database_specific_results
  • register_specific_results
  • website_results
  • organisation_results
  • citations_results
  • previous_studies
  • previous_reports
  • computed property: records_identified_total
  • computed property: other_methods_total

Screening

  • records_removed_duplicates
  • records_removed_automation
  • records_removed_other
  • records_screened
  • records_excluded
  • computed property: records_removed_total

Eligibility

  • reports_sought
  • reports_not_retrieved
  • reports_assessed
  • reports_excluded
  • other_sought_reports
  • other_notretrieved_reports
  • other_assessed
  • other_excluded
  • computed property: reports_excluded_total
  • computed property: other_excluded_total
  • computed property: all_reports_assessed
  • computed property: all_reports_excluded_total

Included

  • studies_included
  • reports_included
  • total_studies
  • total_reports

The nested models also accept official PRISMA app-style input aliases such as database_results, register_results, duplicates, dbr_sought_reports, dbr_excluded, new_studies, and new_reports.

Count types

All count fields are strict non-negative integers. Optional count fields may be omitted or set to null. String values such as "10" are not accepted as counts.