2nd DSTU Draft For Comment

This page is part of the FHIR Specification (v0.4.0: DSTU 2 Draft). The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions . Page versions: R5 R4B R4 R3 R2

5.27 Resource Slot - Content

This resource maintained by the Patient Administration Work Group

A slot of time on a schedule that may be available for booking appointments.

5.27.1 Scope and Usage

Slot resources are used to provide time-slots that can be booked using an appointment. They do not provide any information about appointments that are available, just the time, and optionally what the time can be used for. These are effectively spaces of free/busy time. HL7 v2.7 specifies the slot as a part of a schedule (availability in fhir):

A schedule controls the dates and times available for the performance of a service and/or the use of a resource. One schedule applies to one service or resource, since each service or resource can be reserved independently of the others. (If two or more services, people, locations, or things cannot be reserved independently of one another, they are considered to be one activity or resource.) A schedule consists of slots of time during which the controlled service or resource is potentially available for performance or use. Slots are categorized as open, booked, or blocked. An open slot on a schedule indicates that the service or resource is available for performance or use during that period of time. A booked slot indicates that the service or resource is not available during the time period, because an appointment has been scheduled. A blocked slot indicates that a service or resource is unavailable for reasons other than a scheduled appointment.

The real-world, non-automated analog of the schedule described above is a standard appointment book. These books are generally organized with rows of time slots, during which a service or resource is available.

A slot is one unit on a schedule. A slot represents the smallest unit of time or quantity that a service or resource may be booked. Depending on the nature of the service or resource, there may be more than one defined slot at a given instant of time. For example, if a service is an open group therapy session with twelve available seats, then there are twelve slots for the given block of time.

It is expected that servers could expose this information as an alternate representation using the iCalendar free/busy format.

This resource is referenced by [Appointment]

5.27.2 Resource Content

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. Slot DomainResourceA slot of time on a schedule that may be available for booking appointments
... identifier 0..*IdentifierExternal Ids for this item
... type 0..1CodeableConceptThe 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
... schedule 1..1ScheduleThe schedule resource that this slot defines an interval of status information
... freeBusyType 1..1codeBUSY | FREE | BUSY-UNAVAILABLE | BUSY-TENTATIVE
SlotStatus (Required)
... 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
... lastModified 0..1dateTimeWhen this slot was created, or last revised

XML Template

<Slot xmlns="http://hl7.org/fhir"> doco
 <!-- from Resource: id, meta, implicitRules, and language -->
 <!-- from DomainResource: text, contained, extension, and modifierExtension -->
 <identifier><!-- 0..* Identifier External Ids for this item --></identifier>
 <type><!-- 0..1 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 --></type>
 <schedule><!-- 1..1 Reference(Schedule) 
     The schedule resource that this slot defines an interval of status information --></schedule>
 <freeBusyType value="[code]"/><!-- 1..1 BUSY | FREE | BUSY-UNAVAILABLE | BUSY-TENTATIVE -->
 <start value="[instant]"/><!-- 1..1 Date/Time that the slot is to begin -->
 <end value="[instant]"/><!-- 1..1 Date/Time that the slot is to conclude -->
 <overbooked value="[boolean]"/><!-- 0..1 
     This slot has already been overbooked, appointments are unlikely to be accepted for this time -->
 <comment value="[string]"/><!-- 0..1 
     Comments on the slot to describe any extended information. Such as custom constraints on the slot -->
 <lastModified value="[dateTime]"/><!-- 0..1 When this slot was created, or last revised -->
</Slot>

JSON Template

{doco
  "resourceType" : "Slot",
  // from Resource: id, meta, implicitRules, and language
  // from DomainResource: text, contained, extension, and modifierExtension
  "identifier" : [{ Identifier }], // External Ids for this item
  "type" : { 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
  "schedule" : { Reference(Schedule) }, // R! 
     The schedule resource that this slot defines an interval of status information
  "freeBusyType" : "<code>", // R! BUSY | FREE | BUSY-UNAVAILABLE | BUSY-TENTATIVE
  "start" : "<instant>", // R! Date/Time that the slot is to begin
  "end" : "<instant>", // R! Date/Time that the slot is to conclude
  "overbooked" : <boolean>, // 
     This slot has already been overbooked, appointments are unlikely to be accepted for this time
  "comment" : "<string>", // 
     Comments on the slot to describe any extended information. Such as custom constraints on the slot
  "lastModified" : "<dateTime>" // When this slot was created, or last revised
}

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. Slot DomainResourceA slot of time on a schedule that may be available for booking appointments
... identifier 0..*IdentifierExternal Ids for this item
... type 0..1CodeableConceptThe 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
... schedule 1..1ScheduleThe schedule resource that this slot defines an interval of status information
... freeBusyType 1..1codeBUSY | FREE | BUSY-UNAVAILABLE | BUSY-TENTATIVE
SlotStatus (Required)
... 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
... lastModified 0..1dateTimeWhen this slot was created, or last revised

XML Template

<Slot xmlns="http://hl7.org/fhir"> doco
 <!-- from Resource: id, meta, implicitRules, and language -->
 <!-- from DomainResource: text, contained, extension, and modifierExtension -->
 <identifier><!-- 0..* Identifier External Ids for this item --></identifier>
 <type><!-- 0..1 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 --></type>
 <schedule><!-- 1..1 Reference(Schedule) 
     The schedule resource that this slot defines an interval of status information --></schedule>
 <freeBusyType value="[code]"/><!-- 1..1 BUSY | FREE | BUSY-UNAVAILABLE | BUSY-TENTATIVE -->
 <start value="[instant]"/><!-- 1..1 Date/Time that the slot is to begin -->
 <end value="[instant]"/><!-- 1..1 Date/Time that the slot is to conclude -->
 <overbooked value="[boolean]"/><!-- 0..1 
     This slot has already been overbooked, appointments are unlikely to be accepted for this time -->
 <comment value="[string]"/><!-- 0..1 
     Comments on the slot to describe any extended information. Such as custom constraints on the slot -->
 <lastModified value="[dateTime]"/><!-- 0..1 When this slot was created, or last revised -->
</Slot>

JSON Template

{doco
  "resourceType" : "Slot",
  // from Resource: id, meta, implicitRules, and language
  // from DomainResource: text, contained, extension, and modifierExtension
  "identifier" : [{ Identifier }], // External Ids for this item
  "type" : { 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
  "schedule" : { Reference(Schedule) }, // R! 
     The schedule resource that this slot defines an interval of status information
  "freeBusyType" : "<code>", // R! BUSY | FREE | BUSY-UNAVAILABLE | BUSY-TENTATIVE
  "start" : "<instant>", // R! Date/Time that the slot is to begin
  "end" : "<instant>", // R! Date/Time that the slot is to conclude
  "overbooked" : <boolean>, // 
     This slot has already been overbooked, appointments are unlikely to be accepted for this time
  "comment" : "<string>", // 
     Comments on the slot to describe any extended information. Such as custom constraints on the slot
  "lastModified" : "<dateTime>" // When this slot was created, or last revised
}

 

Alternate definitions: Schema/Schematron, Resource Profile (XML, JSON), Questionnaire

5.27.2.1 Terminology Bindings

PathDefinitionTypeReference
Slot.freeBusyType The free/busy status of an appointmentFixedhttp://hl7.org/fhir/slotstatus

5.27.3 Notes:

  • Interaction with other Standards
  • The strong desire is that implementers of this resource should consider providing this resource in the iCalendar format as an alternative representation. Many 3rd party applications and component providers have parsers and user interface controls to display this information. This may lower the entry point to integrate outside the health-care specific applications, and into the consumer space. This would permit the easier creation of a mobile application that creates appointments in the devices native calendar.
    The iCalendar specification can be found at http://www.ietf.org/rfc/rfc2445.txt.

5.27.4 Search Parameters

Search parameters for this resource. The common parameters also apply. See Searching for more information about searching in REST, messaging, and services.

NameTypeDescriptionPaths
fbtypetokenThe free/busy status of the appointmentSlot.freeBusyType
schedulereferenceThe Schedule Resource that we are seeking a slot withinSlot.schedule
(Schedule)
slottypetokenThe type of appointments that can be booked into the slotSlot.type
startdateAppointment date/time.Slot.start