Admin Fee Lists and Payment Schemes - hmislk/hmis GitHub Wiki
Fee Lists and Payment Schemes
Overview
Fee Lists (also called Fee List Types) are named price tiers that group a set of fee overrides. They are typically used to assign a named pricing tier to collecting centres — for example, "Tier A CC Rates" or "Partner Lab Prices". Payment Schemes (also called Discount Schemes) define allowed payment methods and discount rules for groups of users.
Fee Lists
When to Use Fee Lists
- You have multiple collecting centres and they fall into pricing tiers (not individual custom prices)
- You want to create a reusable price list that can be assigned to many collecting centres at once
Navigating to Fee List Management
- Click Administration → Manage Pricing
- Select Fee List Types from the pricing index
Creating a Fee List Type
- Click Add New
- Enter the Name (e.g. "Premium CC Rate", "Standard CC Rate")
- Enter an optional Description
- Click Save
Adding Items to a Fee List
Navigate to Manage Fee List Item Fees to configure the individual item prices within the fee list.
Uploading Fee List Prices
Use Fee List Item Fees Upload or Fee List Type Upload to Replace to bulk-load prices into a fee list.
Assigning a Fee List to a Collecting Centre
Once the fee list is populated, assign it to a collecting centre:
- Go to Collecting Centres and edit the relevant CC
- In the Pricing tab, select the Fee List from the dropdown
- Save
Alternatively, use Assign Fee Lists to Collecting Centres from the pricing index.
Payment Schemes
What Is a Payment Scheme?
A payment scheme (also labelled "Discount Scheme" in the UI) defines:
- A named set of allowed payment methods for users assigned to this scheme
- Discount rules that apply when a patient pays using a scheme-covered method
Typical schemes: "Standard", "Corporate Patient", "Staff Rate", "Insurance Claim".
Navigating to Payment Scheme Management
- Click Administration → Manage Pricing
- Select Payment Schemes from the pricing index
Creating a Payment Scheme
- Click Add (green button)
- Fill in the Main Details tab:
| Field | Description |
|---|---|
| Name | Scheme name (e.g. "Standard OPD", "VIP Patient") |
| Printing Name | Name on printed documents |
| Order No | Display order |
- Click Save
Duplicating a Scheme
Click Duplicate to create a copy of the selected scheme — useful when a new scheme is similar to an existing one.
Refreshing Schemes
Click Refresh to update the scheme cache after making changes.
Assigning Payment Methods to a Scheme
Navigate to Payment Scheme — Payment Methods Allowed to specify which payment types (cash, card, cheque, credit company, etc.) are allowed under this scheme.
Assigning Schemes to Users
See User Payment Schemes — users are restricted to the payment schemes assigned to them.
Discount Rules Per Scheme
Discount rules linked to payment schemes are configured via the discount pages:
- Payment Scheme Discount OPD by Department — discount for OPD bills in specific departments
- Payment Scheme Discount OPD by Category — discount by service category
- Payment Scheme Discount OPD by Item — discount for specific items
- Payment Scheme Discount OPD by Site — discount for specific sites
- Payment Scheme Discount Channel — channelling discounts
See Discount Configuration for details.
Technical Notes (Admin/Developer)
Fee lists are stored as Category entities with categoryType = FeeListType. The categoryController.feeListTypes getter filters by this type. Payment schemes are stored as PaymentScheme entities managed by paymentSchemeController. Scheme-method links are PaymentSchemePaymentMethod entities.