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
Path | Id | Grade | Details | Expression |
---|---|---|---|---|
Appointment; Appointment; Appointment; Appointment; Appointment; Appointment; Appointment; Appointment; Appointment.meta; Appointment.implicitRules; Appointment.language; Appointment.text; Appointment.extension; Appointment.extension; Appointment.modifierExtension; Appointment.modifierExtension; Appointment.identifier; Appointment.status; Appointment.cancelationReason; Appointment.serviceCategory; Appointment.serviceType; Appointment.specialty; Appointment.appointmentType; Appointment.reasonCode; Appointment.reasonReference; Appointment.priority; Appointment.description; Appointment.supportingInformation; Appointment.start; Appointment.end; Appointment.minutesDuration; Appointment.slot; Appointment.created; Appointment.comment; Appointment.patientInstruction; Appointment.basedOn; Appointment.basedOn.extension; Appointment.basedOn.extension; Appointment.basedOn.reference; Appointment.basedOn.type; Appointment.basedOn.identifier; Appointment.basedOn.identifier.extension; Appointment.basedOn.identifier.extension; Appointment.basedOn.identifier.use; Appointment.basedOn.identifier.type; Appointment.basedOn.identifier.system; Appointment.basedOn.identifier.value; Appointment.basedOn.identifier.period; Appointment.basedOn.identifier.assigner; Appointment.basedOn.display; Appointment.participant; Appointment.participant; Appointment.participant.extension; Appointment.participant.extension; Appointment.participant.modifierExtension; Appointment.participant.modifierExtension; Appointment.participant.type; Appointment.participant.actor; Appointment.participant.actor.extension; Appointment.participant.actor.extension; Appointment.participant.actor.reference; Appointment.participant.actor.type; Appointment.participant.actor.identifier; Appointment.participant.actor.identifier.extension; Appointment.participant.actor.identifier.extension; Appointment.participant.actor.identifier.use; Appointment.participant.actor.identifier.type; Appointment.participant.actor.identifier.system; Appointment.participant.actor.identifier.value; Appointment.participant.actor.identifier.period; Appointment.participant.actor.identifier.assigner; Appointment.participant.actor.display; Appointment.participant.required; Appointment.participant.status; Appointment.participant.period; Appointment.requestedPeriod | app-2; app-3; app-4; dom-2; dom-3; dom-4; dom-5; dom-6; ele-1; ele-1; ele-1; ele-1; ele-1; ext-1; ele-1; ext-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ext-1; ele-1; ele-1; ele-1; ele-1; ext-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; app-1; ele-1; ele-1; ext-1; ele-1; ext-1; ele-1; ele-1; ele-1; ext-1; ele-1; ele-1; ele-1; ele-1; ext-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1 | error; error; error; error; error; error; error; warning; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error | Either start and end are specified, or neither; Only proposed or cancelled appointments can be missing start/end dates; Cancelation reason is only used for appointments that have been cancelled, or no-show; If the resource is contained in another resource, it SHALL NOT contain nested Resources; If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource; If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated; If a resource is contained in another resource, it SHALL NOT have a security label; A resource should have narrative for robust management; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; Must have either extensions or value[x], not both; All FHIR elements must have a @value or children; Must have either extensions or value[x], not both; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; Must have either extensions or value[x], not both; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; Must have either extensions or value[x], not both; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; Either the type or actor on the participant SHALL be specified; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; Must have either extensions or value[x], not both; All FHIR elements must have a @value or children; Must have either extensions or value[x], not both; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; Must have either extensions or value[x], not both; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; Must have either extensions or value[x], not both; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children | start.exists() = end.exists(); (start.exists() and end.exists()) or (status in ('proposed' | 'cancelled' | 'waitlist')); Appointment.cancelationReason.exists() implies (Appointment.status='no-show' or Appointment.status='cancelled'); contained.contained.empty(); contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty(); contained.meta.versionId.empty() and contained.meta.lastUpdated.empty(); contained.meta.security.empty(); text.`div`.exists(); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); extension.exists() != value.exists(); hasValue() or (children().count() > id.count()); extension.exists() != value.exists(); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); extension.exists() != value.exists(); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); extension.exists() != value.exists(); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); type.exists() or actor.exists(); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); extension.exists() != value.exists(); hasValue() or (children().count() > id.count()); extension.exists() != value.exists(); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); extension.exists() != value.exists(); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); extension.exists() != value.exists(); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()) |
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 either:
-.reference
a resource included in the message as aBundle.entry
- include an.identifier
previously known to both systems