# 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 **Administration** → **Manage 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) | 4. Depending on the Fee Type selected, additional fields appear: - **OtherInstitution / OwnInstitution / Referral**: Institution and Department selector (see [Fees by Speciality and Staff Member](Admin-Fees-by-Speciality-and-Staff)) - **Staff**: Speciality and Doctor/Staff selector (see [Fees by Speciality and Staff Member](Admin-Fees-by-Speciality-and-Staff)) 5. 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 - [Fee Configuration Overview](Admin-Fee-Configuration-Overview) - [Fee Types and Characteristics](Admin-Fee-Types-and-Characteristics) - [Department-Level Fees](Admin-Department-Level-Fees) - [Fees by Speciality and Staff Member](Admin-Fees-by-Speciality-and-Staff)