Finance OPD Billing Overview - hmislk/hmis GitHub Wiki
OPD Billing Overview
Introduction
OPD (Outpatient Department) billing covers the financial processing of all outpatient services — consultations, investigations, procedures, and pharmacy dispensing. Billing can happen directly at the cashier counter or through a two-step pre-bill workflow where services are ordered at the reception desk and payment is collected separately at the cashier.
Billing Paths
Direct Bill
The cashier creates and pays the bill in a single step:
- Search or register the patient.
- Add services/items.
- Select payment method.
- Save — bill is immediately settled and receipt is printed.
Pre-Bill Workflow
Used when billing is done in two locations (e.g. reception orders tests, cashier collects payment):
- Reception creates a pre-bill (
OpdPreBill) listing the services ordered. - Cashier scans the pre-bill barcode or searches by patient/bill number.
- Cashier accepts payment and settles the pre-bill, converting it to a fully paid bill.
Bill Types
| BillType | Description |
|---|---|
OpdBill |
Direct OPD bill created and paid at point of service |
OpdPreBill |
Pre-bill created at reception, awaiting payment |
OpdBathcBill |
Batch bill for multiple services across departments |
PaymentBill |
A payment record against a bill |
Payment Methods
All standard payment methods are available for OPD bills: Cash, Card, Credit, Cheque, Slip, Voucher, IOU, ewallet, PatientDeposit, PatientPoints, OnlineSettlement, Staff, Staff_Welfare, MultiplePaymentMethods (split payment across methods).
Module Articles
- Creating an OPD Bill
- OPD Batch Bills — Pre-Bill and Cashier Scan
- OPD Package Bills
- OPD Bill Cancellation and Refunds
- OPD Bill Search and Reprint
- Pharmacy Bills for Cashier
- Channelling Income and Expense Bills
Technical Reference
| Item | Detail |
|---|---|
| Core controller | BillController, BillBeanController |
| Pre-bill controller | OpdPreBillController |
| Refund controller | BillReturnController |
| Package controller | BillPackageController, BillPackageMedicalController |
| Key privileges | OpdBilling, OpdPreBilling, ScanBillsFromCashier, AcceptPaymentForOpdBatchBills |