Sync 2.0 Planning

Thank you, @wyclif for comments and suggestions.

The AtomFeedSpringTransactionManager implementation only wraps the existing transaction manager provided in the constructor. We based this solution on used in Bahmni’s module ((creation, usage). I suppose that EventServiceImpl from the ICT4H module isn’t a Spring bean so that it can be used not only with applications based on Spring Framework.

According to your suggestions, we will consider creating our own implementation of EventService, that uses transactions in the proper way.

@dserkowski EventServiceImp doesn’t necessarily have to be a spring bean, if you restructured your code and call the event service from a transactional method in your module, then you wouldn’t need to have to deal with manual transaction management when calling it.

Alternatively, you could extend the EventServiceImpl class and make the subclass a spring bean.

I’m not sure this is worthwhile. Certainly it should be very low priority as compared to getting the module to a functional MVP.

The version of this code from Bahmni has gotten years of production use and testing. Rewriting this introduces the risk of new bugs.

I have an overall question: is there an MVP defined that could be used or tested by some implementation before the entire project is done?

For example an implementation that deploys its metadata via code (for example those supported by PIH and Mekom) might be interested in testing this if they could merely synchronize patients and possibly encounters to a central server.

I strongly support the idea of MVP! We should publish something usable as soon as possible.

@pkornowski When will we have the MVP ready to be shared with the community?

@darius Whom should we push to receive answer to Przemek’s questions regarding demo environment (OpenMRS Sync 2.0 Demo environment)? @raff @burke

@dserkowski, @wyclif

I would rather provide MVP at first just as @darius and @jslawinski said.

Our current goal is aiming to deliver the MVP. We established syncing Patient object as MVP.


I think the first MVP (logic for pulling and pushing the patient with auditing) should be provided in the next one or two weeks.

@pkornowski Any ETA for delivering MVP?

@pkornowski any update?

My apologies for the delay.

The logic for MVP is implemented already. On the Demo servers, it’ll possible to using MVP after fixing an issue with class loaders: .

cc: @dserkowski

@pkornowski What is the current status? Do we have MVP deployed on demo servers that the community might test?


It’ll be available today. I am clearing database on the demo servers, it takes ~ 30 minutes - 1 hour. After that, I’ll set environment variables properly, and attach here used configuration.

The MVP is deployed on the demo servers already. There is possible to synchronize Patient object between instances.

Current demo architecture overview and configuration variables are included in the OpenMRS Wiki:

For scheduling pull and push operation, there is used OpenMRS Scheduler. You can see in the Advanced administration -> Manage Scheduler when the next pull/push operation will be executed. There are tasks for Pull and Pull.

If someone from OpenMRS Community would like to test Sync 2.0 logic on the demo servers, please let me know. I’ll give you credentials then.

I came here trying to see if I can test Sync 2.0. I have noticed that the test servers are running OpenMRS version 2.0.5. Does this mean the Sync 2.0 only works with platform 2.x and above? Or would it be possible to run it on platform 1.11.x?

Hi, @willa

Yes, Sync 2.0 was done for platform 2.x and above. I don’t think there is a possibility to run it on earlier platforms. We’ll appreciate any input about your impressions of implementing the new version of Sync.

Regards, Tomasz


Latest OpenMRS Sync Review will be tomorrow(Friday, 9.02.2018) 4pm CET (3pm UTC) at

@raff, @darius, anyone willing to join?

Regards, Tomasz

I will try to join, but generally it helps to add the event to the OpenMRS calendar, so that people (like me!) see this on their calendar even when behind in reading Talk. :slight_smile:


@tmueller in the past, for the sync2 project, a new talk post used to be sent with a doodle poll for people’s availability. Then an announcement was sent out informing everyone about the selected date. This event was then added to the OpenMRS calendar. And finally, at round 15 minutes to the call, another reminder was sent on talk, just in case.

Did the above process change? :smile:


We are taking into consideration implementing also support for OpenMRS 1.X

who of 1.X version users would be interested in implementing Sync 2.0 ?

@ningosi, @willa, @mseaton, @ssmusoke, anyone?

Regards, Tomasz


Hello @tmueller sorry I didn’t see this sooner. Yes, we at FGH Mozambique are interested in implementing Sync 2.0 and we are huge! So it is worth the effort.

Thank you.