Patient Flags Module Enhancements
All discussion about this should happen on this Talk thread for now
Primary Mentor | @Pascal Brandt |
Backup Mentor | @Jan Flowers |
GSoC Student | TBD |
Interested People | @Suranga Kasthurirathne @Jonathan Teich @Mark Goodrich @Valerio Joao |
Abstract
The goal of this project is to build on the Patient Flags Module [1] to add more clinical decision support features.
Objectives
There are many possible features we could add, but since this is GSoC, the scope needs to be limited. Here are a few initial ideas:
Ensure module is compatible with recent versions of OpenMRS
Ensure all Patient Flags functionality is available via REST (there was a brief discussion about it here between @Pascal Brandt, @Darius Jazayeri & @Valerio Joao)
Generate some meaningful custom flag examples
Add more default display points
Add more trigger points (e.g. on New Visit or Scheduled Task)
Add different alert styles (e.g. add recommendations/action button to the alert)
Add async alerts (e.g. email or Global OpenMRS Message emitted by scheduled task that evaluates flag logic)
Specific Examples
Immunization check: if patient is >2 years old and has not had hepatitis vaccination, then show suggestion to order that vaccination, possibly show the immunization table, possibly be able to actually process that new order. Triggered on patient signs into new visit / or on any chart pull (opening the dashboard)
Build mock standard trigger method
What is the value set for a hepatitis vaccination occurrence? OBS for that vaccination having been given; presence on existing immunization record
Immediate drug alert: triggered on order for a particular drug. Logic is: if ordering and drug A and [patient is also on drug B; patient is not on drug C; patient has problem list D] then present: suggest you add an order or delete an order.
Problem list may or may not be available (or may need to be simulated)
Access to medications -- does OpenMRS have a consistent representation of “patient is on medication A”? [Ref app would help to enforce this consistency!]
Suggest timeline
May 23 – June 08( ~ 3 weeks)
Participated in the O'Reilly Open Source Convention, gave an Ignite talk on GSoC in Cameroon
Planned with Jan and Pascal on Implementing REST API
Looked at eSaude REST repo
June 09 – June 22( 2 weeks)
Ported eSaude REST repo to Patient Flags module
Made Preliminary fixes to Pull Request
Refactored repo files to suit Patient Flags module.
Addied dependencies to relevant pom.xml files
June 20 – July 27( 1 week)
DockerCon travel and met Jan in Seattle.
Testing of REST API
Mid-term evaluation
June 28 – July 18 ( 3 weeks)
Get feedback from OpenMRS community on proposed Patient Flags enhancements.
Debug issue reported by Edwin on OpenMRS 1.9.7
Add display points and custom flags
Add async alerts and alert styles
Add new web services URLs, location resource object for Patient Flags module
Add LocationController to support REST URLs, Manage Tags, Manage Priorities
Testing and debugging
July 19 – August 01 ( 2 weeks)
Documentation and testing