OpenMRS Pre-Canned Reports Bundle

OpenMRS Pre-Canned Reports Bundle

Description:

Pre-Canned Reports Bundle

  • The proposed reports draw on suggestions from across the OpenMRS implementer community, including PIH, AMPATH, Palladium, DRC, and UgandaEMR / EpiCare.

    For each report, the documentation covers:

    • Purpose: what the report answers and why it matters

    • Target audience: who uses it and in what workflow

    • Output fields: the specific data columns produced

    • Parameters: the filters and date ranges available at runtime

    • Line list and aggregate views: with example outputs to make the intent concrete

    Together, these definitions form the pre-canned reports bundle proposed for future packaging with OpenMRS, so that new and existing implementations have out-of-the-box access to the reports most commonly needed in real-world clinical and operational use.

1. All Patients List

All patients list (line list):

  • Complete roster of patients registered in the system, regardless of program enrolment or visit activity. Used by registrars, MPI managers, and front-desk teams for record management and deduplication.

  • Output Fields:

    • patient_id: Patient Identifier

    • patient_name: Patient Name (First Name + Last Name)

    • age_at_report: Patient's age (calculated at the date the report is run)

    • birthdate: Patient's date of birth

    • gender: Patient's sex/gender

    • registration_date: Date the patient was first registered in the system

    • registration_location: Location where the patient was registered

    • last_visit_date: Date of the patient's most recent visit

    • last_visit_location: Location of the patient's most recent visit(e.g., Outpatient Clinic, Ubuntu Hospital)

    • num_visits_lifetime: Total number of visits recorded in the system (all locations, all time)

    • programs_enrolled: List of programmes the patient is currently actively enrolled in

    • patient_status: Active / Deceased / Transferred out

  • Parameters:

    • Optional: Filter by location, department, gender, age band, registration date range, or last-visit date range

→ Line List Report

Patient ID

Patient Name

Birthdate

Age

Gender

Registration Date

Registration Location

Last Visit Date

Last Visit Location

# Visits

Programs Enrolled

Patient Status

Patient ID

Patient Name

Birthdate

Age

Gender

Registration Date

Registration Location

Last Visit Date

Last Visit Location

# Visits

Programs Enrolled

Patient Status

100000Y

Betty Williams

15-Mar-1974

52

F

02-Feb-2018

Outpatient Clinic

12-Jun-2026

Outpatient Clinic

24

HIV

Active

100008E

Joshua Johnson

25-Sept-2021

4

M

18-Nov-2024

Outpatient Clinic

10-Jun-2026

Outpatient Clinic

8

NCD

Active

100015R

Daniel Dean

01-Jan-1984

42

M

14-May-2021

Mobile Clinic

22-Nov-2025

Mobile Clinic

3

Deceased

100022K

Michelle Lewis

30-Jan-1940

86

F

09-Aug-2019

Outpatient Clinic

26-May-2026

Outpatient Clinic

17

NCD, HIV

Active

2. Program Enrollment and Longitudinal Care

Patients enrolled in a program (line list + counts):

  • Enrolment lists and counts for each care program (e.g., HIV, TB, NCD, ANC), with enrolment date and current status. Used by program coordinators for cohort management and donor/partner reporting.

    • The line list is operational: used by program coordinators, facility managers, and clinicians who need to see which patients are enrolled.

    • The aggregate is reporting / analytical: used by program managers, MOH submissions, and donor reporting, where the question is how many patients are enrolled.

  • Output Fields:

    • patient_id: Patient Identifier

    • patient_name: Patient Name (First Name + Last Name)

    • age_at_enrolment : Patient's age at the time of programme enrolment (calculated from birthdate and enrolment date; does not change after enrolment))

    • age_at_report: Patient's age at the time of report generation

    • birthdate : Patient's date of birth

    • gender: Patient's sex/gender

    • program: Name of the programme the patient is enrolled in (e.g., HIV, TB, NCD, ANC)

    • enrolment_date : Date the patient was enrolled into the programme

    • enrolment_location: Location where the patient was enrolled into the programme

    • current_status : Patient's status in the programme as of the report generation date (e.g., Active, Completed, Lost to follow-up, Transferred out, Deceased)

  • Parameters:

    • Program (single or multiple — e.g., HIV, TB)

    • Date range (enrolment period — from/to)

    • Optional: Filter by location, status, gender, or age band

    • Optional: Configurable age bands (default: WHO 5-year bands; implementations may adjust to national MOH standards)

→ Line List Report

Patient ID

Patient Name

Age

Birthdate

Gender

Program

Enrolment Date

Enrolment Location

Current Status

Patient ID

Patient Name

Age

Birthdate

Gender

Program

Enrolment Date

Enrolment Location

Current Status

100008E

Joshua Johnson

4

25-Sept-2021

M

NCD

02-Jun-2026

Outpatient Clinic

Active

100000Y

Betty Williams

52

15-Mar-1974

F

HIV

10-May-2026

Outpatient Clinic

Active

→ Aggregate Report (By Program and Sex)

Program

Male

Female

Unknown

Total

Program

Male

Female

Unknown

Total

HIV

22

38

0

60

TB

14

11

1

26

NCD

9

17

0

26

ANC

0

44

0

44

Total

45

110

1

156

→ Aggregate Report (By Age and Gender)

Age Band

Male

Female

Unknown

Total

Age Band

Male

Female

Unknown

Total

< 1 year

0

0

0

0

1 – 4 years

0

0

0

0

5 – 14 years

1

2

0

3

15 – 24 years

1

2

0

3

25 – 49 years

3

5

0

8

50+ years

4

8

0

12

Total

9

17

0

26

3. Patient Flow

Newly registered patients in a period, by age/sex/location (line list + aggregate):

  • Line list and counts of first-time registrations within a date range, disaggregated by demographic dimensions. Used to track catchment growth and reach.

    • The line list is operational: used by registry clerks, facility managers, and clinicians who need to see which patients registered.

    • The aggregate is reporting / analytical: used by managers, MOH submissions, and donor reporting, where the question is how many patients registered.

  • Output Fields:

    • patient_id: Patient Identifier

    • patient_name: Patient Name (First Name + Last Name)

    • age_at_registration: Patient's age at the time of registration

    • age_at_report: Patient's age at the time of report generation

    • birthdate: Patient's date of birth

    • gender: Patient's sex/gender

    • registration_date: Date the patient was first registered in the system

      • By default, this is the system-generated person.date_created.

      • Implementations that maintain a separate "Registration Date" person attribute (for backdated paper registrations) may configure the report to use that field instead.

    • registration_location: Location where the patient was first registered in the system.

    • patient_status: Active / Deceased / Transferred out

  • Parameters:

    • Date range (registration period — from/to)

    • Optional: Filter by location, gender, or age band

    • Optional: Configurable age bands (default: WHO 5-year bands; implementations may adjust to national MOH standards)

Line List Report

Patient ID

Patient Name

Age

Birthdate

Gender

Registration Date

Registration Location

Current Status

Patient ID

Patient Name

Age

Birthdate

Gender

Registration Date

Registration Location

Current Status

100000Y

Betty Williams

52

15-Mar-1974

F

10-May-2026

Outpatient Clinic

Active

100008E

Joshua Johnson

4

25-Sept-2021

M

02-Jun-2026

Outpatient Clinic

Active

Aggregate Report

Age Band

Male

Female

Unknown

Total

Age Band

Male

Female

Unknown

Total

< 5 years

4

6

1

11

5 – 14 years

7

9

1

17

15 – 24 years

5

11

3

19

25 - 29 years

3

4

5

12

50+ years

5

2

7

14

Total

24

32

17

73

Patient visits/attendance workload (line list + aggregate):

  • Total patient visits over a defined period, grouped by location, service, or provider. Used to monitor workload and plan staffing.

    • The line list is operational: used by front-desk supervisors and providers who need to see which visits occurred, when, and with whom.

    • The aggregate is reporting / analytical: used by facility managers, MOH submissions, and donor reporting, where the question is how many visits occurred.

  • Output Fields:

    • visit_id: Primary key of the visit record