Types of Workflows in OpenMRS 3

I am increasingly hearing that folks want to “improve workflows” in O3. However it seems everyone has something slightly different in mind with the word “workflows”!

I’ve started this visual graphic PPT slide to help us lay out the requirements and their categories - please have a look and feel free to add comments or edits there or here in this thread :slight_smile:

:point_right: Source File here: Workflows in O3: Types and Needs - Google Slides

My goal is to use this visual to help us align on our wording, and our priorities for the O3 Product. Here’s how I see it, from granular to bigger level:

  • Patient-Level: Workflows specific to the individual patient
    • EMR: In a Form
    • EMR: In the Patient Chart
  • Facility-Level: Workflows that impact multiple patients / the department / the facility
    • In the EMR
    • Horizontal Systems (eg from EMR ↔ LIS ↔ ERP ↔ PACS ↔ Analytics Tools etc)
  • Country/Region-Level:
    • Between EMR and National Registries (eg Client Registry, Facilities Registry, Provider Registry, Terminology Registry, etc)
    • Between EMR and Central Data Store (NDR/SHR/HIE)

So, a few examples:

Scenario Where it Happens Category
Recommend a form if X, Y are true (e.g. if “Female” and “Pregnant”: ANC forms show in Recommended tab of Forms widget) In Forms / Form UI Patient-Level: Forms
Careplan Workflows & Tasks (eg based on Pregnancy Due Date, the following things should happen in X timeframe; eg if Baby meets X criteria, Discharge) In Patient Chart Patient-Level: Chart
Queues & Departments flows - send pts from this place to that place In EMR outside of Patient Chart Facility-Level: In EMR
Clinician writing a Drug Order sees warning that drug is low-stock Integration btwn EMR & ERP Facility-Level: Horizontal Systems
Clerk needs to search the National Patient Registry, so the patient’s existing demographics can be auto-populated, by typing the patient’s National ID and having the system auto-search the National MPI/CRVS, without leaving the EMR Registration page In EMR but integration is Country-Level Country-Level

What do you think?

Does this categorization make sense to folks?

If so - where do you see the biggest need for the O3 RefApp to focus on?

CC @gsluthra @aojwang @michaelbontyes @burke @jteich @jdick @slubwama @wamz @mwaririm @mksrom @fanderson & others


This is really useful Grace, thanks.

‘Workflows’ is something I’m hearing a lot, mainly in reference to how an end user interacts with the system during a patient visit.

This sometimes is referring more to the ‘user flow’ - e.g. search / chart / form but increasingly about completing a number of tasks, such as consultation data entry, ordering, referrals etc in a simplified UX.

I’m on the road now but happy to contribute some thoughts to your Doc when I’m back at my desk.


@grace this makes sense. As @pauladams says the workflows are targeted at the end user with the aim of making sure that the required records and variables are filled in in a manner that a novice user can easily figure out what needs to be done. it will be a combination of UX, Prompts, notifications, Queues and integrated workflows.


Hi @grace

This categorisation makes sense. I think this refers to “context” of the “system” in question – and like you also said, it is about granularity too.

Some possible contexts for conversation can be:

  1. Patient
  2. Facility (further divided into clinic, hospital, multi-department hospital, etc)
  3. Programs (like Diabetes Programs, TB, etc within a facility across time)
  4. Outreach Programs / Community (where community workers travel to outreach clinics or for home-to-home visits)
  5. Regional / Network of hospitals (interconnected, share master data, possibly hierarchichal)
  6. Country (huge number, not necessarily interconnected, share some registries like facility registries, hetrogeneous, etc).
  7. IPD/OPD context (a completely different axis from size ones above)

Defining the context of the conversation is important while discussing a requirement. For instance OCL makes a lot of sense when spoken in the context of Network hospitals, or Country deployments, etc.

On the other hand, the word workflow is typically used to indicate a step-by-step / flowchart like movement of an artifact/patient/etc – driven by a human/org defined process. For instance, an admission workflow, program workflows, etc. Typically workflows have some steps/stages, some approvals, some conditions to proceed/not proceed, some states (done/in-progress/abandoned/etc).

Some people use the term OPD workflow and IPD workflow, indicating the flow of process/work through a department or type-of-care-service. For instance: we need to improve the OPD workflow, or the Admission workflow. In this sense, again, I think it is fine to use such statements, but whenever I hear OPD workflow, I usually think in OPD context.

As an EMR, focus will need to be first on Contexts like Patient, Programs, OPD/IPD, Pharmacy, etc within a facility. Once that is real world ready (as a minimal lovable product), next step would be to look at multi-departments/multi-facility for handovers/queues/referrals/etc, and then for regional. But its not really necessary to take this approach. One can also slice through all these contexts, if the first set of target adopters need say: 60% Patient, 20% Multi-facility, 20% country features. That is fine. It should work end-to-end for target adopters use-cases, and then “enhanced” use-case by use-case for next set of adopters.

1 Like