GSoC/GCI Archive
Google Summer of Code 2009


Web Page:

Mailing List:

Our world continues to be ravaged by a pandemic of epic proportions, as over 40 million people are infected with or dying from HIV/AIDS -- most (up to 95%) are in developing countries. Prevention and treatment of HIV/AIDS on this scale requires efficient information management, which is critical as HIV/AIDS care must increasingly be entrusted to less skilled providers. Whether for lack of time, developers, or money, most HIV/AIDS programs in developing countries manage their information with simple spreadsheets or small, poorly designed databases...if anything at all. To help them, we need to find a way not only to improve management tools, but also to reduce unnecessary, duplicative efforts. As a response to these challenges, OpenMRS formed in 2004 as a open source medical record system framework for developing countries -- a tide which rises all ships. OpenMRS is a multi-institution, nonprofit collaborative led by Regenstrief Institute, Inc. (, a world-renowned leader in medical informatics research, and Partners In Health (, a Boston-based philanthropic organization with a focus on improving the lives of underprivileged people worldwide through health care service and advocacy. These teams nurture a growing worldwide network of individuals and organizations all focused on creating medical record systems and a corresponding implementation network to allow system development self reliance within resource constrained environments. To date, OpenMRS has been implemented in several developing countries, including South Africa, Kenya, Rwanda, Lesotho, Uganda, Tanzania, Haiti, Mozambique, Sierra Leone, and Kerala. This work is supported in part by organizations such as the World Health Organization (WHO), the Centers for Disease Control (CDC), the Rockefeller Foundation, the International Development Research Centre (IDRC) and the President's Emergency Plan for AIDS Relief (PEPFAR).


  • Add Serialization Service In this project,I will implement a new serialization that using XStream to do the function of serialize/deserialize all the domain objects. In the previous code of OpenMRS,it serialize/deserialize the domain objects by Simple Framework.Now throuth my implemenation,we don't need put annotations in each domain object.We can put all config information in a seperate XML file.Just define a method to read config information and use the API of XStream will instead of the Simple Framework.
  • Data Synchronization: Create New Sync Node The Data Synchronization feature of OpenMRS allow exchange of data between different EMR sites.This synchronization feature is implemented in a parent-child hierarchical model . One of the challenges when creating a new child site is that many manual steps are required.The main goals for this project is to automate these steps and make the work easier so that the EMR administrator don't have to go through all of those manual steps .
  • Facility Data Module This project will focus on developing tools for reporting purposes. It will allow implementers of OpenMRS to generate reports from data collected from sources other than OpenMRS.
  • Global Property Types Global properties are simple name-value pairs which can be dynamically set and are available systemwide for various purposes. These global properties can be set and edited within the administrative interface of OpenMRS, but this interface's functionality is currently fairly simplistic. We would like the ability to define specific types of global property values (such as a date, or a password, or a medical concept) types to the global properties table to help guide users when entering the data.
  • Implement the Audit Module (Data Integrity Module) In any system, especially Information Management Systems, the integrity of data is vital for accurate information. Furthermore as OpenMRS is keeping medical records of patients, the need for accuracy is even higher. Therefore the main goal of building the Audit Module is to provide the administrator the possibility of monitoring the accuracy of data and thus ensuring the reliability of the data that is stored in the system.
  • Integrate Quartz Scheduler into OpenMRS The purpose of this document is to give a detailed idea about Quartz scheduler module which will be designed for the current openMRS system as a Google summer of code 2009 project. The document will explain the current implementation of the scheduler & its limitations. It will also elaborate on the proposed module, its design, features & User Stories. The project plan and its timeline introduced will give an idea of how the proposed project is laid on.
  • Integration of the OpenEMPI Master Patient Index with OpenMRS There are various healthcare organizations around the globe which would require to use OpenMRS to maintain their patient records.The same patient visit different organizations(assuming all organizations have OpenMRS installed to maintain their practice details),and at each organization he may be added as a new patient.The objective of the OpenEMPI service is to create a single reference for a patient and demographic data across multiple systems.
  • OpenMRS Patient Authentication via Hybrid Online/Offline Mobile Phones Moca is an end-to-end remote medical diagnostics application that runs on Google Android phones and integrates with OpenMRS. This project involves adding powerful functionality for OpenMRS patient authentication directly from a mobile handset, even in an out-of-coverage-area scenario, and will entail programming in Java using the Android SDK and incorporating a number of technologies into the system.
  • Proposal: Implement Active Lists in OpenMRS Active lists are an important clinical tool, allowing physicians to check existing conditions before a potential treatment to avoid undesirable side effects. To do this in OpenMRS, users currently have to scan through the observations manually, noting any allergies or diagnoses. The goal of this project would be to add specific support for these lists, exposing a service to manage them, and saving the time of both physicians and patients.
  • Role based home page In any practice management system, there are many users like System admin,nurse,physician etc who are entrusted with different roles and responsibilities.Based on this criteria every user should have its own workflow and whenever the user logs in home page should be role specific as well as individual specific(Dr. X has 5 appointments, Dr. Y have 10 prescriptions to be approved etc)
  • Video Upload and Review From Mobile Phones Since joining Moca (remote medical diagnostics platform developed at MIT) as a research student, I have been able to work closely with Dr. Gari Clifford, Clark Freifeld, Zack Anderson, and RJ Ryan on the technical development of Moca (Android phones and OpenMRS). I have become familiar with the vision and codebase of OpenMRS and believe that there are tremendous implications and possibilities for this system. Hence, I am eager to contribute my skills to one of your projects this summer.
  • WYSIWYG Form Designer for Html Form Entry Module I will try to implement the WYSIWYG Form Designer for Html Form Entry Module, as described in your Unassigned Projects page. The first priority would be to use existing software (tinymce or fckeditor) for the WYSIWYG Designer, by developing a plugin (ideally) or by modifying the code to suit the project needs.