Admin Fee Types and Characteristics - hmislk/hmis GitHub Wiki

Fee Types and Characteristics

Overview

Every fee component in HMIS has a Fee Type that determines how it is categorised, who it applies to, and how it appears in financial reports. A single service can have multiple fee components of different types — for example, a total consultation bill might consist of a "Hospital Fee" (Outpatient type) and a "Doctor Fee" (Staff type). Understanding fee types is the key to configuring correct billing and accurate financial reporting.

The FeeType Enum — All Values

Fee Type When to Use
Outpatient The standard fee charged to OPD patients. This is the most common type for consultation and procedure fees.
Staff A fee that applies specifically to staff members of the institution, usually at a discounted rate. Can be linked to a specific speciality and/or staff member.
Member A fee for patients who are membership cardholders of the hospital's loyalty or welfare program.
OwnInstitution A special rate when the patient is from the same institution group (e.g. another branch). Must specify the institution.
OtherInstitution A rate that applies when billing another specific institution (e.g. a referring hospital or partner organisation). Must specify the institution.
Chemical A fee representing the consumable or drug component of a service (e.g. reagents used in a lab test).
Department A fee allocated internally to a department for accounting purposes (not charged to the patient).
Tax A tax component added on top of the base fee.
Issue Used in pharmacy — represents the issued item's cost component.
Additional Any extra charge that does not fit the other categories.
Service A service fee component used in certain billing configurations.
CollectingCentre The fee component that applies when the billing originates from a collecting centre.
Referral A fee paid to a referring institution or agent. Must specify the referring institution.

Characteristics of a Fee

Each fee component, regardless of type, has the following characteristics:

Discounts Allowed

When enabled, the billing system will allow a discount to be applied to this fee component. When disabled, the fee is fixed and cannot be reduced.

  • Controlled by: Discounts Allowed toggle on the fee form
  • If the service-level Discount Allowed flag is off (set during service creation), no fee components can be discounted even if the fee says discounts are allowed

Service Charge Allowed (Margin Allowed)

When enabled, a service charge or margin can be added on top of this fee component during billing.

  • Controlled by: Service Charge Allowed toggle on the fee form
  • If the service-level Margin Not Allowed flag is on, this setting is overridden

Foreigner Fee

Each fee component can have a separate rate for foreign patients. If the foreigner fee is set to 0, the system defaults to the regular fee.

Fee Type-Specific Behaviour

Staff Fee (with Speciality and Doctor Selection)

When you set a fee type to Staff and add a speciality and staff member, this fee component will only apply when the billing is for that specific staff member in that speciality. This enables different consultation fees per doctor. See Fees by Speciality and Staff Member.

OwnInstitution / OtherInstitution / Referral (with Institution and Department)

When these types are selected, additional Institution and Department selectors appear. The fee will only be applied when the patient's billing institution matches the configured one.

Multiple Fee Components on One Service

A service can have several fee components. Common patterns:

Standard Consultation:

  • Component 1: Outpatient — Rs. 1,500 (total patient charge, discounts allowed)

Consultation with Doctor Split:

  • Component 1: Outpatient — Rs. 1,500 (total charge)
  • Component 2: Staff linked to Dr. Silva — Rs. 1,000 (doctor's share, paid separately)
  • Component 3: Department — Rs. 500 (hospital's share, internal accounting)

Discounted Staff Rate:

  • Component 1: Outpatient — Rs. 1,500
  • Component 2: Staff (no specific doctor) — Rs. 500 (applies when billed to any staff member)

Technical Notes (Admin/Developer)

Fee types are defined in the FeeType enum in the com.divudi.core.data package. Each Fee entity has a feeType field of this enum type. The staff field links to a Staff entity (for Staff type); the speciality field links to Speciality; the institution and department fields handle OwnInstitution/OtherInstitution/Referral. discountAllowed and marginAllowed are boolean fields on Fee. The billing engine applies the correct fee based on the patient type and context.

Related Features