Wiki Spaces


Get Help from Others

Q&A: Ask OpenMRS
Discussion: OpenMRS Talk
Real-Time: IRC Chat | Slack


Page tree
Skip to end of metadata
Go to start of metadata

Summary of the Problem

  • WHO expert groups want to get best-practice guidelines out into the real world, fast, and update those guidelines as medical knowledge changes. This currently takes years.
  • 2 Central Hypotheses:
    • 1) The OpenMRS 3 framework allows content like that in the ANC DAK to be quickly created into a new sample "ANC package"; and, 
    • 2) Understanding In-Country Content Decision Makers' needs and workflows is mission-critical for successful DAK & O3 package adoption even beyond ANC.  
  • OpenMRS, Ampath, Mekom, and PIH are being supported by Digital Square's Notice F Award to coordinate design of a DAK-Based OpenMRS 3.x ANC Package that:
    • meets ANC DAK core dictionary, functional, and non-functional requirements
    • has the decision support component of the ANC DAK
    • has program indicators
    • Design: Design related deliverables include published results from user research/assessment and designs for whatever we prioritise.

Links to Know

  • Key Contacts: suruchi dhungana (Product Manager) & Paul Adams (UX Designer)
  • Communication: Slack channel #anc (most discussion and updates are happening in slack)
  •  Issue Tracker: Jira Board here (all issues with label "ANCDAK")
  • Designs: Pending
  • Timeline: June 2022-June 2023

In this page: 

The ANC DAK contains the content needed to execute WHO-recommended ANC care guidelines, such as: workflows, medical codes, decision support rules, metrics, and functional requirements. 

Our 3-Prong Approach

Image source file here.

Open Questions

  • How do we expect the ANC DAK content to be used in the real world? 

  • How does content decision making happen in countries: In Ministries? In Implementations? (i.e. how people decide what content/care pathways should be applied at their sites)

2022 Roadmap 





FHIR IG Deep Dive w/ Bryn Rhodes & FHIR Squad 

Explored existing L3 resources and whether automating intake of a FHIR IG might be valuable approach. (Notes) Outcome: Decided not to have a FHIR IG-heavy approach. 

Status: DONE 

Joined WHO SMART Implementers' call group

Raise awareness among the WHO working group of our work on this project, and address early questions about materials available and what user research had already been done. (Notes)

Status: DONE 

Gap Analysis of Functional & Non-Functional Requirements 

Gap Analysis here

Status: DONE

Identify & Prep Users for Interviews: ANC Staff/Care providers

Target countries to engage for user interviews: Sierra Leone, Zimbabwe, Ethiopia...)



Identify & Prep Users for Interviews: Content Decision Makers



Sample Code Set in OCL + Qnr in O3

Need to pick a Qnr. Start by picking a preferred DS rule/care plan. OCL Code Set

Status: DONE 


Review of Key Functional Gaps with Team 

Gap Analysis here

Status: DONE


1st set of Feedback

Initial feedback to share with WHO DAK team. (Doc here)

Status: DONE


Start Interviews: Content Decision Makers



Test Automation plan

Likely less about FE E2E tests rather than scaleably useful ones, eg (1) OCL-related tests / concept conflict notifications +/- logs, and (2) O3 test framework/test pipeline improvements.



Present 1st set of Feedback

Initial feedback shared with WHO DAK team. (Doc here)



UX Results: Publish results from UX assessments of ANC Staff and Content Decision Makers



Prototype Pkg

O3 ANC MVP Package released (scope: limited concepts, forms, widgets, & clinical view)



Start Interviews: ANC Staff



Publish Designs for ANC UX



Publish Designs for Content Management Flows

Status: SCOPE? 


UAT & Findings Documentation



Plan for Reports

Add to ANC O3 Package



Decision Support Plan

eg leverage opensource Decision Support Engine (depending on business viability indicators of that asset by Jan 2023; will also need confirmation / work to cover any gaps in OMRS FHIR representation of the medical record)




Add Indicator Reports to ANC O3 Package



Data Viz

Demo indicators visualized w/ Superset



User Contact Champions

These contact points are the ones our UX+PM team can reach out to in order to organize user research/interviews etc with ideal users. 

Sierra Leone: PIH (Maternal Centre of Excellence) - Ellen Ball 

TBD - Haiti or Cambodia: (Hospital/NGO with ++deliveries) - Dimitri R 

Ethiopia: Jen to f/u w/ UCSF/ICAP contacts

Actions & Decisions Log

DateAction or Decision or Request for InformationNotes (Links, Comments, etc)

2 key findings so far: (1) content not meeting minimum expectations (PIH) eg clear fetal outcome; (2) FHIR IG confusing w/ ++ broken links. Considering focusing on creating tools that would ingest L3 (FHIR IG) content automatically into OMRS. 

UX Proposal submitted by Sonder here, proposing OOUX approach to research.

Reviewed types of Decision Support content: different information types & urgency types. Id'd gaps in existing UI Patterns in O3 to support ANC CarePlan outputs - these red gaps will be a focii for UX research, so output will be a complete toolkit.

Meeting: ANC DAK Product Vision & Roadmap Whiteboarding - All




After a ++helpful deep dive w/ Bryn Rhodes on the ANC FHIR IG: Decided we will not pursue a FHIR IG-based approach at this time. 2 main findings:

Decision Support Engine: Learned that Bryn’s team has created an opensource Decision Support Engine, now maintaining this, Google Android SDK group is their user at the moment. We could leverage this engine for our Decision Support needs (and OMRS could then bypass need for bespoke data model update for careplan support, b/c you don't actually need careplan support to make use of the engine). 

Gap in Content Decision Maker Persona/Research: Seems that ANC DAK has missed a key persona: country-level content decision makers. Eg the massive lift for them to consider all this content and reconcile it with their regional requirements, funder requirements, and current data collected. Decision: this will be a critical user for us to involve in user research.

FHIR IG review with Bryn Rhodes - All

Explored existing L3 resources and whether automating intake of a FHIR IG might be valuable approach. (Notes

2022.08.19Identified 9 names who informed the ANC DAK who could be starters for interviews re. "real world use" of guideline content, developing understanding of market demand/market pain points. Need follow up plan for Sept.  List here - 9 of 70 listed as informants for ANC DAK are from implementer groups

Knowledge base amidst WHO SMART working group on content management processes at Ministry or Implementer is unclear - still a grey-area. We should proceed with plan to understand this as it has huge implications for ANC Guidelines + any other future SMART guidelines. 

Joined WHO SMART Implementers' call group - Suruchi, Grace

Raise awareness among the WHO working group of our work on this project, and address early questions about materials available and what user research had already been done. (Notes)


Ellen & Wamz pick 1-2 ANC care plans from DAK as our first ones to prototype in O3 with codes, forms, and widgets (Ideal: both valuable for end users to see in testing, and relatively low effort)

Current top candidates: Danger signs (1), Pre-eclampsia and HTN (17), HIV testing (8)

Need: would be helpful for our ANC grant group to do a small prototype to see the lift required to implement one of these ANC DAK Qnrs + Codes. Could also be a helpful asset for Suruchi & Paul Adams during user interviews.

TODOContacted WHO - Nat to confirm no updated spreadsheet w/ more CIEL code mappings

Currently ~40 needed medical codes have mappings to CIEL in "ANC.End"; all others have no reference to CIEL in the spreadsheet resource (Web annex A: Core data dictionary). Andrew Kanter has a version with CIEL maps (not 100% complete)

TODOAssign champion per country to i.d. people to interview/test
TODOReview together the OHRI MCH Mindmap (to understand OHRI MCH goals & needs)
  • Request to Ellen & Dimitri: Gather list of contacts now
  • Jen to f/u re contracting

2022.09.23Grace met in person w/ Jembi, Regenstrief, and CDC-HQ officers in S. Africa - discussed SMART Guidelines ++. Much interest in and alignment with our 3-prong strategy (staff research, content research, engine prototype). Intellisoft Botswana interested in supporting w/ Content Decision Makers for user research → followed up.There is growing interest by PEPFAR in wanting to fund HIV SMART L2 implementation - all very interested in this OMRS grant's work. All folks talked with agreed big need to understand in-country content reconciliation workflows, concern that alert UI to end users needs to not overwhelm esp. when ANC+HIV+NCD etc get combined, and all are +++ interested in technical findings re using the CQL engine. 
2022.09.23Suruchi has begun work to implement the O3 Qnrs and Codes in OCL for the Preeclampsia Care Plan.

Shared update on 3-fold plan (staff research, content decision maker research, and CQL engine prototype plan) with the Implementing Smart Guidelines working group with multiple WHO and DPG representatives present.

Learned: Ona seems to be implementing now as well. Google Android SDK increasingly leveraging too. A member Kashya has possibly found a way to bypass needing to "save" a FHIR Qnr - notes and screenshots here.
2022.09.27Emailed Jose & Bryn about contact for support re. trialing the CQL engine.
2022.09.27Design Roadmap discussion - Jen Grace Ciaran Paul.

Team meeting. Picked a Decision Support set for prototyping: High risk & educational: Pre-ecclampsia

Could re-use some parts from the PLIR project that were sending data from OMRS to other server (packaging to send fhir resource from OMRS to a different FHIR server); also triggered a measure written in CQL on that FHIR server. 

Followed up on support from Mozzy re recent OMRS cmty work on something involving CQL: Later versions of the Hapi FHIR JPA Server (5.3.0 +) come with an embedded CQL engine .

2022.09.30Intro interview w/ Dr. Astrid
2022.10.07Discussion w/ Derek Ritz 
2022.10.12Digital Square Check-in
2022.10.14Interview w/ Dr Astrid
2022.10.26ANC DAK SMART call

ANC Squad call with WHO Reps

  • How are adaptations documented internally in an organization? WHO Team working on way to capture adaptations → Would help in reflection. WHO supporting some country implementations with adapting guidelines nationally. eg some countries have strong PMTCT-based guidelines. Two-way learning. 
  • Unclear how indicators are being changed at the country level. "Want to learn how people are using the resources we put out" → any draft report = of interest. 
  • Tool for helping policy makers adapt the ANC guidelines so they can update their policies.
2022.11._Meeting with Alex Goel (company & CDS builder tools using Encender)
2022.11.10Meeting with Google Health - FHIR SDK teamRecording
2022.11.__Debrief w/ Derrick Ritz
2022.11.10Technical onboarding & training for engineering setup of CQL Evaluator w/ Bryn Rhodes / Alphora


Engineer Daniel now equipped to implement CQL module in OMRS

Milestone: Team reckoning over whether CQL/opensource engine setup is the right approach for this grant. Decided it IS.

CDS "To Engine or Not to Engine": Approach Options for ANC Grant

2022.11.17Check in between Suruchi and Daniel on idea of prototype for OpenMRS-CQL Engine-OpenMRS workflow ANC CQL engine: Next stepsDiscussed full detail about the requirement and decided to try OpenMRS module for OpenMRS-CQL workflow

Squad Call: Update on Tech work thus far

  • Concept set established in OCL (for preeclampsia prototype)
  • Simpel Questionnaire built in O3 (for preeclampsia prototype)
  • CQL Module has been set up!


Link to ANC 17 (Preeclampsia) concepts set up in OCL:

Daniel shared progress on creating OMOD where the CQL Evaluator (and Engine) have been set up. Requires Java11. Success so far in provided test case; now finishing setting up the Preeclampsia careplan. 

Details: Cloned evaluator. Provides service of translating CQL→ ELM, and embeds Java-based CQL engine.  When Cloned: Resulting OMOD was 100MBs in size. After round trip works well, he’ll look at what to remove from Module. How: Runs plan def $apply and end up with a careplan. Text that takes JSON that represents plandefinition, and then outputs JSON (ELM) which is the careplan. ELM is what the engine actually executes. Client then decides what to do based on the careplan sent to it. Current ongoing prototype work: Loaded ANCDAK17 (preeclampsia) plan definition from WHO site  → Run → # of errors. Discovered it has expectations for terminologies. Next: Set those up. 

Together we drafted a diagram of round-trip-journey: Diagram

2022.11.29Session re. medAL-creator Algorithm Builder & Authoring Tool Demo. Goal: Understand possibility of integrating with their Alg. Authoring tool. 

Notes & Recording

2022.11.30Digital Square Check-in
2022.11.30Discussion between Suruchi, Daniel and Joshua on ANC DAK CQL Engine: UI requirement and discussionDecided to use patient flag module in O3 to display flags returned from CQL engine
2022.12.15Suruchi interviewed Sanjaya and Diwash from Nepal for Decision Makers Research Notes
2022.12.16ANC DAK SMART call: WHO SMART team and University of GondarRecording
2022.12.20Discussion with Andy regarding issues of unavailable data element id in OpenMRS concepts ANC: CQL-API module and concept codes (Discussion)Daniel ran into issue of not being able to get codes in OpenMRS that would exactly match with CQL codes so reached out to Andy and he helped with the idea of adding WHO data element id in CIEL next release.

Nsereko Joshua  raised a PR in O3 for patient flag: Add support for Patient Flags to RefApp 3.x

Link to PR. Significance: Shows existing Patient Flags Module can be leveraged in O3. 
2023.01.03Suruchi created Product Requirement Document(PRD) for OpenMRS-CQL Engine Prototype
2023.01.11Discussion between Suruchi and Daniel regarding data element id update in OpenMRS concepts mapping and next stepsRecording

SMART Squad call. 

Updated JIRA board w/ current ongoing technical work: COnfig CQL Module to use optimized approach for data retrival; API for patient flags module to query; Table to save results per-patient; Hook on form submission.


SMART Authoring call: Presented progress & asked questions:

  • Status of OpenMRS L2 & L3 work with ANC - finding interesting mapping duplication e.g. question/concern around ANC.B5.DE62 vs ANC.B5.D42. → WHO content team will look into this. 
  • We are looking to talk to Engineering folks who have used the CQL Evaluator and/or CQL in production. → Patrick of SwissTPH reached out. Turns out he has also already built a first-iteration of a tool to automate mapping content to the DAK codes; code here 
  • Quick Question: Can CQL & the CQL Evaluator be leveraged for Schedules? (e.g. related to ANCDAK sections ANC-S-1 to 5) → Bryn: Yes, example here; this has to be manually created (all other planDefinitions were created by DAK Processor)
2023.01.23CDC TAP Stakeholders: Presented progress, new tooling, challenges and risks to CDC HQ TAP leadership, and UCSF and PATH TAP leadership, for ideas on how this work can tie-into and be useful for PEPFAR projects & OHRI. CDC HQ leadership emphasized this approach, experimentation and i.d. of challenges, is exactly what they're looking for in the HIV content realm. Presentation
2022.01.25Digital Square Check-in


Calls being planned for late Jan / early Feb: (also include OHRI Tech Lead)

  • ONA/OpenSRP (their Architect Peter) - experience w/ CQL
  • Emcare - SwissTPH - Patrick Delcroix - experience w/ CQL Engine project & new alpha mappings-automation-tool
  • UW Engineers - experience w/ CQL in domestic program
  • Thrive Health - FHIR careplan & qnrs & cds rules authoring
  • InterSystems - FHIR careplan authoring


Reference Resources