Multitenancy & OpenMRS@Scale

Aka: Managing Multiple Implementations; Multi-Site-Management

Vision & Problem Statements

  • A suite of tools that makes deploying and managing OpenMRS at scale, centrally, more efficient, easier, and agnostic across different types of hosting.

  • Know what the problems are before someone calls. This will allow organizations to be more pro-active in their management and support of their EMR Networks.

  • Our Hypothesis: Central Management and Monitoring Tools would address the majority of reasons implementers are asking for multitenancy and clustering.

High-Level Requirements

Set of tools you’d deploy alongside your OMRS app to help you do all necessary management at scale: monitoring, your servers, network clusters, cloud deployment, and on-prem, all in one space, to see last time they connected to a data repository; the version of OMRS they’re running; access streaming logs (if you’ve got a server that is in a hospital somewhere having issues, you can go into your dashboard to look at what’s going on, you don’t have to remote-in to the server). Able to set properties in the configure-er to easily attach a OpenMRS instance to central monitoring. Connect to a centralized backup solution. Have a pathway for a secondary data-use pipeline that’s standards-based, that could connect to an O3 refapp, that could connect to an EMR data repository; then have tooling from there to help with flattening and real-time dashboarding. Centralized identity management across sites.

Real-World Inspiration

  • @Casey Iiams-Hauser to add screenshots from monitoring suites / InstantHIE-supported approach that’s proven very helpful

  • @Herbert Yiga has been working on the monitoring end, with streaming Loki logs as well.

  • @CLIFF GITA has also been working on monitoring, should be able to share some good examples of what DIGI has been doing.

  • @Ian Bacher will be looking at OMRS deployment, so we will be considering how to package this tool set with OMRS for easy deployment.




Potential Tech stack

  • Containerized deployment: Docker swarm / Kubernetes

  • Centralized dashboarding with real time monitoring

  • Backup documentation / High availability failover

  • Secondary data use pipelines guidance

    • OHS pipelines

    • Superset/powerbi example dashboard.

  • Centalized management of software updates.

  • Single sign on hooks: Oauth2

  • Centralized Audit trail, abuse detection?