Admin Discount Configuration - hmislk/hmis GitHub Wiki
Discount Configuration
Overview
HMIS supports three types of automatic discounts: membership discounts (for loyalty cardholders), payment scheme discounts (for patients paying via a specific scheme), and payment method discounts (for patients using a specific payment type like corporate card). Discounts can be configured by department, service category, individual item, site, or module (OPD, inward, pharmacy, channelling).
Navigating to Discount Management
- Click Administration → Manage Pricing
- Select Admin Discounts from the pricing index
- The Manage Discounts screen opens with a left navigation panel
Required privilege: Admin (for the main screen); specific sub-sections may require additional privileges
The Three Discount Categories
1. Discounts for Membership
| Navigation Button | What It Configures |
|---|---|
| Membership Schemes | Create and manage loyalty/membership programme definitions |
| Allowed Payment Methods | Specify which payment methods membership cardholders can use |
| Inward Discounts for Memberships | Discount percentages on inpatient bills for members (requires MemberShipInwardMemberShipSchemesDicounts privilege) |
| OPD Discounts for Members by Department | OPD discount per department for members (requires MemberShipOpdMemberShipDisByDepartment) |
| OPD Discounts for Members by OPD Category | OPD discount per service category for members (requires MemberShipOpdMemberShipDisByCategory) |
| OPD Discounts for Members by Pharmaceutical Category | Pharmacy discount per drug category for members |
| Channelling Discounts | Discount on channelling fees for members |
2. Discounts for Discount Schemes
| Navigation Button | What It Configures |
|---|---|
| Discount Schemes | The payment scheme master (same as Payment Schemes page) |
| Allowed Payment Methods | Which payment methods are allowed under each scheme |
| Discount Scheme Discount by Department | Percentage discount per department per scheme |
| Discount Scheme Discount by OPD Category | Discount per service category per scheme |
| Discount Scheme Discount by Pharmacy Category | Pharmacy category discount per scheme |
| Discount Scheme Discount by Item | Discount on specific items per scheme |
| Discount Scheme Discount for Channelling | Channelling discount per scheme |
3. Discounts for Payment Method
| Navigation Button | What It Configures |
|---|---|
| Payment Method Discount by Department | Discount percentage for a payment method per department |
| Payment Method Discount by OPD Category | Discount percentage for a payment method per category |
| Payment Method Discount by Item | Discount percentage for a payment method per item |
How Discounts Are Applied
When a bill is saved:
- The system checks the patient's membership status → applies membership discounts
- The system checks the payment method → applies payment method discounts
- The system checks the payment scheme → applies scheme discounts
- Individual fee component-level discount flags (
discountAllowed) determine whether each fee can be discounted
Multiple discounts can apply. The system typically applies them additively or uses the highest applicable rate depending on configuration.
Membership Reports
From the Reports section:
- Inward Membership Report — shows inpatient discount usage (requires MemberShipInwardMemberShipInwardMemberShipReport)
- OPD Membership Report — shows OPD discount usage (requires MemberShipOpdMemberShipDisOpdMemberShipReport)
Technical Notes (Admin/Developer)
Membership discounts are stored as OpdMemberShipDiscount and InwardMemberShipDiscount entities. Payment scheme discounts are stored as PaymentSchemeDiscount entities. The opdMemberShipDiscountController.recreateModel() refreshes the discount tree. Credit company discounts (per-company OPD/Lab/Inward/Pharmacy rates) are configured separately on the credit company record — see Credit Companies.