The goal is to embed the OpenMRS media viewer for encounters into the Moca module. Hence, when healthcare workers upload patient symptoms, images, audio, and video, the doctor can login to OpenMRS and view all this information within one screen for a smooth workflow.
Moca consists of a queue of pending cases from healthcare workers, and when the doctor clicks on one item, he/she will be brought to a page that contains a panel of patient symptoms and diagnosis options (on the left side) and the Flash media viewer (on the right side).
To make this panel for Moca in OpenMRS, I used HTML, CSS, and JSP. It displays the patient name and links to his/her patient dashboard in case the doctor wants to look up information on past patient visits. Then it lists question/answer response pairs according to the procedure defined by the doctor and downloaded to the G1 Android phone. These questions include “What is the size of the lesion?” or “Does anyone else in the family have this condition?” Although it would be easier to display the entire list on the screen at one time, I decided to use a scrolling box for scability because some of the procedures can get very long.
For the section where the doctor can write a diagnosis, I originally had it set up as the following (see below). This panel was designed using feedback from the doctors in the Batanes (in the Philippines). The radiologist said that he only provided findings/interpretation and other comments for an x-ray. He didn’t assign a diagnosis or treatment (that was the clinician’s role). However, for the teledermatology cases in Africa with Click Diagnostics, the specialists would provide a diagnosis and treatment. Because each pilot would involve different specialists with different medical applications, with the help of my team, I decided to instead make this panel customizable for each workgroup or pilot. Hence, radiologists in Manila would require 2 fields (findings/intepretation and other notes), while doctors in Africa for dermatology and opthamology would use 3 fields (diagnosis, treatment, and other notes). I’m working on this custom interface, and will write about this soon.

The other parts of this interface came from my usability tests on doctors in the Philippines. For example, they wanted to see the name of the doctor writing the diagnosis to ensure proper identification of who made the diagnosis. Other options they wanted were to send a reply to the healthcare worker asking for a retake of the image and the ability to leave the case pending or to refer it to another specialist.
Taking all of these workflow requirements into account, I came up with an updated version of the Moca panel. I utilized tutorials on HTML forms and JSP servlets to learn how to post data from the HTML text fields to the OpenMRS server. This data is stored as a new Observation within the current Encounter for this particular patient in OpenMRS.
JSP Tutorial
http://www.jsptut.com/Forms.jsp
Invoking Servlets and JSP files within HTML forms
Handling Form Data
http://www.apl.jhu.edu/~hall/java/Servlet-Tutorial/Servlet-Tutorial-Form-Data.html

More details on how this panel integrates with the media viewer will come in my next post.
Tags: GSOC Media Viewer, OpenMRS

