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 showing Value of QIH and QIH columns

Non Movement Report for Main Pharmacy: the last two columns, Value of QIH and QIH, now show current stock per item.

(Issue #23506)

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(), and fillDepartmentNonmovingStocks() 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). PharmacyPre is deliberately excluded because direct retail sale creates both a PharmacyPre PreBill and a PharmacySale BilledBill 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 by abs(...) of the aggregate rather than the raw signed sum.
  • Report labels clarified: the Consumption (formerly Disposal) bill type shows as "Consumption" in this report; PharmacyIssue shows as "Pharmacy Direct Issue" (to distinguish it from Transfer Issue, whose default label collides with it).

(Issue #14863, PR #22105)

Related Reports

Back