OpenMRS Architecture

Continuing the discussion from Open MRS highlevel architecture:

@grace I am linking the Updated architecture

I just had some feedback which I thought would make sense to have multiple views of the architecture rather than one (to rule them all)

  1. Technology Architecture - the libraries/technologies used across the database, service, presentation etc

  2. Distribution architecture - platform, refapp & OHRI as the reference distributions this will include modules

  3. One that shows the class relationships - I think we use domain diagram with bounded context BoundedContext (similar to the data model - but shows the nouns)

  4. Integration view - API endpoints, Debezium, analytics, FHIR, MPI, OCL subscriptions etc

  5. Data model(s) for the reference distributions RefApp and OHRI

1 Like

Thank you very much Stephen for setting this up (you beat me to it!) - I actually drew very very heavily from your & others’ feedback in the previous thread to start making the updates in this Google Slide deck.

Here’s the draft visual in it’s current state for folks’ quick review:

I like where you’re going with this idea. I was also thinking during playing with the updated Technology Architecture diagram that it felt very limited.

Any chance you’re able to make it to the TAC call this Monday at 5pm EAT? We’ll be reviewing a diagram that attempts to explain the 3.0 architecture, and I’m wondering if there might be heavy overlap between this diagram and what you might have in mind here. If you can’t make it, no problem; I’ve also made these short 2 videos to try and communicate the ideas; LMK what you think:

  1. Walkthrough video of the diagram (5 min): Loom | Free Screen & Video Recording Software
  2. More information/examples about the key building blocks in the diagram (4min): Loom | Free Screen & Video Recording Software

@ssmusoke would you be interested in kicking off the work for either of these, even just a rough sketch/draft? Feel free to use the same Google slides linked above, I’ve made sure you have edit access.