Pharmacy Configuration and Privileges - hmislk/hmis GitHub Wiki

Pharmacy Configuration and Privileges

This section describes the configuration options and privileges required for managing pharmacy-related pages. It is intended for System Administrators.


Inpatient Medication Management

Direct Issue to BHTs

Page: /inward/pharmacy_bill_issue_bht.xhtml Navigation: Menu ▸ Pharmacy ▸ Inpatient Medication Management ▸ Direct Issue to BHTs

Configuration Options:

  • Display Total Stock when listing medicines for Inpatients
  • Medicine Identification Codes Used
  • Nursing IP Billing – Show Rate and Value
  • Pharmacy Bill Support for Native Printers
  • Pharmacy Inward Direct Issue Bill is FiveFiveCustom3
  • Pharmacy Inward Direct Issue Bill is PosHeaderPaper

Privileges Required:

  • PharmacyDirectIssueToBht
  • NursingIPBillingViewRates

Reprint Inpatient Direct Issues

Page: /inward/pharmacy_reprint_bill_sale_bht.xhtml Navigation: Menu ▸ Pharmacy ▸ Inpatient Medication Management ▸ Search Inpatient Direct Issues by Item ▸ Reprint

Configuration Options:

  • Nursing IP Billing – Show Rate and Value
  • Pharmacy Inward Direct Issue Bill is FiveFiveCustom3
  • Pharmacy Inward Direct Issue Bill is PosHeaderPaper

Privileges Required:

  • InwardCheck / InwardUnCheck
  • ShowInwardFee
  • NursingIPBillingViewRates

Issue Medicines for Ward Requests (BHT Issue Requests)

Pages: /ward/ward_pharmacy_bht_issue_request_list_for_issue.xhtml, /ward/ward_pharmacy_bht_issue.xhtml, /ward/ward_pharmacy_reprint_bht_issue_request.xhtml Navigation: Menu ▸ Pharmacy ▸ Inpatient Medication Management ▸ BHT Issue Requests

Configuration Options:

  • Manage Costing

Privileges Required:

  • PharmacyBhtIssueRequest
  • PharmacyBhtRequestForceComplete (optional — see below)

Behavior:

  • Each request line shows how much remains to be issued (requested quantity minus quantities already issued, net of any cancellations/returns of earlier issues against the same request). Entering a quantity greater than what remains is automatically capped to the remaining amount, with a warning message.
  • When every line on a request has been fully issued, the request is automatically marked both fully issued and completed (with a timestamp and the issuing user recorded), and it no longer appears in the list of requests awaiting issue. There is no manual checkbox for this — it happens automatically as soon as the last item is issued.
  • A pharmacist holding the PharmacyBhtRequestForceComplete privilege can force a request straight to Completed status even when it has only been partially issued. This is done from the request's View Request page (/ward/ward_pharmacy_reprint_bht_issue_request.xhtml, reached via View Pharmacy Requests or BHT Issue Request List) using the "Mark as Complete" button — typically used to let a patient's discharge proceed when the remaining requested items are no longer needed. Users without the privilege see the button disabled (greyed out). Once a request is completed — whether automatically or by force-complete — the button stays disabled and a "Completed" tag appears next to the page title, and no further issuing is allowed against the request.

Disposal

Note: As of July 2026, the main menu item and page labels for this feature show "Consumption" instead of "Disposal", though the underlying feature/URL and privilege names are unchanged.

Issue

Page: /pharmacy/pharmacy_issue.xhtml Navigation: Menu ▸ Pharmacy ▸ Consumption ▸ Issue

Configuration Options:

  • Consumption – Show Rate and Value

Privileges Required:

  • PharmacyDisposalIssue
  • ConsumptionViewRates
  • ChangeReceiptPrintingPaperTypes

Disbursement

Request

Page: /pharmacy/pharmacy_transfer_request.xhtml Navigation: Menu ▸ Pharmacy ▸ Disbursement ▸ Request

Configuration Options:

  • Stock Request – Show Rate and Value

Privileges Required:

  • PharmacyDisbursementRequest
  • StockRequestViewRates
  • Developers

Direct Issue

Page: /pharmacy/pharmacy_transfer_issue.xhtml Navigation: Menu ▸ Pharmacy ▸ Disbursement ▸ Direct Issue

Configuration Options:

  • Stock Transaction – Show Rate and Value
  • Pharmacy Transfer Issue Bill is POS Paper with details
  • Pharmacy Transfer Issue Bill is POS Paper with header
  • Pharmacy Transfer Issue Bill is Template

Privileges Required:

  • PharmacyDisbursementDirectIssue
  • StockTransactionViewRates
  • Developers

Issued List

Page: /pharmacy/pharmacy_transfer_issued_list.xhtml Navigation: Menu ▸ Pharmacy ▸ Disbursement ▸ Receive

Configuration Options:

  • (none)

Privileges Required:

  • PharmacyDisbursementRecieve

Receive from List

Page: /pharmacy/pharmacy_transfer_receive.xhtml Navigation: Menu ▸ Pharmacy ▸ Disbursement ▸ Receive ▸ Receive (from list)

Configuration Options:

  • Report Font Size of Item List in Pharmacy Disbursement Reports
  • Pharmacy Transfer Receive Bill is Template

Privileges Required:

  • PharmacyTransferViewRates
  • ChangeReceiptPrintingPaperTypes
  • Developers

Retail Transactions

Sale by Batch

Page: /pharmacy/pharmacy_bill_retail_sale.xhtml Navigation: Menu ▸ Pharmacy ▸ Retail Transactions ▸ Sale by Batch

Configuration Options:

  • Find Last Sale Rate of Medicines in Retail Sale
  • Display Total Stock when listing medicines for Retail Sale
  • Medicine Identification Codes Used
  • Enable label printing for pharmacy medicines
  • Pharmacy Bill Support for Native Printers
  • Pharmacy Retail Sale Bill formats: PosPaper / PosPaper with items / PosPaper (prabodha) / FiveFivePaper / PosHeaderPaper / FiveFiveCustom3

Privileges Required:

  • PharmacySale
  • ChangeReceiptPrintingPaperTypes

Sale for Cashier

Page: /pharmacy/pharmacy_bill_retail_sale_for_cashier.xhtml Navigation:

  • Menu ▸ Pharmacy ▸ Retail Transactions ▸ Sale for cashier
  • Menu ▸ Opd Issue ▸ Opd Issue For Cashier

Configuration Options:

  • Create Token At Pharmacy Sale For Cashier
  • Allow Tendered Amount for pharmacy sale for cashier
  • Pharmacy Bill Support for Native Printers
  • Enable token system in sale for cashier
  • Pharmacy Sale for Cashier Token Bill is Pos paper
  • Pharmacy Sale for Cashier Bill is Pos paper
  • Pharmacy Retail Sale Bill is PosHeaderPaper
  • Pharmacy Sale for cashier Bill is FiveFiveCustom3

Privileges Required:

  • PharmacySaleForCashier
  • ChangeReceiptPrintingPaperTypes
  • PharmacySale

Recent Fixes (July 2026)

Server-side privilege guards were added across the GRN/GRN-Return, Purchase Order, Disbursement/Transfer, and Discard/Disposal workflows — previously several of these controllers had no hasPrivilege checks at all, so a user without the page-level privilege could still trigger the underlying save/finalize/approve/cancel action directly. New privileges introduced: PharmacyReceiveSave, PharmacyTransferIssueCancel, PharmacyTransferReceiveCancel, InwardPharmacyBhtReceive, InwardPharmacyReturnSubmit. A user without the Finalize privilege on the Disbursement/Transfer request page can no longer finalize a save-only draft. (Issue #21994 and children #22019–#22022, Issue #14869; PRs #22024, #22025, #22026, #22027)


← Back to Pharmacy Administration