OpenMRS is the leading open-source EMR made to support healthcare in low and middle-income countries. The original sync project was the brainchild of Christian Allen in 2007 while he was working for Partners in Health. PIH had multiple sites that were not continuously connected by internet across the Rwandan countryside. Transporting paper forms 4-5 hours on a daily or even weekly basis was not working. His vision of a bidirectional asynchronous database synchronization technique lived and developed in a branch or two for several years. In mid 2009 it was clear that sync was not going to be a part of core code going forward. OpenMRS community made changes to core that were incorporated into the OpenMRS 1.5 release to enable sync to be a module. Next, the code was ported from the branch into the sync module to allow for maximum flexibility and ease of use. The most recent Sync module (1.1) has been released in 2014 and can be used only with OpenMRS v1.x. Sync module has some serious drawbacks:
It is not working with recent OpenMRS v2.x
It is no longer maintained
It is highly coupled with the database
It does not have a reliable merging functionality
It does not have any secure error handling and transaction retry mechanisms
It is hard to extend and does not support syncing with systems other than OpenMRS
We have information that many existing OpenMRS implementations are desperate for a usable and reliable sync solution. The lack of such module is blocking some organizations from upgrading to OpenMRS v2.x. We realised that there is a huge demand for creating a new Sync 2.0 module that will not have the mentioned drawbacks and will work with
the newest OpenMRS. Bahmni contributed to the initial idea of Sync 2.0 module by sharing their findings, experience with implementations and suggesting some of the solutions. Moreover, they expect to leverage the output of that proposed work as the basis of an equivalent Bahmni feature, as described in their Digital Square proposal.
Why posting a new proposal instead of joining an existing OpenMRS one? Sync 2.0 module is a well-defined and strictly limited investment, both from the time and budget perspective. We strongly
believe that smaller projects with clearly defined scope and high impact are the most effective ways of spending money into global goods.