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.26 Resource Schedule - Content

This resource maintained by the Patient Administration Work Group

A container for slot(s) of time that may be available for booking appointments.

5.26.1 Scope and Usage

Need to describe Searching for "Schedule's" that belong to a HealthcareService using Categories, or where using pracitioners or locations as the actor, then the "type" field is expected to be used to store the service categories. Advice to use as an actor.

Also consider

5.26.2 Scope and Usage

Schedule resources provide a container for time-slots that can be booked using an appointment, It provides the window of time (period) that slots are defined for and what type of appointments can be booked. They do not provide any information about actual appointments.

In HL7 v2.7 (and the RIM) this resource is defined as a schedule (which in fhir is a simple recurrence):

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, joining the information in slot resources that reference this Schedule resource.

This resource is referenced by [Slot]

5.26.3 Resource Content

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. Schedule DomainResourceA container for slot(s) of time that may be available for booking appointments
... identifier 0..*IdentifierExternal Ids for this item
... type 0..*CodeableConceptThe schedule type can be used for the categorization of healthcare services or other appointment types
ActType (Incomplete)
... actor 1..1AnyThe resource this Schedule resource is providing availability information for. These are expected to usually be one of HealthcareService, Location, Practitioner, Device, Patient or RelatedPerson
... planningHorizon 0..1PeriodThe period of time that the slots that are attached to this Schedule resource cover (even if none exist). These cover the amount of time that an organization's planning horizon; the interval for which they are currently accepting appointments. This does not define a "template" for planning outside these dates
... comment 0..1stringComments on the availability to describe any extended information. Such as custom constraints on the slot(s) that may be associated
... lastModified 0..1dateTimeWhen this Schedule was created, or last revised

XML Template

<Schedule 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..* CodeableConcept The schedule type can be used for the categorization of healthcare services or other appointment types --></type>
 <actor><!-- 1..1 Reference(Any) 
     The resource this Schedule resource is providing availability information for. These are expected to usually be one of HealthcareService, Location, Practitioner, Device, Patient or RelatedPerson --></actor>
 <planningHorizon><!-- 0..1 Period 
     The period of time that the slots that are attached to this Schedule resource cover (even if none exist). These  cover the amount of time that an organization's planning horizon; the interval for which they are currently accepting appointments. This does not define a "template" for planning outside these dates --></planningHorizon>
 <comment value="[string]"/><!-- 0..1 
     Comments on the availability to describe any extended information. Such as custom constraints on the slot(s) that may be associated -->
 <lastModified value="[dateTime]"/><!-- 0..1 When this Schedule was created, or last revised -->
</Schedule>

JSON Template

{doco
  "resourceType" : "Schedule",
  // from Resource: id, meta, implicitRules, and language
  // from DomainResource: text, contained, extension, and modifierExtension
  "identifier" : [{ Identifier }], // External Ids for this item
  "type" : [{ CodeableConcept }], // The schedule type can be used for the categorization of healthcare services or other appointment types
  "actor" : { Reference(Any) }, // R! 
     The resource this Schedule resource is providing availability information for. These are expected to usually be one of HealthcareService, Location, Practitioner, Device, Patient or RelatedPerson
  "planningHorizon" : { Period }, // 
     The period of time that the slots that are attached to this Schedule resource cover (even if none exist). These  cover the amount of time that an organization's planning horizon; the interval for which they are currently accepting appointments. This does not define a "template" for planning outside these dates
  "comment" : "<string>", // 
     Comments on the availability to describe any extended information. Such as custom constraints on the slot(s) that may be associated
  "lastModified" : "<dateTime>" // When this Schedule was created, or last revised
}

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. Schedule DomainResourceA container for slot(s) of time that may be available for booking appointments
... identifier 0..*IdentifierExternal Ids for this item
... type 0..*CodeableConceptThe schedule type can be used for the categorization of healthcare services or other appointment types
ActType (Incomplete)
... actor 1..1AnyThe resource this Schedule resource is providing availability information for. These are expected to usually be one of HealthcareService, Location, Practitioner, Device, Patient or RelatedPerson
... planningHorizon 0..1PeriodThe period of time that the slots that are attached to this Schedule resource cover (even if none exist). These cover the amount of time that an organization's planning horizon; the interval for which they are currently accepting appointments. This does not define a "template" for planning outside these dates
... comment 0..1stringComments on the availability to describe any extended information. Such as custom constraints on the slot(s) that may be associated
... lastModified 0..1dateTimeWhen this Schedule was created, or last revised

XML Template

<Schedule 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..* CodeableConcept The schedule type can be used for the categorization of healthcare services or other appointment types --></type>
 <actor><!-- 1..1 Reference(Any) 
     The resource this Schedule resource is providing availability information for. These are expected to usually be one of HealthcareService, Location, Practitioner, Device, Patient or RelatedPerson --></actor>
 <planningHorizon><!-- 0..1 Period 
     The period of time that the slots that are attached to this Schedule resource cover (even if none exist). These  cover the amount of time that an organization's planning horizon; the interval for which they are currently accepting appointments. This does not define a "template" for planning outside these dates --></planningHorizon>
 <comment value="[string]"/><!-- 0..1 
     Comments on the availability to describe any extended information. Such as custom constraints on the slot(s) that may be associated -->
 <lastModified value="[dateTime]"/><!-- 0..1 When this Schedule was created, or last revised -->
</Schedule>

JSON Template

{doco
  "resourceType" : "Schedule",
  // from Resource: id, meta, implicitRules, and language
  // from DomainResource: text, contained, extension, and modifierExtension
  "identifier" : [{ Identifier }], // External Ids for this item
  "type" : [{ CodeableConcept }], // The schedule type can be used for the categorization of healthcare services or other appointment types
  "actor" : { Reference(Any) }, // R! 
     The resource this Schedule resource is providing availability information for. These are expected to usually be one of HealthcareService, Location, Practitioner, Device, Patient or RelatedPerson
  "planningHorizon" : { Period }, // 
     The period of time that the slots that are attached to this Schedule resource cover (even if none exist). These  cover the amount of time that an organization's planning horizon; the interval for which they are currently accepting appointments. This does not define a "template" for planning outside these dates
  "comment" : "<string>", // 
     Comments on the availability to describe any extended information. Such as custom constraints on the slot(s) that may be associated
  "lastModified" : "<dateTime>" // When this Schedule was created, or last revised
}

 

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

5.26.3.1 Terminology Bindings

PathDefinitionTypeReference
Schedule.type The schedule type can be used for the categorization of healthcare services or other appointment types (This is an example set, not an incomplete - TO BE UDPATED)Incompletehttp://hl7.org/fhir/v3/vs/ActCode

5.26.4 Notes:

  • 5.26.4.1 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.26.4.2 Slots - not a contained resource

    Due to the dynamic nature of slots they are not included as a part of this resource.

    It is anticipated that this resource is likely to be updated intermittently when the scope of slots is changed, i.e. to change the period of slots in the planning horizon. This could be performed each night to move the start and end date forward to keep the planning horizon as exactly 4 weeks.

    The slot resource however is anticipated to be updated regularly as the appointments that reference it are changed.

5.26.5 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
actorreferenceThe individual(HealthcareService, Practitioner, Location, ...) to find a Schedule forSchedule.actor
(Any)
datedateSearch for Schedule resources that have a period that contains this date specifiedSchedule.planningHorizon
typetokenThe type of appointments that can be booked into associated slot(s)Schedule.type