Huli FHIR Core Implementation Guide (R5)
0.1.0 - Release Latin America and the Caribbean

Huli FHIR Core Implementation Guide (R5) - Local Development build (v0.1.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

Schedule & Slot Mapping

Schedule & Slot Mapping: Huli -> FHIR R5

Schedule and Slot together expose practitioner (and equipment) availability so a booking client can find an open time before creating an Appointment. Both are read-only; availability is derived from Huli configuration, never written through the FHIR surface. Access is gated by the booking scope system/Appointment.rs (see Terminology).

Schedule

Schedule represents the recurring working hours configured for a practitioner or equipment resource.

R5 note: Schedule.serviceType is a CodeableReference in R5 (a bare CodeableConcept in R4). Huli carries the booked org-service UUID under serviceType.concept.coding, using the org-service CodeSystem.

Interaction Supported
read Yes
search-type Yes
create / update / delete No
Huli concept FHIR path Cardinality Notes
Template id (UUID) Schedule.id 1..1 UUID of the schedule template
Last update Schedule.meta.lastUpdated 0..1 Set by the platform
Active status Schedule.active 0..1 true for live templates
Actor Schedule.actor 1..* Reference to the PractitionerRole/room the template belongs to
Service type Schedule.serviceType 0..* R5 CodeableReference; org-service coding under .concept
Coverage window Schedule.planningHorizon 0..1 The period the template plans over
Search parameter Type Notes
_id token Exact id match
actor reference Filter by PractitionerRole/room
service-type token Filter by the org service the schedule delivers (targets Schedule.serviceType), to enumerate the practitioner/room combinations that satisfy it for booking. Value is the HealthcareService.type org-service code; a schedule with no service restriction matches every service-type query for a live org service
_count number Page size
_offset number Offset pagination

Slot

Slot is computed — each Slot is a concrete free interval derived from a Schedule minus existing appointments and blocks. There is no stored Slot row, so Slot supports search-type only (no read by id).

Interaction Supported
search-type Yes
read No
create / update / delete No
Huli concept FHIR path Cardinality Notes
Owning schedule Slot.schedule 1..1 Reference to Schedule/{id}
Availability Slot.status 1..1 free for bookable intervals
Interval start Slot.start 1..1 Start of the free interval
Interval end Slot.end 1..1 End of the free interval
Search parameter Type Notes
schedule reference Filter by Schedule/{id}
actor reference Filter by PractitionerRole/room
start date Lower bound of the search window
end date Upper bound of the search window
_count number Page size
_offset number Offset pagination