OMRS Architecture Diagram: Outdated? What should we change?

Hi Folks, I’m seeing this handy little diagram popping up in places (original source is our Dev Guide gitbook). It’s a helpful summary, but I don’t think it’s a current representation of some of the tech we’d want to emphasize. I know there is the Tech Radar too, but that has a different goal in mind. I like that this little image gives you a rapid onboarding to our main tech building blocks.

Suggestions off the top of my head:

  • Do we want to represent FHIR at the DB level?
  • Do we want to remove AngularJS at the top and instead highlight ReactJS?
  • We should probably remove the duplicated “Registration” under modules and instead have something like "And more at Addons.Openmrs.org

CC @burke @dkayiwa @ibacher @mseaton @jdick @ssmusoke & feel free to CC others as well

1 Like

@grace Some thoughts

  1. Maybe replace Angular, with Javascript (Angular/React/OtherJS)

  2. FHIR is best at the service level where it is because the data model will not always be FHIR compliant so it is more of a translation

  3. Modules would probably change to something more business like - Patient Registration, Clinical Care Workflows, Dashboards, Reporting, Data Exchange etc

  4. No need for Addons since that will also change over time

3 Likes

Thanks so much @ssmusoke, I think this all makes sense, with one clarification:

What do you mean? I definitely hope that one day we will have a beautiful marketplace of apps, modules, widgets, vendors, and human resources that implementers can tap into, probably a 3rd party app, but that’s not likely to happen in the next quarter. What did you have in mind?

i would say we dont represent it at the DB level because FHIR at the lower DOA level uses hibernate coupled with the Criteria API to generate sql queries that fetch and manipulate data from tables in the DB

1 Like

In addition to all the above,

  1. Liquibase could appear somewhere on that diagram.
  2. Same with ReactJS/TypeScript.
  3. In addition to MySQL, we also added support for PostgreSQL.
  4. By then, those were server side modules. Now that we are also introducing client side modules, i would love to see that too.
1 Like

@grace The marketplace is outside this architectural diagram IMO which looks at what is running on a server

IT can however be added externally with other services like BinTray, NPM (client side modules), OCL, Google/Cloud based Analytics services

1 Like