Meeting Notes
2025-09-09: Open Community Call & Discussion
Attendees: Samuel Male (OpenMRS), Matthew South (Birmingham U), Grace Potma (OpenMRS), Abert Namanya, Daniel Kayiwa (OpenMRS), Andy Kanter (CIEL), Gamshan Vigneswaran, Michael Bontyes (Madiro), Priya (Arogya), Ian Bacher (DIGI)
Status Update from lead CDS Engine developer Samuel Male:
Demo: Recommended forms
Step 1: Samuel created a table:
Engine scans within directory to see if there’s a provider.json file
Path to actual file that represents the logic in the spreadsheet is under /rules .
Demo: Antenatal Intake is a recommended form based on patient’s demographics and encounter history:
When Fundal Height reaches 36+, recommends Labour and Delivery form:
Then after Labour and Delivery encounter, recommends Postnatal form:
Questions:
Grace: Concern re FEEL generation and complexity of spreadsheet
Michael: In the context of task lists, could we leverage the same approach and have tasks in action instead of adding forms?
Andy: We need a clear summary of how/when the CDS Engine runs, and how it might consume re-useable “Facts” → In Drools, this is the idea of “Rule Templates”. Isolates the rows from 1-11, so BAs can focus on the table (row 12+). Also, Seems like we need to have a catalog of ‘connectors’ that the drools use to interact with OpenMRS.
2025-05-07: Proof-of-Concept Demo on Platform Team call
Participants: Sam Male, Ian Bacher, Burke Mamlin, Wikum Weerakutti, Andy Kanter, Grace Potma, Daniel Kayiwa, Herman MK, Matthew South, Rafal K, Jonathan Muta, Mike Seaton, Mark Goodrich, Samuel Lubwama
For purposes of POC, packaged the rules as part of a module; this is not the ideal packaging for rules. But it’s very convenient for a POC.
Question about AND vs OR support in table rule expression: each row is evaluated as each condition AND’ed together, but to do an OR, you effectively need a new row.
2025-02-26: Weekly Meeting: Ian, Sam, Nethmi, Andy, Grace
Plan:
Sam to use these content examples and work on the table example:https://docs.google.com/spreadsheets/d/1oHXEH2EaQ-rJAotDYHUudvso8_NQWnV7Q1W9swtUfFQ/edit?gid=0#gid=0
Grace: Focus on Use Cases
Community: Post to Talk about this plan.
2025-02-23: CIEL Considerations Interview: Andy & Grace & Ian
CIEL’s concern: Can’t throw out role of Interface Terminology and say, “throw it all out and just start using SNOWSTORM” → CIEL: “You don’t have to, because CIEL already has SNOMED (except, some of the hierarchy/subsumption).”
Use CIEL’s standard code maps.
There are some ValueSets for things like “These are Penicillins”.
Some limitations in how current code was written (assumes every Dx or Rx captured here is same-as mapped to snomed, because assumes the code is from a snomed server; so when you pick a Dx and Rx, you’re essentially picking a group of SNOMED codes. They send that to the snostorm server which then does the subsumption query: Is there a bunch of children associated with this?).
In CIEL, in many cases CIEL one is a child of a SNOMED; need like an assumption to say “It’s okay if the CIEL code is narrower than the SNOMED code, just use the SNOMED code.”
Proposal: Andy interested in paying for someone to do this. Would work for BM Lite as well. Don’t have to replace dictionary. Eliminate pressure for people who think they have to abandon CIEL. Esp. since no license restrictions on CIEL side.
Licenses: Most OpenMRS countries may actually be eligible for a free SNOMED CT license; there’s a WHO country category (D?) where they’re allowed to use. Mid-level like Brazil not in that though.
OHDSI has a license for analytics-only use case.
Could OpenMRS get a community license? Argument would be: We just proved a SNOWSTORM server. Value of SNOMED is not in the collections, it’s in the relationships/hierarchy.
May develop a CDS service capable of running a subsumption query against multiple different servers (including possibility of a SNOMED server).
Other sources?
RxNorm, ATC Codes: India using SNOMED for drugs because have license. CIEL also maps to these. FHIR typically uses RxNorm.
Labs: Not a LOINC-type thing generally; tends to be SNOMED-level of granularity. May use LOINC for results ranges.