GSoC 2018 - Merge Patient data from Multiple Installations


I am looking forward to participate to above project in GSoC 2018. I went through the guidelines and did the basic things and got familiarized openMRS. I take a looked at this project and the idea that I got is, there are data about patients, encounters, and observations at different places at different databases ant what we have to do is, that data should be collected and should be merged into one database and also should create a interface to reporting and analysis purposes.

now I got some problems to clarify

  1. different places means the places in a particular area or all over the world?
  2. you mentioned in description ‘no guarantee of a consistent Internet connection’ so then how database can be accessed

I like to study about this project further. and I think given details are not sufficient to get an idea about this project so If you have more information about this project I request that details to study this more

thank you

Thanks @jayamal for expressing interest in this project! :slight_smile:

As for different places, the implementation does not depend where they are. It could be two databases in the same room. All that matters is that data is coming from separate openmrs database instances.

For cases of no internet connectivity, assume that the database will be physically brought over using storage media like external hard disks or others.

In summary, assume that some how, the other databases will eventually be brought in proximity to the master database, for data to be transferred.

1 Like

Hello @dkayiwa

I am interested in participating in GSOC 2018 and have gone through this project.

I have gone through the developer manual and followed the steps on Getting Started as a Developer. I have setup the development environment following this and fetched the repository from github. I have also setup the server and can run it on my localhost but it doesn’t have any patient data.

I have a few queries:

  1. Do I have to setup the Sync Module ?
  2. I don’t have any data with me. From where can I have a look at the data to get an idea of what I have to merge?

Thank you.

1 Like

Ok I got an idea, according to your description the data can be collected from different databases and we should develop a system using mysql quires to get that data to a one master database(Tell me if I am wrong) and also a API to present that data, right??

thank you

@jayamal dkayiwa Is this not done within the current version of the Sync module Sync 2.0 Planning

1 Like

Sorry I can’t understand I appreciate if you can please tell clearly ?

thank you

@jayamal The solution to patient merging from multiple installations is currently being worked upon by the team building a new version of the sync module

So did you mean we can’t contribute to this project in GSoC 2018. But this project is in GSoC 2018 project Idea list


@dkayiwa please clarify this. Thank you

@ssmusoke does the sync2 module handle cases where data already exists in the different databases?

@dkayiwa That is my expectation as a use case, thinking master-slave, where facilities sync their data to a master server - without the master server controlling patient creation. Maybe this Gsoc project can be to handle that particular use case atop of sync

@ssmusoke my understanding is that sync deals with cases where data is created or edited while sync is running. Not cases where you get databases that already have data and you just want to merge it into one database.

The patient merge enhancement project appears to be a mUzima use case. It may help to ask @mssavai or @ayeung how this differs from planned Sync 2 functionality.

I believe the use case is a mobile client syncing with the server needing a semi-automated way to handle likely duplicates asynchronously.

@dkayiwa Can you please tell us clearly whether this project is available for gsoc or not because if this is not available we can put our mind to another project

Thank you

@jayamal yes it is available for GSOC

1 Like

@dkayiwa where can we submit our “drafted proposal” for review from your(i.e. OpenMRS) side ?

Do we have to submit directly through Google channel ?

Or could the mentoring organization review it for improvements before making final proposal through Google ? If yes, where can we submit our proposal on OpenMRS ?

Thank you.

@dkayiwa, does the project have to make use of the sync module ? I read the Sync Module Documentation which seems to do the work of merging by setting parent-child servers.

Or do we need to do a stand-alone merging code that will take 2 databases(father and child) as input and outputs a single merged database(father instance)?

Thank You.

@hemalmamtora The GSoC student application period opens later today. Once this has been announced, there will be a post on Talk with details on submitting draft and final proposals.

1 Like

It will not use the sync module. Just pulling data from several databases into one, for analysis and reporting.


I am interested to participated in GOSOC 2018. I went to project details and familiarized with above project. I have confident to do this project because I have good java and JavaScript and I was a contributor for ongoing these kinds of project which is

Patient Handling System for Dental Hospital Peradeniya

Tools and software used: Java, HTML/PHP, Eclipse EE, Struts, Apache Tomcat server, MySQL, bootstrap framework etc. GitHub Link:

These days we are doing another project which also has the similarities with above project. Which are, we send data to central database from provincial servers & merged data would be read-only, used reporting and analysis purposes.

Some details about ongoing project

Automated and Centralized Electricity Billing System GitHub Links: 1) Main server 2) Provincial Server

short video

I like to study about this project further. and I think given details are not sufficient to get full idea about this project so If you have more information about this project I request that details to study this more

thank you