Interweave Implementation Guide
0.1.0 - ci-build

Interweave Implementation Guide - Local Development build (v0.1.0). See the Directory of published versions

Resource Profile: InterweaveAppointment

Official URL: https://fhir.yhcr.nhs.uk/StructureDefinition/Interweave-Appointment Version: 0.1.0
Active as of 2024-03-08 Computable Name: InterweaveAppointment

Interweave Appointment resource profile.

  Status: Active: Approved (STU)

Introduction

This profile sets minimum expectations for the Appointment resource.

Note that it is necessary to consider the different purposes for which appointment data may be shared in a regional care record – as this has a bearing on how the fields are populated:

  • Historical – this overlaps with the “Encounter” to a large extent, but may still be useful to build the picture of where someone has been, who they have seen and why. However the precise details of time and location are less likely to be important.

  • Future – this a key use, to see what is upcoming. For example to build a picture of ongoing care, as well as to see what other practitioners are involved, and also to coordinate care – for example to arrange other interventions at the same time / place.

  • Patient – there is a further use-case where appointments are viewed by the patient themselves – for example in an “app” which reminds them where and when to go. In this case the precise time and location are clearly vital.

  • Scheduling – appointment data may potentially be used for scheduling – for example to match required appointments with available time slots and practitioners with appropriate skills. It is assumed however that this will be a feature of local systems and NOT a primary use-case at present for regional sharing.

Mandatory fields

The following mandatory fields are defined:

  1. Status - this is already mandatory in FHIR. Note that for future appointments it will be important to keep this status up-to-date.

  2. Service Type - to describe the type of appointment and/or clinic. We pre-adopt the UKCore value set (based on SNOMED refset 1127531000000102: Services Simple Reference Set) - for consistency with the Encounter, and because it is more relevant than the default FHIR example and also covers social care

  3. Participant: Subject - rather unusually, the FHIR Appointment does not actually have a “subject” field, but instead a multi-purpose “participant” field. It is therefore mandatory to have exactly one “participant” of type “subject” to identify the Patient involved.

Must Support fields

In addition the following fields are “Must Support” - ie they must be populated if relevant and known.

  1. Identifier - a Local Id should be provided, such that could be quoted if manually getting in touch to find out more

  2. Start - the date/time that an appointment is to take place. (Note that FHIR requires this field to be populated for appointments that are not at status “proposed” or “cancelled”)

  3. Appointment Type - a simple list of codes eg “routine”, “emergency” etc. We add a value for “urgent” to cover scheduled but urgent appointments.

  4. Description - any other title or text to further describe the appointment

  5. Participant: Primary Performer - a reference to the main practitioner involved, once they have been allocated.

  6. Participant: Location - again, rather unusually, the location is considered as another “participant” in the FHIR Appointment. A reference to the location is therefore required, once this has been allocated.
    • Note that a location that is as granular as possible should be provided, although what this means may vary by Data Provider. Some may be able to allocate locations down to the “room” level - with this obviously being essential if the aim is to guide the patient directly to the right place. Others may allocate only at a “ward” or even “site” level - with the patient having to ask for further directions on arrival.
  7. Reason: A long list of SNOMED codes to describe different reasons which have led to the Appointment.

    We pre-adopt the value set used in R4. This builds on the existing STU3 list covering SNOMED codes for “Clinical Finding” and “Procedure”, and adds codes for “Context-dependent categories” (Social Care) and “Events” (A&E)

  8. Delivery Channel (Care Connect Extension) - simple and useful field to indicate whether in-person, telephone, or video

  9. Appointment Cancellation Reason (Extension, from R4) - obviously only relevant if the appointment is cancelled, but then useful to populate. (CareConnect offers a free-text extension - however we replace this by pre-adopting the field from R4 which offers a better coded list).

Optional fields

Other fields are optional and may be populated if known - on the understanding that not all data consumers will necessarily make use of them. Points of note include:

  • Specialty - further information which may be useful about the type of specialty required. Knowing the Service Type is probably sufficient for a shared care record, with the Specialty being more relevant to resourcing the correct staff member in a scheduling system. However obviously useful additional information if available. We replace the default FHIR valueset with the list of SDS Job Roles - which appears to be more complete and relevant to the UK, and which offers better coverage of Social Care.

  • Indication - opportunity to provide additional “clinical” background to the appointment. Noting that this includes references to other FHIR resources (Condition, Procedure) which can obviously only be populated once actually implemented.

  • Patient Instruction (Extension) - this is a useful field added in FHIR R4, and pre-adopted by us here as an extension. It provides a more specific alternative to the “comment” field for any notes specifically intended for the patient. It might be used, for example, by an appointment reminders app to provide instructions such as “Please arrive at least 10 minutes beforehand, and go to the room at the end of the corridor”

  • Additional Participants - other participant type codes in the list may optionally be used to reference other FHIR Resource types ie RelatedPerson, Device, Healthcare Service. However it must not be assumed that a data consumer will have the ability to display anything more than the provided “display” text associated with a reference to these resources.

  • Incoming Referral: Link to the originating Referral, if relevant and implemented. This could be very useful information. However FHIR makes significant changes from the STU3 “ReferralRequest” to the R4 “ServiceRequest”, and so we are reluctant to mandate implementation at this stageu

  • End - the end date/time has been marked as optional as providers and consumers indicated that this is not an important field, with most people only being interested in the start date/time.

  • Minutes Duration - can optionally be used to indicate at-a-glance how long the appointment is. May also be useful to indicate the anticipated duration within a longer overall timeslot.

Discouraged or Removed fields

  • Comment - to be used only with great care. It must be assumed that this comment will be widely viewed across the region, including by the patient themselves. For many uses see instead “Patient Instruction” above.

  • Service Category - unfortunately Care Connect has made a choice of mandating a code list based on SDS Job Roles. In our opinion this is not the intended use of this field, and so negates its use. (Encouragingly, drafts of the future UKCore specification revert to the standard FHIR list of simple appointment category codes - so this situation may change in future)

  • Booking Organisation (Care Connect Extension) - Proposed that this can instead be covered by other fields. For the organisation making the booking then see “incomingReferral”. For the organisation taking the booking then see provenance tags in the “meta” section

  • Supporting Information - A pointer to potentially any other FHIR Resource. Should not be used as potentially difficult for a Data Consumer to know how to handle. .
  • Priority, Slot, and Requested Period - more relevant for local use in a scheduling system, rather than a regional shared record.

Usage:

Formal Views of Profile Content

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

This structure is derived from CareConnect-Appointment-1

NameFlagsCard.TypeDescription & Constraintsdoco
.. Appointment 0..*CareConnect-Appointment-1A 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)
... id S0..1idLogical id of this artifact
... meta
.... versionId S0..1idVersion specific identifier
.... lastUpdated S0..1instantMANDATORY except in Contained Resources. When the resource version last changed.
.... profile S0..*uriProfiles this resource claims to conform to. Should list (i) this profile (ii) underlying CareConnect profile
.... security 0..*CodingDISCOURAGED - may not be honoured by Data Consumers
.... Slices for tag 0..*CodingTags applied to this resource
Slice: Unordered, Open by value:system
..... tag:Source S0..1CodingMANDATORY except in Contained Resources. The Data Provider Id (and display text) of the system supplying the data
...... system 1..1uriIdentity of the terminology system
Fixed Value: https://yhcr.nhs.uk/Source
...... code S1..1codeThe Data Provider Id of the system supplying the data
...... display S1..1stringName of the system supplying the data
..... tag:Provenance S0..1CodingMANDATORY except in Contained Resources. The ODS Code (and display text) of the organisation responsible for the data
...... system 1..1uriIdentity of the terminology system
Fixed Value: https://yhcr.nhs.uk/Provenance
...... code S1..1codeThe ODS Code of the organisation responsible for the data
...... display S1..1stringName of the organisation supplying the data
... implicitRules 0..1uriDISCOURAGED - may not be honoured by Data Consumers
... text 0..1NarrativeDISCOURAGED - the preferred approach is to offer structured data fields which a Data Consumer can then render and present in a manner most suited to its users
... extension:deliveryChannel S0..1Extension-CareConnect-DeliveryChannel-1An extension to record the delivery channel of a scheduled Appointment
... extension:appointmentCancellationReason 0..0
... extension:bookingOrganisation 0..1Extension-CareConnect-BookingOrganisation-1DISCOURAGED - use referral, or provenance tags instead
... appointmentCancellationReasonR4 S0..1CodeableConceptThe coded reason for the appointment being cancelled (pre-adopted from R4)
URL: https://fhir.yhcr.nhs.uk/StructureDefinition/Extension-Interweave-R4AppointmentCancellationReason
Binding: Interweave R4 Appointment Cancellation Reason (required)
... patientInstruction 0..1stringDetailed information and instructions for the patient
URL: https://fhir.yhcr.nhs.uk/StructureDefinition/Extension-Interweave-R4PatientInstruction
... Slices for identifier 0..*IdentifierExternal Ids for this item.
Slice: Unordered, Open by value:system
.... identifier:localIdentifier S0..1IdentifierExternal Ids for this item.
..... system S1..1uriThe namespace for the identifier value
Fixed Value: https://fhir.yhcr.nhs.uk/Id/local-appointment-identifier
..... value S1..1stringThe Local appointment Identifier. Please prefix with ODS code plus period (XXX.) to ensure unique
..... period 0..0
... status S1..1codeproposed | pending | booked | arrived | fulfilled | cancelled | noshow | entered-in-error
... serviceCategory 0..1CodeableConceptDISCOURAGED - Unfortunately CareConnect has prescribed an inappropriate valueset for this field, which negates its use.
... serviceType S1..*CodeableConceptThe specific service that is to be performed during this appointment
Binding: Interweave UkCore Care Setting Type (preferred)
.... coding
..... system 1..1uriIdentity of the terminology system
..... code 1..1codeSymbol in syntax defined by the system
..... display 1..1stringRepresentation defined by the system
... specialty 0..*CodeableConceptThe specialty of a practitioner that would be required to perform the service requested in this appointment
Binding: Care Connect SDS Job Role Name (preferred)
.... coding
..... system 1..1uriIdentity of the terminology system
..... code 1..1codeSymbol in syntax defined by the system
..... display 1..1stringRepresentation defined by the system
... appointmentType S0..1CodeableConceptThe style of appointment or patient that has been booked in the slot (not service type)
Binding: InterweaveAppointmentType (required)
.... coding
..... system 1..1uriIdentity of the terminology system
..... code 1..1codeSymbol in syntax defined by the system
..... display 1..1stringRepresentation defined by the system
... reason S0..*CodeableConceptReason this appointment is scheduled
Binding: Interweave R4 Encounter Reason (preferred)
.... coding
..... system 1..1uriIdentity of the terminology system
..... code 1..1codeSymbol in syntax defined by the system
..... display 1..1stringRepresentation defined by the system
... priority 0..1unsignedIntDISCOURAGED - More applicable to internal scheduling
... description S0..1stringShown on a subject line in a meeting request, or appointment list
... supportingInformation 0..*Reference(Resource)DISCOURAGED - very broad, and so difficult for a consumer to handle
... start S0..1instantWhen appointment is to take place
... slot 0..*Reference(Slot)DISCOURAGED - Relevant to a scheduling system, but less so to a regional shared record
... comment 0..1stringDISCOURAGED. It must be assumed that this comment will be widely viewed across the region, including by the patient themselves. See also / instead the 'patientInstruction' field
... incomingReferral
.... reference 1..1stringReference to a resource (could be Contained)
.... identifier 0..1IdentifierIf relevant could include an id
.... display 0..1stringIf relevant, description of the referenced resource
... Slices for participant S1..*BackboneElementParticipants involved in appointment
Slice: Unordered, Open by value:type.coding.code
.... participant:All Slices Content/Rules for all slices
..... type S1..1CodeableConceptRole of participant in the appointment
Binding: InterweaveAppointmentParticipantType (required)
...... coding
....... system 1..1uriIdentity of the terminology system
....... code 1..1codeSymbol in syntax defined by the system
....... display 1..1stringRepresentation defined by the system
..... actor S1..1Reference(Patient | Practitioner | RelatedPerson | Device | HealthcareService | Location)Person, Location/HealthcareService or Device
..... status S1..1codeaccepted | declined | tentative | needs-action
.... participant:subject S1..1BackboneElementParticipants involved in appointment
..... type
...... coding
....... system 0..1uriIdentity of the terminology system
Fixed Value: http://hl7.org/fhir/v3/ParticipationType
....... code 0..1codeSymbol in syntax defined by the system
Fixed Value: SBJ
....... display 0..1stringRepresentation defined by the system
Fixed Value: subject
..... actor 0..1Reference(Patient)Person, Location/HealthcareService or Device
...... reference 1..1stringReference to a resource (could be Contained)
...... identifier 0..1IdentifierIf relevant could include an id
...... display 1..1stringDescription of the referenced resource
.... participant:location S0..1BackboneElementParticipants involved in appointment
..... type
...... coding
....... system 0..1uriIdentity of the terminology system
Fixed Value: http://hl7.org/fhir/v3/ParticipationType
....... code 0..1codeSymbol in syntax defined by the system
Fixed Value: LOC
....... display 0..1stringRepresentation defined by the system
Fixed Value: location
..... actor 0..1Reference(Location)Person, Location/HealthcareService or Device
...... reference 1..1stringReference to a resource (could be Contained)
...... identifier 0..1IdentifierIf relevant could include an id
...... display 1..1stringDescription of the referenced resource
.... participant:primaryPerformer S0..1BackboneElementParticipants involved in appointment
..... type
...... coding
....... system 0..1uriIdentity of the terminology system
Fixed Value: http://hl7.org/fhir/v3/ParticipationType
....... code 0..1codeSymbol in syntax defined by the system
Fixed Value: PPRF
....... display 0..1stringRepresentation defined by the system
Fixed Value: primary performer
..... actor 0..1Reference(Practitioner)Person, Location/HealthcareService or Device
...... reference 1..1stringReference to a resource (could be Contained)
...... identifier 0..1IdentifierIf relevant could include an id
...... display 1..1stringDescription of the referenced resource
... requestedPeriod 0..*PeriodDISCOURAGED - Relevant to a scheduling system, but less so to a regional shared record

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSet
Appointment.serviceTypepreferredInterweave UkCore Care Setting Type
Appointment.specialtypreferredCare Connect SDS Job Role Name
Appointment.appointmentTyperequiredInterweaveAppointmentType
Appointment.reasonpreferredInterweave R4 Encounter Reason
Appointment.participant.typerequiredInterweaveAppointmentParticipantType
NameFlagsCard.TypeDescription & Constraintsdoco
.. Appointment C0..*CareConnect-Appointment-1A 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)
... id SΣ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
.... versionId SΣ0..1idVersion specific identifier
.... lastUpdated SΣ0..1instantMANDATORY except in Contained Resources. When the resource version last changed.
.... profile SΣ0..*uriProfiles this resource claims to conform to. Should list (i) this profile (ii) underlying CareConnect profile
.... security Σ0..*CodingDISCOURAGED - may not be honoured by Data Consumers
Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System.


.... Slices for tag Σ0..*CodingTags applied to this resource
Slice: Unordered, Open by value:system
Binding: Common Tags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones"


..... tag:Source SΣ0..1CodingMANDATORY except in Contained Resources. The Data Provider Id (and display text) of the system supplying the data
Binding: Common Tags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones"


...... system Σ1..1uriIdentity of the terminology system
Fixed Value: https://yhcr.nhs.uk/Source
...... code SΣ1..1codeThe Data Provider Id of the system supplying the data
...... display SΣ1..1stringName of the system supplying the data
..... tag:Provenance SΣ0..1CodingMANDATORY except in Contained Resources. The ODS Code (and display text) of the organisation responsible for the data
Binding: Common Tags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones"


...... system Σ1..1uriIdentity of the terminology system
Fixed Value: https://yhcr.nhs.uk/Provenance
...... code SΣ1..1codeThe ODS Code of the organisation responsible for the data
...... display SΣ1..1stringName of the organisation supplying the data
... implicitRules ?!Σ0..1uriDISCOURAGED - may not be honoured by Data Consumers
... text 0..1NarrativeDISCOURAGED - the preferred approach is to offer structured data fields which a Data Consumer can then render and present in a manner most suited to its users
... deliveryChannel S0..1codeAn extension to record the delivery channel of a scheduled Appointment
URL: https://fhir.hl7.org.uk/STU3/StructureDefinition/Extension-CareConnect-DeliveryChannel-1
Binding: CareConnect-DeliveryChannel-1 (extensible): A ValueSet that identifies the delivery channel of an Appointment.


... bookingOrganisation 0..1Reference(CareConnect-Organization-1)DISCOURAGED - use referral, or provenance tags instead
URL: https://fhir.hl7.org.uk/STU3/StructureDefinition/Extension-CareConnect-BookingOrganisation-1
... appointmentCancellationReasonR4 S0..1CodeableConceptThe coded reason for the appointment being cancelled (pre-adopted from R4)
URL: https://fhir.yhcr.nhs.uk/StructureDefinition/Extension-Interweave-R4AppointmentCancellationReason
Binding: Interweave R4 Appointment Cancellation Reason (required)
... patientInstruction 0..1stringDetailed information and instructions for the patient
URL: https://fhir.yhcr.nhs.uk/StructureDefinition/Extension-Interweave-R4PatientInstruction
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... Slices for identifier Σ0..*IdentifierExternal Ids for this item.
Slice: Unordered, Open by value:system
.... identifier:localIdentifier SΣ0..1IdentifierExternal Ids for this item.
..... use ?!Σ0..1codeusual | official | temp | secondary (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

..... system SΣ1..1uriThe namespace for the identifier value
Fixed Value: https://fhir.yhcr.nhs.uk/Id/local-appointment-identifier
..... value SΣ1..1stringThe Local appointment Identifier. Please prefix with ODS code plus period (XXX.) to ensure unique
Example General: 123456
... status ?!SΣ1..1codeproposed | pending | booked | arrived | fulfilled | cancelled | noshow | entered-in-error
Binding: AppointmentStatus (required): The free/busy status of an appointment.

... serviceCategory Σ0..1CodeableConceptDISCOURAGED - Unfortunately CareConnect has prescribed an inappropriate valueset for this field, which negates its use.
Binding: Care Connect SDS Job Role Name (extensible): A ValueSet that contains a set of codes that identify the Practitioner of a scheduled Appointment.

... serviceType SΣ1..*CodeableConceptThe specific service that is to be performed during this appointment
Binding: Interweave UkCore Care Setting Type (preferred)
... specialty Σ0..*CodeableConceptThe specialty of a practitioner that would be required to perform the service requested in this appointment
Binding: Care Connect SDS Job Role Name (preferred)
... appointmentType SΣ0..1CodeableConceptThe style of appointment or patient that has been booked in the slot (not service type)
Binding: InterweaveAppointmentType (required)
... reason SΣ0..*CodeableConceptReason this appointment is scheduled
Binding: Interweave R4 Encounter Reason (preferred)
... priority 0..1unsignedIntDISCOURAGED - More applicable to internal scheduling
... description S0..1stringShown on a subject line in a meeting request, or appointment list
... supportingInformation 0..*Reference(Resource)DISCOURAGED - very broad, and so difficult for a consumer to handle
... start SΣ0..1instantWhen appointment is to take place
... slot 0..*Reference(Slot)DISCOURAGED - Relevant to a scheduling system, but less so to a regional shared record
... comment 0..1stringDISCOURAGED. It must be assumed that this comment will be widely viewed across the region, including by the patient themselves. See also / instead the 'patientInstruction' field
... Slices for participant SC1..*BackboneElementParticipants involved in appointment
Slice: Unordered, Open by value:type.coding.code
.... participant:All Slices Content/Rules for all slices
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
..... type SΣ1..1CodeableConceptRole of participant in the appointment
Binding: InterweaveAppointmentParticipantType (required)
..... actor SΣ1..1Reference(Patient | Practitioner | RelatedPerson | Device | HealthcareService | Location)Person, Location/HealthcareService or Device
..... status S1..1codeaccepted | declined | tentative | needs-action
Binding: ParticipationStatus (required): The Participation status of an appointment.

.... participant:subject SC1..1BackboneElementParticipants involved in appointment
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
..... actor Σ0..1Reference(Patient)Person, Location/HealthcareService or Device
...... reference ΣC1..1stringReference to a resource (could be Contained)
...... identifier Σ0..1IdentifierIf relevant could include an id
...... display Σ1..1stringDescription of the referenced resource
..... status 1..1codeaccepted | declined | tentative | needs-action
Binding: ParticipationStatus (required): The Participation status of an appointment.

.... participant:location SC0..1BackboneElementParticipants involved in appointment
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
..... actor Σ0..1Reference(Location)Person, Location/HealthcareService or Device
...... reference ΣC1..1stringReference to a resource (could be Contained)
...... identifier Σ0..1IdentifierIf relevant could include an id
...... display Σ1..1stringDescription of the referenced resource
..... status 1..1codeaccepted | declined | tentative | needs-action
Binding: ParticipationStatus (required): The Participation status of an appointment.

.... participant:primaryPerformer SC0..1BackboneElementParticipants involved in appointment
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
..... actor Σ0..1Reference(Practitioner)Person, Location/HealthcareService or Device
...... reference ΣC1..1stringReference to a resource (could be Contained)
...... identifier Σ0..1IdentifierIf relevant could include an id
...... display Σ1..1stringDescription of the referenced resource
..... status 1..1codeaccepted | declined | tentative | needs-action
Binding: ParticipationStatus (required): The Participation status of an appointment.

... requestedPeriod 0..*PeriodDISCOURAGED - Relevant to a scheduling system, but less so to a regional shared record

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
Appointment.meta.securityextensibleAll Security Labels
Appointment.meta.tagexampleCommon Tags
Appointment.meta.tag:SourceexampleCommon Tags
Appointment.meta.tag:ProvenanceexampleCommon Tags
Appointment.languageextensibleCommon Languages
Additional Bindings Purpose
AllLanguages Max Binding
Appointment.identifier:localIdentifier.userequiredIdentifierUse
Appointment.statusrequiredAppointmentStatus
Appointment.serviceCategoryextensibleCare Connect SDS Job Role Name
Appointment.serviceTypepreferredInterweave UkCore Care Setting Type
Appointment.specialtypreferredCare Connect SDS Job Role Name
Appointment.appointmentTyperequiredInterweaveAppointmentType
Appointment.reasonpreferredInterweave R4 Encounter Reason
Appointment.participant.typerequiredInterweaveAppointmentParticipantType
Appointment.participant.statusrequiredParticipationStatus
Appointment.participant:subject.statusrequiredParticipationStatus
Appointment.participant:location.statusrequiredParticipationStatus
Appointment.participant:primaryPerformer.statusrequiredParticipationStatus

Constraints

IdGradePath(s)DetailsRequirements
app-1errorAppointment.participant, Appointment.participant:subject, Appointment.participant:location, Appointment.participant:primaryPerformerEither 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.empty() xor end.exists()
app-3errorAppointmentOnly proposed or cancelled appointments can be missing start/end dates
: (start.exists() and end.exists()) or (status in ('proposed' | 'cancelled'))
dom-1errorAppointmentIf the resource is contained in another resource, it SHALL NOT contain any narrative
: contained.text.empty()
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
: contained.where(('#'+id in %resource.descendants().reference).not()).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()
ele-1errorAppointment.extension:deliveryChannel, Appointment.extension:bookingOrganisation, Appointment.participant, Appointment.participant:subject, Appointment.participant:location, Appointment.participant:primaryPerformerAll FHIR elements must have a @value or children
: hasValue() | (children().count() > id.count())
ext-1errorAppointment.extension:deliveryChannel, Appointment.extension:bookingOrganisationMust have either extensions or value[x], not both
: extension.exists() != value.exists()
NameFlagsCard.TypeDescription & Constraintsdoco
.. Appointment C0..*CareConnect-Appointment-1A 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)
... id SΣ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
Slice: Unordered, Open by value:url
.... versionId SΣ0..1idVersion specific identifier
.... lastUpdated SΣ0..1instantMANDATORY except in Contained Resources. When the resource version last changed.
.... profile SΣ0..*uriProfiles this resource claims to conform to. Should list (i) this profile (ii) underlying CareConnect profile
.... security Σ0..*CodingDISCOURAGED - may not be honoured by Data Consumers
Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System.


.... Slices for tag Σ0..*CodingTags applied to this resource
Slice: Unordered, Open by value:system
Binding: Common Tags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones"


..... tag:Source SΣ0..1CodingMANDATORY except in Contained Resources. The Data Provider Id (and display text) of the system supplying the data
Binding: Common Tags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones"


...... id 0..1stringxml:id (or equivalent in JSON)
...... extension 0..*ExtensionAdditional Content defined by implementations
Slice: Unordered, Open by value:url
...... system Σ1..1uriIdentity of the terminology system
Fixed Value: https://yhcr.nhs.uk/Source
...... version Σ0..1stringVersion of the system - if relevant
...... code SΣ1..1codeThe Data Provider Id of the system supplying the data
...... display SΣ1..1stringName of the system supplying the data
...... userSelected Σ0..1booleanIf this coding was chosen directly by the user
..... tag:Provenance SΣ0..1CodingMANDATORY except in Contained Resources. The ODS Code (and display text) of the organisation responsible for the data
Binding: Common Tags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones"


...... id 0..1stringxml:id (or equivalent in JSON)
...... extension 0..*ExtensionAdditional Content defined by implementations
Slice: Unordered, Open by value:url
...... system Σ1..1uriIdentity of the terminology system
Fixed Value: https://yhcr.nhs.uk/Provenance
...... version Σ0..1stringVersion of the system - if relevant
...... code SΣ1..1codeThe ODS Code of the organisation responsible for the data
...... display SΣ1..1stringName of the organisation supplying the data
...... userSelected Σ0..1booleanIf this coding was chosen directly by the user
... implicitRules ?!Σ0..1uriDISCOURAGED - may not be honoured by Data Consumers
... language 0..1codeEnglish is assumed (not currently a multi-lingual implementation)
Binding: Common Languages (extensible): A human language.

Additional BindingsPurpose
AllLanguagesMax Binding
... text 0..1NarrativeDISCOURAGED - the preferred approach is to offer structured data fields which a Data Consumer can then render and present in a manner most suited to its users
... contained 0..*ResourceContained, inline Resources
... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... deliveryChannel S0..1codeAn extension to record the delivery channel of a scheduled Appointment
URL: https://fhir.hl7.org.uk/STU3/StructureDefinition/Extension-CareConnect-DeliveryChannel-1
Binding: CareConnect-DeliveryChannel-1 (extensible): A ValueSet that identifies the delivery channel of an Appointment.


... bookingOrganisation 0..1Reference(CareConnect-Organization-1)DISCOURAGED - use referral, or provenance tags instead
URL: https://fhir.hl7.org.uk/STU3/StructureDefinition/Extension-CareConnect-BookingOrganisation-1
... appointmentCancellationReasonR4 S0..1CodeableConceptThe coded reason for the appointment being cancelled (pre-adopted from R4)
URL: https://fhir.yhcr.nhs.uk/StructureDefinition/Extension-Interweave-R4AppointmentCancellationReason
Binding: Interweave R4 Appointment Cancellation Reason (required)
... patientInstruction 0..1stringDetailed information and instructions for the patient
URL: https://fhir.yhcr.nhs.uk/StructureDefinition/Extension-Interweave-R4PatientInstruction
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... Slices for identifier Σ0..*IdentifierExternal Ids for this item.
Slice: Unordered, Open by value:system
.... identifier:localIdentifier SΣ0..1IdentifierExternal Ids for this item.
..... id 0..1stringxml:id (or equivalent in JSON)
..... extension 0..*ExtensionAdditional Content defined by implementations
Slice: Unordered, Open by value:url
..... use ?!Σ0..1codeusual | official | temp | secondary (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

..... type Σ0..1CodeableConceptDescription of identifier
Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.

..... system SΣ1..1uriThe namespace for the identifier value
Fixed Value: https://fhir.yhcr.nhs.uk/Id/local-appointment-identifier
..... value SΣ1..1stringThe Local appointment Identifier. Please prefix with ODS code plus period (XXX.) to ensure unique
Example General: 123456
..... assigner Σ0..1Reference(Organization)Organization that issued id (may be just text)
... status ?!SΣ1..1codeproposed | pending | booked | arrived | fulfilled | cancelled | noshow | entered-in-error
Binding: AppointmentStatus (required): The free/busy status of an appointment.

... serviceCategory Σ0..1CodeableConceptDISCOURAGED - Unfortunately CareConnect has prescribed an inappropriate valueset for this field, which negates its use.
Binding: Care Connect SDS Job Role Name (extensible): A ValueSet that contains a set of codes that identify the Practitioner of a scheduled Appointment.

... serviceType SΣ1..*CodeableConceptThe specific service that is to be performed during this appointment
Binding: Interweave UkCore Care Setting Type (preferred)
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
Slice: Unordered, Open by value:url
.... coding Σ0..*CodingCode defined by a terminology system
..... id 0..1stringxml:id (or equivalent in JSON)
..... extension 0..*ExtensionAdditional Content defined by implementations
Slice: Unordered, Open by value:url
..... system Σ1..1uriIdentity of the terminology system
..... version Σ0..1stringVersion of the system - if relevant
..... code Σ1..1codeSymbol in syntax defined by the system
..... display Σ1..1stringRepresentation defined by the system
..... userSelected Σ0..1booleanIf this coding was chosen directly by the user
.... text Σ0..1stringPlain text representation of the concept
... specialty Σ0..*CodeableConceptThe specialty of a practitioner that would be required to perform the service requested in this appointment
Binding: Care Connect SDS Job Role Name (preferred)
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
Slice: Unordered, Open by value:url
.... coding Σ0..*CodingCode defined by a terminology system
..... id 0..1stringxml:id (or equivalent in JSON)
..... extension 0..*ExtensionAdditional Content defined by implementations
Slice: Unordered, Open by value:url
..... system Σ1..1uriIdentity of the terminology system
..... version Σ0..1stringVersion of the system - if relevant
..... code Σ1..1codeSymbol in syntax defined by the system
..... display Σ1..1stringRepresentation defined by the system
..... userSelected Σ0..1booleanIf this coding was chosen directly by the user
.... text Σ0..1stringPlain text representation of the concept
... appointmentType SΣ0..1CodeableConceptThe style of appointment or patient that has been booked in the slot (not service type)
Binding: InterweaveAppointmentType (required)
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
Slice: Unordered, Open by value:url
.... coding Σ0..*CodingCode defined by a terminology system
..... id 0..1stringxml:id (or equivalent in JSON)
..... extension 0..*ExtensionAdditional Content defined by implementations
Slice: Unordered, Open by value:url
..... system Σ1..1uriIdentity of the terminology system
..... version Σ0..1stringVersion of the system - if relevant
..... code Σ1..1codeSymbol in syntax defined by the system
..... display Σ1..1stringRepresentation defined by the system
..... userSelected Σ0..1booleanIf this coding was chosen directly by the user
.... text Σ0..1stringPlain text representation of the concept
... reason SΣ0..*CodeableConceptReason this appointment is scheduled
Binding: Interweave R4 Encounter Reason (preferred)
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
Slice: Unordered, Open by value:url
.... coding Σ0..*CodingCode defined by a terminology system
..... id 0..1stringxml:id (or equivalent in JSON)
..... extension 0..*ExtensionAdditional Content defined by implementations
Slice: Unordered, Open by value:url
..... system Σ1..1uriIdentity of the terminology system
..... version Σ0..1stringVersion of the system - if relevant
..... code Σ1..1codeSymbol in syntax defined by the system
..... display Σ1..1stringRepresentation defined by the system
..... userSelected Σ0..1booleanIf this coding was chosen directly by the user
.... text Σ0..1stringPlain text representation of the concept
... indication 0..*Reference(Condition | Procedure)Reason the appointment is to takes place (resource)
... priority 0..1unsignedIntDISCOURAGED - More applicable to internal scheduling
... description S0..1stringShown on a subject line in a meeting request, or appointment list
... supportingInformation 0..*Reference(Resource)DISCOURAGED - very broad, and so difficult for a consumer to handle
... start SΣ0..1instantWhen appointment is to take place
... end Σ0..1instantWhen appointment is to conclude
... minutesDuration 0..1positiveIntCan be less than start/end (e.g. estimate)
... slot 0..*Reference(Slot)DISCOURAGED - Relevant to a scheduling system, but less so to a regional shared record
... created 0..1dateTimeThe date that this appointment was initially created
... comment 0..1stringDISCOURAGED. It must be assumed that this comment will be widely viewed across the region, including by the patient themselves. See also / instead the 'patientInstruction' field
... incomingReferral 0..*Reference(ReferralRequest)The ReferralRequest provided as information to allocate to the Encounter
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
Slice: Unordered, Open by value:url
.... reference ΣC1..1stringReference to a resource (could be Contained)
.... identifier Σ0..1IdentifierIf relevant could include an id
.... display Σ0..1stringIf relevant, description of the referenced resource
... Slices for participant SC1..*BackboneElementParticipants involved in appointment
Slice: Unordered, Open by value:type.coding.code
.... participant:All Slices Content/Rules for all slices
..... id 0..1stringxml:id (or equivalent in JSON)
..... extension 0..*ExtensionAdditional Content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
..... type SΣ1..1CodeableConceptRole of participant in the appointment
Binding: InterweaveAppointmentParticipantType (required)
...... id 0..1stringxml:id (or equivalent in JSON)
...... extension 0..*ExtensionAdditional Content defined by implementations
Slice: Unordered, Open by value:url
...... coding Σ0..*CodingCode defined by a terminology system
....... id 0..1stringxml:id (or equivalent in JSON)
....... extension 0..*ExtensionAdditional Content defined by implementations
Slice: Unordered, Open by value:url
....... system Σ1..1uriIdentity of the terminology system
....... version Σ0..1stringVersion of the system - if relevant
....... code Σ1..1codeSymbol in syntax defined by the system
....... display Σ1..1stringRepresentation defined by the system
....... userSelected Σ0..1booleanIf this coding was chosen directly by the user
...... text Σ0..1stringPlain text representation of the concept
..... actor SΣ1..1Reference(Patient | Practitioner | RelatedPerson | Device | HealthcareService | Location)Person, Location/HealthcareService or Device
..... required Σ0..1coderequired | optional | information-only
Binding: ParticipantRequired (required): Is the Participant required to attend the appointment.

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

.... participant:subject SC1..1BackboneElementParticipants involved in appointment
..... id 0..1stringxml:id (or equivalent in JSON)
..... extension 0..*ExtensionAdditional Content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
..... type Σ0..*CodeableConceptRole of participant in the appointment
Binding: ParticipantType (extensible): Role of participant in encounter.


...... id 0..1stringxml:id (or equivalent in JSON)
...... extension 0..*ExtensionAdditional Content defined by implementations
Slice: Unordered, Open by value:url
...... coding Σ0..*CodingCode defined by a terminology system
....... id 0..1stringxml:id (or equivalent in JSON)
....... extension 0..*ExtensionAdditional Content defined by implementations
Slice: Unordered, Open by value:url
....... system Σ0..1uriIdentity of the terminology system
Fixed Value: http://hl7.org/fhir/v3/ParticipationType
....... version Σ0..1stringVersion of the system - if relevant
....... code Σ0..1codeSymbol in syntax defined by the system
Fixed Value: SBJ
....... display Σ0..1stringRepresentation defined by the system
Fixed Value: subject
....... userSelected Σ0..1booleanIf this coding was chosen directly by the user
...... text Σ0..1stringPlain text representation of the concept
..... actor Σ0..1Reference(Patient)Person, Location/HealthcareService or Device
...... id 0..1stringxml:id (or equivalent in JSON)
...... extension 0..*ExtensionAdditional Content defined by implementations
Slice: Unordered, Open by value:url
...... reference ΣC1..1stringReference to a resource (could be Contained)
...... identifier Σ0..1IdentifierIf relevant could include an id
...... display Σ1..1stringDescription of the referenced resource
..... required Σ0..1coderequired | optional | information-only
Binding: ParticipantRequired (required): Is the Participant required to attend the appointment.

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

.... participant:location SC0..1BackboneElementParticipants involved in appointment
..... id 0..1stringxml:id (or equivalent in JSON)
..... extension 0..*ExtensionAdditional Content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
..... type Σ0..*CodeableConceptRole of participant in the appointment
Binding: ParticipantType (extensible): Role of participant in encounter.


...... id 0..1stringxml:id (or equivalent in JSON)
...... extension 0..*ExtensionAdditional Content defined by implementations
Slice: Unordered, Open by value:url
...... coding Σ0..*CodingCode defined by a terminology system
....... id 0..1stringxml:id (or equivalent in JSON)
....... extension 0..*ExtensionAdditional Content defined by implementations
Slice: Unordered, Open by value:url
....... system Σ0..1uriIdentity of the terminology system
Fixed Value: http://hl7.org/fhir/v3/ParticipationType
....... version Σ0..1stringVersion of the system - if relevant
....... code Σ0..1codeSymbol in syntax defined by the system
Fixed Value: LOC
....... display Σ0..1stringRepresentation defined by the system
Fixed Value: location
....... userSelected Σ0..1booleanIf this coding was chosen directly by the user
...... text Σ0..1stringPlain text representation of the concept
..... actor Σ0..1Reference(Location)Person, Location/HealthcareService or Device
...... id 0..1stringxml:id (or equivalent in JSON)
...... extension 0..*ExtensionAdditional Content defined by implementations
Slice: Unordered, Open by value:url
...... reference ΣC1..1stringReference to a resource (could be Contained)
...... identifier Σ0..1IdentifierIf relevant could include an id
...... display Σ1..1stringDescription of the referenced resource
..... required Σ0..1coderequired | optional | information-only
Binding: ParticipantRequired (required): Is the Participant required to attend the appointment.

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

.... participant:primaryPerformer SC0..1BackboneElementParticipants involved in appointment
..... id 0..1stringxml:id (or equivalent in JSON)
..... extension 0..*ExtensionAdditional Content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
..... type Σ0..*CodeableConceptRole of participant in the appointment
Binding: ParticipantType (extensible): Role of participant in encounter.


...... id 0..1stringxml:id (or equivalent in JSON)
...... extension 0..*ExtensionAdditional Content defined by implementations
Slice: Unordered, Open by value:url
...... coding Σ0..*CodingCode defined by a terminology system
....... id 0..1stringxml:id (or equivalent in JSON)
....... extension 0..*ExtensionAdditional Content defined by implementations
Slice: Unordered, Open by value:url
....... system Σ0..1uriIdentity of the terminology system
Fixed Value: http://hl7.org/fhir/v3/ParticipationType
....... version Σ0..1stringVersion of the system - if relevant
....... code Σ0..1codeSymbol in syntax defined by the system
Fixed Value: PPRF
....... display Σ0..1stringRepresentation defined by the system
Fixed Value: primary performer
....... userSelected Σ0..1booleanIf this coding was chosen directly by the user
...... text Σ0..1stringPlain text representation of the concept
..... actor Σ0..1Reference(Practitioner)Person, Location/HealthcareService or Device
...... id 0..1stringxml:id (or equivalent in JSON)
...... extension 0..*ExtensionAdditional Content defined by implementations
Slice: Unordered, Open by value:url
...... reference ΣC1..1stringReference to a resource (could be Contained)
...... identifier Σ0..1IdentifierIf relevant could include an id
...... display Σ1..1stringDescription of the referenced resource
..... required Σ0..1coderequired | optional | information-only
Binding: ParticipantRequired (required): Is the Participant required to attend the appointment.

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

... requestedPeriod 0..*PeriodDISCOURAGED - Relevant to a scheduling system, but less so to a regional shared record

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
Appointment.meta.securityextensibleAll Security Labels
Appointment.meta.tagexampleCommon Tags
Appointment.meta.tag:SourceexampleCommon Tags
Appointment.meta.tag:ProvenanceexampleCommon Tags
Appointment.languageextensibleCommon Languages
Additional Bindings Purpose
AllLanguages Max Binding
Appointment.identifier:localIdentifier.userequiredIdentifierUse
Appointment.identifier:localIdentifier.typeextensibleIdentifier Type Codes
Appointment.statusrequiredAppointmentStatus
Appointment.serviceCategoryextensibleCare Connect SDS Job Role Name
Appointment.serviceTypepreferredInterweave UkCore Care Setting Type
Appointment.specialtypreferredCare Connect SDS Job Role Name
Appointment.appointmentTyperequiredInterweaveAppointmentType
Appointment.reasonpreferredInterweave R4 Encounter Reason
Appointment.participant.typerequiredInterweaveAppointmentParticipantType
Appointment.participant.requiredrequiredParticipantRequired
Appointment.participant.statusrequiredParticipationStatus
Appointment.participant:subject.typeextensibleParticipantType
Appointment.participant:subject.requiredrequiredParticipantRequired
Appointment.participant:subject.statusrequiredParticipationStatus
Appointment.participant:location.typeextensibleParticipantType
Appointment.participant:location.requiredrequiredParticipantRequired
Appointment.participant:location.statusrequiredParticipationStatus
Appointment.participant:primaryPerformer.typeextensibleParticipantType
Appointment.participant:primaryPerformer.requiredrequiredParticipantRequired
Appointment.participant:primaryPerformer.statusrequiredParticipationStatus

Constraints

IdGradePath(s)DetailsRequirements
app-1errorAppointment.participant, Appointment.participant:subject, Appointment.participant:location, Appointment.participant:primaryPerformerEither the type or actor on the participant SHALL be specified
: type.exists() or actor.exists()
ele-1errorAppointment.extension:deliveryChannel, Appointment.extension:bookingOrganisation, Appointment.participant, Appointment.participant:subject, Appointment.participant:location, Appointment.participant:primaryPerformerAll FHIR elements must have a @value or children
: hasValue() | (children().count() > id.count())
ext-1errorAppointment.extension:deliveryChannel, Appointment.extension:bookingOrganisationMust have either extensions or value[x], not both
: extension.exists() != value.exists()

This structure is derived from CareConnect-Appointment-1

Summary

Mandatory: 4 elements (30 nested mandatory elements)
Must-Support: 28 elements
Fixed Value: 12 elements
Prohibited: 2 elements

Extensions

This structure refers to these extensions:

Slices

This structure defines the following Slices:

  • The element Appointment.meta.tag is sliced based on the value of value:system
  • The element Appointment.identifier is sliced based on the value of value:system
  • The element Appointment.participant is sliced based on the value of value:type.coding.code

Differential View

This structure is derived from CareConnect-Appointment-1

NameFlagsCard.TypeDescription & Constraintsdoco
.. Appointment 0..*CareConnect-Appointment-1A 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)
... id S0..1idLogical id of this artifact
... meta
.... versionId S0..1idVersion specific identifier
.... lastUpdated S0..1instantMANDATORY except in Contained Resources. When the resource version last changed.
.... profile S0..*uriProfiles this resource claims to conform to. Should list (i) this profile (ii) underlying CareConnect profile
.... security 0..*CodingDISCOURAGED - may not be honoured by Data Consumers
.... Slices for tag 0..*CodingTags applied to this resource
Slice: Unordered, Open by value:system
..... tag:Source S0..1CodingMANDATORY except in Contained Resources. The Data Provider Id (and display text) of the system supplying the data
...... system 1..1uriIdentity of the terminology system
Fixed Value: https://yhcr.nhs.uk/Source
...... code S1..1codeThe Data Provider Id of the system supplying the data
...... display S1..1stringName of the system supplying the data
..... tag:Provenance S0..1CodingMANDATORY except in Contained Resources. The ODS Code (and display text) of the organisation responsible for the data
...... system 1..1uriIdentity of the terminology system
Fixed Value: https://yhcr.nhs.uk/Provenance
...... code S1..1codeThe ODS Code of the organisation responsible for the data
...... display S1..1stringName of the organisation supplying the data
... implicitRules 0..1uriDISCOURAGED - may not be honoured by Data Consumers
... text 0..1NarrativeDISCOURAGED - the preferred approach is to offer structured data fields which a Data Consumer can then render and present in a manner most suited to its users
... extension:deliveryChannel S0..1Extension-CareConnect-DeliveryChannel-1An extension to record the delivery channel of a scheduled Appointment
... extension:appointmentCancellationReason 0..0
... extension:bookingOrganisation 0..1Extension-CareConnect-BookingOrganisation-1DISCOURAGED - use referral, or provenance tags instead
... appointmentCancellationReasonR4 S0..1CodeableConceptThe coded reason for the appointment being cancelled (pre-adopted from R4)
URL: https://fhir.yhcr.nhs.uk/StructureDefinition/Extension-Interweave-R4AppointmentCancellationReason
Binding: Interweave R4 Appointment Cancellation Reason (required)
... patientInstruction 0..1stringDetailed information and instructions for the patient
URL: https://fhir.yhcr.nhs.uk/StructureDefinition/Extension-Interweave-R4PatientInstruction
... Slices for identifier 0..*IdentifierExternal Ids for this item.
Slice: Unordered, Open by value:system
.... identifier:localIdentifier S0..1IdentifierExternal Ids for this item.
..... system S1..1uriThe namespace for the identifier value
Fixed Value: https://fhir.yhcr.nhs.uk/Id/local-appointment-identifier
..... value S1..1stringThe Local appointment Identifier. Please prefix with ODS code plus period (XXX.) to ensure unique
..... period 0..0
... status S1..1codeproposed | pending | booked | arrived | fulfilled | cancelled | noshow | entered-in-error
... serviceCategory 0..1CodeableConceptDISCOURAGED - Unfortunately CareConnect has prescribed an inappropriate valueset for this field, which negates its use.
... serviceType S1..*CodeableConceptThe specific service that is to be performed during this appointment
Binding: Interweave UkCore Care Setting Type (preferred)
.... coding
..... system 1..1uriIdentity of the terminology system
..... code 1..1codeSymbol in syntax defined by the system
..... display 1..1stringRepresentation defined by the system
... specialty 0..*CodeableConceptThe specialty of a practitioner that would be required to perform the service requested in this appointment
Binding: Care Connect SDS Job Role Name (preferred)
.... coding
..... system 1..1uriIdentity of the terminology system
..... code 1..1codeSymbol in syntax defined by the system
..... display 1..1stringRepresentation defined by the system
... appointmentType S0..1CodeableConceptThe style of appointment or patient that has been booked in the slot (not service type)
Binding: InterweaveAppointmentType (required)
.... coding
..... system 1..1uriIdentity of the terminology system
..... code 1..1codeSymbol in syntax defined by the system
..... display 1..1stringRepresentation defined by the system
... reason S0..*CodeableConceptReason this appointment is scheduled
Binding: Interweave R4 Encounter Reason (preferred)
.... coding
..... system 1..1uriIdentity of the terminology system
..... code 1..1codeSymbol in syntax defined by the system
..... display 1..1stringRepresentation defined by the system
... priority 0..1unsignedIntDISCOURAGED - More applicable to internal scheduling
... description S0..1stringShown on a subject line in a meeting request, or appointment list
... supportingInformation 0..*Reference(Resource)DISCOURAGED - very broad, and so difficult for a consumer to handle
... start S0..1instantWhen appointment is to take place
... slot 0..*Reference(Slot)DISCOURAGED - Relevant to a scheduling system, but less so to a regional shared record
... comment 0..1stringDISCOURAGED. It must be assumed that this comment will be widely viewed across the region, including by the patient themselves. See also / instead the 'patientInstruction' field
... incomingReferral
.... reference 1..1stringReference to a resource (could be Contained)
.... identifier 0..1IdentifierIf relevant could include an id
.... display 0..1stringIf relevant, description of the referenced resource
... Slices for participant S1..*BackboneElementParticipants involved in appointment
Slice: Unordered, Open by value:type.coding.code
.... participant:All Slices Content/Rules for all slices
..... type S1..1CodeableConceptRole of participant in the appointment
Binding: InterweaveAppointmentParticipantType (required)
...... coding
....... system 1..1uriIdentity of the terminology system
....... code 1..1codeSymbol in syntax defined by the system
....... display 1..1stringRepresentation defined by the system
..... actor S1..1Reference(Patient | Practitioner | RelatedPerson | Device | HealthcareService | Location)Person, Location/HealthcareService or Device
..... status S1..1codeaccepted | declined | tentative | needs-action
.... participant:subject S1..1BackboneElementParticipants involved in appointment
..... type
...... coding
....... system 0..1uriIdentity of the terminology system
Fixed Value: http://hl7.org/fhir/v3/ParticipationType
....... code 0..1codeSymbol in syntax defined by the system
Fixed Value: SBJ
....... display 0..1stringRepresentation defined by the system
Fixed Value: subject
..... actor 0..1Reference(Patient)Person, Location/HealthcareService or Device
...... reference 1..1stringReference to a resource (could be Contained)
...... identifier 0..1IdentifierIf relevant could include an id
...... display 1..1stringDescription of the referenced resource
.... participant:location S0..1BackboneElementParticipants involved in appointment
..... type
...... coding
....... system 0..1uriIdentity of the terminology system
Fixed Value: http://hl7.org/fhir/v3/ParticipationType
....... code 0..1codeSymbol in syntax defined by the system
Fixed Value: LOC
....... display 0..1stringRepresentation defined by the system
Fixed Value: location
..... actor 0..1Reference(Location)Person, Location/HealthcareService or Device
...... reference 1..1stringReference to a resource (could be Contained)
...... identifier 0..1IdentifierIf relevant could include an id
...... display 1..1stringDescription of the referenced resource
.... participant:primaryPerformer S0..1BackboneElementParticipants involved in appointment
..... type
...... coding
....... system 0..1uriIdentity of the terminology system
Fixed Value: http://hl7.org/fhir/v3/ParticipationType
....... code 0..1codeSymbol in syntax defined by the system
Fixed Value: PPRF
....... display 0..1stringRepresentation defined by the system
Fixed Value: primary performer
..... actor 0..1Reference(Practitioner)Person, Location/HealthcareService or Device
...... reference 1..1stringReference to a resource (could be Contained)
...... identifier 0..1IdentifierIf relevant could include an id
...... display 1..1stringDescription of the referenced resource
... requestedPeriod 0..*PeriodDISCOURAGED - Relevant to a scheduling system, but less so to a regional shared record

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSet
Appointment.serviceTypepreferredInterweave UkCore Care Setting Type
Appointment.specialtypreferredCare Connect SDS Job Role Name
Appointment.appointmentTyperequiredInterweaveAppointmentType
Appointment.reasonpreferredInterweave R4 Encounter Reason
Appointment.participant.typerequiredInterweaveAppointmentParticipantType

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Appointment C0..*CareConnect-Appointment-1A 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)
... id SΣ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
.... versionId SΣ0..1idVersion specific identifier
.... lastUpdated SΣ0..1instantMANDATORY except in Contained Resources. When the resource version last changed.
.... profile SΣ0..*uriProfiles this resource claims to conform to. Should list (i) this profile (ii) underlying CareConnect profile
.... security Σ0..*CodingDISCOURAGED - may not be honoured by Data Consumers
Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System.


.... Slices for tag Σ0..*CodingTags applied to this resource
Slice: Unordered, Open by value:system
Binding: Common Tags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones"


..... tag:Source SΣ0..1CodingMANDATORY except in Contained Resources. The Data Provider Id (and display text) of the system supplying the data
Binding: Common Tags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones"


...... system Σ1..1uriIdentity of the terminology system
Fixed Value: https://yhcr.nhs.uk/Source
...... code SΣ1..1codeThe Data Provider Id of the system supplying the data
...... display SΣ1..1stringName of the system supplying the data
..... tag:Provenance SΣ0..1CodingMANDATORY except in Contained Resources. The ODS Code (and display text) of the organisation responsible for the data
Binding: Common Tags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones"


...... system Σ1..1uriIdentity of the terminology system
Fixed Value: https://yhcr.nhs.uk/Provenance
...... code SΣ1..1codeThe ODS Code of the organisation responsible for the data
...... display SΣ1..1stringName of the organisation supplying the data
... implicitRules ?!Σ0..1uriDISCOURAGED - may not be honoured by Data Consumers
... text 0..1NarrativeDISCOURAGED - the preferred approach is to offer structured data fields which a Data Consumer can then render and present in a manner most suited to its users
... deliveryChannel S0..1codeAn extension to record the delivery channel of a scheduled Appointment
URL: https://fhir.hl7.org.uk/STU3/StructureDefinition/Extension-CareConnect-DeliveryChannel-1
Binding: CareConnect-DeliveryChannel-1 (extensible): A ValueSet that identifies the delivery channel of an Appointment.


... bookingOrganisation 0..1Reference(CareConnect-Organization-1)DISCOURAGED - use referral, or provenance tags instead
URL: https://fhir.hl7.org.uk/STU3/StructureDefinition/Extension-CareConnect-BookingOrganisation-1
... appointmentCancellationReasonR4 S0..1CodeableConceptThe coded reason for the appointment being cancelled (pre-adopted from R4)
URL: https://fhir.yhcr.nhs.uk/StructureDefinition/Extension-Interweave-R4AppointmentCancellationReason
Binding: Interweave R4 Appointment Cancellation Reason (required)
... patientInstruction 0..1stringDetailed information and instructions for the patient
URL: https://fhir.yhcr.nhs.uk/StructureDefinition/Extension-Interweave-R4PatientInstruction
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... Slices for identifier Σ0..*IdentifierExternal Ids for this item.
Slice: Unordered, Open by value:system
.... identifier:localIdentifier SΣ0..1IdentifierExternal Ids for this item.
..... use ?!Σ0..1codeusual | official | temp | secondary (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

..... system SΣ1..1uriThe namespace for the identifier value
Fixed Value: https://fhir.yhcr.nhs.uk/Id/local-appointment-identifier
..... value SΣ1..1stringThe Local appointment Identifier. Please prefix with ODS code plus period (XXX.) to ensure unique
Example General: 123456
... status ?!SΣ1..1codeproposed | pending | booked | arrived | fulfilled | cancelled | noshow | entered-in-error
Binding: AppointmentStatus (required): The free/busy status of an appointment.

... serviceCategory Σ0..1CodeableConceptDISCOURAGED - Unfortunately CareConnect has prescribed an inappropriate valueset for this field, which negates its use.
Binding: Care Connect SDS Job Role Name (extensible): A ValueSet that contains a set of codes that identify the Practitioner of a scheduled Appointment.

... serviceType SΣ1..*CodeableConceptThe specific service that is to be performed during this appointment
Binding: Interweave UkCore Care Setting Type (preferred)
... specialty Σ0..*CodeableConceptThe specialty of a practitioner that would be required to perform the service requested in this appointment
Binding: Care Connect SDS Job Role Name (preferred)
... appointmentType SΣ0..1CodeableConceptThe style of appointment or patient that has been booked in the slot (not service type)
Binding: InterweaveAppointmentType (required)
... reason SΣ0..*CodeableConceptReason this appointment is scheduled
Binding: Interweave R4 Encounter Reason (preferred)
... priority 0..1unsignedIntDISCOURAGED - More applicable to internal scheduling
... description S0..1stringShown on a subject line in a meeting request, or appointment list
... supportingInformation 0..*Reference(Resource)DISCOURAGED - very broad, and so difficult for a consumer to handle
... start SΣ0..1instantWhen appointment is to take place
... slot 0..*Reference(Slot)DISCOURAGED - Relevant to a scheduling system, but less so to a regional shared record
... comment 0..1stringDISCOURAGED. It must be assumed that this comment will be widely viewed across the region, including by the patient themselves. See also / instead the 'patientInstruction' field
... Slices for participant SC1..*BackboneElementParticipants involved in appointment
Slice: Unordered, Open by value:type.coding.code
.... participant:All Slices Content/Rules for all slices
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
..... type SΣ1..1CodeableConceptRole of participant in the appointment
Binding: InterweaveAppointmentParticipantType (required)
..... actor SΣ1..1Reference(Patient | Practitioner | RelatedPerson | Device | HealthcareService | Location)Person, Location/HealthcareService or Device
..... status S1..1codeaccepted | declined | tentative | needs-action
Binding: ParticipationStatus (required): The Participation status of an appointment.

.... participant:subject SC1..1BackboneElementParticipants involved in appointment
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
..... actor Σ0..1Reference(Patient)Person, Location/HealthcareService or Device
...... reference ΣC1..1stringReference to a resource (could be Contained)
...... identifier Σ0..1IdentifierIf relevant could include an id
...... display Σ1..1stringDescription of the referenced resource
..... status 1..1codeaccepted | declined | tentative | needs-action
Binding: ParticipationStatus (required): The Participation status of an appointment.

.... participant:location SC0..1BackboneElementParticipants involved in appointment
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
..... actor Σ0..1Reference(Location)Person, Location/HealthcareService or Device
...... reference ΣC1..1stringReference to a resource (could be Contained)
...... identifier Σ0..1IdentifierIf relevant could include an id
...... display Σ1..1stringDescription of the referenced resource
..... status 1..1codeaccepted | declined | tentative | needs-action
Binding: ParticipationStatus (required): The Participation status of an appointment.

.... participant:primaryPerformer SC0..1BackboneElementParticipants involved in appointment
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
..... actor Σ0..1Reference(Practitioner)Person, Location/HealthcareService or Device
...... reference ΣC1..1stringReference to a resource (could be Contained)
...... identifier Σ0..1IdentifierIf relevant could include an id
...... display Σ1..1stringDescription of the referenced resource
..... status 1..1codeaccepted | declined | tentative | needs-action
Binding: ParticipationStatus (required): The Participation status of an appointment.

... requestedPeriod 0..*PeriodDISCOURAGED - Relevant to a scheduling system, but less so to a regional shared record

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
Appointment.meta.securityextensibleAll Security Labels
Appointment.meta.tagexampleCommon Tags
Appointment.meta.tag:SourceexampleCommon Tags
Appointment.meta.tag:ProvenanceexampleCommon Tags
Appointment.languageextensibleCommon Languages
Additional Bindings Purpose
AllLanguages Max Binding
Appointment.identifier:localIdentifier.userequiredIdentifierUse
Appointment.statusrequiredAppointmentStatus
Appointment.serviceCategoryextensibleCare Connect SDS Job Role Name
Appointment.serviceTypepreferredInterweave UkCore Care Setting Type
Appointment.specialtypreferredCare Connect SDS Job Role Name
Appointment.appointmentTyperequiredInterweaveAppointmentType
Appointment.reasonpreferredInterweave R4 Encounter Reason
Appointment.participant.typerequiredInterweaveAppointmentParticipantType
Appointment.participant.statusrequiredParticipationStatus
Appointment.participant:subject.statusrequiredParticipationStatus
Appointment.participant:location.statusrequiredParticipationStatus
Appointment.participant:primaryPerformer.statusrequiredParticipationStatus

Constraints

IdGradePath(s)DetailsRequirements
app-1errorAppointment.participant, Appointment.participant:subject, Appointment.participant:location, Appointment.participant:primaryPerformerEither 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.empty() xor end.exists()
app-3errorAppointmentOnly proposed or cancelled appointments can be missing start/end dates
: (start.exists() and end.exists()) or (status in ('proposed' | 'cancelled'))
dom-1errorAppointmentIf the resource is contained in another resource, it SHALL NOT contain any narrative
: contained.text.empty()
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
: contained.where(('#'+id in %resource.descendants().reference).not()).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()
ele-1errorAppointment.extension:deliveryChannel, Appointment.extension:bookingOrganisation, Appointment.participant, Appointment.participant:subject, Appointment.participant:location, Appointment.participant:primaryPerformerAll FHIR elements must have a @value or children
: hasValue() | (children().count() > id.count())
ext-1errorAppointment.extension:deliveryChannel, Appointment.extension:bookingOrganisationMust have either extensions or value[x], not both
: extension.exists() != value.exists()

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Appointment C0..*CareConnect-Appointment-1A 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)
... id SΣ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
Slice: Unordered, Open by value:url
.... versionId SΣ0..1idVersion specific identifier
.... lastUpdated SΣ0..1instantMANDATORY except in Contained Resources. When the resource version last changed.
.... profile SΣ0..*uriProfiles this resource claims to conform to. Should list (i) this profile (ii) underlying CareConnect profile
.... security Σ0..*CodingDISCOURAGED - may not be honoured by Data Consumers
Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System.


.... Slices for tag Σ0..*CodingTags applied to this resource
Slice: Unordered, Open by value:system
Binding: Common Tags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones"


..... tag:Source SΣ0..1CodingMANDATORY except in Contained Resources. The Data Provider Id (and display text) of the system supplying the data
Binding: Common Tags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones"


...... id 0..1stringxml:id (or equivalent in JSON)
...... extension 0..*ExtensionAdditional Content defined by implementations
Slice: Unordered, Open by value:url
...... system Σ1..1uriIdentity of the terminology system
Fixed Value: https://yhcr.nhs.uk/Source
...... version Σ0..1stringVersion of the system - if relevant
...... code SΣ1..1codeThe Data Provider Id of the system supplying the data
...... display SΣ1..1stringName of the system supplying the data
...... userSelected Σ0..1booleanIf this coding was chosen directly by the user
..... tag:Provenance SΣ0..1CodingMANDATORY except in Contained Resources. The ODS Code (and display text) of the organisation responsible for the data
Binding: Common Tags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones"


...... id 0..1stringxml:id (or equivalent in JSON)
...... extension 0..*ExtensionAdditional Content defined by implementations
Slice: Unordered, Open by value:url
...... system Σ1..1uriIdentity of the terminology system
Fixed Value: https://yhcr.nhs.uk/Provenance
...... version Σ0..1stringVersion of the system - if relevant
...... code SΣ1..1codeThe ODS Code of the organisation responsible for the data
...... display SΣ1..1stringName of the organisation supplying the data
...... userSelected Σ0..1booleanIf this coding was chosen directly by the user
... implicitRules ?!Σ0..1uriDISCOURAGED - may not be honoured by Data Consumers
... language 0..1codeEnglish is assumed (not currently a multi-lingual implementation)
Binding: Common Languages (extensible): A human language.

Additional BindingsPurpose
AllLanguagesMax Binding
... text 0..1NarrativeDISCOURAGED - the preferred approach is to offer structured data fields which a Data Consumer can then render and present in a manner most suited to its users
... contained 0..*ResourceContained, inline Resources
... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... deliveryChannel S0..1codeAn extension to record the delivery channel of a scheduled Appointment
URL: https://fhir.hl7.org.uk/STU3/StructureDefinition/Extension-CareConnect-DeliveryChannel-1
Binding: CareConnect-DeliveryChannel-1 (extensible): A ValueSet that identifies the delivery channel of an Appointment.


... bookingOrganisation 0..1Reference(CareConnect-Organization-1)DISCOURAGED - use referral, or provenance tags instead
URL: https://fhir.hl7.org.uk/STU3/StructureDefinition/Extension-CareConnect-BookingOrganisation-1
... appointmentCancellationReasonR4 S0..1CodeableConceptThe coded reason for the appointment being cancelled (pre-adopted from R4)
URL: https://fhir.yhcr.nhs.uk/StructureDefinition/Extension-Interweave-R4AppointmentCancellationReason
Binding: Interweave R4 Appointment Cancellation Reason (required)
... patientInstruction 0..1stringDetailed information and instructions for the patient
URL: https://fhir.yhcr.nhs.uk/StructureDefinition/Extension-Interweave-R4PatientInstruction
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... Slices for identifier Σ0..*IdentifierExternal Ids for this item.
Slice: Unordered, Open by value:system
.... identifier:localIdentifier SΣ0..1IdentifierExternal Ids for this item.
..... id 0..1stringxml:id (or equivalent in JSON)
..... extension 0..*ExtensionAdditional Content defined by implementations
Slice: Unordered, Open by value:url
..... use ?!Σ0..1codeusual | official | temp | secondary (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

..... type Σ0..1CodeableConceptDescription of identifier
Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.

..... system SΣ1..1uriThe namespace for the identifier value
Fixed Value: https://fhir.yhcr.nhs.uk/Id/local-appointment-identifier
..... value SΣ1..1stringThe Local appointment Identifier. Please prefix with ODS code plus period (XXX.) to ensure unique
Example General: 123456
..... assigner Σ0..1Reference(Organization)Organization that issued id (may be just text)
... status ?!SΣ1..1codeproposed | pending | booked | arrived | fulfilled | cancelled | noshow | entered-in-error
Binding: AppointmentStatus (required): The free/busy status of an appointment.

... serviceCategory Σ0..1CodeableConceptDISCOURAGED - Unfortunately CareConnect has prescribed an inappropriate valueset for this field, which negates its use.
Binding: Care Connect SDS Job Role Name (extensible): A ValueSet that contains a set of codes that identify the Practitioner of a scheduled Appointment.

... serviceType SΣ1..*CodeableConceptThe specific service that is to be performed during this appointment
Binding: Interweave UkCore Care Setting Type (preferred)
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
Slice: Unordered, Open by value:url
.... coding Σ0..*CodingCode defined by a terminology system
..... id 0..1stringxml:id (or equivalent in JSON)
..... extension 0..*ExtensionAdditional Content defined by implementations
Slice: Unordered, Open by value:url
..... system Σ1..1uriIdentity of the terminology system
..... version Σ0..1stringVersion of the system - if relevant
..... code Σ1..1codeSymbol in syntax defined by the system
..... display Σ1..1stringRepresentation defined by the system
..... userSelected Σ0..1booleanIf this coding was chosen directly by the user
.... text Σ0..1stringPlain text representation of the concept
... specialty Σ0..*CodeableConceptThe specialty of a practitioner that would be required to perform the service requested in this appointment
Binding: Care Connect SDS Job Role Name (preferred)
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
Slice: Unordered, Open by value:url
.... coding Σ0..*CodingCode defined by a terminology system
..... id 0..1stringxml:id (or equivalent in JSON)
..... extension 0..*ExtensionAdditional Content defined by implementations
Slice: Unordered, Open by value:url
..... system Σ1..1uriIdentity of the terminology system
..... version Σ0..1stringVersion of the system - if relevant
..... code Σ1..1codeSymbol in syntax defined by the system
..... display Σ1..1stringRepresentation defined by the system
..... userSelected Σ0..1booleanIf this coding was chosen directly by the user
.... text Σ0..1stringPlain text representation of the concept
... appointmentType SΣ0..1CodeableConceptThe style of appointment or patient that has been booked in the slot (not service type)
Binding: InterweaveAppointmentType (required)
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
Slice: Unordered, Open by value:url
.... coding Σ0..*CodingCode defined by a terminology system
..... id 0..1stringxml:id (or equivalent in JSON)
..... extension 0..*ExtensionAdditional Content defined by implementations
Slice: Unordered, Open by value:url
..... system Σ1..1uriIdentity of the terminology system
..... version Σ0..1stringVersion of the system - if relevant
..... code Σ1..1codeSymbol in syntax defined by the system
..... display Σ1..1stringRepresentation defined by the system
..... userSelected Σ0..1booleanIf this coding was chosen directly by the user
.... text Σ0..1stringPlain text representation of the concept
... reason SΣ0..*CodeableConceptReason this appointment is scheduled
Binding: Interweave R4 Encounter Reason (preferred)
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
Slice: Unordered, Open by value:url
.... coding Σ0..*CodingCode defined by a terminology system
..... id 0..1stringxml:id (or equivalent in JSON)
..... extension 0..*ExtensionAdditional Content defined by implementations
Slice: Unordered, Open by value:url
..... system Σ1..1uriIdentity of the terminology system
..... version Σ0..1stringVersion of the system - if relevant
..... code Σ1..1codeSymbol in syntax defined by the system
..... display Σ1..1stringRepresentation defined by the system
..... userSelected Σ0..1booleanIf this coding was chosen directly by the user
.... text Σ0..1stringPlain text representation of the concept
... indication 0..*Reference(Condition | Procedure)Reason the appointment is to takes place (resource)
... priority 0..1unsignedIntDISCOURAGED - More applicable to internal scheduling
... description S0..1stringShown on a subject line in a meeting request, or appointment list
... supportingInformation 0..*Reference(Resource)DISCOURAGED - very broad, and so difficult for a consumer to handle
... start SΣ0..1instantWhen appointment is to take place
... end Σ0..1instantWhen appointment is to conclude
... minutesDuration 0..1positiveIntCan be less than start/end (e.g. estimate)
... slot 0..*Reference(Slot)DISCOURAGED - Relevant to a scheduling system, but less so to a regional shared record
... created 0..1dateTimeThe date that this appointment was initially created
... comment 0..1stringDISCOURAGED. It must be assumed that this comment will be widely viewed across the region, including by the patient themselves. See also / instead the 'patientInstruction' field
... incomingReferral 0..*Reference(ReferralRequest)The ReferralRequest provided as information to allocate to the Encounter
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
Slice: Unordered, Open by value:url
.... reference ΣC1..1stringReference to a resource (could be Contained)
.... identifier Σ0..1IdentifierIf relevant could include an id
.... display Σ0..1stringIf relevant, description of the referenced resource
... Slices for participant SC1..*BackboneElementParticipants involved in appointment
Slice: Unordered, Open by value:type.coding.code
.... participant:All Slices Content/Rules for all slices
..... id 0..1stringxml:id (or equivalent in JSON)
..... extension 0..*ExtensionAdditional Content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
..... type SΣ1..1CodeableConceptRole of participant in the appointment
Binding: InterweaveAppointmentParticipantType (required)
...... id 0..1stringxml:id (or equivalent in JSON)
...... extension 0..*ExtensionAdditional Content defined by implementations
Slice: Unordered, Open by value:url
...... coding Σ0..*CodingCode defined by a terminology system
....... id 0..1stringxml:id (or equivalent in JSON)
....... extension 0..*ExtensionAdditional Content defined by implementations
Slice: Unordered, Open by value:url
....... system Σ1..1uriIdentity of the terminology system
....... version Σ0..1stringVersion of the system - if relevant
....... code Σ1..1codeSymbol in syntax defined by the system
....... display Σ1..1stringRepresentation defined by the system
....... userSelected Σ0..1booleanIf this coding was chosen directly by the user
...... text Σ0..1stringPlain text representation of the concept
..... actor SΣ1..1Reference(Patient | Practitioner | RelatedPerson | Device | HealthcareService | Location)Person, Location/HealthcareService or Device
..... required Σ0..1coderequired | optional | information-only
Binding: ParticipantRequired (required): Is the Participant required to attend the appointment.

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

.... participant:subject SC1..1BackboneElementParticipants involved in appointment
..... id 0..1stringxml:id (or equivalent in JSON)
..... extension 0..*ExtensionAdditional Content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
..... type Σ0..*CodeableConceptRole of participant in the appointment
Binding: ParticipantType (extensible): Role of participant in encounter.


...... id 0..1stringxml:id (or equivalent in JSON)
...... extension 0..*ExtensionAdditional Content defined by implementations
Slice: Unordered, Open by value:url
...... coding Σ0..*CodingCode defined by a terminology system
....... id 0..1stringxml:id (or equivalent in JSON)
....... extension 0..*ExtensionAdditional Content defined by implementations
Slice: Unordered, Open by value:url
....... system Σ0..1uriIdentity of the terminology system
Fixed Value: http://hl7.org/fhir/v3/ParticipationType
....... version Σ0..1stringVersion of the system - if relevant
....... code Σ0..1codeSymbol in syntax defined by the system
Fixed Value: SBJ
....... display Σ0..1stringRepresentation defined by the system
Fixed Value: subject
....... userSelected Σ0..1booleanIf this coding was chosen directly by the user
...... text Σ0..1stringPlain text representation of the concept
..... actor Σ0..1Reference(Patient)Person, Location/HealthcareService or Device
...... id 0..1stringxml:id (or equivalent in JSON)
...... extension 0..*ExtensionAdditional Content defined by implementations
Slice: Unordered, Open by value:url
...... reference ΣC1..1stringReference to a resource (could be Contained)
...... identifier Σ0..1IdentifierIf relevant could include an id
...... display Σ1..1stringDescription of the referenced resource
..... required Σ0..1coderequired | optional | information-only
Binding: ParticipantRequired (required): Is the Participant required to attend the appointment.

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

.... participant:location SC0..1BackboneElementParticipants involved in appointment
..... id 0..1stringxml:id (or equivalent in JSON)
..... extension 0..*ExtensionAdditional Content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
..... type Σ0..*CodeableConceptRole of participant in the appointment
Binding: ParticipantType (extensible): Role of participant in encounter.


...... id 0..1stringxml:id (or equivalent in JSON)
...... extension 0..*ExtensionAdditional Content defined by implementations
Slice: Unordered, Open by value:url
...... coding Σ0..*CodingCode defined by a terminology system
....... id 0..1stringxml:id (or equivalent in JSON)
....... extension 0..*ExtensionAdditional Content defined by implementations
Slice: Unordered, Open by value:url
....... system Σ0..1uriIdentity of the terminology system
Fixed Value: http://hl7.org/fhir/v3/ParticipationType
....... version Σ0..1stringVersion of the system - if relevant
....... code Σ0..1codeSymbol in syntax defined by the system
Fixed Value: LOC
....... display Σ0..1stringRepresentation defined by the system
Fixed Value: location
....... userSelected Σ0..1booleanIf this coding was chosen directly by the user
...... text Σ0..1stringPlain text representation of the concept
..... actor Σ0..1Reference(Location)Person, Location/HealthcareService or Device
...... id 0..1stringxml:id (or equivalent in JSON)
...... extension 0..*ExtensionAdditional Content defined by implementations
Slice: Unordered, Open by value:url
...... reference ΣC1..1stringReference to a resource (could be Contained)
...... identifier Σ0..1IdentifierIf relevant could include an id
...... display Σ1..1stringDescription of the referenced resource
..... required Σ0..1coderequired | optional | information-only
Binding: ParticipantRequired (required): Is the Participant required to attend the appointment.

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

.... participant:primaryPerformer SC0..1BackboneElementParticipants involved in appointment
..... id 0..1stringxml:id (or equivalent in JSON)
..... extension 0..*ExtensionAdditional Content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
..... type Σ0..*CodeableConceptRole of participant in the appointment
Binding: ParticipantType (extensible): Role of participant in encounter.


...... id 0..1stringxml:id (or equivalent in JSON)
...... extension 0..*ExtensionAdditional Content defined by implementations
Slice: Unordered, Open by value:url
...... coding Σ0..*CodingCode defined by a terminology system
....... id 0..1stringxml:id (or equivalent in JSON)
....... extension 0..*ExtensionAdditional Content defined by implementations
Slice: Unordered, Open by value:url
....... system Σ0..1uriIdentity of the terminology system
Fixed Value: http://hl7.org/fhir/v3/ParticipationType
....... version Σ0..1stringVersion of the system - if relevant
....... code Σ0..1codeSymbol in syntax defined by the system
Fixed Value: PPRF
....... display Σ0..1stringRepresentation defined by the system
Fixed Value: primary performer
....... userSelected Σ0..1booleanIf this coding was chosen directly by the user
...... text Σ0..1stringPlain text representation of the concept
..... actor Σ0..1Reference(Practitioner)Person, Location/HealthcareService or Device
...... id 0..1stringxml:id (or equivalent in JSON)
...... extension 0..*ExtensionAdditional Content defined by implementations
Slice: Unordered, Open by value:url
...... reference ΣC1..1stringReference to a resource (could be Contained)
...... identifier Σ0..1IdentifierIf relevant could include an id
...... display Σ1..1stringDescription of the referenced resource
..... required Σ0..1coderequired | optional | information-only
Binding: ParticipantRequired (required): Is the Participant required to attend the appointment.

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

... requestedPeriod 0..*PeriodDISCOURAGED - Relevant to a scheduling system, but less so to a regional shared record

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
Appointment.meta.securityextensibleAll Security Labels
Appointment.meta.tagexampleCommon Tags
Appointment.meta.tag:SourceexampleCommon Tags
Appointment.meta.tag:ProvenanceexampleCommon Tags
Appointment.languageextensibleCommon Languages
Additional Bindings Purpose
AllLanguages Max Binding
Appointment.identifier:localIdentifier.userequiredIdentifierUse
Appointment.identifier:localIdentifier.typeextensibleIdentifier Type Codes
Appointment.statusrequiredAppointmentStatus
Appointment.serviceCategoryextensibleCare Connect SDS Job Role Name
Appointment.serviceTypepreferredInterweave UkCore Care Setting Type
Appointment.specialtypreferredCare Connect SDS Job Role Name
Appointment.appointmentTyperequiredInterweaveAppointmentType
Appointment.reasonpreferredInterweave R4 Encounter Reason
Appointment.participant.typerequiredInterweaveAppointmentParticipantType
Appointment.participant.requiredrequiredParticipantRequired
Appointment.participant.statusrequiredParticipationStatus
Appointment.participant:subject.typeextensibleParticipantType
Appointment.participant:subject.requiredrequiredParticipantRequired
Appointment.participant:subject.statusrequiredParticipationStatus
Appointment.participant:location.typeextensibleParticipantType
Appointment.participant:location.requiredrequiredParticipantRequired
Appointment.participant:location.statusrequiredParticipationStatus
Appointment.participant:primaryPerformer.typeextensibleParticipantType
Appointment.participant:primaryPerformer.requiredrequiredParticipantRequired
Appointment.participant:primaryPerformer.statusrequiredParticipationStatus

Constraints

IdGradePath(s)DetailsRequirements
app-1errorAppointment.participant, Appointment.participant:subject, Appointment.participant:location, Appointment.participant:primaryPerformerEither the type or actor on the participant SHALL be specified
: type.exists() or actor.exists()
ele-1errorAppointment.extension:deliveryChannel, Appointment.extension:bookingOrganisation, Appointment.participant, Appointment.participant:subject, Appointment.participant:location, Appointment.participant:primaryPerformerAll FHIR elements must have a @value or children
: hasValue() | (children().count() > id.count())
ext-1errorAppointment.extension:deliveryChannel, Appointment.extension:bookingOrganisationMust have either extensions or value[x], not both
: extension.exists() != value.exists()

This structure is derived from CareConnect-Appointment-1

Summary

Mandatory: 4 elements (30 nested mandatory elements)
Must-Support: 28 elements
Fixed Value: 12 elements
Prohibited: 2 elements

Extensions

This structure refers to these extensions:

Slices

This structure defines the following Slices:

  • The element Appointment.meta.tag is sliced based on the value of value:system
  • The element Appointment.identifier is sliced based on the value of value:system
  • The element Appointment.participant is sliced based on the value of value:type.coding.code

 

Other representations of profile: CSV, Excel, Schematron