Stock/Commodity Management
Frontend esm: (to be moved to OMRS Repo) https://github.com/METS-Programme/esm-ugandaemr-stock-management
Backend repo: (to be moved to OMRS Repo): https://github.com/METS-Programme/openmrs-module-ugandaemr-commodity
Actors:
Storekeeper
Receiver, approve, and Issue commodities
Clinician Aware of stock levels for medications and prescribes medication to the patient.
Dispensing (Dispenser)
Order and receive stock from the main store.
Aware of stock levels and dispense prescribed medication to the patient.
Monitor stock levels
Finance Officers
Budgeting for stock, tracking expenditures related to stock, and ensuring that financial records align with stock levels and procurement activities.
Locations
Main Store
Dispensing Units: Pharmacy, Department Stores, Lab, Administration
User Stories
Storekeeper
Should be able to enter quantities of initial stock take in Main stores
Should be able to receive items from external sources into the Main store
Item details: (Details can change)
Item Name
Unit of Measure
Quantity
Date of Receipt
Date of Manufacture
Date of Expiry
Batch Number
Item Source
Should be able to update quantities of stock
Should be able to set stock levels (min-max)
Should be able to confirm/approve/reject requisitions
Should be able to issue Items from the store to the dispensing units
Dispenser ****(user at dispensing units)
Should be able to monitor stock levels
Should be able to set Reorder Levels
Should be able to raise requisitions
Should be able to send requisition for approval
Should be able to receive stock items from the main store
Should be able to dispense to patient / users in case of specific departments
Reports for Stock management
User should be able to view beginning balances for all stock items
User should be able to view quantity received for all stock items
User should be able to view quantity dispensed for all stock items
User should be able to view remaining balances for all stock items
User should be able to view average consumption for all stock items
Users should be able to view expiry details
Excluded Features:
All procurement functionalities: Examples: Purchase orders (Facility orders from suppliers
What is the trigger and/or threshold for the SWITCH to ERP? Issues of Procurement, Quotations processing, Supplier Invoicing, disposals e.t.c which come out of the box from the ERP.
Use Case: Both for Commodities and Drugs
Scenario 1 - Low-level facility
External commodities are received and verified by the main store, these are updated in the stock items
The dispensing points make requisitions to replenish their holding stock
Requisitions are approved or declined at the main store
Clinicians make prescriptions for patients
Dispensers fulfil the prescriptions to the patients.
In case the commodities were out of stock or not provided on a payment plan, they referred out with a signed prescription.
Scenario 2 - High-level facility
External commodities (drugs and non-drugs) are received and verified by the main store, these are updated in the stock items
The dispensing points make requisitions to replenish their holding stock
Requisitions are approved or declined at the main store
Clinicians make prescriptions for patients
Dispensers fulfil the prescriptions to the clients .
Incase the commodities were out of stock or not provided on payment plan, they referred out with a signed prescription.
Billing is done when dispensing to the patient
The integration of the ERP is then invoked to handle further needed functionality like accounting, procurement lines, billing etc
Recommendation: Light Weight Stock Management System in the Short-term
Add the UgandaEMR/KenyaEMR Stock management module to the RefApp and make the country specific components configurable. (See Squad progress here)
Long-term recommendation: Interfacing with other Stock Management Systems/ERPs
For the middle layer, we recommend use of a FHIR module which shall act as an intermediary between openMRS frontend and whatever stock management system will be chosen. The mind is to allow openMRS to be able to interface with different Stock Management Systems (ERPs) and whatever data mapping and conversion is needed is handled by the middle layer.
For the frontend, we intend to capitalize on the same technology used to build openMRS modules. The idea is to add a Stock Management ESM to the RefApp. That way the UI design won’t differ from what is already existent. The ESM will then communicate with the middle layer to receive and post data