2020-09-03: OpenMRS + Bahmni PLIR Architectural Design Session

@mksd out of nowhere :smile:. So isn’t dbsync the component which listens to mysql bin to retrive events ?. Or it is not and camel can be configured directly listen to events ?. I am asking because I am not familliar with any :smiley:

@ayesh you better take time and read the readme: https://github.com/openmrs/openmrs-eip


@dkayiwa sure thanks

@ayesh all Camel routes feed off the main Debezium one, whether it is for pure OpenMRS syncing or for integration purposes.

As @dkayiwa suggested, please try to go through the READMEs. They are in a still imperfect state but there is a lot of info in there anyway :wink:


thanks alot @mksd

Hey everyone! I set up a poll to help us identify a good date/time for the Design Forum that @mozzy suggests. Please take the poll by Monday morning so that I can make a general announcement in a timely manner.

Here is the recording from Monday’s Design Forum: 2020-09-24 PLIR Architectural Design Forum.


Thanks for sharing this @jennifer. Is there a copy of the slide deck that @mozzy shared for further reference?

oh sure , you can find it here


FYI , form the design sessions , we are replacing the OpenMRS eip component with the Analytics engine .Both components depend on Apache Camel and an embeded Dbezium engine .see wiki .


@mozzy does the eip component serve the same purpose as the analytics engine?

The component of the analytics engine that we’re using (which is just the “export data from OpenMRS” component) works for what we would’ve used the eip component for here.

@dkayiwa , ideally both components can extract and export data(FHIR) from OpenMRS to an external system .

However ,the primarly function of the eip component is focused on two way Syncing between two Systems (OpenMRS and an external System) ,

but the primary function of the analytics engine is to export data to an external system . This is implemented Both in the Streaming and Batch mode , and using several approaches like using the Atomfeed and Dbezium .

Basically it has more Functions and features foccused on Data export than the eip component .

so i would say as far as merely data Export is concerned , the analytics engine is a preference

sounds better @mozzy

So is the PLIR work going to be closely dependent on the work and progress of the analytics work,? since the analytics engine is going to extract the data basing on the openmrs db events read from the mysql bin log and export the FHIR resources through camel routes to the Interoperability Layer

sure @gcliff . thats more like it .

@gcliff and @mozzy, we’ve had a few discussions about the intersecting work on PLIR, the Analytics Engine, FHIR, and even OCL for OpenMRS. The conclusion was that this work is closely related to the work that the Analytics Engine squad is doing but not necessarily dependent on it moving forward.


@mozzy this is not syncing, this is integration. There is no reason that openmrs-eip could not be used to achieve your PLIR integration. I haven’t followed the details but from where I stand this looks like unnecessary duplication of efforts.

It would be more helpful to throw us uses cases that can’t be covered by openmrs-eip so that we can make them possible.

1 Like

Yes, especially if we’re integrating Camel in to the analytics pipeline, I’m getting lost on why these are separate…


Totally. When one says “OpenMRS + Camel” one should say (and use) “openmrs-eip”.


@mksd your perfectly right.

we discussed this some time back in the Analytics Engine Squad, And the idea was ,both the eip and analytics engine are still work in Progress , especially the analytics engine , but ideally we shall consider depending on the eip component especially for “OpenMRS + Camel” ,

sorry for the late reply

1 Like