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

Resource Profile: Huli Schedule

Official URL: https://fhir.huli.ai/r5/StructureDefinition/huli-schedule Version: 0.1.0
Active as of 2026-09-11 Computable Name: HuliSchedule

Schedule profile (FHIR R5) for the availability an actor (HuliPractitionerRole and/or room) offers. Read/search-only on the Public API — a booking integrator discovers, via service-type, which practitioner/room combinations deliver an org service.

R5 note: Schedule.serviceType is a CodeableReference in R5 (a bare CodeableConcept in R4); Huli republishes the booked org-service UUID under serviceType.concept.coding using the HuliOrgServiceCS CodeSystem (https://fhir.huli.ai/r5/CodeSystem/org-service).

Usages:

  • This Profile is not used by any profiles in this Specification

You can also check for usages in the FHIR IG Statistics

Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots and how the different presentations work.

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Schedule 0..* Schedule A container for slots of time that may be available for booking appointments
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... contained 0..* Resource Contained, inline Resources
... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
... actor SΣ 1..* Reference(Patient | Practitioner | PractitionerRole | CareTeam | RelatedPerson | Device | HealthcareService | Location) Resource(s) that availability information is being provided for

doco Documentation for this format

Constraints

Id Grade Path(s) Description Expression
dom-2 error Schedule If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Schedule If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error Schedule If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error Schedule If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Schedule A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()

This structure is derived from Schedule

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Schedule 0..* Schedule A container for slots of time that may be available for booking appointments
... active S 0..1 boolean Whether this schedule is in active use
... actor S 1..* Reference(Patient | Practitioner | PractitionerRole | CareTeam | RelatedPerson | Device | HealthcareService | Location) Resource(s) that availability information is being provided for

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Schedule 0..* Schedule A container for slots of time that may be available for booking appointments
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
... contained 0..* Resource Contained, inline Resources
... extension 0..* Extension Additional content defined by implementations
... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
... identifier Σ 0..* Identifier External Ids for this item
... active ?!SΣ 0..1 boolean Whether this schedule is in active use
... serviceCategory Σ 0..* CodeableConcept High-level category
Binding: ServiceCategory (example)
... serviceType Σ 0..* CodeableReference(HealthcareService) Specific service
Binding: ServiceType (example)
... specialty Σ 0..* CodeableConcept Type of specialty needed
Binding: PracticeSettingCodeValueSet (preferred): Additional details about where the content was created (e.g. clinical specialty).
... name Σ 0..1 string Human-readable label
... actor SΣ 1..* Reference(Patient | Practitioner | PractitionerRole | CareTeam | RelatedPerson | Device | HealthcareService | Location) Resource(s) that availability information is being provided for
... planningHorizon Σ 0..1 Period Period of time covered by schedule
... comment 0..1 markdown Comments on availability

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Schedule.language Base required All Languages 📍5.0.0 FHIR Std.
Schedule.serviceCategory Base example Service Category 📍5.0.0 FHIR Std.
Schedule.serviceType Base example Service Type 📍5.0.0 FHIR Std.
Schedule.specialty Base preferred Practice Setting Code Value Set 📍5.0.0 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error Schedule If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Schedule If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error Schedule If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error Schedule If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Schedule A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()

This structure is derived from Schedule

Summary

Must-Support: 2 elements

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Schedule 0..* Schedule A container for slots of time that may be available for booking appointments
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... contained 0..* Resource Contained, inline Resources
... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
... actor SΣ 1..* Reference(Patient | Practitioner | PractitionerRole | CareTeam | RelatedPerson | Device | HealthcareService | Location) Resource(s) that availability information is being provided for

doco Documentation for this format

Constraints

Id Grade Path(s) Description Expression
dom-2 error Schedule If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Schedule If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error Schedule If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error Schedule If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Schedule A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()

Differential View

This structure is derived from Schedule

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Schedule 0..* Schedule A container for slots of time that may be available for booking appointments
... active S 0..1 boolean Whether this schedule is in active use
... actor S 1..* Reference(Patient | Practitioner | PractitionerRole | CareTeam | RelatedPerson | Device | HealthcareService | Location) Resource(s) that availability information is being provided for

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Schedule 0..* Schedule A container for slots of time that may be available for booking appointments
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
... contained 0..* Resource Contained, inline Resources
... extension 0..* Extension Additional content defined by implementations
... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
... identifier Σ 0..* Identifier External Ids for this item
... active ?!SΣ 0..1 boolean Whether this schedule is in active use
... serviceCategory Σ 0..* CodeableConcept High-level category
Binding: ServiceCategory (example)
... serviceType Σ 0..* CodeableReference(HealthcareService) Specific service
Binding: ServiceType (example)
... specialty Σ 0..* CodeableConcept Type of specialty needed
Binding: PracticeSettingCodeValueSet (preferred): Additional details about where the content was created (e.g. clinical specialty).
... name Σ 0..1 string Human-readable label
... actor SΣ 1..* Reference(Patient | Practitioner | PractitionerRole | CareTeam | RelatedPerson | Device | HealthcareService | Location) Resource(s) that availability information is being provided for
... planningHorizon Σ 0..1 Period Period of time covered by schedule
... comment 0..1 markdown Comments on availability

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Schedule.language Base required All Languages 📍5.0.0 FHIR Std.
Schedule.serviceCategory Base example Service Category 📍5.0.0 FHIR Std.
Schedule.serviceType Base example Service Type 📍5.0.0 FHIR Std.
Schedule.specialty Base preferred Practice Setting Code Value Set 📍5.0.0 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error Schedule If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Schedule If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error Schedule If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error Schedule If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Schedule A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()

This structure is derived from Schedule

Summary

Must-Support: 2 elements

 

Other representations of profile: CSV, Excel, Schematron