Improving Mobile Development

Primary mentor

Nyoman Ribeka

Backup mentor


Assigned to

Rafaela Voiculescu


Help us build a generic, standardized mobile platform (Muzima) for consuming data from and collecting data for electronic medical record systems like OpenMRS. To meet the demands of healthcare delivery in developing countries, more and more health care needs to be brought to the patient, into the community and into homes. Mobile data can be used to improve care delivery to patients in remote locations by community health workers.


  • Security is essential part in the health care because we are dealing with sensitive data. The goal of this project would be to create mechanism to secure our application from unauthorized user.
  • The goal of this project will be:
    • Create authentication mechanism using user data from OpenMRS and create a way to preserve the authentication information on the phone.
    • The mobile application will be using the Lucene indexing system. We need a mechanism to secure the Lucene system without compromising Lucene's index data and the speed to retrieve data from it.
    • Because the application will store some data on the phone, we need to keep malicious user from accessing this offline information. Only allow user with OpenMRS correct credentials (privileges and roles) are allowed to access privileged area in the application.

Logging and Monitoring

  • The mobile application, on most cases, will be used by the community health worker in the field. The community health worker (CHW) will receive mobile devices along with some allowances to be used to transmit patients data from the field to the central server. We would like to create a logging and monitoring application to ensure that the CHW are using the mobile devices according to the guideline :)
  • The goal of this project will be:
    • Create an application (or framework) to allow logging and monitoring user interaction with the system. Data that will get logged will the general interaction between users and the application (time spent on certain area, number of patients data opened, forms filled).
    • The log output will be stored inside the phone and the phone will have the mechanism to sync this data to (OpenMRS) server.
    • The application or framework also need to log and monitor external interaction outside the muzima application. Example of data that we want to log are: application used the most frequently, size of data being used, distance traveled by the user (be mindful of the battery usage if you're turning on GPS all the time).
    • Create standard structure for the log for data mining in the future (data mining will not be the scope of this project).

Project Champions

Martin Were



Extra Credit