Profiles & Operations > Structure Definition: Appointment Profile

Profile: Appointment

Canonical URL:http://ontariohealth.ca/fhir/StructureDefinition/ca-on-mha-profile-Appointment

Simplifier project page: package/StructureDefinition.ca-on-mha-profile-Appointment.json

Derived from: Appointment

Formal Views of Profile Content

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

Differential View

idΣ0..1id
id0..1string
extensionC0..*Extension
versionIdΣ0..1id
lastUpdatedΣ0..1instant
sourceΣ0..1uri
profileS Σ1..1canonical(StructureDefinition)Fixed Value
securityΣ0..*CodingBinding
tagΣ0..*Coding
implicitRulesΣ ?!0..1uri
language0..1codeBinding
text0..1Narrative
contained0..*Resource
extensionC0..*Extension
modifierExtension?! C0..*Extension
identifierΣ0..*Identifier
statusS Σ ?!1..1codeBinding
id0..1string
extensionC0..*Extension
id0..1string
extensionC0..*Extension
systemS Σ1..1uri
versionΣ0..1string
codeS Σ1..1code
displayS Σ1..1string
userSelectedΣ0..1boolean
textΣ0..1string
serviceCategoryΣ0..*CodeableConcept
serviceTypeΣ0..*CodeableConcept
specialtyΣ0..*CodeableConceptBinding
appointmentTypeΣ0..1CodeableConceptBinding
reasonCodeΣ0..*CodeableConceptBinding
reasonReferenceC0..*Reference(Condition | ImmunizationRecommendation | Observation | Procedure)
priority0..1unsignedInt
description0..1string
supportingInformationC0..*Reference(Resource)
startS Σ0..1instant
endS Σ0..1instant
minutesDuration0..1positiveInt
slotC0..*Reference(Slot)
created0..1dateTime
comment0..1string
patientInstruction0..1string
id0..1string
extensionC0..*Extension
referenceS Σ C1..1string
typeΣ0..1uriBinding
identifierΣ0..1Identifier
displayΣ0..1string
id0..1string
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
typeΣ0..*CodeableConceptBinding
actorS Σ C1..1Reference(Patient)
requiredΣ0..1codeBinding
statusS Σ1..1codeBinding
periodC0..1Period
requestedPeriodC0..*Period

Hybrid View

idΣ0..1id
id0..1string
extensionC0..*Extension
versionIdΣ0..1id
lastUpdatedΣ0..1instant
sourceΣ0..1uri
profileS Σ1..1canonical(StructureDefinition)Fixed Value
securityΣ0..*CodingBinding
tagΣ0..*Coding
implicitRulesΣ ?!0..1uri
language0..1codeBinding
text0..1Narrative
contained0..*Resource
extensionC0..*Extension
modifierExtension?! C0..*Extension
identifierΣ0..*Identifier
statusS Σ ?!1..1codeBinding
id0..1string
extensionC0..*Extension
id0..1string
extensionC0..*Extension
systemS Σ1..1uri
versionΣ0..1string
codeS Σ1..1code
displayS Σ1..1string
userSelectedΣ0..1boolean
textΣ0..1string
serviceCategoryΣ0..*CodeableConcept
serviceTypeΣ0..*CodeableConcept
specialtyΣ0..*CodeableConceptBinding
appointmentTypeΣ0..1CodeableConceptBinding
reasonCodeΣ0..*CodeableConceptBinding
reasonReferenceC0..*Reference(Condition | ImmunizationRecommendation | Observation | Procedure)
priority0..1unsignedInt
description0..1string
supportingInformationC0..*Reference(Resource)
startS Σ0..1instant
endS Σ0..1instant
minutesDuration0..1positiveInt
slotC0..*Reference(Slot)
created0..1dateTime
comment0..1string
patientInstruction0..1string
id0..1string
extensionC0..*Extension
referenceS Σ C1..1string
typeΣ0..1uriBinding
identifierΣ0..1Identifier
displayΣ0..1string
id0..1string
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
typeΣ0..*CodeableConceptBinding
actorS Σ C1..1Reference(Patient)
requiredΣ0..1codeBinding
statusS Σ1..1codeBinding
periodC0..1Period
requestedPeriodC0..*Period

Snapshot View

idΣ0..1id
id0..1string
extensionC0..*Extension
versionIdΣ0..1id
lastUpdatedΣ0..1instant
sourceΣ0..1uri
profileS Σ1..1canonical(StructureDefinition)Fixed Value
securityΣ0..*CodingBinding
tagΣ0..*Coding
implicitRulesΣ ?!0..1uri
language0..1codeBinding
text0..1Narrative
contained0..*Resource
extensionC0..*Extension
modifierExtension?! C0..*Extension
identifierΣ0..*Identifier
statusS Σ ?!1..1codeBinding
id0..1string
extensionC0..*Extension
id0..1string
extensionC0..*Extension
systemS Σ1..1uri
versionΣ0..1string
codeS Σ1..1code
displayS Σ1..1string
userSelectedΣ0..1boolean
textΣ0..1string
serviceCategoryΣ0..*CodeableConcept
serviceTypeΣ0..*CodeableConcept
specialtyΣ0..*CodeableConceptBinding
appointmentTypeΣ0..1CodeableConceptBinding
reasonCodeΣ0..*CodeableConceptBinding
reasonReferenceC0..*Reference(Condition | ImmunizationRecommendation | Observation | Procedure)
priority0..1unsignedInt
description0..1string
supportingInformationC0..*Reference(Resource)
startS Σ0..1instant
endS Σ0..1instant
minutesDuration0..1positiveInt
slotC0..*Reference(Slot)
created0..1dateTime
comment0..1string
patientInstruction0..1string
id0..1string
extensionC0..*Extension
referenceS Σ C1..1string
typeΣ0..1uriBinding
identifierΣ0..1Identifier
displayΣ0..1string
id0..1string
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
typeΣ0..*CodeableConceptBinding
actorS Σ C1..1Reference(Patient)
requiredΣ0..1codeBinding
statusS Σ1..1codeBinding
periodC0..1Period
requestedPeriodC0..*Period

Table View

Appointment..
Appointment.meta1..
Appointment.meta.profile1..1
Appointment.status..
Appointment.cancelationReason..
Appointment.cancelationReason.coding1..1
Appointment.cancelationReason.coding.system1..
Appointment.cancelationReason.coding.code1..
Appointment.cancelationReason.coding.display1..
Appointment.start..
Appointment.end..
Appointment.basedOnReference(ServiceRequestProfile)..1
Appointment.basedOn.reference1..
Appointment.participant..
Appointment.participant.actorReference(Patient)1..
Appointment.participant.status..

JSON View

{
"resourceType": "StructureDefinition",
"id": "52536452-b48e-452d-a316-8936df088438",
"meta": {
"lastUpdated": "2022-08-22T17:58:37.4555227+00:00"
},
"url": "http://ontariohealth.ca/fhir/StructureDefinition/ca-on-mha-profile-Appointment",
"name": "Appointment",
"title": "MHA Appointment Profile",
"status": "active",
"date": "2022-08-22T20:17:06.3613088+00:00",
"fhirVersion": "4.0.1",
"mapping": [
{
"identity": "MHA-PDS-Mapping",
"name": "MHA PDS Mapping"
}
],
"kind": "resource",
"abstract": false,
"type": "Appointment",
"baseDefinition": "http://hl7.org/fhir/StructureDefinition/Appointment",
"derivation": "constraint",
"element": [
{
"id": "Appointment",
"path": "Appointment",
"short": "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",
{
"key": "app-5",
"severity": "error",
"human": "End must be after start",
"expression": "end >= start",
"source": "http://ontariohealth.ca/fhir/StructureDefinition/ca-on-mha-profile-Appointment"
}
],
"mustSupport": true
},
{
"id": "Appointment.meta",
"path": "Appointment.meta",
"min": 1,
"mustSupport": true
},
{
"id": "Appointment.meta.profile",
"path": "Appointment.meta.profile",
"min": 1,
"max": "1",
"fixedCanonical": "http://ontariohealth.ca/fhir/StructureDefinition/ca-on-mha-profile-Appointment",
"mustSupport": true
},
{
"id": "Appointment.status",
"path": "Appointment.status",
"short": "cancelled | noshow",
"mustSupport": true,
"binding": {
"strength": "required",
"valueSet": "http://ontariohealth.ca/fhir/ValueSet/mha/appointmentStatus"
},
"mapping": [
{
"identity": "MHA-PDS-Mapping",
"map": "Appointment Reschedule Reason"
}
]
},
{
"id": "Appointment.cancelationReason",
"path": "Appointment.cancelationReason",
"mustSupport": true,
"binding": {
"strength": "required",
"valueSet": "http://ontariohealth.ca/fhir/ValueSet/mha/appointmentRescheduleReason"
},
"mapping": [
{
"identity": "MHA-PDS-Mapping",
"map": "Appointment Reschedule Reason"
}
]
},
{
"id": "Appointment.cancelationReason.coding",
"path": "Appointment.cancelationReason.coding",
"min": 1,
"max": "1",
"mustSupport": true
},
{
"id": "Appointment.cancelationReason.coding.system",
"path": "Appointment.cancelationReason.coding.system",
"min": 1,
"mustSupport": true
},
{
"id": "Appointment.cancelationReason.coding.code",
"path": "Appointment.cancelationReason.coding.code",
"min": 1,
"mustSupport": true
},
{
"id": "Appointment.cancelationReason.coding.display",
"path": "Appointment.cancelationReason.coding.display",
"min": 1,
"mustSupport": true
},
{
"id": "Appointment.start",
"path": "Appointment.start",
"definition": "Date/Time that the appointment is to take place.\nClients can send a date if time is not available.",
"comment": "Note: This is intended for where precisely observed times are required, typically system logs etc., and not human-reported times - for them, see date and dateTime (which can be as precise as instant, but is not required to be) below. Time zone is always required\n\nThe date of the first appointment that was offered and accepted by client regardless of whether they attended the appointment or subsequently changed it",
"mustSupport": true,
"mapping": [
{
"identity": "MHA-PDS-Mapping",
"map": "Scheduled Appointment Date"
}
]
},
{
"id": "Appointment.end",
"path": "Appointment.end",
"definition": "Date/Time that the appointment is to conclude.\nIf appointment datetime is sent in \"start\", client MUST provide value for \"end\"",
"mustSupport": true
},
{
"id": "Appointment.basedOn",
"path": "Appointment.basedOn",
"max": "1",
"type": [
{
"code": "Reference",
"http://ontariohealth.ca/fhir/StructureDefinition/ca-on-mha-servicerequest"
]
}
],
"mustSupport": true
},
{
"id": "Appointment.basedOn.reference",
"path": "Appointment.basedOn.reference",
"min": 1,
"mustSupport": true
},
{
"id": "Appointment.participant",
"path": "Appointment.participant",
"mustSupport": true
},
{
"id": "Appointment.participant.actor",
"path": "Appointment.participant.actor",
"min": 1,
"type": [
{
"code": "Reference",
"http://ontariohealth.ca/fhir/StructureDefinition/ca-on-mha-profile-patient"
]
}
],
"mustSupport": true
},
{
"id": "Appointment.participant.status",
"path": "Appointment.participant.status",
"mustSupport": true
}
]
}
}

Usage

The Appointment Resource is used capture information related to 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). The Appointment Resource should be included in a bundle submission when the client's first appointment has been rescheduled.

Notes

.meta.profile

  • used to declare conformance to this profile
  • populate with a fixed value: https://ontariohealth.ca/fhir/StructureDefinition/ca-on-mha-profile-Appointment
.meta.versionId

  • SHALL be populated by the OH FHIR server
  • source systems do not need to populate this element prior to submission
.status

  • SHALL contain a code representing overall status of the Appointment.
  • SHALL contain a code of noshow in this field when the client did not show for their first appointment NOTE: due to an issue in FHIR R4, please do not use "noshow". Always use "cancelled"..
  • SHALL contain a code of cancelled in this field when the client's first appointment is cancelled due to a system delay or the client rescheduled.
.cancelationReason

  • SHOULD contain a code representing the reason for reschedule of the client's first scheduled appointment
  • .status SHALL be populated with cancelled in order to use .cancelationReason
  • SHALL contain a code of System Delay when the appointment was canceled or rescheduled due to a system delay.
  • SHALL contain a code of Client Rescheduled when the appointment was rescheduled by the client.
  • SHALL contain a code of Client Did Not Show when the appointment was rescheduled due to a client not showing up for an appointment.
.start

  • SHALL contain the date of the first appointment that was offered and accepted by the client regardless of whether they attended the appointment or subsequently changed it.
.participant

  • SHALL contain a reference to the Patient resource to which the Appointment resource applies.