GSoC’17@OpenMRS — Week One

OpenMRS Data Integrity Module


Coding period just began this Monday. I had great difficulties setting up data integrity module on my machine but my mentor (Stephen Musoke) and the OpenMRS community were very helpful. Due to their help I was able to setup the module and I learned a lot on the way. In this blog post I will covering what’s my GSoC project, how did I started with it, what I did on my first week.

OpenMRS Data Integrity Module (aka DINT module) checks the validity of the data received from different sources like OpenMRS Web app or OpenMRS Android Client. It is not always possible to check validity of data while taking input.

This module is really helpful as it flags the inconsistent data and keeps the data consistent.

One thing I found really cool about this module is that this module don’t need hard coded rule, you can actually program all the rule, you can customize them according to your needs.

In this summer I will be working on different tasks of varying difficulty, from improving result filtering to implementing a whole new interface for SQL based rules.

Steps to setup DINT module:

  • Install OpenMRS SDK. Have a look here —
  • Create a module using the SDK and Data integrity module as dependency.
  • Write rule and host in the module you just created. Example here —
  • Create OpenMRS server using SDK. Choose ‘Distribution’ type of server.
  • Add the module you created in watched project.
  • Run the server using this command ‘mvn openmrs-sdk:run -DserverId=serverID’ .

Early this week I was busy setting up the DINT module which fortunately setup on time, then I started exploring the codebase and the flow of the module. My mentor (Stephen S. Musoke) suggested me to start working on DINT-73 — The task is basically improve the filtering of the results according to patient, according to the rule ran, etc.

Please let me know if you have any feedback or suggestion or you having any difficulty setting up the module. Soon I’ll putting a new guide to setup the Data Integrity Module in OpenMRS Wiki.