Stock/Commodity Management

Actors:

  1. Storekeeper

    Receiver, approve, and Issue commodities

  2. Clinician Aware of stock levels for medications and prescribes medication to the patient.

  3. Dispensing (Dispenser)

    Order and receive stock from the main store.

    Aware of stock levels and dispense prescribed medication to the patient.

    Monitor stock levels

  4. Finance Officers

    Budgeting for stock, tracking expenditures related to stock, and ensuring that financial records align with stock levels and procurement activities.

Locations

  1. Main Store
  2. Dispensing Units: Pharmacy, Department Stores, Lab, Administration


User Stories

Storekeeper

  1. Should be able to enter quantities of initial stock take in Main stores
  2. 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
  3. Should be able to update quantities of stock
  4. Should be able to set stock levels (min-max)
  5. Should be able to confirm/approve/reject requisitions
  6. Should be able to issue Items from the store to the dispensing units

Dispenser ****(user at dispensing units)

  1. Should be able to monitor stock levels
  2. Should be able to set Reorder Levels
  3. Should be able to raise requisitions
  4. Should be able to send requisition for approval
  5. Should be able to receive stock items from the main store
  6. Should be able to dispense to patient / users in case of specific departments

Reports for Stock management

  1. User should be able to view beginning balances for all stock items
  2. User should be able to view quantity received for all stock items
  3. User should be able to view quantity dispensed for all stock items
  4. User should be able to view remaining balances for all stock items
  5. User should be able to view average consumption for all stock items
  6. Users should be able to view expiry details

Excluded Features:

  1. All procurement functionalities: Examples: Purchase orders (Facility orders from suppliers
    1. 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