My Fellowship Journey : Mutesasira Moses

Tags: #<Tag:0x00007f21ca5fe658> #<Tag:0x00007f21ca5fe590>

Am Mutesasira Moses , from Uganda ,Kampala, and i have been actively involved with OpenMRS for three years now.

Am very Excited and happy to join the first OpenMRS felowship 2020/2021 as a fellow mentor in the area of development ,focusing on the PLIR ,FHIR ,Analytics Engine Projects for OpenMRS.

Am glad that i will be working directly with @gcliff as my fellow mentee .

In the first Month (October) of the fellowship ,

  • i focused on participating in design discussions for PLIR ,FHIR and the Analytics engine and came up with an architectural design approach for the PLIR project ,
  • Setting up/modifying the wiki page for the project
  • Getting more familiar with the existing code base for Analytics engine and FHIR projects.

In the second month , we got fellows on board and i have be involved in

  • Contributing to the development of the Analytics engine and Fhir Project
  • Having mentorhip sessions with the fellows @ayesh and @gcliff
  • Attending Mentorship calls with @jennifer
  • Creating and Curating Issues/Tickets for PLIR ,Fhir and Analitics engine
  • Reviewing Prs
  • Working on my Personal Fellowship plan

In My First weeks of the Third Month (December) ,as the OpenMRS fellow Mentor

I Continued to work with the fellows , having mentorship sessions . I als continued to contribute to the development of the Fhir2 Module , Analytics Engine and the PLIR project .

Summarized High Level Overview Of the OpenMRS Analytics Engine

Ive put together a high level design diagram of the OpenMRS analytics Engine Pipeline below to give a summarized overview of how the different component work together


In the above design Diagram , OpenMRS is the data Source . The FHIR2 modules does the work of translating OpenMRS data models into FHIR data for easy Interoperability with external Systems.

Analytics Engine

The Analytics Engine does the work of Extracting data from OpenMRS and Loading it to an external System.The Anaytics Engine Component is basically subdivded into three sub-components (sub-modules)

  • Batch . This extracts Fhir Data from OpenMRS in Bulk in from of Fhir Bundles using Fhir Search and depends on Apache Beam to export it to an external component.THis is meant for Batch/Bulk processing

  • Streaming-Atomfeed. This coponent continuously listens to changes from the OpenMRS atomfeed module, extracts the resource uuid from the feed and fetch the corresponding Fhir resource from OpenMRS .Note that this can only listen to changes made with in the Application .This is meant for Streaming processing.

  • Streaming-Dbezium. This component continuously listens to changes from MySQL bin-log , extract the table uuids from the logs and fetch the coresponding Fhir Resource from MySQL and export it to an external server . This has an advantage over the Streaming-Atomfeed that it can capture changes made directly to the DB outside of the OpenMRS Application . At the heart of this sub-module is Apache Camel and an Embedded Dbezium Engine . This is also meant for Streaming-Processing.

Fhir Data Ware House

After data is extracted and loaded into an external system from Various OpenMRS sources , A Fhir data ware House is formed where Advanced Analytics tools like Elasticsearch , Apache Spark, and Apache Kafkacan be used to perform Big Data Analysis. Several Data ware Houses are supported by the Analytics engine including Google Cloud Platform , Any Generic Fhir Server like Hapi Fhir Server , and Parquet files generation

cc @jennifer @k.joseph @grace


Awesome work @mozzy

1 Like

First weeks of January (Fourth Month) as OpenMRS fellow Mentor ,

i was setting up remote testing instances for the PLIR project , and also looking at how we shall intergrate OpenCR into the PLIR archtecture.

I also continued to contribute to the design and development of the Analytics Engine , and also having sessions with my mentee @gcliff

Next tasks would involve

  • Defining tasks/tickets and also contributing to the development of the OpenHIM mediator for intergration with OpenCR

  • Participating and contributing to the Definition of the Fhir Measure resource for the calculation of TX_PVLS indicator

  • Participating in the design disucsions for the intergration of the CQL engine

cc @jennifer @k.joseph @grace