Profiles & Operations Index > Profile: Appointment

Profile: Appointment

Simplifier project page: CorHealth Appointment

Derived from: Appointment (R4)

Canonical_URLProfile_StatusFHIR_Version
https://corhealth-ontario.ca/fhir/StructureDefinition/corhealth-appointmentactive4.0.1

Formal Views of Profile Content

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

Differential View

idΣ0..1string
metaΣ0..1Meta
implicitRulesΣ ?!0..1uri
language0..1codeBinding
text0..1Narrative
contained0..*Resource
extensionI0..*Extension
modifierExtension?! I0..*Extension
id0..1string
extensionI0..*Extension
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ0..1uriPattern
valueΣ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
statusΣ ?!1..1codeBinding
cancelationReasonS Σ0..1CodeableConceptBinding
serviceCategoryΣ0..*CodeableConcept
serviceTypeΣ0..*CodeableConcept
specialtyΣ0..*CodeableConceptBinding
appointmentTypeΣ0..1CodeableConceptBinding
reasonCodeΣ0..*CodeableConceptBinding
reasonReferenceI0..*Reference(Condition | Procedure | Observation | ImmunizationRecommendation)
priority0..1unsignedInt
description0..1string
supportingInformationI0..*Reference(Resource)
startΣ0..1instant
endΣ0..1instant
minutesDuration0..1positiveInt
slotI0..*Reference(Slot)
created0..1dateTime
comment0..1string
patientInstruction0..1string
basedOnS I1..1Reference(CorHealthServiceRequest)
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
typeΣ0..*CodeableConceptBinding
actorS Σ I1..1Reference(Patient | Practitioner | PractitionerRole | RelatedPerson | Device | HealthcareService | Location)
requiredΣ0..1codeBinding
statusΣ1..1codeBinding
periodI0..1Period
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
typeΣ0..*CodeableConceptBinding
actorΣ I0..1Reference(CorHealthPatient)
requiredΣ0..1codeBinding
statusΣ1..1codeBindingPattern
periodI0..1Period
id0..1string
extensionI0..*Extension
startS Σ I0..1dateTime
endΣ I0..1dateTime

Hybrid View

idΣ0..1string
metaΣ0..1Meta
implicitRulesΣ ?!0..1uri
language0..1codeBinding
text0..1Narrative
contained0..*Resource
extensionI0..*Extension
modifierExtension?! I0..*Extension
id0..1string
extensionI0..*Extension
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ0..1uriPattern
valueΣ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
statusΣ ?!1..1codeBinding
cancelationReasonS Σ0..1CodeableConceptBinding
serviceCategoryΣ0..*CodeableConcept
serviceTypeΣ0..*CodeableConcept
specialtyΣ0..*CodeableConceptBinding
appointmentTypeΣ0..1CodeableConceptBinding
reasonCodeΣ0..*CodeableConceptBinding
reasonReferenceI0..*Reference(Condition | Procedure | Observation | ImmunizationRecommendation)
priority0..1unsignedInt
description0..1string
supportingInformationI0..*Reference(Resource)
startΣ0..1instant
endΣ0..1instant
minutesDuration0..1positiveInt
slotI0..*Reference(Slot)
created0..1dateTime
comment0..1string
patientInstruction0..1string
basedOnS I1..1Reference(CorHealthServiceRequest)
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
typeΣ0..*CodeableConceptBinding
actorS Σ I1..1Reference(Patient | Practitioner | PractitionerRole | RelatedPerson | Device | HealthcareService | Location)
requiredΣ0..1codeBinding
statusΣ1..1codeBinding
periodI0..1Period
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
typeΣ0..*CodeableConceptBinding
actorΣ I0..1Reference(CorHealthPatient)
requiredΣ0..1codeBinding
statusΣ1..1codeBindingPattern
periodI0..1Period
id0..1string
extensionI0..*Extension
startS Σ I0..1dateTime
endΣ I0..1dateTime

Snapshot View

idΣ0..1string
metaΣ0..1Meta
implicitRulesΣ ?!0..1uri
language0..1codeBinding
text0..1Narrative
contained0..*Resource
extensionI0..*Extension
modifierExtension?! I0..*Extension
id0..1string
extensionI0..*Extension
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ0..1uriPattern
valueΣ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
statusΣ ?!1..1codeBinding
cancelationReasonS Σ0..1CodeableConceptBinding
serviceCategoryΣ0..*CodeableConcept
serviceTypeΣ0..*CodeableConcept
specialtyΣ0..*CodeableConceptBinding
appointmentTypeΣ0..1CodeableConceptBinding
reasonCodeΣ0..*CodeableConceptBinding
reasonReferenceI0..*Reference(Condition | Procedure | Observation | ImmunizationRecommendation)
priority0..1unsignedInt
description0..1string
supportingInformationI0..*Reference(Resource)
startΣ0..1instant
endΣ0..1instant
minutesDuration0..1positiveInt
slotI0..*Reference(Slot)
created0..1dateTime
comment0..1string
patientInstruction0..1string
basedOnS I1..1Reference(CorHealthServiceRequest)
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
typeΣ0..*CodeableConceptBinding
actorS Σ I1..1Reference(Patient | Practitioner | PractitionerRole | RelatedPerson | Device | HealthcareService | Location)
requiredΣ0..1codeBinding
statusΣ1..1codeBinding
periodI0..1Period
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
typeΣ0..*CodeableConceptBinding
actorΣ I0..1Reference(CorHealthPatient)
requiredΣ0..1codeBinding
statusΣ1..1codeBindingPattern
periodI0..1Period
id0..1string
extensionI0..*Extension
startS Σ I0..1dateTime
endΣ I0..1dateTime

Table View

Appointment..
Appointment.identifier..
Appointment.identifier.system..
Appointment.status..
Appointment.cancelationReason..
Appointment.basedOnReference(CorHealthServiceRequest)1..1
Appointment.participant..
Appointment.participant.actor1..
Appointment.participant1..1
Appointment.participant.actorReference(CorHealthPatient)..
Appointment.participant.status..
Appointment.requestedPeriod..
Appointment.requestedPeriod.start..

JSON View

{
    "resourceType": "StructureDefinition",
    "id": "corhealth-appointment",
    "url": "https://corhealth-ontario.ca/fhir/StructureDefinition/corhealth-appointment",
    "name": "CorHealthAppointment",
    "title": "CorHealth Appointment",
    "status": "active",
    "description": "CorHealth Appointment",
    "fhirVersion": "4.0.1",
    "kind": "resource",
    "abstract": false,
    "type": "Appointment",
    "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Appointment",
    "derivation": "constraint",
    "differential": {
        "element":  [
            {
                "id": "Appointment.identifier.system",
                "path": "Appointment.identifier.system",
                "patternUri": "https://corhealth-ontario.ca/NamingSystem/appointment-id"
            },
            {
                "id": "Appointment.status",
                "path": "Appointment.status",
                "binding": {
                    "strength": "required",
                    "valueSet": "https://corhealth-ontario.ca/fhir/ValueSet/CorHealthAppointmentStatusVS"
                }
            },
            {
                "id": "Appointment.cancelationReason",
                "path": "Appointment.cancelationReason",
                "short": "Field ID: 111. Cancellation Reason",
                "mustSupport": true,
                "binding": {
                    "strength": "required",
                    "valueSet": "https://corhealth-ontario.ca/fhir/ValueSet/CorHealth111CancellationReasonVS"
                }
            },
            {
                "id": "Appointment.basedOn",
                "path": "Appointment.basedOn",
                "min": 1,
                "max": "1",
                "type":  [
                    {
                        "code": "Reference",
                        "targetProfile":  [
                            "https://corhealth-ontario.ca/fhir/StructureDefinition/corhealth-servicerequest"
                        ]
                    }
                ],
                "mustSupport": true
            },
            {
                "id": "Appointment.participant",
                "path": "Appointment.participant",
                "slicing": {
                    "discriminator":  [
                        {
                            "type": "pattern",
                            "path": "actor"
                        }
                    ],
                    "rules": "open",
                    "description": "Slice based on actor pattern"
                },
                "mustSupport": true
            },
            {
                "id": "Appointment.participant.actor",
                "path": "Appointment.participant.actor",
                "min": 1,
                "mustSupport": true
            },
            {
                "id": "Appointment.participant:patient",
                "path": "Appointment.participant",
                "sliceName": "patient",
                "min": 1,
                "max": "1",
                "mustSupport": true
            },
            {
                "id": "Appointment.participant:patient.actor",
                "path": "Appointment.participant.actor",
                "type":  [
                    {
                        "code": "Reference",
                        "targetProfile":  [
                            "https://corhealth-ontario.ca/fhir/StructureDefinition/corhealth-patient"
                        ]
                    }
                ]
            },
            {
                "id": "Appointment.participant:patient.status",
                "path": "Appointment.participant.status",
                "patternCode": "accepted"
            },
            {
                "id": "Appointment.requestedPeriod",
                "path": "Appointment.requestedPeriod",
                "mustSupport": true
            },
            {
                "id": "Appointment.requestedPeriod.start",
                "path": "Appointment.requestedPeriod.start",
                "short": "Field ID: 110. Booking Date",
                "mustSupport": true
            }
        ]
    }
}

Usage

Appointment information

Notes

.identifier

  • SHOULD contain an identifier of the appointment

.status

  • SHALL contain the appointment status

.cancelationReason

  • SHOULD contain the appointment cancelation reason (if appointment status is 'cancelled')

.basedOn

  • SHALL contain a reference to a ServiceRequest for the order associated to the appointment

.participant

  • SHALL contain a reference to the patient

.requestedPeriod

  • SHOULD contain the appointment booking date