This
page
is
part
of
the
FHIR
Specification
(v3.0.2:
(v4.0.1:
R4
-
Mixed
Normative
and
STU
3).
)
in
it's
permanent
home
(it
will
always
be
available
at
this
URL).
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
R4
R3
R2
Patient
Administration
Work
Group
|
Maturity Level : 3 | Trial Use | Security Category : Business | Compartments : Not linked to any defined compartments |
A slot of time on a schedule that may be available for booking appointments.
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.
Slots
can
also
be
marked
as
busy
without
having
appointments
associated.
A slot can have more than one appointment allocated to it. A scheduling system may permit multiple allocations up to a specific number of places. An example of this type of usage could be where the slot is being used for a group service that permits 5 participants at the same time.
A slot can be marked as over-booked indicating that there are too many appointments allocated to it.
In
some
situations
a
service
may
have
a
specific
set
of
slots
reserved
for
specific
uses,
such
as
"walk-ins"
"walk-ins"
or
a
specific
organization
has
a
"standing
booking"
"standing
booking"
for
Thursday
mornings.
These
should
be
represented
using
the
appointmentType
field
with
a
specified
and
agreed
value.
Security
Permissions
or
specific
business
rules
on
the
system
could
enforce
that
only
eligible
appointments
are
allocated
to
them.
If
a
service
had
a
weekly
schedule
created
that
permitted
eight
1
hour
appointments
each
day
of
a
working
week
(Monday
-
Friday),
this
would
be
constructed
by
a
single
Schedule
resource
with
the
dates
for
the
start
and
end
of
the
week
set,
and
then
40
(5x8)
Slot
resources
associated
with
it.
As
appointments
fill
up
the
schedule,
these
slots
would
individually
be
marked
as
busy
as
the
appointments
are
filled
into
the
slots.
The
slots
in
a
schedule
do
not
need
to
be
the
same
size,
and
can
be
different
for
different
days
of
the
week.
Slot instances do not have any recurrence information included. If recurring information is desired, this will be managed outside these resources, or included as extensions.
Note that booking an appointment does not necessarily require that slot resources be identified. When attempting to book an appointment, if the requestor knows ahead of time which schedulable resources are required, then identifying individual slots from the resources' schedules prior to creating the appointment is appropriate. However, in some medical scheduling scenarios, determining which resources are required for an appointment is very complex, and options other than using schedule+slot may be a better solution.
This
resource
is
referenced
by
appointment
Appointment
Structure
| Name | Flags | Card. | Type |
Description
&
Constraints
|
|---|---|---|---|---|
|
TU | DomainResource |
A
slot
of
time
on
a
schedule
that
may
be
available
for
booking
appointments
Elements defined in Ancestors: id , meta , implicitRules , language , text , contained , extension , modifierExtension |
|
|
Σ | 0..* | Identifier |
External
Ids
for
this
item
|
|
Σ |
|
CodeableConcept |
A
broad
|
|
Σ | 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
|
|
Σ | 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 ) |
|
Σ | 0..1 | CodeableConcept |
The
style
of
appointment
or
patient
that
may
be
booked
in
the
slot
(not
service
type)
v2 Appointment |
|
Σ | 1..1 | Reference ( Schedule ) | The schedule resource that this slot defines an interval of status information |
|
Σ | 1..1 | code |
busy
|
free
|
busy-unavailable
|
busy-tentative
|
entered-in-error
SlotStatus ( Required ) |
|
Σ | 1..1 | instant | Date/Time that the slot is to begin |
|
Σ | 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
|
||||
UML Diagram ( Legend )
XML Template
<<Slot 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>
<</serviceCategory><serviceCategory><!-- 0..* CodeableConcept A broad categorization of the service that is to be performed during this appointment --></serviceCategory> <serviceType><!-- 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 --></serviceType> <specialty><!-- 0..* CodeableConcept The specialty of a practitioner that would be required to perform the service requested in this appointment --></specialty> <appointmentType><!-- 0..1 CodeableConcept The style of appointment or patient that may be booked in the slot (not service type) --></appointmentType> <schedule><!-- 1..1 Reference(Schedule) The schedule resource that this slot defines an interval of status information --></schedule>< < < < <<status value="[code]"/><!-- 1..1 busy | free | busy-unavailable | busy-tentative | entered-in-error --> <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 --> </Slot>
JSON Template
{
"resourceType" : "",
"resourceType" : "Slot",
// from Resource: id, meta, implicitRules, and language
// from DomainResource: text, contained, extension, and modifierExtension
"
"
"
"
"
"
"
"
"
"
"
"identifier" : [{ Identifier }], // External Ids for this item
"serviceCategory" : [{ CodeableConcept }], // A broad categorization of the service that is to be performed during this appointment
"serviceType" : [{ 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
"specialty" : [{ CodeableConcept }], // The specialty of a practitioner that would be required to perform the service requested in this appointment
"appointmentType" : { CodeableConcept }, // The style of appointment or patient that may be booked in the slot (not service type)
"schedule" : { Reference(Schedule) }, // R! The schedule resource that this slot defines an interval of status information
"status" : "<code>", // R! busy | free | busy-unavailable | busy-tentative | entered-in-error
"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
}
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> .[ a fhir:Slot; 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:Slot.identifier [ Identifier ], ... ; # 0..* External Ids for this item
fhir:fhir:Slot.serviceCategory [ CodeableConcept ], ... ; # 0..* A broad categorization of the service that is to be performed during this appointment fhir:Slot.serviceType [ CodeableConcept ], ... ; # 0..* 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 fhir:Slot.specialty [ CodeableConcept ], ... ; # 0..* The specialty of a practitioner that would be required to perform the service requested in this appointment fhir:Slot.appointmentType [ CodeableConcept ]; # 0..1 The style of appointment or patient that may be booked in the slot (not service type) fhir:Slot.schedule [ Reference(Schedule) ]; # 1..1 The schedule resource that this slot defines an interval of status information fhir:Slot.status [ code ]; # 1..1 busy | free | busy-unavailable | busy-tentative | entered-in-error fhir:Slot.start [ instant ]; # 1..1 Date/Time that the slot is to begin fhir:Slot.end [ instant ]; # 1..1 Date/Time that the slot is to conclude fhir:Slot.overbooked [ boolean ]; # 0..1 This slot has already been overbooked, appointments are unlikely to be accepted for this time fhir:Slot.comment [ string ]; # 0..1 Comments on the slot to describe any extended information. Such as custom constraints on the slot ]
Changes
since
DSTU2
R3
| Slot |
|
|
|
|
| Slot.status |
|
See the Full Difference for further information
This analysis is available as XML or JSON .
See
R2
<-->
R3
<-->
R4
Conversion
Maps
(status
=
4
tests
that
all
execute
ok.
All
tests
pass
round-trip
testing
and
all
r3
resources
are
valid.).
valid.)
Structure
| Name | Flags | Card. | Type |
Description
&
Constraints
|
|---|---|---|---|---|
|
TU | DomainResource |
A
slot
of
time
on
a
schedule
that
may
be
available
for
booking
appointments
Elements defined in Ancestors: id , meta , implicitRules , language , text , contained , extension , modifierExtension |
|
|
Σ | 0..* | Identifier |
External
Ids
for
this
item
|
|
Σ |
|
CodeableConcept |
A
broad
|
|
Σ | 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
|
|
Σ | 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 ) |
|
Σ | 0..1 | CodeableConcept |
The
style
of
appointment
or
patient
that
may
be
booked
in
the
slot
(not
service
type)
v2 Appointment |
|
Σ | 1..1 | Reference ( Schedule ) | The schedule resource that this slot defines an interval of status information |
|
Σ | 1..1 | code |
busy
|
free
|
busy-unavailable
|
busy-tentative
|
entered-in-error
SlotStatus ( Required ) |
|
Σ | 1..1 | instant | Date/Time that the slot is to begin |
|
Σ | 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
|
||||
XML Template
<<Slot 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>
<</serviceCategory><serviceCategory><!-- 0..* CodeableConcept A broad categorization of the service that is to be performed during this appointment --></serviceCategory> <serviceType><!-- 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 --></serviceType> <specialty><!-- 0..* CodeableConcept The specialty of a practitioner that would be required to perform the service requested in this appointment --></specialty> <appointmentType><!-- 0..1 CodeableConcept The style of appointment or patient that may be booked in the slot (not service type) --></appointmentType> <schedule><!-- 1..1 Reference(Schedule) The schedule resource that this slot defines an interval of status information --></schedule>< < < < <<status value="[code]"/><!-- 1..1 busy | free | busy-unavailable | busy-tentative | entered-in-error --> <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 --> </Slot>
JSON Template
{
"resourceType" : "",
"resourceType" : "Slot",
// from Resource: id, meta, implicitRules, and language
// from DomainResource: text, contained, extension, and modifierExtension
"
"
"
"
"
"
"
"
"
"
"
"identifier" : [{ Identifier }], // External Ids for this item
"serviceCategory" : [{ CodeableConcept }], // A broad categorization of the service that is to be performed during this appointment
"serviceType" : [{ 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
"specialty" : [{ CodeableConcept }], // The specialty of a practitioner that would be required to perform the service requested in this appointment
"appointmentType" : { CodeableConcept }, // The style of appointment or patient that may be booked in the slot (not service type)
"schedule" : { Reference(Schedule) }, // R! The schedule resource that this slot defines an interval of status information
"status" : "<code>", // R! busy | free | busy-unavailable | busy-tentative | entered-in-error
"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
}
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> .[ a fhir:Slot; 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:Slot.identifier [ Identifier ], ... ; # 0..* External Ids for this item
fhir:fhir:Slot.serviceCategory [ CodeableConcept ], ... ; # 0..* A broad categorization of the service that is to be performed during this appointment fhir:Slot.serviceType [ CodeableConcept ], ... ; # 0..* 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 fhir:Slot.specialty [ CodeableConcept ], ... ; # 0..* The specialty of a practitioner that would be required to perform the service requested in this appointment fhir:Slot.appointmentType [ CodeableConcept ]; # 0..1 The style of appointment or patient that may be booked in the slot (not service type) fhir:Slot.schedule [ Reference(Schedule) ]; # 1..1 The schedule resource that this slot defines an interval of status information fhir:Slot.status [ code ]; # 1..1 busy | free | busy-unavailable | busy-tentative | entered-in-error fhir:Slot.start [ instant ]; # 1..1 Date/Time that the slot is to begin fhir:Slot.end [ instant ]; # 1..1 Date/Time that the slot is to conclude fhir:Slot.overbooked [ boolean ]; # 0..1 This slot has already been overbooked, appointments are unlikely to be accepted for this time fhir:Slot.comment [ string ]; # 0..1 Comments on the slot to describe any extended information. Such as custom constraints on the slot ]
Changes
since
DSTU2
Release
3
| Slot |
|
|
|
|
| Slot.status |
|
See the Full Difference for further information
This analysis is available as XML or JSON .
See
R2
<-->
R3
<-->
R4
Conversion
Maps
(status
=
4
tests
that
all
execute
ok.
All
tests
pass
round-trip
testing
and
all
r3
resources
are
valid.).
valid.)
Alternate
See
the
Profiles
&
Extensions
and
the
alternate
definitions:
Master
Definition
(
XML
,
+
JSON
),
,
XML
Schema
/
Schematron
(for
)
+
JSON
Schema
,
ShEx
(for
Turtle
)
+
see
the
extensions
&
the
dependency
analysis
| Path | Definition | Type | Reference |
|---|---|---|---|
| Slot.serviceCategory | Example | ServiceCategory | |
| Slot.serviceType | Example | ServiceType | |
| Slot.specialty | Additional details about where the content was created (e.g. clinical specialty). | Preferred |
|
| Slot.appointmentType | Preferred |
|
|
| Slot.status | The free/busy status of the slot. | Required | SlotStatus |
There
is
a
strong
desire
that
implementers
of
this
resource
should
consider
providing
the
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
.
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 | Expression | In Common |
| appointment-type | token | The style of appointment or patient that may be booked in the slot (not service type) | Slot.appointmentType | |
| identifier | token | A Slot Identifier | Slot.identifier | |
| schedule | reference | The Schedule Resource that we are seeking a slot within |
Slot.schedule
( Schedule ) |
|
|
| token | A broad categorization of the service that is to be performed during this appointment | Slot.serviceCategory | |
| service-type | token | The type of appointments that can be booked into the slot | Slot.serviceType | |
| specialty | token | The specialty of a practitioner that would be required to perform the service requested in this appointment | Slot.specialty | |
| start | date | Appointment date/time. | Slot.start | |
| status | token | The free/busy status of the appointment | Slot.status |