GSoC/GCI Archive
Google Summer of Code 2013


Web Page:

Mailing List:


Write Code. Save Lives. Join OpenMRS for Google Summer of Code 2013.

Thank you for your interest in OpenMRS! OpenMRS has been accepted for the 7th year as a mentoring organization for Google Summer of Code in 2013. We're enjoyed participating in this great program in the last 6 years and are even more excited about the projects and mentors we have available this year. Coding for OpenMRS is a great way to practice your coding skills and, at the same time, help benefit people in developing countries who are on the front lines of the battle against HIV/AIDS, TB, and Malaria.

The Summer of Code page on our wiki describes potential projects and our mentors this year. These aren't "busy work" - we've reviewed our actual project list and identified ones that can be completed by students (advised by our team of excellent mentors) during Summer of Code this year.

Why OpenMRS?

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, 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 many countries, including South Africa, Kenya, Rwanda, Lesotho, Uganda, Tanzania, Haiti, Mozambique, Sierra Leone, and many more. 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 US President's Emergency Plan for AIDS Relief (PEPFAR).

Read more about OpenMRS at


  • Chart Search One of the most useful aspects of an electronic medical record system is data retrieval. OpenMRS need fast, simple tool for viewing patient’s data. Good example – Regenstrief Chart Search that uses SOLR server. First version of OpenMRS Chart Search module should be simple, encapsulate both indexing and searching with embedded SOLR or Lucene.
  • Data Comparison Module There is a new requirement to compare the metadata objects in OpenMRS in order to make easy the metadata sharing process by comparing upcoming metadata objects with existing metadata objects. Data Comparison Module satisfies this requirement by allowing the end user to compare the same types of two objects and highlighting the differences between those objects.
  • Data integrity workflow module OpenMRS is an open source, enterprise electronic medical record system platform, widely used for managing health systems in developing countries.The Data Integrity Module allows users to run integrity checks against the database and identify problems for review.This project is to create a new module leveraging data integrity module for provide collaboration environment on handling integrity errors of a database.
  • De-Identified Patient Data Export The main aim of this module is to export data of patients in a de-identified manner so that the developers and researchers can use this data without knowing about the patient. This means that while exporting the patient data no information which could identify the patient should be exported. This aim can be accomplished with the help of Protected Health Information (PHI). PHI specifies few elements which can identify the patient. Hence the PHI elements are eliminated from a data set to preserve privacy for research participants.
  • Improving Mobile Development - Security The aim of the project is to develop security measures that can be applied for the mobile application to secure working with data from the OpenMRS platform for both online and offline access.
  • Intuitive User interfaces for Report Designer The Reporting Module provides to the OpenMRS user the ability to get data from the software in a readable and friendly way, such data can be presented in different formats. These types of Report Renderers share a generic user interface instead of having one per renderer that suits the characteristics and configuration options of each one. This project aims to solve this not only by creating a user interface for each renderer, but also by allowing extensibility.
  • OpenMRS SDK The creation of an SDK will allow for more rapid development in regards to the creation of modules for OpenMRS because it will make the creation process more friendly for beginners and experienced developers.
  • OpenMRS+DHIS2+SDMX-HD integration DHIS2 is an aggregate indicator system used along with OpenMRS in many countries. SDMX-HD is a standard specification for transmitting time series health data. DHIS2 uses a variant of SDMX-HD as a data exchange format. Other projects have integrated OpenMRS with DHIS2 but not in a user-specifiable manner. This project will involve creating 1 or 2 new renderers for the report module corresponding to the 2 formats and a user interface for mapping report output elements to the exchange format.
  • Patient Matching Module Strategy Enhancements The Patient Matching Module currently provides a means of selecting patient characteristics and properties for creating a matching strategy. We have a set of statistics-gathering methods we can run on a set of data to give us what are called "field metrics". A subject matter expert can look at these metrics and tell us which fields are best for matching. With the latest work in this field, we can now predict what an expert would suggest using a random forest of decision trees.
  • Patient Narratives Upload The goal of the project is to enable care-seeker to connect with care-giver (via an internet-hosted OpenMRS implementation with this module installed) in which their current treatment can be reviewed by a group of care-givers, who can suggest further action. This project is all about to develop an "User-driven healthcare" system by integrating OpenMRS-core as the base.
  • Validation Module Enhancements The validation module is a useful tool for finding problems with your DB. It runs OpenMRS validators against different data and matadata in your system. It is particularly handy for implementations migrating to OpenMRS 1.9. In OpenMRS versions earlier than 1.9 objects were not always validated before persisting them to the DB and after upgrading to OpenMRS 1.9 you may want to make sure that your objects are valid before discovering that only after trying to modify them. The goal of this GSoC project is to enhance the Validation module by providing a more polished UI, improved error reports and automatic fixes for common problems.