Jacaranda Health Brainstorm

This page contains notes and a summary of a brainstorm that Medic Mobile held with Jacaranda health about the use cases for sending reminders with the OpenMRS Messaging Module

OMRS Messaging Module Current Functionality

The messaging module allows OpenMRS users to send and receive all kinds of messages - SMS, email, twitter messages, and inter-user messages accessed within the OpenMRS application (dubbed OMail). It also helps you handle various ancillary aspects of messaging, including managing addresses and browsing past conversations. Lastly, it has an easy-to-use API so that other modules can incorporate messaging into their own projects.

Jacaranda Health Use Cases

Jacaranda Health will be using OpenMRS for a group of mobile maternal health clinics. They want to support a few types of messaging at the time their first clinic opens in mid April, and would like to expand the types and content of these messages down the road.   Deliverables for mid-April Launch (intend to use existing MoTech features) - automate SMS with pregnancy info directly to mothers on their own phones  - automate care reminders directly to patients on their own phones - MoTech schedules care reminders in XML that selects message content based on whether a patient is upcoming or overdue for an appointment. This portion of MoTech may be reusable by other projects  - Mobile form upload. In particular, they need to support mobile registrations and multiple encounters per form, which the XForms module doesn't support   

Future use cases

Pregnant women receive SMS about their care on their own phones - Pregnant women receive SMS about their care on a shared phone - Mothers receive SMS about their child's care on their own phones   - Send SMS to the assigned CHW after a woman delivers, asking the CHW to check in on a patient  - SMS alert CHW when a mother's expected date  We probably missed some. Does Jacaranda care to add more?   

Configuring message schedules

It would be ideal to have a flexible way to schedule all kinds of messages without writing any code. Here's a list of the main variables. I would especially like to hear Jacaranda's feedback about who their potential message recipients are, since it might be harder to make this variable infinitely flexible depending on how relationships are mapped in any given OMRS instance.   


- x amount of time before
- x amount of time after
- Immediately after  

Patient subject

i.e., who the message concerns.
- all pregnant women
- all mothers in program X
- all children
- cohort X  


Whenever this event occurs for the patient identified above.
- Expected Date of Delivery
- Next scheduled appointment
- Any date - enters or exits cohort Y
- NCD module detects something?
- Form X is received concerning this patient
- Right now   

Message Recipient- Patient's own phone only

- Patient's own phone or shared phone
- Next of Kin (e.g. mother of a child patient)
- Health worker assigned to role Z for the patient (e.g. CHW, Clinician)  

Message Content- whatever you want...

Are there other variables that might not fall under these four?   

Examples of potential message schedules  

Feel free to add more!   

Six weeks after -- any patient's  -- birth date –- send a message to their Next of Kin ---  with content "If your baby was born six weeks ago, please bring them to the clinic for routine immunizations."  

Six weeks before --- any pregnant mother's --- Expected Date of Delivery --- Send SMS to her phone or shared phone –- with content "Only six weeks remain until your expected date of delivery, please return to the clinic for a routine antenatal visit."  

Immediately when --- any patient --- enters the cohort "PMTCT" --- Send SMS to her own phone only –- with the content "Thank you for registering…"  

2 days before --- any patient's --- next scheduled appointment --- Send SMS to her phone    

“Tags” to personalize messages

In some circumstances it would be helpful to personalize a group of messages using tags, similar to email Merge programs. Tags could include Patient's name, next appointment date, patient's assigned local clinic, patient's assigned CHW. In writing a message, the generic tag would look something like [patientname]. For example, you could have each individual in a big group receive a personalized message like this:  

In OpenMRS:  Hi [patientname], you have an appointment at [localclinic] on [appointmentdate]. If you have questions or need to change your appointment day, please contact CHW [CHW]. Asante!  

To its recipient, this message would look something like:  Hi Jesephone Phiri, you have an appointment at Msangwa on March 4th. If you have questions or need to change your appointment day, please contact CHW Prudence Chirwa. Asante!  

If it were readily available, would Jacaranda use this type of message personalization? Are there tags I mentioned you would never use, and what other tags might you want? Aliya mentioned that it might be helpful to modify messages based on when the mobile clinic will next be visiting a patient's nearest clinic stop. Based on the use cases we discussed, it seems to me that it would be easier to just know the clinic schedule when you initially schedule patient's appointment so that you can select a day when the clinic will be there again. Would that work? Or will you need to be able to inform individual patients of changes to their appointment days based on unexpected changes to the mobile clinic's schedule?  

If changes to the mobile clinic schedule were relatively infrequent, one option would be to create a cohort of all the patients with an appointment scheduled at the given date and location, and then manually type in a message to send to all of them, like:  

Sorry the mobile clinic will not be available at Chitipi on Friday February 3rd. Please return on February 5th.    

Patient Consent

It will be extremely important to work patient consent into all of this, so that the module does not let you send messages which would violate patient consent as it is recorded in OMRS.   If this idea sounds appropriate to Jacaranda, you could help Medic Mobile by coming up with a list of all of your potential recipients and the different kinds or levels of consent you might want to use (e.g. some patients may want to be sent generic messages about appointments but not anything about HIV).