Skip to main content

CLINIC REPORTS

1. Clinic Defaulters Report 

A patient-level list of patients who have missed their expected return date by more than 28 days (PEPFAR IIT threshold) as of the report end date, and who have not yet been recorded as transferred out, died, or having stopped treatment. 

Patient Identification Logic: 

  • Patient status is "On antiretrovirals" at some point before the report end date 

  • Calculated supply expiry date (quantity ÷ daily dose) + 28 days < report end date 

  • No active terminal program state (not transferred out, not died, not stopped) 

Fields: ARV Number · First name · Last name · Gender · Date of birth · Appointment date · Date defaulted · Phone number · Village · District · TA · Landmark 

Data Source 

orders, drug_order (for supply dates), patient_identifier (for ARV number), person (for demographics), person_attribute (for phone number), person_address (for location). 

Reporting period: User-defined (typically weekly or monthly). 

DQ Note: 

Accuracy of this report is directly dependent on the quality of dispensing data (quantity and daily dose recorded at each visit). If quantity is not recorded, patients cannot have a supply expiry date calculated and will not appear in this report. 

 

2. Clinic TX RTT Report (Return to Treatment) 

PEPFAR MER Equivalent: TX_RTT 

The number of ART patients who experienced an Interruption in Treatment (had no clinical contact or ART pick-up for > 28 days after their last expected supply date) but restarted ARVs within the current reporting quarter. 

Patient Identification Logic: 

A patient is counted as TX_RTT if ALL of the following are true: 

  1. Previously on ART: Has a program state = 7 (On ART) with a start_date before the quarter start. 

  1. Not active at start of quarter: Their outcome at quarter start - 1 day was either: 

  1. Defaulted (supply expired + 28 days before quarter start), OR 

  1. Treatment stopped (state = 6 in patient_state) 

  1. Received ART in the quarter: At least one ARV drug order with quantity > 0 was dispensed between quarter start and end. 

  1. On ART at end of quarter: Outcome at the end date = 'On antiretrovirals' OR the patient had an ARV order with auto_expire_date ≥ (end_date − 60 days). 

  1. Not on ART in the 60 days before the quarter: No ARV order had its start_date or  auto_expire_date in the window from  (quarter start − 60 days) to quarter start. 

Months-away Classification: 

The system computes the duration of IIT as: 

Months away = TIMESTAMPDIFF(months, initial_outcome_datefirst_ARV_dispense_in_quarter) 

Categories: 

Category 

Months away (PEPFAR IIT duration) 

IIT < 3 months 

Returned after < 3 months of interruption 

IIT 3–5 months 

Returned after 3–5 months 

IIT ≥ 6 months 

Returned after ≥ 6 months 

Disaggregations: Age group × sex. 

DQ Note:

The 60-day exclusion window (before the quarter) is used as a practical filter to separate patients who simply had their last dispense close to the quarter boundary, from true IIT returnees. This is a local implementation approximation; the strict PEPFAR MER definition uses 28 days. M&E teams should note this when comparing system TX_RTT figures with manually verified counts. 

 

3. Clinic Retention Report 

Among patients initiated on ART during a historical period, how many are still alive and on treatment at 1 month, 3 months, and 6 months after initiation? 

Cohort Window: The report selects patients initiated exactly 1, 3, or 6 months before the end of the current reporting period. 

Denominator (Initiated): COUNT of patients with date_enrolled in the applicable historical window. 

Numerator (Retained): Among those patients, COUNT who currently have moh_cum_outcome = 'On antiretrovirals' at the report end date. 

Disaggregations: Age group × sex. 

DQ Note: 

Patients who transferred out but were retained in care at another facility will appear as "not retained" in this report, causing apparent retention losses that are not true program failures. Transfers-out should be monitored separately. 

 

4. Clinic Regimen Report 

A patient-level listing of patients currently on ART with their current regimen, dispensed ARV drugs, weight, and most recent viral load result. 

Population: TX_CURR patients (alive and on ART at report end date, MoH definition). 

Data Source 

  • Regimen: patient_current_regimen() database function at the end date 

  • ARV dispense: Most recent drug order records 

  • Weight: Most recent "Weight (Kg)" observation 

  • Viral load: Most recent viral load observation result (result modifier + numeric value) 

  • ART start date: temp_earliest_start_date.earliest_start_date 

Reporting period: As of report end date. 

 

5. Clinic Viral Load Report (Patient-level) 

A patient-level listing of viral load test results returned during the reporting period, with ability to filter by result type. 

Result Classification: 

Category 

Threshold 

Suppressed 

VL result < 1,000 copies/mL (including LDL — lower than detectable limit) 

Low-level viraemia 

VL result > 0 and < 1,000 copies/mL (some configurations may separate LDL from this) 

High viraemia (Viraemia ≥ 1000) 

VL result ≥ 1,000 copies/mL 

Data Source 

Lab results observation (LIMS integration or manual entry) from the obs table where concept = "Viral load" and obs_datetime falls within the reporting period. Linked to the patient's ART program enrolment and most recent regimen. 

Fields: ARV Number · Gender · DOB · Specimen type · Order date · VL result (modifier + value) · Result release date · Current regimen. 

 

6. Clinic VL Suppression Report 

PEPFAR MER Equivalent: TX_PVLS (Denominator and Numerator, by regimen) 

Among patients currently alive and on ART who were due for a viral load within the reporting period, how many had a sample collected (drawn), and of those, how many were virologically suppressed (VL < 1,000 copies/mL)? 

Three-level indicator: 

Due for VL → Sample Drawn → Result: High VL (≥1000) or Low VL (<1000) 

"Due for VL" logic (VL milestone schedule): 

The system applies the national VL monitoring schedule via the VlReminder service: 

Milestone 

Trigger 

6-month VL 

6 months after ART start date — for patients newly initiated 

12-month VL 

12 months after ART start, where 6-month result exists 

Annual VL 

Every 12 months after the last VL result, for established patients 

Targeted (High VL follow-up) 

3 months after a high VL result (≥ 1,000 copies/mL) 

Suppression threshold: VL < 1,000 copies/mL OR result coded as "LDL" (lower than detectable limit) = suppressed. 

Disaggregation: By ART regimen (same regimen classification as TX_CURR disaggregated). Patients with no matched regimen are classified as "N/A". 

Data Source: 

  • "Due for VL" list: PatientsAliveAndOnTreatment × VlReminder.vl_reminder_info 

  • "Sample Drawn" list: Lab order records with specimen collection date within the period 

  • VL result: Most recent LIMS-linked or manually entered VL observation 


DQ Note:

 The "Due" population is calculated at the patient level using the VL schedule. Patients without a previous VL result or with no ART start date recorded cannot have their VL milestone calculated and will be excluded from the Due count. Ensure ART start dates are accurately recorded for all patients. 

 

7. Clients Due for Viral Load Report 

A patient-level list of patients who: (1) have an appointment scheduled within the selected week/period, AND (2) are flagged as due for a viral load test by the VL milestone schedule. 

Patient Identification: 

  • Alive and on ART (moh_cum_outcome = 'On antiretrovirals') 

  • Has an appointment observation (Appointment date concept) with date within the selected period 

  • VlReminder.vl_reminder_info.eligible == true- evaluated at the report end date 

Fields: Filing/ARV number, Name, Gender, Age, Appointment dateART start dateMonths on ARTVL milestone typeLast VL orderedLast VL result. 

Reporting period: User-defined period (typically weekly). 

 

8. Clinic Lab Results Report 

Lab test results returned for HIV program patients during the selected period, viewable in two modes: 

Mode 

Description 

Disaggregated 

Summary counts by age group and sex for each test type 

Patient-level 

Individual rows per patient per test 

Data Source 

obs table records where the observation concept corresponds to a tracked lab test (CD4 count, viral load, creatinine, ALT, haemoglobin, etc.) and obs_datetime falls within the period. Linked to the HIV program via encounter.program_id = 1. 

Available test types are dynamically determined from the concept set configured for laboratory results in the system; they are not hardcoded, allowing new tests to be included automatically when configured. 

 

9. HTN Enrollment Report (Hypertension Co-morbidity) 

Definition: Among HIV-positive patients in the program, the number with a recorded hypertension (HTN) diagnosis, and their status in hypertension care. 

Section 1Enrolment Status: 

Indicator 

Derivation 

Registered with HTN 

Patients with a "Hypertension" diagnosis observation recorded at any date 

Active in HTN care 

HTN patients with an ART visit in the past 3 months 

Defaulted HTN care 

HTN patients with no visit in > 3 months 

Died 

HTN patients with "Patient died" program state 

Transferred out 

HTN patients with "Transferred out" state 

Stopped HTN care 

HTN patients with a "Stopped HTN" state recorded 

Had clinic visit (last 3 months) 

HTN patients with any encounter in the past 90 days 

BP measurement recorded 

Subset of above with a blood pressure observation in the visit 

BP below target (< 140/90) 

Subset with recorded systolic < 140 AND diastolic < 90 

Section 2 -Treatment by drug class: 

HTN drug dispense orders are classified by drug concept into:  

  • Diuretics 

  • Beta Blockers 

  • Calcium Channel Blockers (CCBs) 

  • ACE Inhibitors 

  • Angiotensin Receptor Blockers (ARBs) 

  • Vasodilators 

  • Other/Unclassified. 

Data Source 

 obs (BP readings, HTN diagnosis), orders/drug_order (HTN drug dispenses), patient_state (program outcomes), encounter (visit dates). 

 

10. Hypertension Cascade Report 

A disaggregated flow report showing patients moving through the hypertension care cascade: screened → diagnosed → on treatment → with controlled BP. 

Cascade Steps and Derivation 

Step 

Indicator 

Derivation 

1 

Due for BP screening 

ART patients with no BP recorded in the current quarter 

2 

Screened 

ART patients with a BP observation recorded in the quarter 

3 

Normal BP < 140/90 

Screened patients with systolic < 140 AND diastolic < 90 

4 

Mild hypertension 

Systolic 140–159 OR diastolic 90–99 

5 

Moderate hypertension 

Systolic 160–179 OR diastolic 100–109 

6 

Severe hypertension 

Systolic ≥ 180 OR diastolic ≥ 110 

Tx 

Dispensed each drug class 

Patients with a drug order for listed anti-hypertensive drugs in the quarter 

Disaggregations: Age group × sex. 

 

11. Clinic TPT Outcomes Report 

PEPFAR MER Equivalent: TB_PREV (Completion numerator detail) 

A more granular view of TPT outcomes than the MoH TPT Cohort, including side effect data. Shows TPT initiation and completion disaggregated by TPT type (3HP or 6H) and whether patients were new or previously on ART. 

Key additional indicators (beyond MoH TPT Cohort) 

Outcome 

Definition 

Side effects- Skin rash 

TPT patient with a "Rash" adverse event observation recorded 

Peripheral neuropathy 

TPT patient with "Peripheral neuropathy" adverse event 

Nausea 

TPT patient with "Nausea" adverse event 

Dizziness 

TPT patient with "Dizziness" adverse event 

Yellow eyes (jaundice) 

TPT patient with "Jaundice" or "Yellow eyes" adverse event 

Side effect classifications use the same source observations as ART side effect monitoring (encounter type: ART Visit, concept: "Drug-induced symptom"). 

 

12. Clinic Other Outcomes Report 

A patient-level listing of patients with a specific terminal outcome recorded during the selected period. 

Available Outcomes: 

Outcome 

Patient State Code 

What triggers it 

Transferred Out 

Program state = 2 (Transferred out) 

User records a "Transfer Out" outcome in the system 

Died 

Program state = 3 (Patient died) 

User records "Patient died" outcome 

Treatment Stopped 

Program state = 6 (Treatment stopped) 

User records "Treatment stopped" outcome 

Data Source 

patient_state records where start_date falls within the selected reporting period.