Pan-Canadian eReferral-eConsult (CA:eReC)
DFT - The specification is currently in development and subject to change. For a full list of available versions, see the Directory of published versions
Many ValueSet and CodeSystem bindings in this guide link to resources hosted on the Canada Health Infoway Terminology Service (Ontoserver). If you are redirected to a login page: This is expected and you are being directed to Infoway’s secure environment. To access these resources: You’ll need an InfoCentral Account.
http://hl7.org/fhir/StructureDefinition/Appointment
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.
| Appointment | C | Appointment | |
| id | Σ | 0..1 | string |
| meta | S Σ | 0..1 | Meta |
| id | 0..1 | string | |
| extension | C | 0..* | Extension |
| versionId | Σ | 0..1 | id |
| lastUpdated | Σ | 0..1 | instant |
| source | Σ | 0..1 | uri |
| profile | S Σ | 0..* | canonical(StructureDefinition) |
| security | Σ | 0..* | CodingBinding |
| tag | Σ | 0..* | Coding |
| implicitRules | Σ ?! | 0..1 | uri |
| language | 0..1 | codeBinding | |
| text | S | 0..1 | Narrative |
| contained | 0..* | Resource | |
| extension | C | 0..* | Extension |
| AppointmentClass | S C | 0..* | Extension |
| VirtualService | S C | 0..* | Extension(Complex) |
| modifierExtension | ?! C | 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 | C | 0..* | Extension |
| reference | S Σ C | 0..1 | string |
| type | Σ | 0..1 | uriBinding |
| identifier | S Σ | 0..1 | Identifier |
| id | 0..1 | string | |
| extension | C | 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 C | 1..* | BackboneElement |
| id | 0..1 | string | |
| extension | C | 0..* | Extension |
| modifierExtension | Σ ?! C | 0..* | Extension |
| type | S Σ | 0..* | CodeableConceptBinding |
| actor | S Σ | 0..1 | Reference(Patient | PractitionerRole | Location) |
| id | 0..1 | string | |
| extension | C | 0..* | Extension |
| reference | S Σ C | 0..1 | string |
| type | Σ | 0..1 | uriBinding |
| identifier | S Σ | 0..1 | Identifier |
| id | 0..1 | string | |
| extension | C | 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 |
| Appointment | Appointment | ||
| meta | S | ||
| profile | S | ||
| text | S | ||
| extension | |||
| AppointmentClass | S | Extension | |
| VirtualService | S | Extension(Complex) | |
| 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.. |
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.
.extension:class
.extension:virtualService
.identifier
identifier.system and identifier.value SHALL be mustSupport whenever there is a reference or identifier present.status
.description
.start
.end
.minutesDuration
.created
.comment
.patientInstruction
.basedOn
.reference to a resource included in the message as a Bundle.entry, or.identifier populated with the use, system and value elements populated with the official ServiceRequest.identifier received from the Source System.participant
.participant.type is a value from ParticipantType(extensible).participant.actor a reference to one of:
ServiceRequest.subject.participant.status is expected to be "accepted" for a booked appointmentNote: If an Appointment is being transmitted via messaging, referenced Patient, PractitionerRole and Location resources SHALL
.referencethe resource to included in the message as aBundle.entry