SMS, USSD Services for Patients

This page is outdated and no longer receives updates!

 

Medical data must be accessible to a patient through many channels. This project will allow a patient to access and edit their information through SMS, USSD. Patients will be able to edit their details, view structured medical data, see current prescriptions, and etc.

 

Demo Video: http://youtu.be/wrUIc2Z_4YY

Introduction

 

Just  think of a situation where a patient lost his/her medical prescription while their at home. So the patient will be in a big trouble if the hospital is too far away from home, or may be if its a  holiday or something like that occur. But if the patient could simply use a mobile phone and just request a copy of medical prescription via SMS, that would be really cool, isnt it ?

 

So  that’s where the "2-way SMS menu, USSD, IVR" project’s idea comes from. Not only the medical prescriptions, the Patients will be able to edit their details, view structured  medical data, and control who is allowed to  access their records as well. More-over the projects aims to allow patient to access Medical data through various channels, including SMS, USSD, IVR mobile technologies.

 

Design

 

[Figure-1] Highlevel diagram: http://www.gliffy.com/pubdoc/4506677/L.png

 

 

Phase 1: Implement the SMS menu

 

[Figure-2] Low level diagram: http://www.gliffy.com/pubdoc/4535346/L.png

 

 

 

Example1:

if some patient wishes to check his/her medical prescriptions via SMS.

He/she  may type "RAXA<space>CHKPRESC" and then send to 4499  (SOME  SPECIFIC PROVIDER NUMBER) , after the SMS being processed by the module  it will reply back with  user's medical prescription to the mobile phone as a SMS message. 

 

Example2:

if some patient wishes to change his name to a new one on Raxa system.

He/she may type "RAXA<space>NEWNAME<space>gaya

n  sampath" and then send to 4499 (SOME SPECIFIC PROVIDER NUMBER) , after  the SMS being processed by the module it will reply back to the users  mobile phone with a sms saying "Your name has been updates successfully"  or something like that.

 

Phase 2: Implement the USSD functionalty

 

Implement the USSD menu by using the OpenMRS web service clients.

 

Why USSD over SMS ?

 

 

[Figure-3] Example of an USSD App.

 

 

In SMS we need to type everything, send to some specific telephone number and wait but for some people this way around can be little bit annoying. Everything about USSD is just much faster and simpler. The reason for it is an interactive user experience which is created by technical features of the technology. Unlike SMS, USSD maintains a session so users receive response almost immediately. There is no instant user involvement with SMS. You have to wait each time after your response and sometimes a dialogue can be interrupted by a slow delivery of a message. With USSD users get the feeling of a common browsing through mobile phone application. It’s just doesn’t require any installation and works on any phones, from low to hi-end range which is an another big advantage. So thats why we are developing also an USSD based App for the Patient facing module in this project. So whoever the people doesn't like SMS they could use USSD either IVR.

 

 

Phase 3: Implement IVR functionality (Not done yet)

 

Setup Jarvis and Implement the IVR functionalty by using the OpenMRS web service clients.

 

Patients able to navigate through menus (same as SMS/USSD) already created using phone keypad input. and Text from OpenMRS translated to any language speech.

 

Why IVR over SMS or USSD ?

 

IVR is a really cool way to interact with users, because all the interaction happens by voice and keypad commands. So its very easy for the user and easily understandable with the comfort of their own native languages.

 

4. Demo Implementation of Raxa-SMS-USSD Application

 

 

 

How to Test the DEMO App on Simulator

Download Simulator: http://code.google.com/p/mchoice-applications/downloads/detail?name=mchoice-simulator-LATEST.zip

 

For SMS

1 .Goto Simulator: http://localhost:8000/simulator/

2. Switch to SMS Tab:

3. Set the SMS App URL:http://localhost:8080/Openmrs-Raxa-SMS-USSD/sms-receiver

(No need to change the Phone #, Type the SMS on "Message" field)

4. To Add a person > type: "raxa addperson FNAME LNAME GENDER AGE"

    To Get/search for a person > type: "raxa getperson FNAME"

5. Click the "Send" button

 

For USSD

1 .Goto Simulator: http://localhost:8000/simulator/

2. Switch to USSD Tab:

3. Set the USSD App UR: http://localhost:8080/Openmrs-Raxa-SMS-USSD/ussd-receiver

(No need to change the Phone #, Type the USSD command on "Message" field)

4. Follow the on screen instructions. (on the left side simulator phone)

5. Type the nessasary stuff and Click the "Send" button

 

Demo OpenMRS system: (to check along with --after interact with the app)

Url: http://localhost:8080/openmrs/ (user: admin | pass: Admin123)

 

Source code

https://github.com/harshadura/openmrs-raxa-sms-ussd

Credits

This DEMO Application has developed by @Harsha Siriwardena as a proposal for the "2 way SMS Menu - Patient Facing module" GSoC 2013 project idea by the Raxa project.