Demo corpus profileOpenMRS 2.8 / RefApp 3.6.05,284 patientsHIV/TB careMeasured 2026-05-29 (live DB)
OpenMRS Demo Data — Profile & Validation Cohorts
A dated evidence profile of the demo corpus measured on 2026-05-29, not a statement about today's deployment. Every number comes from queries against schemaopenmrs. The goal: landscape metrics, a candid richness/completeness read, and a curated set of data-rich patients spanning real clinical phenotypes for retrieval and reasoning validation.5,284
patients (all active, none deceased)
427.9K
observations
14.3K
encounters · 44.5K orders
88%
in HIV care (WHO-staged) — the real phenotype
2006
single clinical time-slice (frozen snapshot)
One-sentence framing
This is the classic OpenMRS / AMPATH HIV + TB care demo: wide but shallow and highly uniform — 5,284 patients, but most carry a near-identical battery of ~50–149 obs across 1–5 encounters, all frozen at a single 2006 time-slice. Clinical signal lives in
obs + conditions + drug_orders + programs; visits and structured diagnoses are nearly absent.Read the cohort labels before you trust them
Program names are misleading remap artifacts. The
HIV Preventative Services (PEP/PrEP) program (3,100) is actually a population of HIV-positive patients on antiretroviral treatment — PEP/PrEP is prevention for HIV-negative people, so the name is clinically wrong. Worse, the Outpatient Diabetes Education Program (821) has zero diabetes-specific clinical data: 0 antidiabetic orders, 0 glucose/HbA1c observations, and 0 diabetes conditions exist anywhere in the corpus. Do not build a "diabetes" validation on it. Every cohort below is therefore labeled by clinical content, not program name.Phenotype Cohorts
Cohorts you can actually test on, ordered by size. Backing = whether the label is supported by clinical content (Strong), present but thin (Thin), a misleading program name over real HIV-treatment data (Mislabeled), or a cosmetic enrollment label with no clinical footprint (None). Drug cohorts use case-insensitive name matching (heuristic; minor undercount on rare combination pills).| Cohort (by clinical content) | Patients | Backing | Evidence in the data |
|---|---|---|---|
| HIV — in care (WHO HIV-stage obs) | 4,670 (88%) | Strong | ARV plans, WHO staging, adherence, TB/PCP prophylaxis obs across the chart |
| HIV — on ART (≥1 ARV drug) | 3,634 (69%) | Strong | Lamivudine / Stavudine / Nevirapine / Efavirenz / Lopinavir-r + combos |
| Cotrimoxazole prophylaxis | 2,087 (40%) | Strong | Trimethoprim-sulfamethoxazole orders (OI prophylaxis) |
| TB treatment / prophylaxis | 1,253 (24%) | Strong | Isoniazid / Ethambutol / RIPE orders + TB plan obs |
| Pediatric (age < 15 at 2006) | 800 (15%) | Strong | 360 under-5; EPI vaccine series + cotrimoxazole (HIV-exposed infants) |
| Malaria (coded condition) | 461 (9%) | Strong | Second most common condition after acute coryza |
| Childhood vaccine recipient | 486 (9%) | Strong | DPT / Polio / HepB / Hib / Measles drug orders |
| Peripheral neuropathy (ARV toxicity) | 185 (4%) | Strong | Classic d4T/ddI adverse effect — drug→side-effect linkage target |
| Multi-morbid (≥6 active conditions) | 45 | Strong | Dense problem lists for multi-condition reasoning |
| Structured encounter-diagnoses (any) | 50 | Thin | Only 50 patients carry coded diagnoses; 914 dx total dataset-wide |
| HIV program enrollment ("PEP/PrEP") | 3,100 (59%) | Mislabeled | Program NAME says prevention; population is HIV-positive on treatment |
| "Diabetes Education" program | 821 (16%) | None | 0 antidiabetic orders, 0 glucose/HbA1c obs, 0 diabetes conditions — label only |
Strong — testableThin — limitedMislabeled / None — do not trust the name
Curated Validation Patients
Twelve data-rich patients chosen to span phenotypes and test-shapes — flagship retrieval baseline, multi-domain synthesis, treatment-experienced HIV, HIV/TB co-infection, multi-morbidity, ARV toxicity, pediatrics, and deliberate negative/contrast cases. Eachuuid is the chart URL key. Open at /openmrs/spa/patient/<uuid>/chart.How to use these for validation
Retrieval recall: Zabella / Humprey (densest obs) — does the chart-builder surface the right slice for a focused question?Cross-source synthesis: Aloice (conditions + 36 diagnoses + ART + TB) — does retrieval reach problem list, diagnoses, and meds together?Multi-condition reasoning: Rahima / Zacharia / Lelphas — dense problem lists, including drug→adverse-effect (Stavudine → neuropathy).Negative / hallucination guard: Zacharia (10 conditions, 0 drugs) — a faithful "what meds?" must answer none.Temporal / causal: Timoty (2nd-line ART after documented regimen failure) — "why was therapy changed?"Pediatrics: Sospeta / Heldart — infant EPI series and school-age ART.
Shape & Completeness
The corpus is broad but uniform: the breadth that makes it useful for validation is across cohort membership, not per-patient depth. Age is derived from real birthdates at the 2006 care era (the encounters' actual year); the patients are predominantly working-age adults with a meaningful pediatric tail.Data caveats that affect validation design
Single time-slice: all clinical events are 2006 (one synthetic 2026 encounter aside). No longitudinal trends — vitals/labs are point-in-time, not series.Multilingual concepts (CIEL): the dictionary carries French/Spanish/Russian/Khmer/Haitian-Creole names; the locale-preferred name is often not English. Retrieval and display must tolerate non-English concept names.Shallow per-patient depth: ~50–149 obs, 1–5 encounters each. Good for breadth/coverage tests; weak for deep longitudinal-history tests.Near-zero diagnoses & visits: use
conditions (47% coverage) for problem lists; encounter-diagnoses (0.9%) and visits (1%) are too sparse to test broadly.Obs values: 72% coded, 25% numeric, 0 free-text; dates are clean (427,869 / 427,874 within 1990–2020; 5 stray sentinels).Clinical Content
Landscape — entity volume
| Entity | Count (non-voided) | Notes |
|---|---|---|
| Patients | 5,284 | All active; none deceased; 100% have birthdate + gender |
| Encounters | 14,317 | 14,316 dated 2006; 1 synthetic 2026 row |
| Observations | 427,874 | 308K coded · 106K numeric · 14K datetime · 0 free-text |
| Orders (all) | 44,508 | 43,413 drug orders · 1,095 test orders |
| Conditions (problem list) | 4,451 | All clinical_status = ACTIVE; covers 47% of patients |
| Encounter diagnoses | 914 | Sparse — only 50 patients (0.9%) |
| Program enrollments | 3,921 | Two programs only (HIV, Diabetes) |
| Visits | 306 | Sparse — 51 patients (1%); most encounters are unwrapped |
Provenance & how to refresh
Source: feature 002 transform of
large-demo-data-2-7-0 → Platform 2.8 / RefApp 3.6.0 (artifacts/share/openmrs-2.8-refapp-demo-5284-patients.provenance.json). Measured 2026-05-29 by direct SQL against container harness-openmrs-db, schema openmrs. To refresh, re-run the profiling queries (volume / coverage / cohort-backing / per-patient stats) and update the arrays above. Re-verify the two backing checks — antidiabetic orders and glucose obs among the Diabetes cohort, ART + WHO-stage signals among the HIV cohort — if the corpus is ever re-transformed.