This
page
is
part
of
the
FHIR
Specification
(v1.8.0:
STU
3
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
Patient
Administration
Work
Group
|
Maturity Level : 1 | Compartments : Device , Patient , Practitioner , RelatedPerson |
A container for slot(s) of time that may be available for booking appointments.
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.
The
schedule
does
not
provide
any
information
about
actual
appointments.
This
separation
also
greatly
assists
where
access
to
the
appointments
would
not
be
permitted
for
security
or
privacy
reasons,
and
still
being
able
to
determine
if
an
appointment
might
be
available.
Note: A schedule is not used for the delivery of medication, that is the Timing data type.
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 provision 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 provision 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.
The schedule belongs to a single owner, the actor. This is normally a HealthcareService, Practitioner, Location or Device. When booking an appointment, multiple schedules may need to be checked depending on the configuration of the system.
If
an
appointment
has
2
practitioners,
a
specific
medical
device
and
a
room
then
there
could
be
a
schedule
for
each
of
these
resources
that
may
need
to
be
consulted
to
ensure
that
no
collisions
occur.
If
the
schedule
needed
to
be
consulted,
then
there
would
be
one
created
covering
the
planning
horizon
for
the
time
of
the
appointment.
When checking availability for an appointment, the creator of the appointment should check that the see what schedules are applicable, then check for available slots within these schedules.
The searching could be done via the properties of the referenced actors, such as the ServiceCategory on the HealthcareService, or the Address on a Location.
The
type
property
can
be
used
to
filter
the
types
of
appointments
that
can
be
booked
within
the
appointment.
These
can
be
filtered
down
further
by
specifying
types
on
the
slots
too.
The
terminology
bound
to
this
property
will
be
the
same
as
that
used
on
appointment
and
slot
too.
If
all
slots
are
busy,
the
caller
could
find
some
slots
that
they
believe
are
close
enough,
and
request
for
the
appointment
in
these
slot(s)
(the
appointment
may
be
given
a
higher
precedence
and
allocated
in
an
overbooked
status
if
business
rules
permit)
This resource is referenced by slot
Structure
| Name | Flags | Card. | Type |
Description
&
Constraints
|
|---|---|---|---|---|
|
DomainResource | A container for slot(s) of time that may be available for booking appointments | ||
|
Σ | 0..* | Identifier | External Ids for this item |
|
?! Σ | 0..1 | boolean | Whether this schedule is in active use |
|
Σ | 0..1 | CodeableConcept |
A
broad
categorisation
of
the
service
that
is
to
be
performed
during
this
appointment
ServiceCategory ( Example ) |
|
Σ | 0..* | CodeableConcept |
The
specific
service
that
is
to
be
performed
during
this
appointment
ServiceType ( Example ) |
|
Σ | 0..* | CodeableConcept |
The
specialty
of
a
practitioner
that
would
be
required
to
perform
the
service
requested
in
this
appointment
Practice Setting Code Value Set ( Preferred ) |
|
Σ | 1..1 | Reference ( Patient | Practitioner | RelatedPerson | Device | HealthcareService | Location ) | 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 |
|
Σ | 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 |
|
0..1 | string | Comments on the availability to describe any extended information. Such as custom constraints on the slot(s) that may be associated | |
Documentation
for
this
format
|
||||
UML Diagram ( Legend )
XML Template
<Schedule xmlns="http://hl7.org/fhir"><!-- from Resource: id, meta, implicitRules, and language --> <!-- from DomainResource: text, contained, extension, and modifierExtension --> <identifier><!-- 0..* Identifier External Ids for this item --></identifier> <active value="[boolean]"/><!-- 0..1 Whether this schedule is in active use --> <serviceCategory><!-- 0..1 CodeableConcept A broad categorisation of the service that is to be performed during this appointment --></serviceCategory> <serviceType><!-- 0..* CodeableConcept The specific service that is to be performed during this appointment --></serviceType> <specialty><!-- 0..* CodeableConcept The specialty of a practitioner that would be required to perform the service requested in this appointment --></specialty> <actor><!-- 1..1 Reference(Patient|Practitioner|RelatedPerson|Device| HealthcareService|Location) 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 --> </Schedule>
JSON Template
{
"resourceType" : "Schedule",
// from Resource: id, meta, implicitRules, and language
// from DomainResource: text, contained, extension, and modifierExtension
"identifier" : [{ Identifier }], // External Ids for this item
"active" : <boolean>, // Whether this schedule is in active use
"serviceCategory" : { CodeableConcept }, // A broad categorisation of the service that is to be performed during this appointment
"serviceType" : [{ CodeableConcept }], // The specific service that is to be performed during this appointment
"specialty" : [{ CodeableConcept }], // The specialty of a practitioner that would be required to perform the service requested in this appointment
"actor" : { Reference(Patient|Practitioner|RelatedPerson|Device|
HealthcareService|Location) }, // 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
}
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> .[ a fhir:Schedule; fhir:nodeRole fhir:treeRoot; # if this is the parser root # from Resource: .id, .meta, .implicitRules, and .language # from DomainResource: .text, .contained, .extension, and .modifierExtension fhir:Schedule.identifier [ Identifier ], ... ; # 0..* External Ids for this item fhir:Schedule.active [ boolean ]; # 0..1 Whether this schedule is in active use fhir:Schedule.serviceCategory [ CodeableConcept ]; # 0..1 A broad categorisation of the service that is to be performed during this appointment fhir:Schedule.serviceType [ CodeableConcept ], ... ; # 0..* The specific service that is to be performed during this appointment fhir:Schedule.specialty [ CodeableConcept ], ... ; # 0..* The specialty of a practitioner that would be required to perform the service requested in this appointment fhir:Schedule.actor [ Reference(Patient|Practitioner|RelatedPerson|Device|HealthcareService|Location) ]; # 1..1 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 fhir:Schedule.planningHorizon [ Period ]; # 0..1 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 fhir:Schedule.comment [ string ]; # 0..1 Comments on the availability to describe any extended information. Such as custom constraints on the slot(s) that may be associated ]
Changes since DSTU2
| Schedule | |
| Schedule.active | added Element |
| Schedule.serviceCategory | added Element |
| Schedule.serviceType | Renamed from type to serviceType |
| Schedule.specialty | added Element |
See the Full Difference for further information
Structure
| Name | Flags | Card. | Type |
Description
&
Constraints
|
|---|---|---|---|---|
|
DomainResource | A container for slot(s) of time that may be available for booking appointments | ||
|
Σ | 0..* | Identifier | External Ids for this item |
|
?! Σ | 0..1 | boolean | Whether this schedule is in active use |
|
Σ | 0..1 | CodeableConcept |
A
broad
categorisation
of
the
service
that
is
to
be
performed
during
this
appointment
ServiceCategory ( Example ) |
|
Σ | 0..* | CodeableConcept |
The
specific
service
that
is
to
be
performed
during
this
appointment
ServiceType ( Example ) |
|
Σ | 0..* | CodeableConcept |
The
specialty
of
a
practitioner
that
would
be
required
to
perform
the
service
requested
in
this
appointment
Practice Setting Code Value Set ( Preferred ) |
|
Σ | 1..1 | Reference ( Patient | Practitioner | RelatedPerson | Device | HealthcareService | Location ) | 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 |
|
Σ | 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 |
|
0..1 | string | Comments on the availability to describe any extended information. Such as custom constraints on the slot(s) that may be associated | |
Documentation
for
this
format
|
||||
XML Template
<Schedule xmlns="http://hl7.org/fhir"><!-- from Resource: id, meta, implicitRules, and language --> <!-- from DomainResource: text, contained, extension, and modifierExtension --> <identifier><!-- 0..* Identifier External Ids for this item --></identifier> <active value="[boolean]"/><!-- 0..1 Whether this schedule is in active use --> <serviceCategory><!-- 0..1 CodeableConcept A broad categorisation of the service that is to be performed during this appointment --></serviceCategory> <serviceType><!-- 0..* CodeableConcept The specific service that is to be performed during this appointment --></serviceType> <specialty><!-- 0..* CodeableConcept The specialty of a practitioner that would be required to perform the service requested in this appointment --></specialty> <actor><!-- 1..1 Reference(Patient|Practitioner|RelatedPerson|Device| HealthcareService|Location) 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 --> </Schedule>
JSON Template
{
"resourceType" : "Schedule",
// from Resource: id, meta, implicitRules, and language
// from DomainResource: text, contained, extension, and modifierExtension
"identifier" : [{ Identifier }], // External Ids for this item
"active" : <boolean>, // Whether this schedule is in active use
"serviceCategory" : { CodeableConcept }, // A broad categorisation of the service that is to be performed during this appointment
"serviceType" : [{ CodeableConcept }], // The specific service that is to be performed during this appointment
"specialty" : [{ CodeableConcept }], // The specialty of a practitioner that would be required to perform the service requested in this appointment
"actor" : { Reference(Patient|Practitioner|RelatedPerson|Device|
HealthcareService|Location) }, // 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
}
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> .[ a fhir:Schedule; fhir:nodeRole fhir:treeRoot; # if this is the parser root # from Resource: .id, .meta, .implicitRules, and .language # from DomainResource: .text, .contained, .extension, and .modifierExtension fhir:Schedule.identifier [ Identifier ], ... ; # 0..* External Ids for this item fhir:Schedule.active [ boolean ]; # 0..1 Whether this schedule is in active use fhir:Schedule.serviceCategory [ CodeableConcept ]; # 0..1 A broad categorisation of the service that is to be performed during this appointment fhir:Schedule.serviceType [ CodeableConcept ], ... ; # 0..* The specific service that is to be performed during this appointment fhir:Schedule.specialty [ CodeableConcept ], ... ; # 0..* The specialty of a practitioner that would be required to perform the service requested in this appointment fhir:Schedule.actor [ Reference(Patient|Practitioner|RelatedPerson|Device|HealthcareService|Location) ]; # 1..1 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 fhir:Schedule.planningHorizon [ Period ]; # 0..1 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 fhir:Schedule.comment [ string ]; # 0..1 Comments on the availability to describe any extended information. Such as custom constraints on the slot(s) that may be associated ]
Changes since DSTU2
| Schedule | |
| Schedule.active | added Element |
| Schedule.serviceCategory | added Element |
| Schedule.serviceType | Renamed from type to serviceType |
| Schedule.specialty | added Element |
See the Full Difference for further information
Alternate definitions: Master Definition ( XML , JSON ), XML Schema / Schematron (for ) + JSON Schema , ShEx (for Turtle ), JSON-LD (for RDF as JSON-LD ),
| Path | Definition | Type | Reference |
|---|---|---|---|
| Schedule.serviceCategory | Example | ServiceCategory | |
| Schedule.serviceType | Example | ServiceType | |
| Schedule.specialty | Additional details about where the content was created (e.g. clinical specialty) | Preferred | Practice Setting Code Value Set |
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
.
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 very regularly as the appointments that reference them are created/updated/cancelled.
Search parameters for this resource. The common parameters also apply. See Searching for more information about searching in REST, messaging, and services.
| Name | Type | Description | Paths | In Common |
| active | token | Is the schedule in active use | Schedule.active | |
| actor | reference | The individual(HealthcareService, Practitioner, Location, ...) to find a Schedule for |
Schedule.actor
( Practitioner , Device , Patient , HealthcareService , RelatedPerson , Location ) |
|
| date | date | Search for Schedule resources that have a period that contains this date specified | Schedule.planningHorizon | |
| identifier | token | A Schedule Identifier | Schedule.identifier | |
| type | token | The type of appointments that can be booked into associated slot(s) | Schedule.serviceType |