Decision Support

OMRS10 Decision Support

Why did people come to this session?

  • How do I deploy decision support in OpenMRS?

  • What are other people doing with CDSS in OpenMRS

  • How can we do this easier?

  • How is it defined?

  • High value areas where decision support would make a big impact

  • How to evaluate

  • Integration with external systems

  • How does CDSS relate to Business Intelligence?

  • Dyanmic forms

What is CDSS?

  • Giving information to help make a decision

  • Warnings and alerts

  • Can be given to clinicians and to patients

  • Business intelligence also seen as decision support but at the meta level for the facility (differentiating from clinical decision support)

  • Enforcing standards of care

  • Workflow support (ensuring that certain data get gathered, and that processes are actually working

  • Make it easiest to do the right thing


How are people using decision support?

  • HTML form module has added support to gray out portions of the forms when certain values are picked

  • AMPATH generates reminders for different patients (CD4 count overdue) by analyzing different observations using the logic service.  Use a parser for ARDEN syntax

    • Big value for AMPATH will be to get other people on board to take advantage of the community

  • Patient flags module used by Albert Schweizer hospital in Haiti

  • Baobab implemented a weight graph with BMI, Wt/Age, Ht/Age, Wt/Ht with alerts for malnourishment

  • Growth chart module is doing the same thing as Baobab, using CDC graphs

  • PB: Chica module analyzes patient data and comes up with top questions that a clinician might like to know, can scan a paper to collect the info

Overview of the logic service:

  • The token (derived concept) is another level of abstraction that OpenMRS can know about, such as gender or CD4 count.  You can ask the logic service about a token and get a result back, which looks like an observation.  Rules can then consume other rules.

  • Better to return the piece of information that generates a result than the result itself, as it gives you more flexibility about how the information is displayed

  • If the patient is diabetic, what is the result that generated that information?

  • It should be easier for non-programmers to use this to get information from OpenMRS

  • We could show treatment failure for an HIV patient in a few ways

    • A big SQL statement, or

    • Nested logic rules (HIV positive, on treatment, treatment failure…)

  • The logic service has an index date under the hood, which can allow you to look at the patient's BMI over time

  • In a simpler example, could create logic rules to find out the correct appointment date if data is coming in from multiple sources

  • With a Groovy compiler, could take Java code and refine it to be more clinician-friendly.

  • Inference engine could feed data into data warehouse and allow you to get instant answers to complex queries

  • Right now, can write MLMs and Java classes with logic module in OpenMRS 1.6

  • In OpenMRS 1.9, will have a rules editor with Groovy support allowing you to do Java or Groovy right into the web interface.   A quick win would be to allow you to embed a SQL function.

Questions on logic:

  • How can you display it?

    • Logic not designed to be everything to everybody. Built as the evaluator that gives you the result, modules can be built around it to visualize the data.

  • What is the strategy for using logic?  Is it for clinicians or patients?

    • Should be generalizable, be able to generate alerts for patients and community healthcare workers

Where would people like to use decision support?

  • Inpatient care to help healthcare workers.  Example, give a clinician a list of people with scheduled appointments.

  • Use it to score whether a woman is at risk of significant complications for a pregnancy in Nigeria

  • Use this to calculate important information for reporting, such as calculate initial states for TB patients from observations on a form

  • Get information to patients using phones

To dos and takeways

  • Share MLMs that people have built, publish it on the OpenMRS mailing lists

  • Put these on the wiki page

  • Be careful about what data is needed to make a decision.  If you don't have all the data, the logic rules can look like a fool or even harm someone.  Aim at low-hanging fruit.

  • Organize people who are interested in evaluation of decision support