Skip to content

Inventory and Stock Management Overview

Dr M H B Ariyaratne edited this page May 22, 2026 · 1 revision

Inventory and Stock Management Overview

Introduction

HMIS provides comprehensive inventory management for pharmaceutical and non-pharmaceutical items across the hospital. Inventory tracking is built into both the Pharmacy and Stores modules, with a shared underlying data model.


Stock Tracking Model

Each item in stock is tracked by:

  • Department — which store or pharmacy holds the stock
  • Item — what the item is (linked to the item master)
  • Batch — the batch/lot number from the supplier
  • Expiry Date — for perishable items and drugs
  • Quantity — current quantity on hand
  • Cost Rate — purchase cost per unit (used for valuation)

Key Entities

Entity Purpose
Stock Current inventory balance per item per department
StockHistory Full transaction history of every stock movement
ItemBatch Batch-level detail including expiry dates

Stock Movements

Every stock transaction creates a StockHistory record. Common movements include:

Transaction Direction
GRN / Direct Purchase In (+)
GRN Return / Purchase Return Out (−)
Stock Issue (Unit/BHT) Out (−)
Issue Return In (+)
Transfer Issue Out (−) from source
Transfer Receive In (+) to destination
Stock Adjustment (increase) In (+)
Stock Adjustment (decrease) Out (−)
Dispensing (Pharmacy) Out (−)

Batch Management and FEFO

The system tracks batch numbers and expiry dates for all items that require them. During issuance and dispensing, items are consumed using FEFO (First Expiry, First Out) — the batch expiring soonest is used first.

For detailed pharmacy batch management, see Pharmacy Batch Management and Expiry Tracking.


Reorder Level Management

Items can be configured with minimum and maximum stock levels. The system can highlight items below reorder level to prompt procurement action.

Under Development: Automated replenishment triggers and purchase order auto-generation from reorder alerts are planned features.

See also: Issue #19122 — Enable listing of items below reorder level during PO creation.


Physical Stock Count (Pharmacy)

The Pharmacy module supports a structured stock-take process:

  1. Generate a stock count sheet
  2. Record physical counts
  3. System compares against recorded stock
  4. Discrepancies are recorded as adjustments

For stores, manual adjustments serve the same purpose (see Stores — Stock Adjustments).


Expiry Date Tracking

Near-expiry alerts and expiry reports are available in both pharmacy and stores:

  • Pharmacy: Near-expiry items are flagged during dispensing and in stock reports
  • Stores: Expiry dates are recorded at GRN; adjustment page should also capture expiry (Issue #5600 — pending)

Consumables and Implant Traceability

Items issued to patients via BHT Issue are linked to the patient's encounter record, enabling:

  • Per-patient consumable cost tracking
  • Implant traceability (for surgical items issued to a specific patient)
  • Integration with inpatient billing

Note: Full implant traceability (device unique identification linked to patient record) is available through BHT issue linking, but a dedicated implant registry feature is under development.


Stock Reports

Both Pharmacy and Stores provide a range of stock reports:

Report Module Description
Department Stock Both Current stock by department
Stock by Batch Both Stock breakdown by batch/expiry
Near-Expiry Items Both Items expiring within a configurable window
Stock Movement Both All transactions for a period
Bin Card Both Item-level ledger showing all in/out movements
Stock Valuation Both Stock value by cost rate

Navigation: Pharmacy → Reports → Stock Reports
Navigation: Stores → Reports → (select report)


Related Articles

Clone this wiki locally