SGHI FHIR Profile Implementation Guide
0.1.0 - ci-build

SGHI FHIR Profile Implementation Guide, published by Kathurima Kimathi. This guide is not an authorized publication; it is the continuous build for version 0.1.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/savannahghi/sil_fhir_profile_ig/ and changes regularly. See the Directory of published versions

Resource Profile: SGHI Appointment Profile

Official URL: https://fhir.slade360.co.ke/fhir/StructureDefinition/sghi-appointment Version: 0.1.0
Draft as of 2025-09-04 Computable Name: SGHIAppointment

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

Usages:

You can also check for usages in the FHIR IG Statistics

Formal Views of Profile Content

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

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Appointment C 0..* Appointment 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)
Constraints: app-2, app-3, app-4, app-5, app-6, app-7
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... contained 0..* Resource Contained, inline Resources
... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
.... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required)
.... type Σ 0..1 SGHICodeableConcept Description of identifier
Binding: SGHI Standard Identifier Types (required)
.... system Σ 1..1 uri The namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
.... value ΣC 1..1 string The value that is unique
Example General: 123456
.... assigner Σ 1..1 SGHIReference(SGHI Organization) Organization that issued id (may be just text)
... status ?!ΣC 1..1 code proposed | pending | booked | arrived | fulfilled | cancelled | noshow | entered-in-error | checked-in | waitlist
Binding: AppointmentStatus (required): The free/busy status of an appointment.
... cancellationReason ΣC 0..1 SGHICodeableConcept The coded reason for the appointment being cancelled
Binding: AppointmentCancellationReason (example)
... class Σ 0..* SGHICodeableConcept Classification when becoming an encounter
Binding: All LOINC Codes (required)
... serviceCategory Σ 0..* SGHICodeableConcept A broad categorization of the service that is to be performed during this appointment
Binding: ServiceCategory (example)
... specialty Σ 1..* SGHICodeableConcept The specialty of a practitioner that would be required to perform the service requested in this appointment
Binding: sghi-speciality (required)
... appointmentType Σ 1..1 SGHICodeableConcept The style of appointment or patient that has been booked in the slot (not service type)
Binding: hl7VS-appointmentReasonCodes (preferred)
... reason Σ 1..* SGHICodeableReference(SGHI Condition | SGHI Observation) Reason this appointment is scheduled
Binding: All LOINC Codes (required)
... priority 1..1 SGHICodeableConcept Used to make informed decisions if needing to re-prioritize
Binding: ActPriority (example): Indicates the urgency of the appointment.
... replaces 0..* SGHIReference(SGHI Appointment Profile) Appointment replaced by this Appointment
... previousAppointment 0..1 SGHIReference(SGHI Appointment Profile) The previous appointment in a series
... originatingAppointment C 0..1 SGHIReference(SGHI Appointment Profile) The originating appointment in a recurring set of appointments
... start ΣC 1..1 instant When appointment is to take place
... end ΣC 0..1 instant When appointment is to conclude
... created 1..1 dateTime The date that this appointment was initially created
... basedOn 0..* SGHIReference(SGHI ServiceRequest | SGHI MedicationRequest) The request this appointment is allocated to assess
... subject Σ 1..1 SGHIReference(SGHI Patient) The patient or group associated with the appointment
... participant C 1..* BackboneElement Participants involved in appointment
Constraints: app-1
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... type ΣC 0..* SGHICodeableConcept Role of participant in the appointment
Binding: ParticipantType (extensible): Role of participant in encounter.
.... actor ΣC 1..1 SGHIReference(SGHI Patient | SGHI Location | SGHI PractitionerRole) The individual, device, location, or service participating in the appointment
.... status Σ 1..1 code accepted | declined | tentative | needs-action
Binding: ParticipationStatus (required): The Participation status of an appointment.

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Appointment.identifier.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use
From the FHIR Standard
Appointment.identifier.typerequiredSGHIIdentifierTypes
https://fhir.slade360.co.ke/fhir/ValueSet/sghi-identifier-types
From this IG
Appointment.statusrequiredAppointmentStatus
http://hl7.org/fhir/ValueSet/appointmentstatus|5.0.0
From the FHIR Standard
Appointment.cancellationReasonexampleAppointmentCancellationReason
http://hl7.org/fhir/ValueSet/appointment-cancellation-reason
From the FHIR Standard
Appointment.classrequiredAllLoincCodes(a valid code from LOINC)
https://fhir.slade360.co.ke/fhir/ValueSet/all-loinc-codes
From this IG
Appointment.serviceCategoryexampleServiceCategory
http://hl7.org/fhir/ValueSet/service-category
From the FHIR Standard
Appointment.specialtyrequiredSGHISpecialtyVs(a valid code from SGHI Specialty Code System)
https://fhir.slade360.co.ke/fhir/ValueSet/sghi-speciality
From this IG
Appointment.appointmentTypepreferredHl7VSAppointmentReasonCodes
http://terminology.hl7.org/ValueSet/v2-0276
Appointment.reasonrequiredAllLoincCodes(a valid code from LOINC)
https://fhir.slade360.co.ke/fhir/ValueSet/all-loinc-codes
From this IG
Appointment.priorityexampleActPriority
http://terminology.hl7.org/ValueSet/v3-ActPriority
Appointment.participant.typeextensibleParticipantType
http://hl7.org/fhir/ValueSet/encounter-participant-type
From the FHIR Standard
Appointment.participant.statusrequiredParticipationStatus
http://hl7.org/fhir/ValueSet/participationstatus|5.0.0
From the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
app-1errorAppointment.participantEither the type or actor on the participant SHALL be specified
: type.exists() or actor.exists()
app-2errorAppointmentEither start and end are specified, or neither
: start.exists() = end.exists()
app-3errorAppointmentOnly proposed or cancelled appointments can be missing start/end dates
: (start.exists() and end.exists()) or (status in ('proposed' | 'cancelled' | 'waitlist'))
app-4errorAppointmentCancellation reason is only used for appointments that have been cancelled, or noshow
: cancellationReason.exists() implies (status='noshow' or status='cancelled')
app-5errorAppointmentThe start must be less than or equal to the end
: start.exists() implies start <= end
app-6best practiceAppointmentAn appointment may have an originatingAppointment or recurrenceTemplate, but not both
: originatingAppointment.exists().not() or recurrenceTemplate.exists().not()
app-7errorAppointmentCancellation date is only used for appointments that have been cancelled, or noshow
: cancellationDate.exists() implies (status='noshow' or status='cancelled')
dom-2errorAppointmentIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorAppointmentIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorAppointmentIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorAppointmentIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceAppointmentA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

This structure is derived from Appointment

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Appointment 0..* Appointment 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)
... identifier 1..* Identifier External Ids for this item
.... use 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required)
.... type 0..1 SGHICodeableConcept Description of identifier
Binding: SGHI Standard Identifier Types (required)
.... system 1..1 uri The namespace for the identifier value
.... value 1..1 string The value that is unique
.... assigner 1..1 SGHIReference(SGHI Organization) Organization that issued id (may be just text)
... cancellationReason 0..1 SGHICodeableConcept The coded reason for the appointment being cancelled
... class 0..* SGHICodeableConcept Classification when becoming an encounter
Binding: All LOINC Codes (required)
... specialty 1..* SGHICodeableConcept The specialty of a practitioner that would be required to perform the service requested in this appointment
Binding: sghi-speciality (required)
... appointmentType 1..1 SGHICodeableConcept The style of appointment or patient that has been booked in the slot (not service type)
... reason 1..* SGHICodeableReference(SGHI Condition | SGHI Observation) Reason this appointment is scheduled
Binding: All LOINC Codes (required)
... priority 1..1 SGHICodeableConcept Used to make informed decisions if needing to re-prioritize
... replaces 0..* SGHIReference(SGHI Appointment Profile) Appointment replaced by this Appointment
... previousAppointment 0..1 SGHIReference(SGHI Appointment Profile) The previous appointment in a series
... originatingAppointment 0..1 SGHIReference(SGHI Appointment Profile) The originating appointment in a recurring set of appointments
... start 1..1 instant When appointment is to take place
... created 1..1 dateTime The date that this appointment was initially created
... basedOn 0..* SGHIReference(SGHI ServiceRequest | SGHI MedicationRequest) The request this appointment is allocated to assess
... subject 1..1 SGHIReference(SGHI Patient) The patient or group associated with the appointment
... participant
.... type 0..* SGHICodeableConcept Role of participant in the appointment
.... actor 1..1 SGHIReference(SGHI Patient | SGHI Location | SGHI PractitionerRole) The individual, device, location, or service participating in the appointment

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSetURI
Appointment.identifier.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use
From the FHIR Standard
Appointment.identifier.typerequiredSGHIIdentifierTypes
https://fhir.slade360.co.ke/fhir/ValueSet/sghi-identifier-types
From this IG
Appointment.classrequiredAllLoincCodes(a valid code from LOINC)
https://fhir.slade360.co.ke/fhir/ValueSet/all-loinc-codes
From this IG
Appointment.specialtyrequiredSGHISpecialtyVs(a valid code from SGHI Specialty Code System)
https://fhir.slade360.co.ke/fhir/ValueSet/sghi-speciality
From this IG
Appointment.reasonrequiredAllLoincCodes(a valid code from LOINC)
https://fhir.slade360.co.ke/fhir/ValueSet/all-loinc-codes
From this IG
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Appointment C 0..* Appointment 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)
Constraints: app-2, app-3, app-4, app-5, app-6, app-7
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... language 0..1 code Language of the resource content
Binding: AllLanguages (required): IETF language tag for a human language
Additional BindingsPurpose
CommonLanguages Starter
... text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
... contained 0..* Resource Contained, inline Resources
... extension 0..* Extension Additional content defined by implementations
... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
... identifier Σ 1..* Identifier External Ids for this item
.... id 0..1 id Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required)
.... type Σ 0..1 SGHICodeableConcept Description of identifier
Binding: SGHI Standard Identifier Types (required)
.... system Σ 1..1 uri The namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
.... value ΣC 1..1 string The value that is unique
Example General: 123456
.... period Σ 0..1 Period Time period when id is/was valid for use
.... assigner Σ 1..1 SGHIReference(SGHI Organization) Organization that issued id (may be just text)
... status ?!ΣC 1..1 code proposed | pending | booked | arrived | fulfilled | cancelled | noshow | entered-in-error | checked-in | waitlist
Binding: AppointmentStatus (required): The free/busy status of an appointment.
... cancellationReason ΣC 0..1 SGHICodeableConcept The coded reason for the appointment being cancelled
Binding: AppointmentCancellationReason (example)
... class Σ 0..* SGHICodeableConcept Classification when becoming an encounter
Binding: All LOINC Codes (required)
... serviceCategory Σ 0..* SGHICodeableConcept A broad categorization of the service that is to be performed during this appointment
Binding: ServiceCategory (example)
... serviceType Σ 0..* CodeableReference(HealthcareService) The specific service that is to be performed during this appointment
Binding: ServiceType (example)
... specialty Σ 1..* SGHICodeableConcept The specialty of a practitioner that would be required to perform the service requested in this appointment
Binding: sghi-speciality (required)
... appointmentType Σ 1..1 SGHICodeableConcept The style of appointment or patient that has been booked in the slot (not service type)
Binding: hl7VS-appointmentReasonCodes (preferred)
... reason Σ 1..* SGHICodeableReference(SGHI Condition | SGHI Observation) Reason this appointment is scheduled
Binding: All LOINC Codes (required)
... priority 1..1 SGHICodeableConcept Used to make informed decisions if needing to re-prioritize
Binding: ActPriority (example): Indicates the urgency of the appointment.
... description 0..1 string Shown on a subject line in a meeting request, or appointment list
... replaces 0..* SGHIReference(SGHI Appointment Profile) Appointment replaced by this Appointment
... virtualService 0..* VirtualServiceDetail Connection details of a virtual service (e.g. conference call)
... supportingInformation 0..* Reference(Resource) Additional information to support the appointment
... previousAppointment 0..1 SGHIReference(SGHI Appointment Profile) The previous appointment in a series
... originatingAppointment C 0..1 SGHIReference(SGHI Appointment Profile) The originating appointment in a recurring set of appointments
... start ΣC 1..1 instant When appointment is to take place
... end ΣC 0..1 instant When appointment is to conclude
... minutesDuration 0..1 positiveInt Can be less than start/end (e.g. estimate)
... requestedPeriod 0..* Period Potential date/time interval(s) requested to allocate the appointment within
... slot 0..* Reference(Slot) The slots that this appointment is filling
... account 0..* Reference(Account) The set of accounts that may be used for billing for this Appointment
... created 1..1 dateTime The date that this appointment was initially created
... cancellationDate C 0..1 dateTime When the appointment was cancelled
... note 0..* Annotation Additional comments
... patientInstruction 0..* CodeableReference(DocumentReference | Binary | Communication) Detailed information and instructions for the patient
... basedOn 0..* SGHIReference(SGHI ServiceRequest | SGHI MedicationRequest) The request this appointment is allocated to assess
... subject Σ 1..1 SGHIReference(SGHI Patient) The patient or group associated with the appointment
... participant C 1..* BackboneElement Participants involved in appointment
Constraints: app-1
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... type ΣC 0..* SGHICodeableConcept Role of participant in the appointment
Binding: ParticipantType (extensible): Role of participant in encounter.
.... period 0..1 Period Participation period of the actor
.... actor ΣC 1..1 SGHIReference(SGHI Patient | SGHI Location | SGHI PractitionerRole) The individual, device, location, or service participating in the appointment
.... required Σ 0..1 boolean The participant is required to attend (optional when false)
.... status Σ 1..1 code accepted | declined | tentative | needs-action
Binding: ParticipationStatus (required): The Participation status of an appointment.
... recurrenceId 0..1 positiveInt The sequence number in the recurrence
... occurrenceChanged 0..1 boolean Indicates that this appointment varies from a recurrence pattern
... recurrenceTemplate C 0..* BackboneElement Details of the recurrence pattern/template used to generate occurrences
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... timezone 0..1 CodeableConcept The timezone of the occurrences
Binding: IANATimezones (required): IANA Timezones (BCP 175)
.... recurrenceType 1..1 CodeableConcept The frequency of the recurrence
Binding: AppointmentRecurrenceType (preferred): IANA Timezones (BCP 175)
.... lastOccurrenceDate 0..1 date The date when the recurrence should end
.... occurrenceCount 0..1 positiveInt The number of planned occurrences
.... occurrenceDate 0..* date Specific dates for a recurring set of appointments (no template)
.... weeklyTemplate 0..1 BackboneElement Information about weekly recurring appointments
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... monday 0..1 boolean Recurs on Mondays
..... tuesday 0..1 boolean Recurs on Tuesday
..... wednesday 0..1 boolean Recurs on Wednesday
..... thursday 0..1 boolean Recurs on Thursday
..... friday 0..1 boolean Recurs on Friday
..... saturday 0..1 boolean Recurs on Saturday
..... sunday 0..1 boolean Recurs on Sunday
..... weekInterval 0..1 positiveInt Recurs every nth week
.... monthlyTemplate 0..1 BackboneElement Information about monthly recurring appointments
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... dayOfMonth 0..1 positiveInt Recurs on a specific day of the month
..... nthWeekOfMonth 0..1 Coding Indicates which week of the month the appointment should occur
Binding: WeekOfMonth (required): The set of weeks in a month.
..... dayOfWeek 0..1 Coding Indicates which day of the week the appointment should occur
Binding: DaysOfWeek (required): The days of the week.
..... monthInterval 1..1 positiveInt Recurs every nth month
.... yearlyTemplate 0..1 BackboneElement Information about yearly recurring appointments
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... yearInterval 1..1 positiveInt Recurs every nth year
.... excludingDate 0..* date Any dates that should be excluded from the series
.... excludingRecurrenceId 0..* positiveInt Any recurrence IDs that should be excluded from the recurrence

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Appointment.languagerequiredAllLanguages
http://hl7.org/fhir/ValueSet/all-languages|5.0.0
From the FHIR Standard
Appointment.identifier.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use
From the FHIR Standard
Appointment.identifier.typerequiredSGHIIdentifierTypes
https://fhir.slade360.co.ke/fhir/ValueSet/sghi-identifier-types
From this IG
Appointment.statusrequiredAppointmentStatus
http://hl7.org/fhir/ValueSet/appointmentstatus|5.0.0
From the FHIR Standard
Appointment.cancellationReasonexampleAppointmentCancellationReason
http://hl7.org/fhir/ValueSet/appointment-cancellation-reason
From the FHIR Standard
Appointment.classrequiredAllLoincCodes(a valid code from LOINC)
https://fhir.slade360.co.ke/fhir/ValueSet/all-loinc-codes
From this IG
Appointment.serviceCategoryexampleServiceCategory
http://hl7.org/fhir/ValueSet/service-category
From the FHIR Standard
Appointment.serviceTypeexampleServiceType
http://hl7.org/fhir/ValueSet/service-type
From the FHIR Standard
Appointment.specialtyrequiredSGHISpecialtyVs(a valid code from SGHI Specialty Code System)
https://fhir.slade360.co.ke/fhir/ValueSet/sghi-speciality
From this IG
Appointment.appointmentTypepreferredHl7VSAppointmentReasonCodes
http://terminology.hl7.org/ValueSet/v2-0276
Appointment.reasonrequiredAllLoincCodes(a valid code from LOINC)
https://fhir.slade360.co.ke/fhir/ValueSet/all-loinc-codes
From this IG
Appointment.priorityexampleActPriority
http://terminology.hl7.org/ValueSet/v3-ActPriority
Appointment.participant.typeextensibleParticipantType
http://hl7.org/fhir/ValueSet/encounter-participant-type
From the FHIR Standard
Appointment.participant.statusrequiredParticipationStatus
http://hl7.org/fhir/ValueSet/participationstatus|5.0.0
From the FHIR Standard
Appointment.recurrenceTemplate.timezonerequiredIANATimezones
http://hl7.org/fhir/ValueSet/timezones|5.0.0
From the FHIR Standard
Appointment.recurrenceTemplate.recurrenceTypepreferredAppointmentRecurrenceType
http://hl7.org/fhir/ValueSet/appointment-recurrrence-type
From the FHIR Standard
Appointment.recurrenceTemplate.monthlyTemplate.nthWeekOfMonthrequiredWeekOfMonth
http://hl7.org/fhir/ValueSet/week-of-month|5.0.0
From the FHIR Standard
Appointment.recurrenceTemplate.monthlyTemplate.dayOfWeekrequiredDaysOfWeek
http://hl7.org/fhir/ValueSet/days-of-week|5.0.0
From the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
app-1errorAppointment.participantEither the type or actor on the participant SHALL be specified
: type.exists() or actor.exists()
app-2errorAppointmentEither start and end are specified, or neither
: start.exists() = end.exists()
app-3errorAppointmentOnly proposed or cancelled appointments can be missing start/end dates
: (start.exists() and end.exists()) or (status in ('proposed' | 'cancelled' | 'waitlist'))
app-4errorAppointmentCancellation reason is only used for appointments that have been cancelled, or noshow
: cancellationReason.exists() implies (status='noshow' or status='cancelled')
app-5errorAppointmentThe start must be less than or equal to the end
: start.exists() implies start <= end
app-6best practiceAppointmentAn appointment may have an originatingAppointment or recurrenceTemplate, but not both
: originatingAppointment.exists().not() or recurrenceTemplate.exists().not()
app-7errorAppointmentCancellation date is only used for appointments that have been cancelled, or noshow
: cancellationDate.exists() implies (status='noshow' or status='cancelled')
dom-2errorAppointmentIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorAppointmentIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorAppointmentIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorAppointmentIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceAppointmentA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Appointment C 0..* Appointment 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)
Constraints: app-2, app-3, app-4, app-5, app-6, app-7
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... contained 0..* Resource Contained, inline Resources
... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
.... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required)
.... type Σ 0..1 SGHICodeableConcept Description of identifier
Binding: SGHI Standard Identifier Types (required)
.... system Σ 1..1 uri The namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
.... value ΣC 1..1 string The value that is unique
Example General: 123456
.... assigner Σ 1..1 SGHIReference(SGHI Organization) Organization that issued id (may be just text)
... status ?!ΣC 1..1 code proposed | pending | booked | arrived | fulfilled | cancelled | noshow | entered-in-error | checked-in | waitlist
Binding: AppointmentStatus (required): The free/busy status of an appointment.
... cancellationReason ΣC 0..1 SGHICodeableConcept The coded reason for the appointment being cancelled
Binding: AppointmentCancellationReason (example)
... class Σ 0..* SGHICodeableConcept Classification when becoming an encounter
Binding: All LOINC Codes (required)
... serviceCategory Σ 0..* SGHICodeableConcept A broad categorization of the service that is to be performed during this appointment
Binding: ServiceCategory (example)
... specialty Σ 1..* SGHICodeableConcept The specialty of a practitioner that would be required to perform the service requested in this appointment
Binding: sghi-speciality (required)
... appointmentType Σ 1..1 SGHICodeableConcept The style of appointment or patient that has been booked in the slot (not service type)
Binding: hl7VS-appointmentReasonCodes (preferred)
... reason Σ 1..* SGHICodeableReference(SGHI Condition | SGHI Observation) Reason this appointment is scheduled
Binding: All LOINC Codes (required)
... priority 1..1 SGHICodeableConcept Used to make informed decisions if needing to re-prioritize
Binding: ActPriority (example): Indicates the urgency of the appointment.
... replaces 0..* SGHIReference(SGHI Appointment Profile) Appointment replaced by this Appointment
... previousAppointment 0..1 SGHIReference(SGHI Appointment Profile) The previous appointment in a series
... originatingAppointment C 0..1 SGHIReference(SGHI Appointment Profile) The originating appointment in a recurring set of appointments
... start ΣC 1..1 instant When appointment is to take place
... end ΣC 0..1 instant When appointment is to conclude
... created 1..1 dateTime The date that this appointment was initially created
... basedOn 0..* SGHIReference(SGHI ServiceRequest | SGHI MedicationRequest) The request this appointment is allocated to assess
... subject Σ 1..1 SGHIReference(SGHI Patient) The patient or group associated with the appointment
... participant C 1..* BackboneElement Participants involved in appointment
Constraints: app-1
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... type ΣC 0..* SGHICodeableConcept Role of participant in the appointment
Binding: ParticipantType (extensible): Role of participant in encounter.
.... actor ΣC 1..1 SGHIReference(SGHI Patient | SGHI Location | SGHI PractitionerRole) The individual, device, location, or service participating in the appointment
.... status Σ 1..1 code accepted | declined | tentative | needs-action
Binding: ParticipationStatus (required): The Participation status of an appointment.

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Appointment.identifier.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use
From the FHIR Standard
Appointment.identifier.typerequiredSGHIIdentifierTypes
https://fhir.slade360.co.ke/fhir/ValueSet/sghi-identifier-types
From this IG
Appointment.statusrequiredAppointmentStatus
http://hl7.org/fhir/ValueSet/appointmentstatus|5.0.0
From the FHIR Standard
Appointment.cancellationReasonexampleAppointmentCancellationReason
http://hl7.org/fhir/ValueSet/appointment-cancellation-reason
From the FHIR Standard
Appointment.classrequiredAllLoincCodes(a valid code from LOINC)
https://fhir.slade360.co.ke/fhir/ValueSet/all-loinc-codes
From this IG
Appointment.serviceCategoryexampleServiceCategory
http://hl7.org/fhir/ValueSet/service-category
From the FHIR Standard
Appointment.specialtyrequiredSGHISpecialtyVs(a valid code from SGHI Specialty Code System)
https://fhir.slade360.co.ke/fhir/ValueSet/sghi-speciality
From this IG
Appointment.appointmentTypepreferredHl7VSAppointmentReasonCodes
http://terminology.hl7.org/ValueSet/v2-0276
Appointment.reasonrequiredAllLoincCodes(a valid code from LOINC)
https://fhir.slade360.co.ke/fhir/ValueSet/all-loinc-codes
From this IG
Appointment.priorityexampleActPriority
http://terminology.hl7.org/ValueSet/v3-ActPriority
Appointment.participant.typeextensibleParticipantType
http://hl7.org/fhir/ValueSet/encounter-participant-type
From the FHIR Standard
Appointment.participant.statusrequiredParticipationStatus
http://hl7.org/fhir/ValueSet/participationstatus|5.0.0
From the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
app-1errorAppointment.participantEither the type or actor on the participant SHALL be specified
: type.exists() or actor.exists()
app-2errorAppointmentEither start and end are specified, or neither
: start.exists() = end.exists()
app-3errorAppointmentOnly proposed or cancelled appointments can be missing start/end dates
: (start.exists() and end.exists()) or (status in ('proposed' | 'cancelled' | 'waitlist'))
app-4errorAppointmentCancellation reason is only used for appointments that have been cancelled, or noshow
: cancellationReason.exists() implies (status='noshow' or status='cancelled')
app-5errorAppointmentThe start must be less than or equal to the end
: start.exists() implies start <= end
app-6best practiceAppointmentAn appointment may have an originatingAppointment or recurrenceTemplate, but not both
: originatingAppointment.exists().not() or recurrenceTemplate.exists().not()
app-7errorAppointmentCancellation date is only used for appointments that have been cancelled, or noshow
: cancellationDate.exists() implies (status='noshow' or status='cancelled')
dom-2errorAppointmentIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorAppointmentIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorAppointmentIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorAppointmentIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceAppointmentA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

Differential View

This structure is derived from Appointment

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Appointment 0..* Appointment 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)
... identifier 1..* Identifier External Ids for this item
.... use 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required)
.... type 0..1 SGHICodeableConcept Description of identifier
Binding: SGHI Standard Identifier Types (required)
.... system 1..1 uri The namespace for the identifier value
.... value 1..1 string The value that is unique
.... assigner 1..1 SGHIReference(SGHI Organization) Organization that issued id (may be just text)
... cancellationReason 0..1 SGHICodeableConcept The coded reason for the appointment being cancelled
... class 0..* SGHICodeableConcept Classification when becoming an encounter
Binding: All LOINC Codes (required)
... specialty 1..* SGHICodeableConcept The specialty of a practitioner that would be required to perform the service requested in this appointment
Binding: sghi-speciality (required)
... appointmentType 1..1 SGHICodeableConcept The style of appointment or patient that has been booked in the slot (not service type)
... reason 1..* SGHICodeableReference(SGHI Condition | SGHI Observation) Reason this appointment is scheduled
Binding: All LOINC Codes (required)
... priority 1..1 SGHICodeableConcept Used to make informed decisions if needing to re-prioritize
... replaces 0..* SGHIReference(SGHI Appointment Profile) Appointment replaced by this Appointment
... previousAppointment 0..1 SGHIReference(SGHI Appointment Profile) The previous appointment in a series
... originatingAppointment 0..1 SGHIReference(SGHI Appointment Profile) The originating appointment in a recurring set of appointments
... start 1..1 instant When appointment is to take place
... created 1..1 dateTime The date that this appointment was initially created
... basedOn 0..* SGHIReference(SGHI ServiceRequest | SGHI MedicationRequest) The request this appointment is allocated to assess
... subject 1..1 SGHIReference(SGHI Patient) The patient or group associated with the appointment
... participant
.... type 0..* SGHICodeableConcept Role of participant in the appointment
.... actor 1..1 SGHIReference(SGHI Patient | SGHI Location | SGHI PractitionerRole) The individual, device, location, or service participating in the appointment

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSetURI
Appointment.identifier.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use
From the FHIR Standard
Appointment.identifier.typerequiredSGHIIdentifierTypes
https://fhir.slade360.co.ke/fhir/ValueSet/sghi-identifier-types
From this IG
Appointment.classrequiredAllLoincCodes(a valid code from LOINC)
https://fhir.slade360.co.ke/fhir/ValueSet/all-loinc-codes
From this IG
Appointment.specialtyrequiredSGHISpecialtyVs(a valid code from SGHI Specialty Code System)
https://fhir.slade360.co.ke/fhir/ValueSet/sghi-speciality
From this IG
Appointment.reasonrequiredAllLoincCodes(a valid code from LOINC)
https://fhir.slade360.co.ke/fhir/ValueSet/all-loinc-codes
From this IG

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Appointment C 0..* Appointment 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)
Constraints: app-2, app-3, app-4, app-5, app-6, app-7
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... language 0..1 code Language of the resource content
Binding: AllLanguages (required): IETF language tag for a human language
Additional BindingsPurpose
CommonLanguages Starter
... text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
... contained 0..* Resource Contained, inline Resources
... extension 0..* Extension Additional content defined by implementations
... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
... identifier Σ 1..* Identifier External Ids for this item
.... id 0..1 id Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required)
.... type Σ 0..1 SGHICodeableConcept Description of identifier
Binding: SGHI Standard Identifier Types (required)
.... system Σ 1..1 uri The namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
.... value ΣC 1..1 string The value that is unique
Example General: 123456
.... period Σ 0..1 Period Time period when id is/was valid for use
.... assigner Σ 1..1 SGHIReference(SGHI Organization) Organization that issued id (may be just text)
... status ?!ΣC 1..1 code proposed | pending | booked | arrived | fulfilled | cancelled | noshow | entered-in-error | checked-in | waitlist
Binding: AppointmentStatus (required): The free/busy status of an appointment.
... cancellationReason ΣC 0..1 SGHICodeableConcept The coded reason for the appointment being cancelled
Binding: AppointmentCancellationReason (example)
... class Σ 0..* SGHICodeableConcept Classification when becoming an encounter
Binding: All LOINC Codes (required)
... serviceCategory Σ 0..* SGHICodeableConcept A broad categorization of the service that is to be performed during this appointment
Binding: ServiceCategory (example)
... serviceType Σ 0..* CodeableReference(HealthcareService) The specific service that is to be performed during this appointment
Binding: ServiceType (example)
... specialty Σ 1..* SGHICodeableConcept The specialty of a practitioner that would be required to perform the service requested in this appointment
Binding: sghi-speciality (required)
... appointmentType Σ 1..1 SGHICodeableConcept The style of appointment or patient that has been booked in the slot (not service type)
Binding: hl7VS-appointmentReasonCodes (preferred)
... reason Σ 1..* SGHICodeableReference(SGHI Condition | SGHI Observation) Reason this appointment is scheduled
Binding: All LOINC Codes (required)
... priority 1..1 SGHICodeableConcept Used to make informed decisions if needing to re-prioritize
Binding: ActPriority (example): Indicates the urgency of the appointment.
... description 0..1 string Shown on a subject line in a meeting request, or appointment list
... replaces 0..* SGHIReference(SGHI Appointment Profile) Appointment replaced by this Appointment
... virtualService 0..* VirtualServiceDetail Connection details of a virtual service (e.g. conference call)
... supportingInformation 0..* Reference(Resource) Additional information to support the appointment
... previousAppointment 0..1 SGHIReference(SGHI Appointment Profile) The previous appointment in a series
... originatingAppointment C 0..1 SGHIReference(SGHI Appointment Profile) The originating appointment in a recurring set of appointments
... start ΣC 1..1 instant When appointment is to take place
... end ΣC 0..1 instant When appointment is to conclude
... minutesDuration 0..1 positiveInt Can be less than start/end (e.g. estimate)
... requestedPeriod 0..* Period Potential date/time interval(s) requested to allocate the appointment within
... slot 0..* Reference(Slot) The slots that this appointment is filling
... account 0..* Reference(Account) The set of accounts that may be used for billing for this Appointment
... created 1..1 dateTime The date that this appointment was initially created
... cancellationDate C 0..1 dateTime When the appointment was cancelled
... note 0..* Annotation Additional comments
... patientInstruction 0..* CodeableReference(DocumentReference | Binary | Communication) Detailed information and instructions for the patient
... basedOn 0..* SGHIReference(SGHI ServiceRequest | SGHI MedicationRequest) The request this appointment is allocated to assess
... subject Σ 1..1 SGHIReference(SGHI Patient) The patient or group associated with the appointment
... participant C 1..* BackboneElement Participants involved in appointment
Constraints: app-1
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... type ΣC 0..* SGHICodeableConcept Role of participant in the appointment
Binding: ParticipantType (extensible): Role of participant in encounter.
.... period 0..1 Period Participation period of the actor
.... actor ΣC 1..1 SGHIReference(SGHI Patient | SGHI Location | SGHI PractitionerRole) The individual, device, location, or service participating in the appointment
.... required Σ 0..1 boolean The participant is required to attend (optional when false)
.... status Σ 1..1 code accepted | declined | tentative | needs-action
Binding: ParticipationStatus (required): The Participation status of an appointment.
... recurrenceId 0..1 positiveInt The sequence number in the recurrence
... occurrenceChanged 0..1 boolean Indicates that this appointment varies from a recurrence pattern
... recurrenceTemplate C 0..* BackboneElement Details of the recurrence pattern/template used to generate occurrences
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... timezone 0..1 CodeableConcept The timezone of the occurrences
Binding: IANATimezones (required): IANA Timezones (BCP 175)
.... recurrenceType 1..1 CodeableConcept The frequency of the recurrence
Binding: AppointmentRecurrenceType (preferred): IANA Timezones (BCP 175)
.... lastOccurrenceDate 0..1 date The date when the recurrence should end
.... occurrenceCount 0..1 positiveInt The number of planned occurrences
.... occurrenceDate 0..* date Specific dates for a recurring set of appointments (no template)
.... weeklyTemplate 0..1 BackboneElement Information about weekly recurring appointments
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... monday 0..1 boolean Recurs on Mondays
..... tuesday 0..1 boolean Recurs on Tuesday
..... wednesday 0..1 boolean Recurs on Wednesday
..... thursday 0..1 boolean Recurs on Thursday
..... friday 0..1 boolean Recurs on Friday
..... saturday 0..1 boolean Recurs on Saturday
..... sunday 0..1 boolean Recurs on Sunday
..... weekInterval 0..1 positiveInt Recurs every nth week
.... monthlyTemplate 0..1 BackboneElement Information about monthly recurring appointments
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... dayOfMonth 0..1 positiveInt Recurs on a specific day of the month
..... nthWeekOfMonth 0..1 Coding Indicates which week of the month the appointment should occur
Binding: WeekOfMonth (required): The set of weeks in a month.
..... dayOfWeek 0..1 Coding Indicates which day of the week the appointment should occur
Binding: DaysOfWeek (required): The days of the week.
..... monthInterval 1..1 positiveInt Recurs every nth month
.... yearlyTemplate 0..1 BackboneElement Information about yearly recurring appointments
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... yearInterval 1..1 positiveInt Recurs every nth year
.... excludingDate 0..* date Any dates that should be excluded from the series
.... excludingRecurrenceId 0..* positiveInt Any recurrence IDs that should be excluded from the recurrence

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Appointment.languagerequiredAllLanguages
http://hl7.org/fhir/ValueSet/all-languages|5.0.0
From the FHIR Standard
Appointment.identifier.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use
From the FHIR Standard
Appointment.identifier.typerequiredSGHIIdentifierTypes
https://fhir.slade360.co.ke/fhir/ValueSet/sghi-identifier-types
From this IG
Appointment.statusrequiredAppointmentStatus
http://hl7.org/fhir/ValueSet/appointmentstatus|5.0.0
From the FHIR Standard
Appointment.cancellationReasonexampleAppointmentCancellationReason
http://hl7.org/fhir/ValueSet/appointment-cancellation-reason
From the FHIR Standard
Appointment.classrequiredAllLoincCodes(a valid code from LOINC)
https://fhir.slade360.co.ke/fhir/ValueSet/all-loinc-codes
From this IG
Appointment.serviceCategoryexampleServiceCategory
http://hl7.org/fhir/ValueSet/service-category
From the FHIR Standard
Appointment.serviceTypeexampleServiceType
http://hl7.org/fhir/ValueSet/service-type
From the FHIR Standard
Appointment.specialtyrequiredSGHISpecialtyVs(a valid code from SGHI Specialty Code System)
https://fhir.slade360.co.ke/fhir/ValueSet/sghi-speciality
From this IG
Appointment.appointmentTypepreferredHl7VSAppointmentReasonCodes
http://terminology.hl7.org/ValueSet/v2-0276
Appointment.reasonrequiredAllLoincCodes(a valid code from LOINC)
https://fhir.slade360.co.ke/fhir/ValueSet/all-loinc-codes
From this IG
Appointment.priorityexampleActPriority
http://terminology.hl7.org/ValueSet/v3-ActPriority
Appointment.participant.typeextensibleParticipantType
http://hl7.org/fhir/ValueSet/encounter-participant-type
From the FHIR Standard
Appointment.participant.statusrequiredParticipationStatus
http://hl7.org/fhir/ValueSet/participationstatus|5.0.0
From the FHIR Standard
Appointment.recurrenceTemplate.timezonerequiredIANATimezones
http://hl7.org/fhir/ValueSet/timezones|5.0.0
From the FHIR Standard
Appointment.recurrenceTemplate.recurrenceTypepreferredAppointmentRecurrenceType
http://hl7.org/fhir/ValueSet/appointment-recurrrence-type
From the FHIR Standard
Appointment.recurrenceTemplate.monthlyTemplate.nthWeekOfMonthrequiredWeekOfMonth
http://hl7.org/fhir/ValueSet/week-of-month|5.0.0
From the FHIR Standard
Appointment.recurrenceTemplate.monthlyTemplate.dayOfWeekrequiredDaysOfWeek
http://hl7.org/fhir/ValueSet/days-of-week|5.0.0
From the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
app-1errorAppointment.participantEither the type or actor on the participant SHALL be specified
: type.exists() or actor.exists()
app-2errorAppointmentEither start and end are specified, or neither
: start.exists() = end.exists()
app-3errorAppointmentOnly proposed or cancelled appointments can be missing start/end dates
: (start.exists() and end.exists()) or (status in ('proposed' | 'cancelled' | 'waitlist'))
app-4errorAppointmentCancellation reason is only used for appointments that have been cancelled, or noshow
: cancellationReason.exists() implies (status='noshow' or status='cancelled')
app-5errorAppointmentThe start must be less than or equal to the end
: start.exists() implies start <= end
app-6best practiceAppointmentAn appointment may have an originatingAppointment or recurrenceTemplate, but not both
: originatingAppointment.exists().not() or recurrenceTemplate.exists().not()
app-7errorAppointmentCancellation date is only used for appointments that have been cancelled, or noshow
: cancellationDate.exists() implies (status='noshow' or status='cancelled')
dom-2errorAppointmentIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorAppointmentIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorAppointmentIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorAppointmentIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceAppointmentA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

 

Other representations of profile: CSV, Excel, Schematron