Skip to content

OpenMRS-SENAITE Flows

Flows Overview

    sequenceDiagram
        participant OpenMRS
        participant Ozone
        participant SENAITE
        OpenMRS->>Ozone: Patients
        Ozone->>SENAITE: Clients
        OpenMRS->>Ozone: Lab test orders
        Ozone->>SENAITE: Analysis requests
        SENAITE->>Ozone: Analyses
        Ozone->>OpenMRS: Lab results

Flows List

Source Element Target Element
OpenMRS Patient SENAITE Client
OpenMRS Lab test order SENAITE Analysis request
SENAITE Analyses OpenMRS Lab results bundle

What is an OpenMRS lab results bundle?

Lab results are represented in OpenMRS as observations (obs). A lab results bundle is a set of OpenMRS obs that can be either free-text, numeric or coded data types.

Flows Details

1   OpenMRS Patient → SENAITE Client

A patient in OpenMRS is synchronized as a corresponding client in SENAITE.

flowchart LR
    a["OpenMRS patient"]-- 1-to-1 -->b["SENAITE client"]

2   OpenMRS Lab Test Order → SENAITE Analysis Request

As soon as a lab test is first ordered for a patient in OpenMRS, an analysis request is created in SENAITE for the corresponding client.

flowchart LR
    a["OpenMRS lab test order"]-- many-to-1 -->b["SENAITE analysis request"]

3   SENAITE Analyses ⭆ OpenMRS Lab Results Bundle

When an analysis request's analyses (or lab results) have been submitted, verified and published in SENAITE, the lab results bundle is saved into OpenMRS as an array of obs.

flowchart LR
    a["SENAITE analyses"]-- many-to-1 -->b["OpenMRS lab results bundle"]