XealthIG
v1.42.0 - release

XealthIG - Local Development build (vv1.42.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

Resource Profile: Xealth Appointment

Official URL: https://fhir.xealth.io/StructureDefinition/xealth-appointment Version: v1.42.0
Active as of 2025-04-04 Computable Name: XealthAppointment

Defines Xealth constraints on Appointment.

Usage:

Formal Views of Profile Content

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

NameFlagsCard.TypeDescription & Constraintsdoco
.. 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)
app-2: Either start and end are specified, or neither
app-3: Only proposed or cancelled appointments can be missing start/end dates
app-4: Cancelation reason is only used for appointments that have been cancelled, or no-show
dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources
dom-3: If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
dom-5: If a resource is contained in another resource, it SHALL NOT have a security label
dom-6: A resource should have narrative for robust management
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
ele-1: All FHIR elements must have a @value or children
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... extension:appointmentStatusHistory 0..1 (Complex) Contains the history of the appointment status over time.
URL: https://fhir.xealth.io/StructureDefinition/extension-appointment-status-history
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... extension:actualStart 0..1 dateTime Contains the actual start of the appointment. For scheduled start see appointment.start
URL: https://fhir.xealth.io/StructureDefinition/extension-actual-start
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... extension:actualEnd 0..1 dateTime Contains the actual end of the appointment. For scheduled end see appointment.end.
URL: https://fhir.xealth.io/StructureDefinition/extension-actual-end
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... extension:appointmentLocationInfo 0..* CodeableConcept Contains the schedule location where the appointment will take place.
URL: https://fhir.xealth.io/StructureDefinition/extension-appointment-location-info
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
... serviceCategory SΣ 1..1 CodeableConcept A broad categorization of the service that is to be performed during this appointment
Binding: ServiceCategory (example)
ele-1: All FHIR elements must have a @value or children
... serviceType SΣ 1..* CodeableConcept The specific service that is to be performed during this appointment
Binding: ServiceType (example)
ele-1: All FHIR elements must have a @value or children
... specialty SΣ 1..1 CodeableConcept The specialty of a practitioner that would be required to perform the service requested in this appointment
Binding: PracticeSettingCodeValueSet (preferred)
ele-1: All FHIR elements must have a @value or children
... supportingInformation 0..* Reference(Encounter) Additional information to support the appointment
ele-1: All FHIR elements must have a @value or children
... created S 1..1 dateTime The date that this appointment was initially created
ele-1: All FHIR elements must have a @value or children
... participant C 1..* BackboneElement Participants involved in appointment
app-1: Either the type or actor on the participant SHALL be specified
ele-1: All FHIR elements must have a @value or children
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... actor Σ 0..1 Reference(Patient) Person, Location/HealthcareService or Device
ele-1: All FHIR elements must have a @value or children
.... status Σ 1..1 code accepted | declined | tentative | needs-action
Binding: ParticipationStatus (required): The Participation status of an appointment.


ele-1: All FHIR elements must have a @value or children

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Appointment.statusrequiredXealthAppointmentStatusVS
https://fhir.xealth.io/ValueSet/xealth-appointment-status-vs
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.specialtypreferredPracticeSettingCodeValueSet
http://hl7.org/fhir/ValueSet/c80-practice-codes
from the FHIR Standard
Appointment.participant.statusrequiredParticipationStatus
http://hl7.org/fhir/ValueSet/participationstatus|4.0.1
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-4errorAppointmentCancelation reason is only used for appointments that have been cancelled, or no-show
: Appointment.cancelationReason.exists() implies (Appointment.status='no-show' or Appointment.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().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(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 & Constraintsdoco
.. 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)
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:appointmentStatusHistory 0..1 (Complex) Contains the history of the appointment status over time.
URL: https://fhir.xealth.io/StructureDefinition/extension-appointment-status-history
.... extension:actualStart 0..1 dateTime Contains the actual start of the appointment. For scheduled start see appointment.start
URL: https://fhir.xealth.io/StructureDefinition/extension-actual-start
.... extension:actualEnd 0..1 dateTime Contains the actual end of the appointment. For scheduled end see appointment.end.
URL: https://fhir.xealth.io/StructureDefinition/extension-actual-end
.... extension:appointmentLocationInfo 0..* CodeableConcept Contains the schedule location where the appointment will take place.
URL: https://fhir.xealth.io/StructureDefinition/extension-appointment-location-info
... status 1..1 code proposed | pending | booked | arrived | fulfilled | cancelled | noshow | entered-in-error | checked-in | waitlist
Binding: Xealth Appointment Status Value Set (required)
... serviceCategory S 1..1 CodeableConcept A broad categorization of the service that is to be performed during this appointment
... specialty S 1..1 CodeableConcept The specialty of a practitioner that would be required to perform the service requested in this appointment
... supportingInformation 0..* Reference(Encounter) Additional information to support the appointment
... created S 1..1 dateTime The date that this appointment was initially created
... participant
.... actor 0..1 Reference(Patient) Person, Location/HealthcareService or Device

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSetURI
Appointment.statusrequiredXealthAppointmentStatusVS
https://fhir.xealth.io/ValueSet/xealth-appointment-status-vs
from this IG
NameFlagsCard.TypeDescription & Constraintsdoco
.. 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)
app-2: Either start and end are specified, or neither
app-3: Only proposed or cancelled appointments can be missing start/end dates
app-4: Cancelation reason is only used for appointments that have been cancelled, or no-show
... 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: CommonLanguages (preferred): A human language.

Additional BindingsPurpose
AllLanguages Max Binding
... text 0..1 Narrative Text summary of the resource, for human interpretation
... contained 0..* Resource Contained, inline Resources
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:appointmentStatusHistory 0..1 (Complex) Contains the history of the appointment status over time.
URL: https://fhir.xealth.io/StructureDefinition/extension-appointment-status-history
.... extension:actualStart 0..1 dateTime Contains the actual start of the appointment. For scheduled start see appointment.start
URL: https://fhir.xealth.io/StructureDefinition/extension-actual-start
.... extension:actualEnd 0..1 dateTime Contains the actual end of the appointment. For scheduled end see appointment.end.
URL: https://fhir.xealth.io/StructureDefinition/extension-actual-end
.... extension:appointmentLocationInfo 0..* CodeableConcept Contains the schedule location where the appointment will take place.
URL: https://fhir.xealth.io/StructureDefinition/extension-appointment-location-info
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier Σ 0..* Identifier External Ids for this item
... status ?!Σ 1..1 code proposed | pending | booked | arrived | fulfilled | cancelled | noshow | entered-in-error | checked-in | waitlist
Binding: Xealth Appointment Status Value Set (required)
... cancelationReason Σ 0..1 CodeableConcept The coded reason for the appointment being cancelled
Binding: AppointmentCancellationReason (example)
... serviceCategory SΣ 1..1 CodeableConcept A broad categorization of the service that is to be performed during this appointment
Binding: ServiceCategory (example)
... serviceType SΣ 1..* CodeableConcept The specific service that is to be performed during this appointment
Binding: ServiceType (example)
... specialty SΣ 1..1 CodeableConcept The specialty of a practitioner that would be required to perform the service requested in this appointment
Binding: PracticeSettingCodeValueSet (preferred)
... appointmentType Σ 0..1 CodeableConcept The style of appointment or patient that has been booked in the slot (not service type)
Binding: hl7VS-appointmentReasonCodes (preferred)
... reasonCode Σ 0..* CodeableConcept Coded reason this appointment is scheduled
Binding: EncounterReasonCodes (preferred): The Reason for the appointment to take place.


... reasonReference 0..* Reference(Condition | Procedure | Observation | ImmunizationRecommendation) Reason the appointment is to take place (resource)
... priority 0..1 unsignedInt Used to make informed decisions if needing to re-prioritize
... description 0..1 string Shown on a subject line in a meeting request, or appointment list
... supportingInformation 0..* Reference(Encounter) Additional information to support the appointment
... start Σ 0..1 instant When appointment is to take place
... end Σ 0..1 instant When appointment is to conclude
... minutesDuration 0..1 positiveInt Can be less than start/end (e.g. estimate)
... slot 0..* Reference(Slot) The slots that this appointment is filling
... created S 1..1 dateTime The date that this appointment was initially created
... comment 0..1 string Additional comments
... patientInstruction 0..1 string Detailed information and instructions for the patient
... basedOn 0..* Reference(ServiceRequest) The service request this appointment is allocated to assess
... participant C 1..* BackboneElement Participants involved in appointment
app-1: Either the type or actor on the participant SHALL be specified
.... 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 Σ 0..* CodeableConcept Role of participant in the appointment
Binding: ParticipantType (extensible): Role of participant in encounter.


.... actor Σ 0..1 Reference(Patient) Person, Location/HealthcareService or Device
.... required Σ 0..1 code required | optional | information-only
Binding: ParticipantRequired (required): Is the Participant required to attend the appointment.

.... status Σ 1..1 code accepted | declined | tentative | needs-action
Binding: ParticipationStatus (required): The Participation status of an appointment.

.... period 0..1 Period Participation period of the actor
... requestedPeriod 0..* Period Potential date/time interval(s) requested to allocate the appointment within

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Appointment.languagepreferredCommonLanguages
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
Additional Bindings Purpose
AllLanguages Max Binding
Appointment.statusrequiredXealthAppointmentStatusVS
https://fhir.xealth.io/ValueSet/xealth-appointment-status-vs
from this IG
Appointment.cancelationReasonexampleAppointmentCancellationReason
http://hl7.org/fhir/ValueSet/appointment-cancellation-reason
from the FHIR Standard
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.specialtypreferredPracticeSettingCodeValueSet
http://hl7.org/fhir/ValueSet/c80-practice-codes
from the FHIR Standard
Appointment.appointmentTypepreferredHl7VSAppointmentReasonCodes
http://terminology.hl7.org/ValueSet/v2-0276
Appointment.reasonCodepreferredEncounterReasonCodes
http://hl7.org/fhir/ValueSet/encounter-reason
from the FHIR Standard
Appointment.participant.typeextensibleParticipantType
http://hl7.org/fhir/ValueSet/encounter-participant-type
from the FHIR Standard
Appointment.participant.requiredrequiredParticipantRequired
http://hl7.org/fhir/ValueSet/participantrequired|4.0.1
from the FHIR Standard
Appointment.participant.statusrequiredParticipationStatus
http://hl7.org/fhir/ValueSet/participationstatus|4.0.1
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-4errorAppointmentCancelation reason is only used for appointments that have been cancelled, or no-show
: Appointment.cancelationReason.exists() implies (Appointment.status='no-show' or Appointment.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().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(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 & Constraintsdoco
.. 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)
app-2: Either start and end are specified, or neither
app-3: Only proposed or cancelled appointments can be missing start/end dates
app-4: Cancelation reason is only used for appointments that have been cancelled, or no-show
dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources
dom-3: If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
dom-5: If a resource is contained in another resource, it SHALL NOT have a security label
dom-6: A resource should have narrative for robust management
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
ele-1: All FHIR elements must have a @value or children
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... extension:appointmentStatusHistory 0..1 (Complex) Contains the history of the appointment status over time.
URL: https://fhir.xealth.io/StructureDefinition/extension-appointment-status-history
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... extension:actualStart 0..1 dateTime Contains the actual start of the appointment. For scheduled start see appointment.start
URL: https://fhir.xealth.io/StructureDefinition/extension-actual-start
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... extension:actualEnd 0..1 dateTime Contains the actual end of the appointment. For scheduled end see appointment.end.
URL: https://fhir.xealth.io/StructureDefinition/extension-actual-end
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... extension:appointmentLocationInfo 0..* CodeableConcept Contains the schedule location where the appointment will take place.
URL: https://fhir.xealth.io/StructureDefinition/extension-appointment-location-info
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
... serviceCategory SΣ 1..1 CodeableConcept A broad categorization of the service that is to be performed during this appointment
Binding: ServiceCategory (example)
ele-1: All FHIR elements must have a @value or children
... serviceType SΣ 1..* CodeableConcept The specific service that is to be performed during this appointment
Binding: ServiceType (example)
ele-1: All FHIR elements must have a @value or children
... specialty SΣ 1..1 CodeableConcept The specialty of a practitioner that would be required to perform the service requested in this appointment
Binding: PracticeSettingCodeValueSet (preferred)
ele-1: All FHIR elements must have a @value or children
... supportingInformation 0..* Reference(Encounter) Additional information to support the appointment
ele-1: All FHIR elements must have a @value or children
... created S 1..1 dateTime The date that this appointment was initially created
ele-1: All FHIR elements must have a @value or children
... participant C 1..* BackboneElement Participants involved in appointment
app-1: Either the type or actor on the participant SHALL be specified
ele-1: All FHIR elements must have a @value or children
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... actor Σ 0..1 Reference(Patient) Person, Location/HealthcareService or Device
ele-1: All FHIR elements must have a @value or children
.... status Σ 1..1 code accepted | declined | tentative | needs-action
Binding: ParticipationStatus (required): The Participation status of an appointment.


ele-1: All FHIR elements must have a @value or children

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Appointment.statusrequiredXealthAppointmentStatusVS
https://fhir.xealth.io/ValueSet/xealth-appointment-status-vs
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.specialtypreferredPracticeSettingCodeValueSet
http://hl7.org/fhir/ValueSet/c80-practice-codes
from the FHIR Standard
Appointment.participant.statusrequiredParticipationStatus
http://hl7.org/fhir/ValueSet/participationstatus|4.0.1
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-4errorAppointmentCancelation reason is only used for appointments that have been cancelled, or no-show
: Appointment.cancelationReason.exists() implies (Appointment.status='no-show' or Appointment.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().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(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 & Constraintsdoco
.. 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)
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:appointmentStatusHistory 0..1 (Complex) Contains the history of the appointment status over time.
URL: https://fhir.xealth.io/StructureDefinition/extension-appointment-status-history
.... extension:actualStart 0..1 dateTime Contains the actual start of the appointment. For scheduled start see appointment.start
URL: https://fhir.xealth.io/StructureDefinition/extension-actual-start
.... extension:actualEnd 0..1 dateTime Contains the actual end of the appointment. For scheduled end see appointment.end.
URL: https://fhir.xealth.io/StructureDefinition/extension-actual-end
.... extension:appointmentLocationInfo 0..* CodeableConcept Contains the schedule location where the appointment will take place.
URL: https://fhir.xealth.io/StructureDefinition/extension-appointment-location-info
... status 1..1 code proposed | pending | booked | arrived | fulfilled | cancelled | noshow | entered-in-error | checked-in | waitlist
Binding: Xealth Appointment Status Value Set (required)
... serviceCategory S 1..1 CodeableConcept A broad categorization of the service that is to be performed during this appointment
... specialty S 1..1 CodeableConcept The specialty of a practitioner that would be required to perform the service requested in this appointment
... supportingInformation 0..* Reference(Encounter) Additional information to support the appointment
... created S 1..1 dateTime The date that this appointment was initially created
... participant
.... actor 0..1 Reference(Patient) Person, Location/HealthcareService or Device

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSetURI
Appointment.statusrequiredXealthAppointmentStatusVS
https://fhir.xealth.io/ValueSet/xealth-appointment-status-vs
from this IG

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. 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)
app-2: Either start and end are specified, or neither
app-3: Only proposed or cancelled appointments can be missing start/end dates
app-4: Cancelation reason is only used for appointments that have been cancelled, or no-show
... 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: CommonLanguages (preferred): A human language.

Additional BindingsPurpose
AllLanguages Max Binding
... text 0..1 Narrative Text summary of the resource, for human interpretation
... contained 0..* Resource Contained, inline Resources
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:appointmentStatusHistory 0..1 (Complex) Contains the history of the appointment status over time.
URL: https://fhir.xealth.io/StructureDefinition/extension-appointment-status-history
.... extension:actualStart 0..1 dateTime Contains the actual start of the appointment. For scheduled start see appointment.start
URL: https://fhir.xealth.io/StructureDefinition/extension-actual-start
.... extension:actualEnd 0..1 dateTime Contains the actual end of the appointment. For scheduled end see appointment.end.
URL: https://fhir.xealth.io/StructureDefinition/extension-actual-end
.... extension:appointmentLocationInfo 0..* CodeableConcept Contains the schedule location where the appointment will take place.
URL: https://fhir.xealth.io/StructureDefinition/extension-appointment-location-info
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier Σ 0..* Identifier External Ids for this item
... status ?!Σ 1..1 code proposed | pending | booked | arrived | fulfilled | cancelled | noshow | entered-in-error | checked-in | waitlist
Binding: Xealth Appointment Status Value Set (required)
... cancelationReason Σ 0..1 CodeableConcept The coded reason for the appointment being cancelled
Binding: AppointmentCancellationReason (example)
... serviceCategory SΣ 1..1 CodeableConcept A broad categorization of the service that is to be performed during this appointment
Binding: ServiceCategory (example)
... serviceType SΣ 1..* CodeableConcept The specific service that is to be performed during this appointment
Binding: ServiceType (example)
... specialty SΣ 1..1 CodeableConcept The specialty of a practitioner that would be required to perform the service requested in this appointment
Binding: PracticeSettingCodeValueSet (preferred)
... appointmentType Σ 0..1 CodeableConcept The style of appointment or patient that has been booked in the slot (not service type)
Binding: hl7VS-appointmentReasonCodes (preferred)
... reasonCode Σ 0..* CodeableConcept Coded reason this appointment is scheduled
Binding: EncounterReasonCodes (preferred): The Reason for the appointment to take place.


... reasonReference 0..* Reference(Condition | Procedure | Observation | ImmunizationRecommendation) Reason the appointment is to take place (resource)
... priority 0..1 unsignedInt Used to make informed decisions if needing to re-prioritize
... description 0..1 string Shown on a subject line in a meeting request, or appointment list
... supportingInformation 0..* Reference(Encounter) Additional information to support the appointment
... start Σ 0..1 instant When appointment is to take place
... end Σ 0..1 instant When appointment is to conclude
... minutesDuration 0..1 positiveInt Can be less than start/end (e.g. estimate)
... slot 0..* Reference(Slot) The slots that this appointment is filling
... created S 1..1 dateTime The date that this appointment was initially created
... comment 0..1 string Additional comments
... patientInstruction 0..1 string Detailed information and instructions for the patient
... basedOn 0..* Reference(ServiceRequest) The service request this appointment is allocated to assess
... participant C 1..* BackboneElement Participants involved in appointment
app-1: Either the type or actor on the participant SHALL be specified
.... 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 Σ 0..* CodeableConcept Role of participant in the appointment
Binding: ParticipantType (extensible): Role of participant in encounter.


.... actor Σ 0..1 Reference(Patient) Person, Location/HealthcareService or Device
.... required Σ 0..1 code required | optional | information-only
Binding: ParticipantRequired (required): Is the Participant required to attend the appointment.

.... status Σ 1..1 code accepted | declined | tentative | needs-action
Binding: ParticipationStatus (required): The Participation status of an appointment.

.... period 0..1 Period Participation period of the actor
... requestedPeriod 0..* Period Potential date/time interval(s) requested to allocate the appointment within

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Appointment.languagepreferredCommonLanguages
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
Additional Bindings Purpose
AllLanguages Max Binding
Appointment.statusrequiredXealthAppointmentStatusVS
https://fhir.xealth.io/ValueSet/xealth-appointment-status-vs
from this IG
Appointment.cancelationReasonexampleAppointmentCancellationReason
http://hl7.org/fhir/ValueSet/appointment-cancellation-reason
from the FHIR Standard
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.specialtypreferredPracticeSettingCodeValueSet
http://hl7.org/fhir/ValueSet/c80-practice-codes
from the FHIR Standard
Appointment.appointmentTypepreferredHl7VSAppointmentReasonCodes
http://terminology.hl7.org/ValueSet/v2-0276
Appointment.reasonCodepreferredEncounterReasonCodes
http://hl7.org/fhir/ValueSet/encounter-reason
from the FHIR Standard
Appointment.participant.typeextensibleParticipantType
http://hl7.org/fhir/ValueSet/encounter-participant-type
from the FHIR Standard
Appointment.participant.requiredrequiredParticipantRequired
http://hl7.org/fhir/ValueSet/participantrequired|4.0.1
from the FHIR Standard
Appointment.participant.statusrequiredParticipationStatus
http://hl7.org/fhir/ValueSet/participationstatus|4.0.1
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-4errorAppointmentCancelation reason is only used for appointments that have been cancelled, or no-show
: Appointment.cancelationReason.exists() implies (Appointment.status='no-show' or Appointment.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().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(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