Global Product Support Team Activities

(Full Community Roadmap here)

In addition to: 

  • Frontend PRs: Dennis, Jayasanka, Ian
  • Core, Platform PRs: Daniel, Ian, Raff
Problem/Team NameFeature Complete Outpatient O3

Managing Multiple Implementations at Scale

Performance at Scale

Problems To Solve
Make installing as easy as possible, without a dev team to deploy. Need something simpler than docker for non-tech deployers. 

All OMRS FHIR resources are compliant with the IPS. However there are some things the IPS asks for that we don't yet have a story for:

  • 'medicationStatements' (pt-supplied med list). Need non-ordered Meds represented in our system. 
  • 'Procedures' - needs OMRS support (could be a clearly labelled concept set)
  • Task resource - need to redesign how FHIR module implements tasks
  • DiagnosticReports modelling
  • Programs - eg episodeOfCare request from UgEMR - supposed to track pt across multiple encounters. Currently being used in contradicting ways. 

Implementations need to be more involved in how we model things with FHIR↔OMRS data model because current FHIR modelling lead isn't directly involved in Implementations - e.g.: Diagnostic Reports: Supposed to be FHIR representation of a doc from the lab. We've gone back and forth on how that's implemented, eg as way of implementing obs groups → means diagnostic reports have become their own separate table which no one seems to be using. 

Frontend Team milestones
Review of the calls we're making and how we can make those much more efficient. 
QA Team milestones

Backend Team milestones
Enhance REST API Performance (Fewer API calls needed): Instead of 40 requests from FE, want 1 request that carries multiple things. We have multiple APIs that can do that but need to be extended or refactored for higher quality. Eg: Encounter info bundling. Eg: Order basket: searching for a drug creates >40 requests instantly - won't function well under poor wifi. 

(tick) Done

Recent Work Completed

(plus) Now

What We're Working on Today

(lightbulb) Next

Next Priorities*

Preliminary Security Scan

Scanning OpenMRS 3 RefApp w BurpSuite


O3 Performance Spike (esm-core v5)

Improvements to setup-OpenMRS, caching, FHIR query efficiency. Includes big release of esm-core v5 with breaking changes, and helping implementers migrate to this updated version of the O3 framework. 

Next: Service Worker, Caching mechanisms


O3 Docs improvements


Quality Gate #1: Smoke E2E tests run against O3 PRs

Focus is on chromium browsers


Increasing OCL Features & Deprecated Dictionary Manager


2.6 Platform Release & Community Release Support

DANIEL   Thank you Herman!

2.13 RefApp Release & Community Release Support

DANIEL   Thank you Juliet!

CI Pipeline updates for auto-dockerization

All major builds in CI Pipeline now use Docker


Docker Images for Platform, RefApp 2.x, RefApp 3.x/O3

Auto-generated via CI pipeline


Support to Run OpenMRS on Mac M1 & M2 Chips

(For Platform, Core, RefApp 2.x, RefApp O3) Current in Nightly Images


Community SSO & Auth Replacement

Updating to Jira/Wiki Cloud is blocked by this. Experimenting with KeyCloak and LDAP options. (Demo on TAC Aug 17) Goal: transition to Atlassian Cloud by Sept. Current blocker: sending SAML NameID


O3 Form Builder Improvements


Faster O3 Auto-Setup on Local

Improvements to SDK to automate rapid setup of O3 on dev machines


Patient Flags Module Performance & O3 readiness


Quality Gate #2: Detailed E2E tests run against O3 build in CI

via playwright Docker Container. Coverage of esm-pt-management and form-builder ongoing. Currently running only on GHA, next to add to Bamboo.


Helping an Implementer use our E2E test tactics

ICAP-Ethiopia working with Anjula on implementing. Was blocked for a few weeks during their system migration. Trying to write at least unit and integration tests before end of fellowship. Risk mitigation done: Relevant infra is set up on their repo + docs ready.

KenyaEMR very interested. Reviewed code. To f/u with their devs for form testing (which are currently tested manually). 


Dockerized OpenMRS - Easier to Deploy, No more Dependency-Hell

Updated dependencies on infra that is used to run on containers - makes straightforward to set up OpenMRS. Will reduce production implementation problems where the root cause was just a dependency on a different version # of Java, Maven, etc. 

Done: Cut CI Build time from 30 mins to 15 mins (smile) Dependency caching done so local instances should be faster too. Fine-tune hibernate config and other things in OMRS run-time-properties. Info about how to use the prefix to do this: ___(docs to come; mostly in core README)___ Next: Releases of OMRS Core & Platform maintenance versions that can be used in O3 & O2 RefApp releases.


All Releases to use Docker

All major releases should auto-use Docker


Migrate CI Plans (Deployment Recipes) into GitHub for easier Implementer re-use

  No longer a black-box re. how to set up a CI pipeline when using OpenMRS software. Need to document how to do this so volunteers can help with integrating. 


Get CQL Engine to run several CDS Rules + Indicators


ANC / MCH Decision Support User Research & Designs


Platform and backend module Community Support


Bahmni PAT

Attending and representing wider OMRS cmty


O3 Priority Bug Fixes


XStream Security Issue


Security Scan Backlog Triage


Additional O3 Performance Improvements

Next: Service Worker, Caching mechanisms


Update O3 RefApp Distro with maintenance improved Core


DX: Reduce Rebuild Times (20mins → ~2 min!)

Ability to leverage Springboot by replacing the dynamic class/module loader with one that works at build time. 


YouTube Docker-compose Tutorials

How to do development with docker-compose (Similar approach helped scale SDK useage)


Get professional security review

Auto-scanning stuff we're pretty good at; need a rigorous review next.