Report Builders Guide: Creating Reports in OpenMRS

Report Builders Guide: Creating Reports in OpenMRS

This guide is for implementers, data managers, and advanced users who need to create and modify reports using the OpenMRS Reporting Module interface.

Before You Start

Prerequisites

  • User Permissions: Ensure you have the required privileges:

    • Manage Reports

    • Manage Report Definitions

    • Manage Data Set Definitions

    • Manage Cohort Definitions

    • Manage Indicator Definitions

    • Manage Dimension Definitions

  • Basic Understanding: Familiarity with your OpenMRS data structure

  • Planning: Clear idea of what your report should accomplish

Planning Your Report

1. Define Your Goals

Ask yourself:

  • Who will use this report?

  • What questions should it answer?

  • When will it be run (frequency)?

  • How will the results be used?

2. Choose Report Type

  • Row-per-Patient: Need detailed patient-level data?

  • Indicator Report: Need summary statistics and counts?

  • Custom Report: Need combination of both?

3. Identify Data Requirements

  • Patient Population: Which patients should be included?

  • Time Period: Fixed dates or parameter-driven?

  • Data Points: What specific information is needed?

  • Calculations: Any ratios, percentages, or derived values?

Accessing Report Building Tools

  1. Navigate to AdministrationManage Report Definitions

  2. Available Tools:

    • Report Definitions - Main report containers

    • Data Set Definitions - Data structure definitions

    • Cohort Queries - Patient group definitions

    • Indicator Definitions - Calculation definitions

    • Dimension Definitions - Filter/grouping definitions


Building Blocks Overview

Architecture Hierarchy

Report Definition ├── Data Set Definition 1 │ ├── Indicators │ │ ├── Cohort Queries │ │ └── Dimensions │ └── Filters └── Data Set Definition 2 ├── Patient Properties └── Parameters

Core Building Blocks

👥 Cohort Queries

Purpose: Define groups of patients who meet specific criteria

Examples:

  • "Patients enrolled in HIV program"

  • "Children under 5 years old"

  • "Patients with TB diagnosis in the last 6 months"

📊 Indicators

Purpose: Perform calculations on cohorts (counts, percentages, averages)

Examples:

  • Count of patients in HIV program

  • Percentage of patients with viral load suppression

  • Average age of TB patients

🔍 Dimensions

Purpose: Break down indicators by categories

Examples:

  • Gender (Male/Female)

  • Age groups (0-5, 6-14, 15+)

  • Location (Clinic A, Clinic B)

📋 Data Set Definitions

Purpose: Organize data structure for reports

Types:

  • Simple Patient Data Set (row-per-patient)

  • Period Indicator Data Set (summary statistics)

  • Cohort Indicator with Dimensions Data Set (categorized summaries)