Google Summer of Code 2017 with OpenMRS

Google Summer of Code is sponsored by Google, which aims to allow students to writing code and learning about open source development while earning a stipend with their summer break. There are many amazing projects that you can select your favourite. If you are accepted, your organization will provide mentors for your project to help you to complete the project.

OpenMRS is a collaborative open source organization which aims to develop software to support the delivery of health care in developing countries. And In fact, there are many helpful developers, implementers and user in OpenMRS community from around the world who contribute to the OpenMRS projects.

I am glad that I am one of the students of Google Summer of Code 2017 with OpenMRS, and now GSoC 2017 is coming to an end, so I would like to make a summary of this summer vacation of my life.

Open Concept Lab Enhancement


Open Concept Lab (https://openconceptlab.org1) is the tool that we want to use in the OpenMRS community to mix-and-match shared, curated concepts (e.g. from the CIEL dictionary) with locally-defined concepts. 
The goal of this project is to make UI enhancements to OCL to make it easier for OpenMRS implementations to use it to create and share content.

Main Objectives

  • Add a “Fork This Concept” feature to be convenient for user to make local edits to someone else’s concept
  • Add a graphical “Diff Viewer”. User can view the changes across concepr versions.
  • Add a “Relationship Browser” view in OCL, so user can see immediately-related concepts in an intuitive way, and quickly browse to them.

Extra Objectives

  • Fork This Mapping
  • Diff Viewer can compare different concepts to each other.


I put all features in one pull request with each module, so there are many changes in each pull request, and mentor is reviewing it. So it needs time to be merged. Sorry for this.



Future Work

  • Add a “Fork This Collection” feature, e.g. so an implementation could take a form of “OpenMRS Condition List starter set” and make some local modifications.
  • Make UI more beautiful



Time files, three months has passed. There are too many words to talk in my heart.

Firstly, thanks OpenMRS very much, OpenMRS is reponsible and helpful to students. OpenMRS arranges everything for our students, which is with the bases that I can finish my work better.

Secondly, sincere thanks to my mentor @paynejd who gave me many help to finish this project. He always be patient and helpful to my questions and problems, I can ask him for help no matter what diffculties I encountered.

In the end, thanks to Google for sponsoring the project, providing chances for our students to contribute to open source project.


Xu Hao