Admin Base Fees - hmislk/hmis GitHub Wiki

Base Fees — Setting and Editing

Overview

Base fees are the default prices for all services and investigations. They apply everywhere a more specific fee (department or site) has not been configured. This is where you set the standard price for a service across the entire hospital.

When to Use

  • Setting the price for a newly created service
  • Updating a fee as part of an annual price revision
  • Adding fee components (e.g. a doctor fee and hospital fee) to a service
  • Reviewing the full fee structure for a service

Navigating to Base Fee Management

  1. Click AdministrationManage Pricing
  2. Select Manage Base Fees from the pricing index

Required privilege: AdminPrices

The Manage Base Fees Screen

The screen has two sections:

Top section — Item selector:

  • Select Item autocomplete — search for the service or investigation by name. The dropdown shows Code, Type, Name, Institution, Department, and Total.
  • After selecting an item, the screen shows:
    • Item Code — the item's code
    • Total Fee — the current sum of all fee components
    • Total Fee for Foreigners — the sum of foreigner-rate fee components

Bottom section — Current Fees table: A table of all existing fee components for the selected item, with editable fields.

Viewing Existing Fees

After selecting an item, the Current Fees table appears with columns:

  • No — row number
  • Name — fee component name (editable inline)
  • Type — fee type label
  • Discount Allowed — toggle button
  • Service Charge Allowed — toggle button
  • For — institution or department if the fee is institution/department-specific
  • Fee / Foreigner Fee — amounts (editable inline)

Click Update to save any inline changes.

Adding a New Fee Component

  1. Select the item using the autocomplete
  2. Click Add New Fee (green button) — a dialog opens
  3. Fill in the Adding a new Fee dialog:
Field Description
Fee Name A descriptive label (e.g. "Hospital Fee", "Doctor Fee", "Consultation")
Fee Type The category — select from the full FeeType list
Discounts Allowed Toggle: can discounts be applied to this component?
Service Charge Allowed Toggle: can a margin/service charge be added to this component?
Fee The amount in the local currency
Foreigner Fee The fee for foreign patients (leave 0 to use the regular fee)
  1. Depending on the Fee Type selected, additional fields appear:

  2. Click Save in the dialog header

Bulk Fee Editing

For updating fees across many items at once:

  • Navigate to Manage Base Fees Bulk from the pricing index
  • This provides a tabular interface for editing multiple items' fees simultaneously

Downloading and Uploading Fees

  • Download Base Item Fees — exports all base fees to a spreadsheet
  • Item Fee Upload to Replace — replaces all base fees from a spreadsheet
  • Upload Changed Item Fees — updates only fees that have changed

Technical Notes (Admin/Developer)

Base fees are stored as Fee entities linked to Item via item.fees. The feeType field maps to the FeeType enum. The fee field holds the local amount; ffee (foreigner fee) defaults to fee if set to 0 via the getter. After adding or updating fees, item.total and item.totalForForeigner are recalculated automatically. The itemFeeManager.addNewFee() method handles creation; itemFeeManager.updateFee() handles inline saves.

Related Features