ERPNext-OpenMRS Flows
Flows Overview
sequenceDiagram
participant OpenMRS
participant Ozone
participant ERPNext
OpenMRS->>Ozone: Patients
Ozone->>ERPNext: Customers
OpenMRS->>Ozone: Visits
OpenMRS->>Ozone: Drug orders
OpenMRS->>Ozone: Lab test orders
Ozone->>ERPNext: Quotations
Ozone->>ERPNext: Quotation items
Flows List
Source | Element | Target | Element | |
---|---|---|---|---|
OpenMRS | Patient | → | ERPNext | Customer |
OpenMRS | Visit | → | ERPNext | Quotation |
OpenMRS | Billable item | ⭆ | ERPNext | Quotation |
OpenMRS | Billable item | → | ERPNext | Quotation item |
What are the OpenMRS billable items?
The supported billable items are:
- OpenMRS drug orders
- OpenMRS lab test orders
Flows Details
1 OpenMRS Patient → ERPNext Customer
A patient in OpenMRS is synchronized as a corresponding customer in ERPNext.
flowchart LR
a["OpenMRS patient"]-- 1-to-1 -->b["ERPNext customer"]
Options
default option An OpenMRS patient is synchronised as an ERPNext customer when the first billable item is ordered from OpenMRS.
option 1 An OpenMRS patient is always synchronised as an ERPNext customer.
2 OpenMRS Visit → ERPNext Quotation
A new draft ERPNext quotation is linked with an OpenMRS patient's visit as soon as the first billable item is ordered during that visit.
Eventually, ending a patient's visit in OpenMRS submits the draft ERPNext quotation linked with this visit.
flowchart LR
a["OpenMRS visit"]-- 1-to-1 -->b["ERPNext quotation"]
3 OpenMRS Billable Items ⭆ ERPNext Quotation
As soon as the first billable item is ordered for a patient in OpenMRS a draft quotation is created in ERPNext for the ERPNext customer corresponding to that patient, furthermore the quotation is linked with the OpenMRS patient's visit.
All billable items ordered for a patient within the same OpenMRS visit are added to the draft ERPNext quotation linked with this OpenMRS visit.
flowchart LR
a["OpenMRS billable items"]-- many-to-1 -->b["ERPNext quotation"]
4 OpenMRS Billable Item → ERPNext Quotation Item
Each billable item ordered in OpenMRS during a patient's visit is synchronized in ERPNext as a quotation item in the corresponding customer's draft quotation that is linked with the OpenMRS patient's visit.
When a drug or lab test order is discontinued for a patient in OpenMRS, the corresponding quotation item is removed from the related ERPNext quotation.
If all quotation items are removed from a quotation, the quotation is marked as cancelled.
flowchart LR
a["OpenMRS billable item"]-- 1-to-1 -->b["ERPNext quotation item"]