Inpatient Room Change and Guardian Room Change - hmislk/hmis GitHub Wiki
Inpatient — Room Change and Guardian Room Change
Two separate but very similar pages that move an admitted patient (or their guardian) from one room to another without losing the room-history timestamps that drive room billing.
| Page | URL | Menu | Privilege |
|---|---|---|---|
| Room Change | /inward/inward_room_change.xhtml |
Inpatient → Room → Room Change | InwardRoomRoomChange |
| Guardian Room Change | /inward/inward_room_change_guardian.xhtml |
Inpatient → Room → Guardian Room Change | InwardRoomGurdianRoomChange |
Both are also reachable from the Inpatient Dashboard → Room Management panel.
Controller: RoomChangeController.recreate().
Why a dedicated page
Room fees in HMIS are time-based. The PatientRoom record tracks start and end timestamps for each occupancy of a room by an admission. Room rent, linen, MO and nursing charges are computed from those timestamps, so the system needs to know exactly when the old room ended and the new room began. Editing the room directly on the admission would not capture that pair of timestamps.
A room change therefore:
- Closes the current
PatientRoomrow (sets its end time to now, marks it discharged). - Opens a new
PatientRoomrow with the new room and start time = now. - Leaves all charges already accumulated against the old room intact. Only future timed services pick up the new room's rate.
Step-by-step
1. Find the admission
Top of the page is a patient search:
- Institution dropdown — defaults to your logged-in institution; choose "All Institutions" to widen the search.
- Patient Search autocomplete — type at least 2 characters of patient name, BHT number, or PHN. Results show PHN, BHT, name, and current room.
Pick the row to load the admission.
2. Confirm the current room
The page shows the current PatientRoom — room, category, since when. If this looks wrong, do not proceed: investigate the admission first.
3. Pick the new room
Autocomplete against RoomFacilityCharge records. The list is filtered to rooms that exist in your institution; rooms that are occupied (their current PatientRoom has not been discharged) may still appear — the system will not block you, so be careful not to double-book.
If the patient is moving to a room that another patient still occupies, you must first Discharge from Room the other patient via Room Occupancy.
4. Comments / reason
Free text — typical entries: "Patient request — quieter room", "Reclassified to ICU", "Family asked for adjacent bed".
5. Save
Pressing save (or the equivalent confirm button) commits both PatientRoom writes in one go. The Inpatient Dashboard's Room Details will now show the old room with its end time, plus the new room as the current.
Guardian Room Change
Same form, but operates on the guardian's room rather than the patient's. Use this when the guardian was assigned a separate room (common in private hospitals) and that needs to change independently. The patient's room is unaffected.
What you cannot do here
- Backdate the change — the new
PatientRoomalways starts at the moment of save. If you need to retroactively change a room (e.g., correcting an entry made late), an admin must use the Errors in Admissions page (/inward/inward_admission_edit.xhtml) or raise an issue. - Skip the bill impact — once timed services accrue against the new room, they cannot be retro-applied to the old room. Always do the room change as soon as the physical move happens.