Android app offers remote medical diagnostics
Dec 15, 2008 — by Eric Brown — from the LinuxDevices Archive — 1 viewsAn open source project at MIT has developed a Linux- and Android-based remote medical diagnostics application aimed at developing nations. The “Moca” software integrates an Android app for remote diagnostics, a back-end Linux server application, and the OpenMRS medical records database, says the group.
(Click for larger view of Moca running on an HTC G1)
Moca is a cellphone based clinical information system designed to improve diagnostic, screening, and therapeutic capabilities in remote underserved areas, says the nonprofit Moca project. The open source software is designed to improve diagnostics in the many areas of the underdeveloped world where cellular service is available, but trained physicians and hospitals are few and far between.
The Android application is designed to be used by remote nurses and careworkers who work from clinics or mobile vans sent out to remote villages. They can quickly screen patients by filling out forms, and then upload them along with photo attachments via cellular modem to remote diagnosticians for analysis.
Moca architecture
“The idea of Moca is to implement a rapid diagnosis while the patient is still in the clinic,” said Leo Celi, Research Fellow in Medical Informatics, Harvard-MIT Health Sciences and Technology, in an interview. Celi's “NextLab” class developed the original project that Moca is based on, and he is now an advisor to Moca along with Gari Clifford and Luis Sarmenta. NextLab is a hands-on, interdisciplinary design course founded by Jhonathan Rotberg at the MIT Media Lab, with the goal of researching, developing, and deploying mobile technologies for developing nations. NextLab students hail from the Media Lab, as well as MIT's department of Electrical Engineering and Computer Science, Sloan School of Management, and other departments.
“In many areas of the world, it takes several weeks before an expert diagnosis can be made and returned to a remote clinic,” continued Celi, who added that many clinics lack Internet connectivity. “Many patients have to travel up to a half a day to reach a clinic, so they sometimes don't return for follow-up, or they only return when their condition becomes severe and can no longer be easily treated.”
Using the application on an HTC G1 or similar Android phone, careworkers fill out XML-based “procedures” covering various ailments, answering each form's diagnostic questions. The application incorporates check boxes, radio buttons, and text entry, and supports branching, with new sets of questions displayed based on the answers to previous questions (see images below).
With Moca, careworkers can fill out forms, append audio recordings, or attach images
(Click any to enlarge)
Clinicians can use the phone's camera to take a photo, of say, a wound or dermatological condition, and if necessary record a short voice message to be appended. If available, X-ray images can be downloaded to the phone via a USB connection, and attached to the record.
Procedures and attachments are uploaded via GPRS or WiFi to a Java-developed Linux server application, called the Moca Dispatch Server, which interacts with the open source OpenMRS electronics record database, storing the records for archival. Moca posts a queue of filled-in procedures and appended media files, which can be downloaded by physicians via the web. The physician examines the file and fills out a diagnosis and care procedure that is returned, via the server application, to the remote careworker. The returned procedures can include annotated versions of the images to point out details.
The Android dilemma: price vs. power
The Moca team chose Android because it wanted a multitasking open source cellphone platform with a decent camera that also offered an advanced application development environment. The relatively high price of the current platform, the HTC/T-Mobile G1, will be a challenge in the developing areas they are targeting, such as the initial trial set for this May in the Phillipines, says Celi. However, he is hopeful that time and a potential partnership with an NGO that might help subsidize the phones, a la One Laptop per Child (OLPC), will help solve the problem. “Cheaper open source phones are available, but they don't have the functionality needed to implement all the things that we're promising, so there's a big tradeoff,” said Celi.
Leo Celi (Click to enlarge) |
The G1's 3-megapixel camera should offer sufficiently high resolution for most wound analysis and dermatological screening, said Celi, although it may not be sufficient for some applications, such as cervical imaging. “We found that it is not so much the number of megapixels that matters, but the zoom capability that makes the difference,” he added. The Android app enables onscreen zoom and panning over an image.
Working around dropped cellular connections
Moca offers three key technological innovations, says Celi: packetization, synchronization, and multimodal communications. After an early trial of a somewhat similar technology using a Nokia phone in Zambia for cervical screening, the group realized the necessity of packetizing the image transmissions. Not only are the typical GPRS wireless networks found in developing nations fairly slow, but there is a high rate of dropped calls. In the Zambia tests, they would frequently need to retransmit large files, which led to delays in care.
The solution was to store the image on the phone and then use a packetization scheme to chop the file into smaller packets. If a call is interrupted, the software picks up where it left off instead of retransmitting the entire file. Leveraging Android's multitasking capabilities, Moca lets careworkers open new procedures and treat other patients while files are being transferred.
The Moca Dispatch Server handles the packetization, integrity checking, and synchronization functions, including syncing up procedures sent by tethered, store-and-forward communications. It then sends the data to OpenMRS via an OpenMRS plugin developed by the group. Physicians and diagnostic experts can then interact with the OpenMRS records via a web browser. The server module that interacts with OpenMRS was developed with a virtual machine running Ubuntu 8.04, as well as Sun's JRE 6, MySQL 5, and Tomcat 6, says the Moca team.
Moca also supports multimodal communications, including support for faster WiFi connections if available, or tethered downloads sent via a variety of Internet connections. The software can also switch down to SMS instead of GPRS when higher bandwidth is unnecessary. For example, image annotations are sent back by the physician via SMS instead of retransmitting the image itself, said Celi. He added that the group is looking into taking advantage of the G1's GPS device, which might help target the prevalence of disease by geographical location.
Availability
More information may be found at the Moca project, here, and at this SourceForge.net page, where the early beta code has been uploaded under a GPL license.
This article was originally published on LinuxDevices.com and has been donated to the open source community by QuinStreet Inc. Please visit LinuxToday.com for up-to-date news and articles about Linux and open source.