preBallot - The specification is currently in ballot review and subject to change. . . . For a full list of available versions, see the Directory of published versions
Appointment (CA:eReC)
Links
Profile
Derived from
http://hl7.org/fhir/StructureDefinition/Appointment
Description
The resource involves booking one (or a series) of appointment(s) between the patient and the practitioner(s) for a specific date/time. The encounter may be a scheduled referral or an econsult.
References to this resource
Resource Content
Appointment | Appointment | ||
text | S | ||
status | S | ||
description | S | ||
start | S | ||
end | |||
minutesDuration | |||
created | S | ||
comment | S | ||
patientInstruction | |||
basedOn | S | 1..1 | Reference(ServiceRequest) |
reference | S | ||
identifier | S | ||
use | S | 1.. | |
system | S | 1.. | |
value | S | 1.. | |
participant | S | ||
type | S | ||
actor | S | Reference(Patient | PractitionerRole | Location) | |
reference | S | ||
identifier | S | ||
system | S | 1.. | |
value | S | 1.. |
Appointment | I | Appointment | |
id | Σ | 0..1 | string |
meta | Σ | 0..1 | Meta |
implicitRules | Σ ?! | 0..1 | uri |
language | 0..1 | codeBinding | |
text | S | 0..1 | Narrative |
contained | 0..* | Resource | |
extension | I | 0..* | Extension |
modifierExtension | ?! I | 0..* | Extension |
identifier | Σ | 0..* | Identifier |
status | S Σ ?! | 1..1 | codeBinding |
cancelationReason | Σ | 0..1 | CodeableConcept |
serviceCategory | Σ | 0..* | CodeableConcept |
serviceType | Σ | 0..* | CodeableConcept |
specialty | Σ | 0..* | CodeableConceptBinding |
appointmentType | Σ | 0..1 | CodeableConceptBinding |
reasonCode | Σ | 0..* | CodeableConceptBinding |
reasonReference | 0..* | Reference(Condition | Procedure | Observation | ImmunizationRecommendation) | |
priority | 0..1 | unsignedInt | |
description | S | 0..1 | string |
supportingInformation | 0..* | Reference(Resource) | |
start | S Σ | 0..1 | instant |
end | Σ | 0..1 | instant |
minutesDuration | 0..1 | positiveInt | |
slot | 0..* | Reference(Slot) | |
created | S | 0..1 | dateTime |
comment | S | 0..1 | string |
patientInstruction | 0..1 | string | |
basedOn | S | 1..1 | Reference(ServiceRequest) |
id | 0..1 | string | |
extension | I | 0..* | Extension |
reference | S Σ I | 0..1 | string |
type | Σ | 0..1 | uriBinding |
identifier | S Σ | 0..1 | Identifier |
id | 0..1 | string | |
extension | I | 0..* | Extension |
use | S Σ ?! | 1..1 | codeBinding |
type | Σ | 0..1 | CodeableConceptBinding |
system | S Σ | 1..1 | uri |
value | S Σ | 1..1 | string |
period | Σ | 0..1 | Period |
assigner | Σ | 0..1 | Reference(Organization) |
display | Σ | 0..1 | string |
participant | S I | 1..* | BackboneElement |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
type | S Σ | 0..* | CodeableConceptBinding |
actor | S Σ | 0..1 | Reference(Patient | PractitionerRole | Location) |
id | 0..1 | string | |
extension | I | 0..* | Extension |
reference | S Σ I | 0..1 | string |
type | Σ | 0..1 | uriBinding |
identifier | S Σ | 0..1 | Identifier |
id | 0..1 | string | |
extension | I | 0..* | Extension |
use | Σ ?! | 0..1 | codeBinding |
type | Σ | 0..1 | CodeableConceptBinding |
system | S Σ | 1..1 | uri |
value | S Σ | 1..1 | string |
period | Σ | 0..1 | Period |
assigner | Σ | 0..1 | Reference(Organization) |
display | Σ | 0..1 | string |
required | Σ | 0..1 | codeBinding |
status | Σ | 1..1 | codeBinding |
period | 0..1 | Period | |
requestedPeriod | 0..* | Period |
<StructureDefinition xmlns="http://hl7.org/fhir"> <id value="CA-eReC-Appointment" /> <url value="http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-Appointment" /> <name value="Appointment" /> <status value="draft" /> <description value="The resource involves booking one (or a series) of appointment(s) between the patient and the practitioner(s) for a specific date/time. The encounter may be a scheduled referral or an econsult." /> <fhirVersion value="4.0.1" /> <kind value="resource" /> <abstract value="false" /> <type value="Appointment" /> <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Appointment" /> <derivation value="constraint" /> <differential> <element id="Appointment.text"> <path value="Appointment.text" /> <mustSupport value="true" /> </element> <element id="Appointment.status"> <path value="Appointment.status" /> <mustSupport value="true" /> </element> <element id="Appointment.description"> <path value="Appointment.description" /> <mustSupport value="true" /> </element> <element id="Appointment.start"> <path value="Appointment.start" /> <mustSupport value="true" /> </element> <element id="Appointment.end"> <path value="Appointment.end" /> <comment value="𝗦𝗨𝗣𝗣𝗢𝗥𝗧: One of end or minutesDuration must be supported." /> </element> <element id="Appointment.minutesDuration"> <path value="Appointment.minutesDuration" /> <comment value="𝗦𝗨𝗣𝗣𝗢𝗥𝗧: One of end or minutesDuration must be supported." /> </element> <element id="Appointment.created"> <path value="Appointment.created" /> <mustSupport value="true" /> </element> <element id="Appointment.comment"> <path value="Appointment.comment" /> <mustSupport value="true" /> </element> <element id="Appointment.patientInstruction"> <path value="Appointment.patientInstruction" /> <comment value="If systems are capturing instructions to a patient independently from other comments, they SHOULD use the patientInstruction field." /> </element> <element id="Appointment.basedOn"> <path value="Appointment.basedOn" /> <min value="1" /> <max value="1" /> <type> <code value="Reference" /> <targetProfile value="http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-ServiceRequest" /> </type> <mustSupport value="true" /> </element> <element id="Appointment.basedOn.reference"> <path value="Appointment.basedOn.reference" /> <mustSupport value="true" /> </element> <element id="Appointment.basedOn.identifier"> <path value="Appointment.basedOn.identifier" /> <mustSupport value="true" /> </element> <element id="Appointment.basedOn.identifier.use"> <path value="Appointment.basedOn.identifier.use" /> <min value="1" /> <mustSupport value="true" /> </element> <element id="Appointment.basedOn.identifier.system"> <path value="Appointment.basedOn.identifier.system" /> <min value="1" /> <mustSupport value="true" /> </element> <element id="Appointment.basedOn.identifier.value"> <path value="Appointment.basedOn.identifier.value" /> <min value="1" /> <mustSupport value="true" /> </element> <element id="Appointment.participant"> <path value="Appointment.participant" /> <mustSupport value="true" /> </element> <element id="Appointment.participant.type"> <path value="Appointment.participant.type" /> <mustSupport value="true" /> </element> <element id="Appointment.participant.actor"> <path value="Appointment.participant.actor" /> <type> <code value="Reference" /> <targetProfile value="http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-Patient" /> <targetProfile value="http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-PractitionerRole" /> <targetProfile value="http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-Location" /> </type> <mustSupport value="true" /> </element> <element id="Appointment.participant.actor.reference"> <path value="Appointment.participant.actor.reference" /> <mustSupport value="true" /> </element> <element id="Appointment.participant.actor.identifier"> <path value="Appointment.participant.actor.identifier" /> <mustSupport value="true" /> </element> <element id="Appointment.participant.actor.identifier.system"> <path value="Appointment.participant.actor.identifier.system" /> <min value="1" /> <mustSupport value="true" /> </element> <element id="Appointment.participant.actor.identifier.value"> <path value="Appointment.participant.actor.identifier.value" /> <min value="1" /> <mustSupport value="true" /> </element> </differential> </StructureDefinition>
{ "resourceType": "StructureDefinition", "id": "CA-eReC-Appointment", "url": "http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-Appointment", "name": "Appointment", "status": "draft", "description": "The resource involves booking one (or a series) of appointment(s) between the patient and the practitioner(s) for a specific date/time. The encounter may be a scheduled referral or an econsult.", "fhirVersion": "4.0.1", "kind": "resource", "abstract": false, "type": "Appointment", "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Appointment", "derivation": "constraint", "differential": { "element": [ { "id": "Appointment.text", "path": "Appointment.text", "mustSupport": true }, { "id": "Appointment.status", "path": "Appointment.status", "mustSupport": true }, { "id": "Appointment.description", "path": "Appointment.description", "mustSupport": true }, { "id": "Appointment.start", "path": "Appointment.start", "mustSupport": true }, { "id": "Appointment.end", "path": "Appointment.end", "comment": "𝗦𝗨𝗣𝗣𝗢𝗥𝗧: One of end or minutesDuration must be supported." }, { "id": "Appointment.minutesDuration", "path": "Appointment.minutesDuration", "comment": "𝗦𝗨𝗣𝗣𝗢𝗥𝗧: One of end or minutesDuration must be supported." }, { "id": "Appointment.created", "path": "Appointment.created", "mustSupport": true }, { "id": "Appointment.comment", "path": "Appointment.comment", "mustSupport": true }, { "id": "Appointment.patientInstruction", "path": "Appointment.patientInstruction", "comment": "If systems are capturing instructions to a patient independently from other comments, they SHOULD use the patientInstruction field." }, { "id": "Appointment.basedOn", "path": "Appointment.basedOn", "min": 1, "max": "1", "type": [ { "code": "Reference", "targetProfile": [ "http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-ServiceRequest" ] } ], "mustSupport": true }, { "id": "Appointment.basedOn.reference", "path": "Appointment.basedOn.reference", "mustSupport": true }, { "id": "Appointment.basedOn.identifier", "path": "Appointment.basedOn.identifier", "mustSupport": true }, { "id": "Appointment.basedOn.identifier.use", "path": "Appointment.basedOn.identifier.use", "min": 1, "mustSupport": true }, { "id": "Appointment.basedOn.identifier.system", "path": "Appointment.basedOn.identifier.system", "min": 1, "mustSupport": true }, { "id": "Appointment.basedOn.identifier.value", "path": "Appointment.basedOn.identifier.value", "min": 1, "mustSupport": true }, { "id": "Appointment.participant", "path": "Appointment.participant", "mustSupport": true }, { "id": "Appointment.participant.type", "path": "Appointment.participant.type", "mustSupport": true }, { "id": "Appointment.participant.actor", "path": "Appointment.participant.actor", "type": [ { "code": "Reference", "targetProfile": [ "http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-Patient", "http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-PractitionerRole", "http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-Location" ] } ], "mustSupport": true }, { "id": "Appointment.participant.actor.reference", "path": "Appointment.participant.actor.reference", "mustSupport": true }, { "id": "Appointment.participant.actor.identifier", "path": "Appointment.participant.actor.identifier", "mustSupport": true }, { "id": "Appointment.participant.actor.identifier.system", "path": "Appointment.participant.actor.identifier.system", "min": 1, "mustSupport": true }, { "id": "Appointment.participant.actor.identifier.value", "path": "Appointment.participant.actor.identifier.value", "min": 1, "mustSupport": true } ] } }
Terminology bindings
Constraints
Usage
The Appointment resource is used to represent a meeting planned in response to a ServiceRequest. References to other resources are used to convey the details of the appointment including ServiceRequest the appointment is based on (Appointment.basedOn
) and participants (Appointment.participant.actor
) in the appointment such as a Patient, PractitionerRole, or HealthcareService. Systems SHALL support start
and SHALL support one of end
or minutesDuration
or both.
Notes
.id
- used to uniquely identify the resource
- if a persistent identity for the resource is not available to use when constructing a message Bundle for transmission via Direct Messaging, a UUID SHOULD be used in this element (with a corresponding value in
Bundle.entry.fullUrl
)
.text
- Used to provide human readable human readable that can be pasted into other systems with complete information about the appointment
- Where populated:
.text.div
SHALL include a full text summary of the appointment.text.status
, populate with the fixed code "generated"
.identifier
- MAY be populated to share business identifers used to reference this resource in subsequent messages
identifier.system
andidentifier.value
SHALL be mustSupport whenever there is a reference or identifier present
.status
- Typically populated with "booked" (or "cancelled" if unbooked)
.description
- Title of the appointment (e.g. the Subject on an appointment in MS Outlook)
.start
- Populate with the appointment start time
- Format: YYYY-MM-DDThh:mm:ss.sss+zz:zz (e.g. 2015-02-07T13:28:17.239+02:00 or 2017-01-01T00:00:00Z).
.end
- 𝗦𝗨𝗣𝗣𝗢𝗥𝗧: One of end or minutesDuration must be supported
- Populate with the appointment end time
- Format: YYYY-MM-DDThh:mm:ss.sss+zz:zz (e.g. 2015-02-07T13:28:17.239+02:00 or 2017-01-01T00:00:00Z).
.minutesDuration
- 𝗦𝗨𝗣𝗣𝗢𝗥𝗧: One of end or minutesDuration must be supported
- Duration of appointment in minutes
- Populate with a positive integer
.created
- Populate with the date that this appointment was initially created (NOT the time of the appointment itself)
.comment
- Additional comments and details about the appointment (i.e. the Body of an appointment in MS Outlook)
.patientInstruction
- Detailed information and instructions for the patient
- If systems are capturing instructions to a patient independently from other comments, they SHOULD use the patientInstruction field.
.basedOn
- used to associate the Appointment with the ServiceRequest being performed
- SHALL be populated with a reference to the ServiceRequest being performed
- if the Appointment is being transmitted via messaging, this element SHALL be populated with either:
- a
.reference
to a resource included in the message as aBundle.entry
, or - an
.identifier
populated with theuse
,system
andvalue
elements populated with the officialServiceRequest.identifier
received from the Source System
- a
.participant
- Repeating element identifies one or more participants in the appointment where
.participant.type
is a value from ParticipantType(extensible).participant.actor
a reference to one of:- the Patient being seen > SHALL be the same as the
ServiceRequest.subject
- the PractitionerRole seeing the patient
- the Location of the appointment
- the Patient being seen > SHALL be the same as the
.participant.status
is expected to be "accepted" for a booked appointment
Note: If an Appointment is being transmitted via messaging, referenced Patient, PractitionerRole and Location resources SHALL
.reference
the resource to included in the message as aBundle.entry