Admin Site Level Fees - hmislk/hmis GitHub Wiki

Site-Level Fees

Overview

Site fees allow you to set different prices for the same service at different physical locations (sites) within an institution. For example, the main hospital site might charge Rs. 2,000 for a consultation, while the satellite clinic site charges Rs. 1,500 for the same service. Site fees take priority over base fees but are overridden by department fees.

When to Use

  • A hospital operates across multiple buildings and prices vary by location
  • A specific site has a pricing agreement that differs from the main institution
  • You need to set temporary site-specific rates during a promotional period

Navigating to Site Fee Management

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

Required privilege: AdminPrices

The Manage Site Fees Screen

Filters:

  • Select Site — autocomplete to choose the physical site
  • Select Item — autocomplete to choose the service or investigation

After selecting both, the screen shows:

  • Local Fee — the current site-specific fee for local patients
  • Foreigner Fee — the current site-specific fee for foreign patients

The fees table below shows all fee components configured for this site + item combination.

Adding a Site Fee

  1. Select the Site from the autocomplete
  2. Select the Item from the autocomplete
  3. Click Fill Existing Fees (if available) to see any existing fees
  4. Click Add New Fee to open the fee dialog
  5. Configure the fee components (same fields as base fees — Name, Fee Type, amounts, discount/margin flags)
  6. Click Save

Bulk Upload of Site Fees

For setting site fees across many items at once:

  • Upload to Add Site Fees by Item Code — adds new site fees from a spreadsheet
  • Upload to Replace Site Fees by Item Code — replaces all site fees with the spreadsheet data
  • Download Item Fees for Sites — exports current site fees to a spreadsheet

Fee Resolution Reminder

Site fees are the middle layer:

  • If a department fee exists → use it (department wins over site)
  • If a site fee exists → use it (site wins over base)
  • Otherwise → use the base fee

Technical Notes (Admin/Developer)

Site fees are FeeValue entities linking Item to Institution (where the institution is a Site-type entity). itemFeeManager.forSite holds the selected site. The updateItemAndSiteFees() listener loads existing fee values; addNewForSiteFee() creates records. feeValueController.getFeeForLocals(item, site) retrieves the current effective local fee for display.

Related Features