FHIR Artifacts > Structure Definition: Appointment Profile

Structure Definition: Appointment Profile

Canonical URL:http://ehealthontario.ca/fhir/StructureDefinition/ca-on-eReferral-profile-Appointment

Simplifier project page: Appointment

Derived from: Appointment (CA:eReC)

Base FHIR from: Appointment (R4)

Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots and how the different presentations work

Differential View

profileS1..
statusS
divS
identifierS1..
systemS1..
codeS1..
displayS1..
textS
end
minutesDuration
patientInstructionS
reference1..
actorReference(EReferralLocation | EReferralPatient | EReferralPractitionerRole)
requiredS
statusS
startS
endS
start
end

Hybrid View

profileS1..
statusS
divS
identifierS1..
systemS1..
codeS1..
displayS1..
textS
end
minutesDuration
patientInstructionS
reference1..
actorReference(EReferralLocation | EReferralPatient | EReferralPractitionerRole)
requiredS
statusS
startS
endS
start
end

Snapshot View

profileS1..
statusS
divS
identifierS1..
systemS1..
codeS1..
displayS1..
textS
end
minutesDuration
patientInstructionS
reference1..
actorReference(EReferralLocation | EReferralPatient | EReferralPractitionerRole)
requiredS
statusS
startS
endS
start
end

Table View

Appointment..
Appointment.meta1..
Appointment.meta.profile1..
Appointment.text..
Appointment.text.status..
Appointment.text.div..
Appointment.identifier1..
Appointment.appointmentType..
Appointment.appointmentType.coding..
Appointment.appointmentType.coding.system1..
Appointment.appointmentType.coding.code1..
Appointment.appointmentType.coding.display1..
Appointment.appointmentType.text..
Appointment.end..
Appointment.minutesDuration..
Appointment.patientInstruction..
Appointment.basedOnReference(EReferralServiceRequest)..
Appointment.basedOn.reference1..
Appointment.participant..
Appointment.participant.actorReference(EReferralLocation | EReferralPatient | EReferralPractitionerRole)..
Appointment.participant.required..
Appointment.participant.status..
Appointment.participant.period..
Appointment.participant.period.start..
Appointment.participant.period.end..
Appointment.requestedPeriod..
Appointment.requestedPeriod.start..
Appointment.requestedPeriod.end..

JSON View

{
"resourceType": "StructureDefinition",
"id": "ca-on-eReferral-profile-Appointment",
"url": "http://ehealthontario.ca/fhir/StructureDefinition/ca-on-eReferral-profile-Appointment",
"version": "1.2.1",
"name": "EReferralAppointment",
"title": "Appointment",
"status": "draft",
"description": "A booking of a healthcare event among patient(s), practitioner(s), related person(s) and/or device(s) for a specific date/time. This may result in one or more Encounter(s).",
"fhirVersion": "4.0.1",
"kind": "resource",
"abstract": false,
"type": "Appointment",
"baseDefinition": "http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-Appointment",
"derivation": "constraint",
"element": [
{
"id": "Appointment.meta",
"path": "Appointment.meta",
"min": 1,
"mustSupport": true
},
{
"id": "Appointment.meta.profile",
"path": "Appointment.meta.profile",
"comment": "#### **_` FOR eREFERRAL USAGE: The meta.profile = http://ehealthontario.ca/fhir/StructureDefinition/ca-on-eReferral-profile-Appointment|1.2.0 `_**\n\nIt is up to the server and/or other infrastructure of policy to determine whether/how these claims are verified and/or updated over time. The list of profile URLs is a set.",
"min": 1,
"mustSupport": true
},
{
"id": "Appointment.text",
"path": "Appointment.text"
},
{
"id": "Appointment.text.status",
"path": "Appointment.text.status",
"mustSupport": true
},
{
"id": "Appointment.text.div",
"path": "Appointment.text.div",
"mustSupport": true
},
{
"id": "Appointment.identifier",
"path": "Appointment.identifier",
"min": 1,
"mustSupport": true
},
{
"id": "Appointment.appointmentType",
"path": "Appointment.appointmentType",
"mustSupport": false
},
{
"id": "Appointment.appointmentType.coding",
"path": "Appointment.appointmentType.coding",
"mustSupport": false
},
{
"id": "Appointment.appointmentType.coding.system",
"path": "Appointment.appointmentType.coding.system",
"min": 1,
"mustSupport": true
},
{
"id": "Appointment.appointmentType.coding.code",
"path": "Appointment.appointmentType.coding.code",
"min": 1,
"mustSupport": true
},
{
"id": "Appointment.appointmentType.coding.display",
"path": "Appointment.appointmentType.coding.display",
"min": 1,
"mustSupport": true
},
{
"id": "Appointment.appointmentType.text",
"path": "Appointment.appointmentType.text",
"mustSupport": true
},
{
"id": "Appointment.end",
"path": "Appointment.end",
"mustSupport": false
},
{
"id": "Appointment.minutesDuration",
"path": "Appointment.minutesDuration",
"mustSupport": false
},
{
"id": "Appointment.patientInstruction",
"path": "Appointment.patientInstruction",
"mustSupport": true
},
{
"id": "Appointment.basedOn",
"path": "Appointment.basedOn",
"type": [
{
"code": "Reference",
"http://ehealthontario.ca/fhir/StructureDefinition/ca-on-eReferral-profile-ServiceRequest"
]
}
]
},
{
"id": "Appointment.basedOn.reference",
"path": "Appointment.basedOn.reference",
"min": 1
},
{
"id": "Appointment.participant.actor",
"path": "Appointment.participant.actor",
"type": [
{
"code": "Reference",
"http://ehealthontario.ca/fhir/StructureDefinition/ca-on-eReferral-profile-PractitionerRole",
"http://ehealthontario.ca/fhir/StructureDefinition/ca-on-eReferral-profile-Location",
"http://ehealthontario.ca/fhir/StructureDefinition/ca-on-eReferral-profile-Patient"
]
}
]
},
{
"id": "Appointment.participant.required",
"path": "Appointment.participant.required",
"mustSupport": true
},
{
"id": "Appointment.participant.status",
"path": "Appointment.participant.status",
"mustSupport": true
},
{
"id": "Appointment.participant.period",
"path": "Appointment.participant.period",
"mustSupport": true
},
{
"id": "Appointment.participant.period.start",
"path": "Appointment.participant.period.start",
"mustSupport": true
},
{
"id": "Appointment.participant.period.end",
"path": "Appointment.participant.period.end",
"mustSupport": true
},
{
"id": "Appointment.requestedPeriod",
"path": "Appointment.requestedPeriod",
"mustSupport": false
},
{
"id": "Appointment.requestedPeriod.start",
"path": "Appointment.requestedPeriod.start",
"mustSupport": false
},
{
"id": "Appointment.requestedPeriod.end",
"path": "Appointment.requestedPeriod.end",
"mustSupport": false
}
]
}
}

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.

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)

.meta.profile

  • used to declare conformance to this profile
  • populate with a fixed value: http://ehealthontario.ca/fhir/StructureDefinition/ca-on-eReferral-profile-Appointment|1.2.1

.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"

.status

  • typically populated with "booked" (or "cancelled" if unbooked)

.appointmentType

  • typically populated with "INTAKE" or "ASSESSMENT" for a referral appointment

.description

  • title of the appointment (e.g. the Subject on an appointemnt 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).
  • Expected to be populated when the appointment is set by the performer

.end

  • 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

  • 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

.basedOn

  • associates 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, the referenced ServiceRequest resource SHALL be included in the message as a Bundle.entry

.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 HealthcareService providing the appointment > SHALL be same as the ServiceRequest.performer if both are present
      • the PractitionerRole seeing the patient
      • the Location of the appointment
    • .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 be included in the message as a Bundle.entry
    • HealthcareService SHOULD typically be an external reference