Admin Department Level Fees - hmislk/hmis GitHub Wiki
Department-Level Fees
Overview
Department fees are the most specific level of fee override in HMIS. When a department fee is configured for a service, it takes priority over both site fees and base fees. This allows individual departments — such as a VIP outpatient counter, a specialist clinic, or a corporate billing department — to charge different rates for the same service.
When to Use
- A specialist OPD department charges a higher consultation rate than the general OPD counter
- A VIP ward applies premium pricing to all services
- A corporate billing department has negotiated a fixed rate for a service
- You need to give a specific department a discounted rate as an exception
Navigating to Department Fee Management
- Click Administration → Manage Pricing
- Select Manage Department Fees from the pricing index
Required privilege: AdminPrices
The Manage Department Fees Screen
Filters:
- Select Department — autocomplete to choose the department (shows department name)
- Select Item — autocomplete to choose the service or investigation (shows code, type, name)
Viewing Existing Department Fees
- Select the Department and Item
- Click Fill Existing Fees — the fee table below populates with any existing department-specific fees for this combination
Adding a New Department Fee
- Select the Department and Item
- Click Add New Fee (yellow button) — a dialog opens
- Configure the fee:
| Field | Description |
|---|---|
| Fee Name | Label (e.g. "VIP Consultation", "Specialist Rate") |
| Fee Type | The fee category — same FeeType options as base fees |
| Discounts Allowed | Toggle |
| Service Charge Allowed | Toggle |
| Fee | The department-specific amount |
| Foreigner Fee | Foreigner-specific amount (0 = use regular fee) |
- Click Save in the dialog header
Bulk Upload of Department Fees
- Upload to Add Department Fees by Item Code — adds new department fees from a spreadsheet
- Download Item Fees for Sites (same export covers department fees in some configurations)
Fee Priority Reminder
Department fees are the highest priority:
- Department fee always overrides site and base fees
- If no department fee exists, the system falls back to site fee
- If no site fee exists, the system falls back to base fee
Example: OPD General vs Specialist Clinic
| Service | Base Fee | OPD General Dept Fee | Specialist Clinic Dept Fee |
|---|---|---|---|
| Consultation | Rs. 1,000 | (no override — uses base) | Rs. 2,500 |
| Blood Test | Rs. 500 | (no override — uses base) | (no override — uses base) |
In this example, OPD General patients pay Rs. 1,000 for a consultation (base fee). Specialist Clinic patients pay Rs. 2,500 (department override). Blood tests cost Rs. 500 everywhere (no override at any level).
Technical Notes (Admin/Developer)
Department fees are FeeValue entities with department set (and institution matching the department's institution). itemFeeManager.forDepartment holds the selected department. addNewForDepartmentFee() creates the record; fillForDepartmentFeesForSelectedItem() loads existing ones. The billing engine queries FeeValue WHERE department = billingDepartment AND item = billedItem first before checking site or base fees.