Manages room unit groups — named groupings of individually trackable units (for example a bank of kennels or cages) within one of an organisation's rooms, with a size, unit count, species constraints, and capability tags. Records are represented over the API as the FHIR Location resource. Called by the PIMS (Practice Information Management System, the clinic-facing web app); every route requires organisation RBAC (role-based access control) permissions.
Endpoints
POST /
- Auth:
requireWebAuth - RBAC:
withOrgPermissions, requirePermission - Body: FHIR
Locationresource (resourceType: "Location") - Controller:
RoomUnitGroupController.create - Response:
400: keysmessage(payload is not aLocationresource, or the organisation id could not be resolved),201: FHIRLocationresource
PUT /:id
- Auth:
requireWebAuth - RBAC:
withRoomUnitGroupOrgPermissions, requirePermission - Params:
id - Body: FHIR
Locationresource - Controller:
RoomUnitGroupController.update - Response:
400: keysmessage,403: keysmessage(payload's organisation does not match the authorized organisation),200: FHIRLocationresource
GET /
- Auth:
requireWebAuth - RBAC:
withOrgPermissions, requirePermission - Query:
roomId,isActive - Controller:
RoomUnitGroupController.list - Response:
400: keysmessage,200: array of FHIRLocationresources
DELETE /:id
- Auth:
requireWebAuth - RBAC:
withRoomUnitGroupOrgPermissions, requirePermission - Params:
id - Controller:
RoomUnitGroupController.delete - Response:
400: keysmessage,200: FHIRLocationresource (the deleted group)