Stock Management Module: Stock Operations

The KenyaEMR team had a Stock/Commodity Management Module meeting focused on two main areas: prescriptions and stock operations. For prescriptions, our users emphasized the need for auto-calculation of quantities, especially for ARVs. These request enhancements aim to streamline the dispensing process while maintaining prescription integrity.

Regarding stock operations, the discussion highlighted the need for a more efficient and traceable drug movement system, from the main store to dispensing areas, with clear documentation using S11 forms. A proposal was made to differentiate between pharmacy and dispensing area stocks, and to simplify operational workflows. Adjustments in stock require justification, categorized as positive (e.g., recalls, returns) or negative (e.g., theft, improper handling). Losses and stock take also require specific reasons. Additionally, during prescribing, drugs with available stock should be prioritized in the system interface to improve efficiency and reduce errors.

Terminology Definition :speech_balloon:

Loss is a consequence, while disposal is an action taken to address that consequence or other inventory management needs.

Key Requests :key:

  • Align reasons for Loss, -Ve, +Ve and Stock take separately
  • Enhance the system to provide a Loss as an operation – The current use of disposal makes a lot of assumptions that could lead to misinformation when creating reports.

Suggested Reasons to be added

Reasons for Adjustments: :white_check_mark:

+Ve

• Re-Call on products

• Stock rationalization within the various dispensing points

• Errors in previous stock take

• Receiving Errors

• Return from patient

• Return from store/dispensing areas

• Others (specify)

-Ve

• Short expiry product redistribution

• Medication stolen

• Medication given to other facilities

• Improper handling

• Dispensed without recording

• Others (specify)

Reasons for Loss :white_check_mark:

• Product expired

• Damages/Breakages

• Others (specify)

Reasons for Stock Take :white_check_mark:

• Stock rationalization within the various dispensing points

• Errors in previous stock take

• Others (specify)

2 Likes

Negative adjustment and positive adjustment are distinct operations, and collapsing them into one will pose a huge challenge to the users.

Similarly, loss and disposal are distinct operations. Disposal happens at the store only and is not applicable to other locations. Therefore, there’s a need to introduce an operation ‘Loss,’ which will allow other locations (apart from Store) to document and report on loss.

2 Likes

I’m SO glad you and the Stock Management squad are working on this :star_struck: Better inventory/stock management is a key thing we need to improve on and add to the mainline OpenMRS EMR. Asante sana!!!

Thank you for the great notes, @ckote :clap: - very appreciated. And awesome to see you here @kmuiruri :heart_eyes:

I have 2 questions/points:

  • Maybe a silly question that should be obvious: Can you say more about “differentiate between pharmacy and dispensing area stocks”? Are these typically two different physical areas in a building? Do you mean sometimes sites have a dispensing office that’s smaller, meanwhile there’s a separate, bigger general pharmacy behind-the-scenes?

  • Just a general thing; re. Form 11 - I’d encourage the squad to try and design things as if you were going to roll the system out in multiple countries. So try and makes things like that configurable (e.g. driven by a config pointing to a form built with the Form Builder). That way both Palladium and other orgs will be able to re-use your work even if their own country has a different Form etc. :slight_smile:

Hi @grace so we have facilities that are huge and have a Pharmacy (Holding Stores) and have dispensing areas/pharmacy dispensing points across the OPD and IPD which also again request and hold drugs. There was a request to consider having this workflow taken care of for visibility. On S11 form I agree, this will be configurable but mainly its a request form for drugs and the current workflow should suffice once the above mentioned workflows are done.

1 Like

Thanks so much Kote for this explanation. In this case, this completely makes sense to me - this “Big Pharmacy/Storage centre” as a hub, with multiple dispensing spots/locations around a big hospital.

My guess @ckote is that the way to handle this simply, for now, would be to develop a location tag that you could add to the Location metdata config to indicate whether a location is a dispensing site. But I haven’t thought enough about this. Maybe @fanderson and @mogoodrich have - since I wonder if this will be a requirement at the Maternal Center of Excellence in Sierra Leone as well?

Spoke to Fiona today - they definitely have this use case already, of “Pharmacy Warehouse” vs “Smaller Dispensing Offices”.

Sometimes the big pharmacy warehouse is even at a different site like a bigger facility but then it sends supplies off site.

At their big MCH program in Sierra Leone, they actually already have 3 layers:

  • Pharmacy Warehouse - at hospital. Doesn’t dispense to patients; patients probably don’t know it exists. This is the main receiver of stock (meds, consumables). This is then distributed to the Pharmacies/Dispensing officers. @ckote do the Big Pharmacies you’re thinking of distribute drugs directly to patients, or only to Dispensing offices?
  • Hospital Dispensing Offices - throughout big hospital; receive stock from Warehouse
  • Off-site Dispensing offices in the community that the big warehouse also sends stock to.

In this case, it sounds like the big pharmacy warehouse location just needs ERP/Stock Management, not dispensing directly to patients, so no need for EMR access. Unless others see the Big Pharmacy doing both!

Hi @grace as it stands, the Pharmacy warehouse doesn’t dispense to a patient at all.

1 Like

@drjaqobo you can check this

Excellent work capturing these requirements from the KenyaEMR team. We hope the Stock Management Module receives the same TLC the community is currently giving the Billing Module as we work to stabilize it for O3 integration.

@slubwama and epCare team, your production experience would be invaluable here. We’d really appreciate hearing about the pain points users have faced and thoughts on what enhancements or redesigns would help refine the module.

Please let me know if there are any changes to concepts required by this endeavor. Check out some of these currently available: https://app.openconceptlab.org/#/orgs/CIEL/sources/CIEL/concepts/?q=stock&isTable=true&isList=false&page=1&facets={“conceptClass”:{“Question”:true},“datatype”:{“Coded”:true}}