Admin Item Categories - hmislk/hmis GitHub Wiki
Item Categories and Sub-Categories
Overview
Categories and sub-categories organise OPD services, investigations, and other items into logical groups. They control how items appear in billing dropdowns, how reports are grouped, and how fee lists are structured. A well-designed category hierarchy makes it much easier for billing staff to find items quickly.
When to Use
- Creating a new clinical grouping for a service type not yet in the system
- Reorganising services into cleaner categories
- Managing sub-categories for a multi-level service hierarchy
Navigating to Category Management
- Click Administration → Manage Items
- In the item management index, navigate to Categories (or OPD Service Categories / OPD Service Sub-Categories)
Required privilege: AdminItems
Managing Categories
Creating a New Category
- Click Add
- Search for and select the parent category (for sub-categories) or leave blank for a top-level category
- Fill in:
| Field | Description |
|---|---|
| Name | The category name shown in billing interfaces and reports |
| Category Type | The functional type — select from dropdown. This controls which module uses the category (e.g. OPD Service, Investigation, Inward, Pharmacy) |
| Income Name | A secondary label used in financial income reports (optional) |
- Click Save
Editing a Category
- Search for the category in the autocomplete field on the left
- Update the fields in the right panel
- Click Save
Deleting a Category
- Select the category
- Click Delete (confirmation required)
Note: Do not delete categories with items assigned to them. Orphaned items will lose their categorisation, which may affect reports.
Category Types
The Category Type dropdown determines where the category appears in the system. Common types include:
| Type | Used In |
|---|---|
| OPD Service | OPD billing item selection |
| Investigation | Lab and radiology billing |
| InwardService | IPD charge categorisation |
| Pharmacy | Drug/consumable grouping |
| FeeListType | Fee list groups for collecting centres |
OPD Service Sub-Categories
Sub-categories create a two-level hierarchy. An OPD Service Category (e.g. "Cardiology Services") can have sub-categories (e.g. "Echocardiography", "Stress Tests"). When a service is assigned to a sub-category, it inherits the parent category's grouping for reporting.
Navigate to OPD Service Sub-Categories from the item management index to manage sub-categories specifically.
Technical Notes (Admin/Developer)
Categories are stored as Category entities. ServiceCategory extends Category. The categoryType field maps to the CategoryType enum. The parentCategory self-reference creates the hierarchy. The ServiceCategory specifically is queried by ServiceCategoryFacade. The description field holds the income name.