GSoC/GCI Archive
Google Summer of Code 2015


License: Mozilla Public License 2.0 (MPL-2.0)

Web Page:

Mailing List:


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

Thank you for your interest in OpenMRS! OpenMRS has been accepted for the 9th year as a mentoring organization for Google Summer of Code in 2015. We're enjoyed participating in this great program in the last 8 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. Our volunteers 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


  • Add Support for Open Web Apps Creating a module requires knowledge of Java, Spring, Hibernate, JSP,OpenMRS Java API design .All of these facts hinder in extending the functionality of OpenMRS. With the OpenMRS REST API becoming more mature, it makes sense to be able to allow developers with just HTML and JavaScript knowledge to extend the functionality of OpenMRS by using Open the goal of this project is to enable the use Open Web Apps with OpenMRS
  • Cohort Module The proposed project's main objective is to convert/extend the Household module to support Cohort-level encounters and observations and to create these encounters via a REST interface
  • Consuming FHIR Resources for OpenMRS Fast Healthcare Interoperability Resources is a standards framework which combines the best features of HL7's Version 2, Version 3 and CDA® product lines while leveraging the latest web standards. FHIR specification comes with a feature rich RESTful architecture which leverage to a out-of-the-box interoperability.Several new features to the OpenMRS FHIR module are proposed in this proposal to enhance the Interoperability between EMR clients and OpenMRS.
  • Data Import Using eSaude Data Migration Tool Proposal This project aims at creating an OpenMRS module that integrates the eSaude Data migration tool into OpenMRS so as to ease data migration from SQL-based sources into OpenMRS. Furthermore, this goes to ease data migration for production settings into OpenMRS, making it more user-friendly.
  • Implement the OAuth2 Support for Web Services APIs This project aims to design an OpenMRS module to add support for OAuth2 based authentication and authorization and provide secure access to resource owners/ clients trying to access the API’s of FHIR and REST Web Services module ( and also provide hooks to extend the support for future modules).
  • Module for Legacy UI The legacy user interface for OpenMRS 1.9 is chiefly comprised of administrative functions and the patient dashboard. Apparently, a new and more contemporary UI was introduced via a UI framework and the legacy UI was kept around for administrative functions. To retire the Legacy UI as planned, it is required to move the implementations and modules that still rely on it in order to maintain backwards compatibility.
  • OpenMRS 2.x SDK OpenMRS ID is the user account management system that underlies all services on It provides single-sign-on access to the Wiki, OpenMRS Talk, JIRA, the Modules directory, and other services. It also publishes the ID Dashboard, a frontend interface where users can sign up for an ID and modify their profile information. This project will tackle some of the new features and ideas we have for OpenMRS ID.
  • OpenMRS ID v2.1 Platform Improments Though the Dashboard 2.0 has improved a lot, compared to the original one. There is still more work to do, to make it better. We'd like to upgrade its data monitoring tools, modernize its view and more. All about make things better, make the developer could use a better ID platform.
  • OpenMRS iOS Client Extensions OpenMRS already has a great app on the iOS platform and Parker Erway already made a fantastic job with the UI and the functionality of the app, And with the OpenMRS users on iOS increasing, It is time to take the app to the next step. v2.0.
  • Registration Module with a Master Patient Index integration Managing and scheduling Operation Theater (OT) activities are critical tasks in a hospital. The correct management of operating theaters represents an important step towards meeting the urgent need to deliver high quality care with limited resources. Current Operation Theater module has already pretty powerful capabilities, but there is still a lot of features, that we should implement.
  • Rest Documentation Generator Web services are considered one of the most used means for allowing remote access to information and integration between different systems. The OpenMRS Rest Module has been developed for this purpose. The objective of this project is to provide a mean of documentation generation automation, as a mean to make the documentation generator more robust and usable for all resources and contexts.
  • Second Phase of The ChartSearch For the Reference Application Most of the objectives clearly defined on the project's page are about data representation and UI capabilities and other tasks about moving all previous legacy module pages to be developed on the UI Framework, and modeling a custom indexing way that may support other non patient searches such as module's data In addition to supporting more patient data such as allergies, appointments. This is why we need another phase that's aimed at reaching full thought-of functionality support.
  • Support Laboratory Data Exchange with FHIR Expand the OpenMRS FHIR module so that it can consume laboratory information. It also enable OpenMRS to consume laboratory data sent by a third party systems and support Laboratory data such as; * Laboratory (Clinical Chemistry, Hematology, Microbiology, etc.) * Pathology / Histopathology / related disciplines * Imaging Investigations (x-ray, CT, MRI etc.) * Other diagnostics - Cardiology, Gastroenterology etc.
  • System Performance and Utilization Module Extending the "System Performance and Utilization Module" to supply additional informationin order to monitor reliability and impact of the electronic medical record system installation. This module monitors OpenMRS and transfers specific system indicators, possibly using the Performance and Utilization Monitoring Program framework. The expansion of indicators could include system indicators and application level indicators, as well as, the further development of the visualization.