0.1.0 - trial-use

KisimScheduling - Local Development build (v0.1.0). See the Directory of published versions

Resource Profile: KisimSchedulingSlot ( Experimental )

Official URL: http://fhir.kisimdocs.ch/ig/KisimScheduling/StructureDefinition/KisimSchedulingSlot Version: 0.1.0
Draft as of 2022-09-05 Computable Name: KisimSchedulingSlot

A fairly dynamic implementation of the Slot Ressource which is not valid longer than x minutes

Scope and Usage

Slots are searched by the custom operation searchSlotByPlan. Found slots are only kept on the server for a specific time. After that, the slots are deleted and are not accessible anymore. The reason for that is, that the bookable resources on the server are accessed from different systems. Therefore, the validity for a slot is quite short-lived.

Usage:

  • This Resource Profile is not used by any profiles in this Implementation Guide

Formal Views of Profile Content

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

This structure is derived from Slot

Summary

This structure is derived from Slot

NameFlagsCard.TypeDescription & Constraintsdoco
.. Slot 0..*SlotA slot of time on a schedule that may be available for booking appointments

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. Slot 0..*SlotA slot of time on a schedule that may be available for booking appointments
... id Σ0..1stringLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier Σ0..*IdentifierExternal Ids for this item
... serviceCategory Σ0..*CodeableConceptA broad categorization of the service that is to be performed during this appointment
Binding: ServiceCategory (example)
... serviceType Σ0..*CodeableConceptThe 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)
... specialty Σ0..*CodeableConceptThe 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).


... appointmentType Σ0..1CodeableConceptThe style of appointment or patient that may be booked in the slot (not service type)
Binding: hl7VS-appointmentReasonCodes (preferred)
... schedule Σ1..1Reference(Schedule)The schedule resource that this slot defines an interval of status information
... status Σ1..1codebusy | free | busy-unavailable | busy-tentative | entered-in-error
Binding: SlotStatus (required): The free/busy status of the slot.

... start Σ1..1instantDate/Time that the slot is to begin
... end Σ1..1instantDate/Time that the slot is to conclude
... overbooked 0..1booleanThis slot has already been overbooked, appointments are unlikely to be accepted for this time
... comment 0..1stringComments on the slot to describe any extended information. Such as custom constraints on the slot

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. Slot 0..*SlotA slot of time on a schedule that may be available for booking appointments

doco Documentation for this format

This structure is derived from Slot

Summary

Differential View

This structure is derived from Slot

NameFlagsCard.TypeDescription & Constraintsdoco
.. Slot 0..*SlotA slot of time on a schedule that may be available for booking appointments

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Slot 0..*SlotA slot of time on a schedule that may be available for booking appointments
... id Σ0..1stringLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier Σ0..*IdentifierExternal Ids for this item
... serviceCategory Σ0..*CodeableConceptA broad categorization of the service that is to be performed during this appointment
Binding: ServiceCategory (example)
... serviceType Σ0..*CodeableConceptThe 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)
... specialty Σ0..*CodeableConceptThe 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).


... appointmentType Σ0..1CodeableConceptThe style of appointment or patient that may be booked in the slot (not service type)
Binding: hl7VS-appointmentReasonCodes (preferred)
... schedule Σ1..1Reference(Schedule)The schedule resource that this slot defines an interval of status information
... status Σ1..1codebusy | free | busy-unavailable | busy-tentative | entered-in-error
Binding: SlotStatus (required): The free/busy status of the slot.

... start Σ1..1instantDate/Time that the slot is to begin
... end Σ1..1instantDate/Time that the slot is to conclude
... overbooked 0..1booleanThis slot has already been overbooked, appointments are unlikely to be accepted for this time
... comment 0..1stringComments on the slot to describe any extended information. Such as custom constraints on the slot

doco Documentation for this format

 

Other representations of profile: CSV, Excel, Schematron

Terminology Bindings

PathConformanceValueSet
Slot.languagepreferredCommonLanguages
Max Binding: AllLanguages
Slot.serviceCategoryexampleServiceCategory
Slot.serviceTypeexampleServiceType
Slot.specialtypreferredPracticeSettingCodeValueSet
Slot.appointmentTypepreferredHl7VSAppointmentReasonCodes
Slot.statusrequiredSlotStatus

Constraints

IdGradePathDetailsRequirements
dom-2errorSlotIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorSlotIf 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-4errorSlotIf 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-5errorSlotIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6Best PracticeSlotA resource should have narrative for robust management
: text.`div`.exists()
ele-1errorSlot.metaAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorSlot.implicitRulesAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorSlot.languageAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorSlot.textAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorSlot.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorSlot.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorSlot.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorSlot.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorSlot.identifierAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorSlot.serviceCategoryAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorSlot.serviceTypeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorSlot.specialtyAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorSlot.appointmentTypeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorSlot.scheduleAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorSlot.statusAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorSlot.startAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorSlot.endAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorSlot.overbookedAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorSlot.commentAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())