Pharmacy Slow Fast Non Movement Report - hmislk/hmis GitHub Wiki
Slow / Fast / Non Movement Report
Path: Pharmacy → Reports → Disbursement/Stock Reports → Slow/Fast/None Movement Report
Overview
Ranks pharmacy items by stock movement (quantity or cost value) over a selected period and institution/department scope:
- Fast Movement — highest-moving items first
- Slow Movement — lowest-moving items first
- Non Movement — items with zero movement in the period
A Bill Type filter narrows the report to specific transaction types; leaving it empty is intended to mean "All".
QIH Columns (September 2026)
The Non Movement table was missing the Value of QIH and QIH (Quantity In Hand) columns that the Fast and Slow Movement tables already showed — so there was no way to see current stock for a non-moving item from this report. Both columns (and their Excel/PDF exports) now compute the same way as the other two report types, department-aware when a specific department is selected:

Non Movement Report for Main Pharmacy: the last two columns, Value of QIH and QIH, now show current stock per item.
Recent Fixes (July 2026)
- Bill Type filter now actually implements "All" when left empty. Previously an empty bill-type selection produced an empty
IN (...)clause internally (so the header said "All" but the query effectively matched nothing / behaved inconsistently).fillMoving(),fillMovingQty(), andfillDepartmentNonmovingStocks()now resolve an empty selection to the full bill-type list. - Bill Type dropdown expanded to offer Pharmacy Sale Bill, Pharmacy Wholesale, Pharmacy BHT Issue (Pre), Pharmacy Direct Issue, Pharmacy Transfer Issue, and Consumption (the renamed Disposal type — see Disposal).
PharmacyPreis deliberately excluded because direct retail sale creates both aPharmacyPrePreBill and aPharmacySaleBilledBill for the same items; including both would double-count. - Sort order corrected. Fast Movement now sorts descending (top movers first) and Slow Movement ascending — they were previously swapped. Because stock-out quantities are stored as negative numbers while the report displays
abs(SUM(...)), the fix orders byabs(...)of the aggregate rather than the raw signed sum. - Report labels clarified: the Consumption (formerly Disposal) bill type shows as "Consumption" in this report;
PharmacyIssueshows as "Pharmacy Direct Issue" (to distinguish it from Transfer Issue, whose default label collides with it).
Related Reports
- Pharmacy Analytics — full report index
- Cost of Goods Sold Report