Admin Inpatient Timed Services - hmislk/hmis GitHub Wiki
Admin — Inpatient Timed Services
Three pages that define services charged by time-of-use (e.g., oxygen therapy by the hour, monitoring by the day, ventilator support per hour). Reached from Admin — Manage Inpatient Services → Services tab.
| Page | URL | Controller | What it defines |
|---|---|---|---|
| Time-based Service Categories | /inward/inward_timed_item_category.xhtml |
TimedItemCategoryController |
Grouping for timed services (Respiratory, Monitoring, etc.). |
| Time-based Services | /inward/inward_timed_item.xhtml |
TimedItemController |
Individual timed services (Oxygen Therapy, Pulse Oximeter Monitoring, …). |
| Time-based Service Charges | /inward/inward_timed_item_fee.xhtml |
TimedItemFeeController |
Per-service fee records per fee plan. |
Privilege: InwardAdministration.
How a timed service charges
A timed service has:
- A start time (when the patient is put on the service).
- An end time (when it is stopped).
- A rate unit (per minute, per hour, per 3 hours, per day).
- A rate (amount per unit).
When the user adds a timed service from Add Timed Services, they set start and end. The billing engine then computes units × rate and writes one bill item.
1. Time-based Service Categories
A small list — Respiratory, Monitoring, Nursing Care, Equipment, etc. Each timed service belongs to one category. Used purely for grouping in the bill and on reports.
Per row: Name, Description, Retired flag.
2. Time-based Services
The actual service records. For each service:
| Field | Notes |
|---|---|
| Name | "Oxygen Therapy", "Pulse Oximeter Monitoring", "Mechanical Ventilation", "Cardiac Monitor". |
| Category | From the categories page. |
| Unit | Per minute / hour / 3 hours / day. Drives how units are computed from the start/end timestamps. |
| Theatre Only | If true, the service is only available inside the theatre workbench, not on general inward timed services. See inward_timed_item_theatre_only.xhtml. |
| Active From / To | Optional. |
| Retired | Soft delete. |
Most timed services are per-hour or per-3-hours. Per-minute is used for short procedures; per-day for things like daily monitoring rounds.
3. Time-based Service Charges
For each service, one charge row per fee plan (cash / credit / foreigner / scheme). Per row:
- Service (link back to a Time-based Service).
- Fee plan.
- Rate — amount per unit. (If the service's unit is "per hour", rate is per hour. The engine uses the service's unit.)
- Fee components — split the rate across staff / hospital / consultant if needed.
- Active From / To.
The billing engine multiplies (end − start, in the service's unit) × rate and writes a BillItem.
Department / institution / site filtering
The timed-service report uses the patient encounter's institution / department / site to filter. This was firmed up in #19715 — see the developer guide developer_docs/navigation/inward_navigation.md for the JPQL filter pattern.
Operational pattern — daily room rent
Room rent itself is not a timed-service entry on this page. Room rent is computed from the RoomFacilityCharge (see Admin — Room Categories, Rooms and Fees) on a fixed 3-hour granularity. Timed services here are the additional time-of-use charges layered on top.