This page is part of the FHIR Specification (v5.0.0: R5 - STU). This is the current published version in it's permanent home (it will always be available at this URL). For a full list of available versions, see the Directory of published versions . Page versions: R5 R4B R4 R3
Slot.shex
Raw ShEx
ShEx statement for slot
PREFIX fhir: <http://hl7.org/fhir/>
PREFIX fhirvs: <http://hl7.org/fhir/ValueSet/>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
IMPORT <code.shex>
IMPORT <string.shex>
IMPORT <instant.shex>
IMPORT <boolean.shex>
IMPORT <Schedule.shex>
IMPORT <Reference.shex>
IMPORT <Identifier.shex>
IMPORT <DomainResource.shex>
IMPORT <CodeableConcept.shex>
IMPORT <CodeableReference.shex>
start=@<Slot> AND {fhir:nodeRole [fhir:treeRoot]}
# A slot of time on a schedule that may be available for booking appointments
<Slot> EXTENDS @<DomainResource> CLOSED {
a [fhir:Slot]?;
fhir:nodeRole [fhir:treeRoot]?;
fhir:identifier @<OneOrMore_Identifier>?; # External Ids for this item
fhir:serviceCategory @<OneOrMore_CodeableConcept>?; # A broad categorization of the
# service that is to be performed
# during this appointment
fhir:serviceType @<OneOrMore_CodeableReference>?; # 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 Schedule
# resource
fhir:specialty @<OneOrMore_CodeableConcept>?; # The specialty of a practitioner
# that would be required to perform
# the service requested in this
# appointment
fhir:appointmentType @<OneOrMore_CodeableConcept>?; # The style of appointment or
# patient that may be booked in the
# slot (not service type)
fhir:schedule @<Reference> AND {fhir:link
@<Schedule> ? }; # The schedule resource that this
# slot defines an interval of status
# information
fhir:status @<code> AND
{fhir:v @fhirvs:slotstatus}; # busy | free | busy-unavailable |
# busy-tentative | entered-in-error
fhir:start @<instant>; # Date/Time that the slot is to begin
fhir:end @<instant>; # Date/Time that the slot is to
# conclude
fhir:overbooked @<boolean>?; # This slot has already been
# overbooked, appointments are
# unlikely to be accepted for this
# time
fhir:comment @<string>?; # Comments on the slot to describe
# any extended information. Such as
# custom constraints on the slot
}
#---------------------- Cardinality Types (OneOrMore) -------------------
<OneOrMore_Identifier> CLOSED {
rdf:first @<Identifier> ;
rdf:rest [rdf:nil] OR @<OneOrMore_Identifier>
}
<OneOrMore_CodeableConcept> CLOSED {
rdf:first @<CodeableConcept> ;
rdf:rest [rdf:nil] OR @<OneOrMore_CodeableConcept>
}
<OneOrMore_CodeableReference> CLOSED {
rdf:first @<CodeableReference> ;
rdf:rest [rdf:nil] OR @<OneOrMore_CodeableReference>
}
#---------------------- Value Sets ------------------------
# The free/busy status of the slot.
fhirvs:slotstatus ["busy" "free" "busy-unavailable" "busy-tentative" "entered-in-error"]
Usage note: every effort has been made to ensure that the
ShEx files are correct and useful, but they are not a normative part
of the specification.