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?