1.0.0 - release
CambioOpenServicesIG - Local Development build (v1.0.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions
| Official URL: https://fhir.cambio.se/StructureDefinition/SlotFreeTimeslots | Version: 0.9.0 | |||
| Draft as of 2026-03-25 | Computable Name: SlotFreeTimeslots | |||
The SlotFreeTimeSlots profile is a Cambio profile, with the intended use of reading time slots that are available for bookings.
The MustSupport-flag indicates which attributes are supported by Cambio, meaning that those can be returned as part of the slot.
| Type | Description |
|---|---|
| Rule | The start and end date range should never exceed one full day. |
| HTTP Method | Description |
|---|---|
| GET | Get free time slots based on search parameters. |
| Parameter | Mandatory | Format | Comment |
|---|---|---|---|
healthcareService |
string | Yes | Internal id |
organization |
string | Yes | HSA ID |
start |
date | Yes | Is used to define start and end of the date range to be searched for. Can be passed multiple times, use operators gt(greater than) and lt(less than) to define the range. Both gt and lt operators must be used, see query example. |
GET [baseURL]/Slot/_search?start=gt<start date>&start=lt<end date>&organization=<organization Id>&healthcareService=<healthcare service Id>Usages:
You can also check for usages in the FHIR IG Statistics
Description of Profiles, Differentials, Snapshots and how the different presentations work.
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
0..* | Slot | A slot of time on a schedule that may be available for booking appointments | |
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created |
![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored |
![]() ![]() |
SΣ | 1..1 | Reference(Schedule) | The schedule resource that this slot defines an interval of status information |
![]() ![]() |
SΣ | 1..1 | code | busy | free | busy-unavailable | busy-tentative | entered-in-error Binding: SlotStatus (required): The free/busy status of the slot. Fixed Value: free |
![]() ![]() |
SΣ | 1..1 | instant | Date/Time that the slot is to begin |
![]() ![]() |
SΣ | 1..1 | instant | Date/Time that the slot is to conclude |
Documentation for this format | ||||
| Path | Conformance | ValueSet / Code | URI |
| Slot.status | required | Fixed Value: freehttp://hl7.org/fhir/ValueSet/slotstatus|4.0.1From the FHIR Standard |
| Id | Grade | Path(s) | Details | Requirements |
| dom-2 | error | Slot | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
| dom-3 | error | Slot | 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().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty() | |
| dom-4 | error | Slot | 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 | Slot | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
| dom-6 | best practice | Slot | 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 Slot
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
0..* | Slot | A slot of time on a schedule that may be available for booking appointments | |
![]() ![]() |
S | 1..1 | Reference(Schedule) | The schedule resource that this slot defines an interval of status information |
![]() ![]() |
S | 1..1 | code | busy | free | busy-unavailable | busy-tentative | entered-in-error Fixed Value: free |
![]() ![]() |
S | 1..1 | instant | Date/Time that the slot is to begin |
![]() ![]() |
S | 1..1 | instant | Date/Time that the slot is to conclude |
Documentation for this format | ||||
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() | ||||
|---|---|---|---|---|---|---|---|---|
![]() |
0..* | Slot | A slot of time on a schedule that may be available for booking appointments | |||||
![]() ![]() |
Σ | 0..1 | id | Logical id of this artifact | ||||
![]() ![]() |
Σ | 0..1 | Meta | Metadata about the resource | ||||
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||
![]() ![]() |
0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
| |||||
![]() ![]() |
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 | |||||
![]() ![]() |
0..* | Resource | Contained, inline Resources | |||||
![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored | ||||
![]() ![]() |
Σ | 0..* | Identifier | External Ids for this item | ||||
![]() ![]() |
Σ | 0..* | CodeableConcept | A broad categorization of the service that is to be performed during this appointment Binding: ServiceCategory (example) | ||||
![]() ![]() |
Σ | 0..* | CodeableConcept | The type of appointments that can be booked into this slot (ideally this would be an identifiable service - which is at a location, rather than the location itself). If provided then this overrides the value provided on the availability resource Binding: ServiceType (example) | ||||
![]() ![]() |
Σ | 0..* | CodeableConcept | The specialty of a practitioner that would be required to perform the service requested in this appointment Binding: PracticeSettingCodeValueSet (preferred): Additional details about where the content was created (e.g. clinical specialty). | ||||
![]() ![]() |
Σ | 0..1 | CodeableConcept | The style of appointment or patient that may be booked in the slot (not service type) Binding: hl7VS-appointmentReasonCodes (preferred) | ||||
![]() ![]() |
SΣ | 1..1 | Reference(Schedule) | The schedule resource that this slot defines an interval of status information | ||||
![]() ![]() |
SΣ | 1..1 | code | busy | free | busy-unavailable | busy-tentative | entered-in-error Binding: SlotStatus (required): The free/busy status of the slot. Fixed Value: free | ||||
![]() ![]() |
SΣ | 1..1 | instant | Date/Time that the slot is to begin | ||||
![]() ![]() |
SΣ | 1..1 | instant | Date/Time that the slot is to conclude | ||||
![]() ![]() |
0..1 | boolean | This slot has already been overbooked, appointments are unlikely to be accepted for this time | |||||
![]() ![]() |
0..1 | string | Comments on the slot to describe any extended information. Such as custom constraints on the slot | |||||
Documentation for this format | ||||||||
| Path | Conformance | ValueSet / Code | URI | |||
| Slot.language | preferred | CommonLanguageshttp://hl7.org/fhir/ValueSet/languagesFrom the FHIR Standard
| ||||
| Slot.serviceCategory | example | ServiceCategoryhttp://hl7.org/fhir/ValueSet/service-categoryFrom the FHIR Standard | ||||
| Slot.serviceType | example | ServiceTypehttp://hl7.org/fhir/ValueSet/service-typeFrom the FHIR Standard | ||||
| Slot.specialty | preferred | PracticeSettingCodeValueSethttp://hl7.org/fhir/ValueSet/c80-practice-codesFrom the FHIR Standard | ||||
| Slot.appointmentType | preferred | Hl7VSAppointmentReasonCodeshttp://terminology.hl7.org/ValueSet/v2-0276 | ||||
| Slot.status | required | Fixed Value: freehttp://hl7.org/fhir/ValueSet/slotstatus|4.0.1From the FHIR Standard |
| Id | Grade | Path(s) | Details | Requirements |
| dom-2 | error | Slot | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
| dom-3 | error | Slot | 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().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty() | |
| dom-4 | error | Slot | 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 | Slot | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
| dom-6 | best practice | Slot | 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 Slot
Key Elements View
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
0..* | Slot | A slot of time on a schedule that may be available for booking appointments | |
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created |
![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored |
![]() ![]() |
SΣ | 1..1 | Reference(Schedule) | The schedule resource that this slot defines an interval of status information |
![]() ![]() |
SΣ | 1..1 | code | busy | free | busy-unavailable | busy-tentative | entered-in-error Binding: SlotStatus (required): The free/busy status of the slot. Fixed Value: free |
![]() ![]() |
SΣ | 1..1 | instant | Date/Time that the slot is to begin |
![]() ![]() |
SΣ | 1..1 | instant | Date/Time that the slot is to conclude |
Documentation for this format | ||||
| Path | Conformance | ValueSet / Code | URI |
| Slot.status | required | Fixed Value: freehttp://hl7.org/fhir/ValueSet/slotstatus|4.0.1From the FHIR Standard |
| Id | Grade | Path(s) | Details | Requirements |
| dom-2 | error | Slot | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
| dom-3 | error | Slot | 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().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty() | |
| dom-4 | error | Slot | 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 | Slot | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
| dom-6 | best practice | Slot | 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 Slot
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
0..* | Slot | A slot of time on a schedule that may be available for booking appointments | |
![]() ![]() |
S | 1..1 | Reference(Schedule) | The schedule resource that this slot defines an interval of status information |
![]() ![]() |
S | 1..1 | code | busy | free | busy-unavailable | busy-tentative | entered-in-error Fixed Value: free |
![]() ![]() |
S | 1..1 | instant | Date/Time that the slot is to begin |
![]() ![]() |
S | 1..1 | instant | Date/Time that the slot is to conclude |
Documentation for this format | ||||
Snapshot View
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() | ||||
|---|---|---|---|---|---|---|---|---|
![]() |
0..* | Slot | A slot of time on a schedule that may be available for booking appointments | |||||
![]() ![]() |
Σ | 0..1 | id | Logical id of this artifact | ||||
![]() ![]() |
Σ | 0..1 | Meta | Metadata about the resource | ||||
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||
![]() ![]() |
0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
| |||||
![]() ![]() |
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 | |||||
![]() ![]() |
0..* | Resource | Contained, inline Resources | |||||
![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored | ||||
![]() ![]() |
Σ | 0..* | Identifier | External Ids for this item | ||||
![]() ![]() |
Σ | 0..* | CodeableConcept | A broad categorization of the service that is to be performed during this appointment Binding: ServiceCategory (example) | ||||
![]() ![]() |
Σ | 0..* | CodeableConcept | The type of appointments that can be booked into this slot (ideally this would be an identifiable service - which is at a location, rather than the location itself). If provided then this overrides the value provided on the availability resource Binding: ServiceType (example) | ||||
![]() ![]() |
Σ | 0..* | CodeableConcept | The specialty of a practitioner that would be required to perform the service requested in this appointment Binding: PracticeSettingCodeValueSet (preferred): Additional details about where the content was created (e.g. clinical specialty). | ||||
![]() ![]() |
Σ | 0..1 | CodeableConcept | The style of appointment or patient that may be booked in the slot (not service type) Binding: hl7VS-appointmentReasonCodes (preferred) | ||||
![]() ![]() |
SΣ | 1..1 | Reference(Schedule) | The schedule resource that this slot defines an interval of status information | ||||
![]() ![]() |
SΣ | 1..1 | code | busy | free | busy-unavailable | busy-tentative | entered-in-error Binding: SlotStatus (required): The free/busy status of the slot. Fixed Value: free | ||||
![]() ![]() |
SΣ | 1..1 | instant | Date/Time that the slot is to begin | ||||
![]() ![]() |
SΣ | 1..1 | instant | Date/Time that the slot is to conclude | ||||
![]() ![]() |
0..1 | boolean | This slot has already been overbooked, appointments are unlikely to be accepted for this time | |||||
![]() ![]() |
0..1 | string | Comments on the slot to describe any extended information. Such as custom constraints on the slot | |||||
Documentation for this format | ||||||||
| Path | Conformance | ValueSet / Code | URI | |||
| Slot.language | preferred | CommonLanguageshttp://hl7.org/fhir/ValueSet/languagesFrom the FHIR Standard
| ||||
| Slot.serviceCategory | example | ServiceCategoryhttp://hl7.org/fhir/ValueSet/service-categoryFrom the FHIR Standard | ||||
| Slot.serviceType | example | ServiceTypehttp://hl7.org/fhir/ValueSet/service-typeFrom the FHIR Standard | ||||
| Slot.specialty | preferred | PracticeSettingCodeValueSethttp://hl7.org/fhir/ValueSet/c80-practice-codesFrom the FHIR Standard | ||||
| Slot.appointmentType | preferred | Hl7VSAppointmentReasonCodeshttp://terminology.hl7.org/ValueSet/v2-0276 | ||||
| Slot.status | required | Fixed Value: freehttp://hl7.org/fhir/ValueSet/slotstatus|4.0.1From the FHIR Standard |
| Id | Grade | Path(s) | Details | Requirements |
| dom-2 | error | Slot | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
| dom-3 | error | Slot | 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().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty() | |
| dom-4 | error | Slot | 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 | Slot | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
| dom-6 | best practice | Slot | 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 Slot
Other representations of profile: CSV, Excel, Schematron