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

All discussion about this should happen on this Talk thread for now

Primary MentorPascal Brandt
Backup MentorJan Flowers
GSoC StudentTBD
Interested PeopleSuranga Kasthurirathne Jonathan Teich Mark Goodrich Valerio Joao


The goal of this project is to build on the Patient Flags Module [1] to add more clinical decision support features.


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 BrandtDarius 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

  1. 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)

    1. Build mock standard trigger method

    2. What is the value set for a hepatitis vaccination occurrence?  OBS for that vaccination having been given; presence on existing immunization record

  2. 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.

    1. Problem list may or may not be available (or may need to be simulated)

    2. 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


  1. Patient Flags Module
  2. Adding a Web Service Step by Step Guide for Module Developers
  3. Patient Flags REST Module (to be incorporated)


  1. Hi,

    I am very interested in working on the project. I have a sound knowledge of Java and a decent grip on API development. I have already set up the OpenMRS SDK up and running. Right now i am going through the implementation of Patient Flags module by looking at its code. I would like to know more about the deliverables expected out of the project and the technologies and frameworks which are to be used as part of this project.

    Frankly speaking, I really find the module to be awesome and I am able to understand a good part of how the logic is implemented. 

    Please share your IRC userIDs so that I can discuss the project details on IRC.

    Thanking you and excited to work on the project.


  2. Hi Maulik Soneji,

    The deliverables are not yet defined, and would probably be developed with the accepted student. Implementing some of the initial ideas in order to support one or both of the specific use cases mentioned would be a good goal.

    The important thing for you to do right now is to make sure you follow the 9 steps towards becoming a successful applicant.


  3. Pascal Brandt sounds like a great project.. will try to help out and review as I can...