Patient
Administration
![]() | 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"
or
a
specific
organization
has
a
"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 .
This resource does not implement any patterns.
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
|
![]() ![]() ![]() | Σ | 0..* | CodeableConcept |
A
broad
categorization
of
the
service
that
is
to
be
performed
during
this
appointment
|
![]() ![]() ![]() | Σ | 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
![]() |
![]() ![]() ![]() | Σ | 0..1 | CodeableConcept |
The
style
of
appointment
or
patient
that
may
be
booked
in
the
slot
(not
service
type)
![]() |
![]() ![]() ![]() | Σ | 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 | |
![]() |
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><!-- 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> <</appointmentType><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" : "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: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 R3
Slot | |
|
|
See the Full Difference for further information
This analysis is available as XML or JSON .
See R3 <--> R4 Conversion Maps (status = 4 tests that all execute ok. All tests pass round-trip testing and all r3 resources are 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
|
![]() ![]() ![]() | Σ | 0..* | CodeableConcept |
A
broad
categorization
of
the
service
that
is
to
be
performed
during
this
appointment
|
![]() ![]() ![]() | Σ | 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
![]() |
![]() ![]() ![]() | Σ | 0..1 | CodeableConcept |
The
style
of
appointment
or
patient
that
may
be
booked
in
the
slot
(not
service
type)
![]() |
![]() ![]() ![]() | Σ | 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 | |
![]() |
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><!-- 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> <</appointmentType><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" : "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: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 Release 3
Slot | |
|
|
See the Full Difference for further information
This analysis is available as XML or JSON .
See R3 <--> R4 Conversion Maps (status = 4 tests that all execute ok. All tests pass round-trip testing and all r3 resources are valid.)
See the Profiles & Extensions and the alternate definitions: Master Definition XML + JSON , XML Schema / Schematron + JSON Schema , ShEx (for Turtle ) + see the extensions , the spreadsheet version & the dependency analysis a
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 ) | |
service-category | 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 N | date | Appointment date/time. | Slot.start | |
status N | token | The free/busy status of the appointment | Slot.status |