Interweave Implementation Guide
0.1.0 - ci-build
Interweave Implementation Guide - Local Development build (v0.1.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the R4 profiles here.
Official URL: https://fhir.yhcr.nhs.uk/StructureDefinition/Interweave-Appointment | Version: 0.1.0 | |||
Active as of 2024-07-17 | Computable Name: InterweaveAppointment |
Interweave Appointment resource profile.
Status: Active: Approved (STU)
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.
The following mandatory fields are defined:
Status - this is already mandatory in FHIR. Note that for future appointments it will be important to keep this status up-to-date.
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
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.
In addition the following fields are “Must Support” - ie they must be populated if relevant and known.
Identifier - a Local Id should be provided, such that could be quoted if manually getting in touch to find out more
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”)
Appointment Type - a simple list of codes eg “routine”, “emergency” etc. We add a value for “urgent” to cover scheduled but urgent appointments.
Description - any other title or text to further describe the appointment
Participant: Primary Performer - a reference to the main practitioner involved, once they have been allocated.
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)
Delivery Channel (Care Connect Extension) - simple and useful field to indicate whether in-person, telephone, or video
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.
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
Usage:
Description of Profiles, Differentials, Snapshots and how the different presentations work.
This structure is derived from CareConnect-Appointment-1
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Appointment | 0..* | CareConnect-Appointment-1 | A booking of a healthcare event among patient(s), practitioner(s), related person(s) and/or device(s) for a specific date/time. This may result in one or more Encounter(s) | |
id | S | 0..1 | id | Logical id of this artifact |
meta | ||||
versionId | S | 0..1 | id | Version specific identifier |
lastUpdated | S | 0..1 | instant | MANDATORY except in Contained Resources. When the resource version last changed. |
profile | S | 0..* | uri | Profiles this resource claims to conform to. Should list (i) this profile (ii) underlying CareConnect profile |
security | 0..* | Coding | DISCOURAGED - may not be honoured by Data Consumers | |
Slices for tag | 0..* | Coding | Tags applied to this resource Slice: Unordered, Open by value:system | |
tag:Source | S | 0..1 | Coding | MANDATORY except in Contained Resources. The Data Provider Id (and display text) of the system supplying the data |
system | 1..1 | uri | Identity of the terminology system Fixed Value: https://yhcr.nhs.uk/Source | |
code | S | 1..1 | code | The Data Provider Id of the system supplying the data |
display | S | 1..1 | string | Name of the system supplying the data |
tag:Provenance | S | 0..1 | Coding | MANDATORY except in Contained Resources. The ODS Code (and display text) of the organisation responsible for the data |
system | 1..1 | uri | Identity of the terminology system Fixed Value: https://yhcr.nhs.uk/Provenance | |
code | S | 1..1 | code | The ODS Code of the organisation responsible for the data |
display | S | 1..1 | string | Name of the organisation supplying the data |
implicitRules | 0..1 | uri | DISCOURAGED - may not be honoured by Data Consumers | |
language | 0..1 | code | English is assumed (not currently a multi-lingual implementation) | |
text | 0..1 | Narrative | DISCOURAGED - 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 | S | 0..1 | Extension-CareConnect-DeliveryChannel-1 | An extension to record the delivery channel of a scheduled Appointment |
extension:appointmentCancellationReason | 0..0 | |||
extension:bookingOrganisation | 0..1 | Extension-CareConnect-BookingOrganisation-1 | DISCOURAGED - use referral, or provenance tags instead | |
appointmentCancellationReasonR4 | S | 0..1 | CodeableConcept | The 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..1 | string | Detailed information and instructions for the patient URL: https://fhir.yhcr.nhs.uk/StructureDefinition/Extension-Interweave-R4PatientInstruction | |
Slices for identifier | 0..* | Identifier | External Ids for this item. Slice: Unordered, Open by value:system | |
identifier:localIdentifier | S | 0..1 | Identifier | External Ids for this item. |
system | S | 1..1 | uri | The namespace for the identifier value Fixed Value: https://fhir.yhcr.nhs.uk/Id/local-appointment-identifier |
value | S | 1..1 | string | The Local appointment Identifier. Please prefix with ODS code plus period (XXX.) to ensure unique |
period | 0..0 | |||
status | S | 1..1 | code | proposed | pending | booked | arrived | fulfilled | cancelled | noshow | entered-in-error |
serviceCategory | 0..1 | CodeableConcept | DISCOURAGED - Unfortunately CareConnect has prescribed an inappropriate valueset for this field, which negates its use. | |
serviceType | S | 1..* | CodeableConcept | The specific service that is to be performed during this appointment Binding: Interweave UkCore Care Setting Type (preferred) |
coding | ||||
system | 1..1 | uri | Identity of the terminology system | |
code | 1..1 | code | Symbol in syntax defined by the system | |
display | 1..1 | string | Representation defined by the system | |
specialty | 0..* | CodeableConcept | The 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..1 | uri | Identity of the terminology system | |
code | 1..1 | code | Symbol in syntax defined by the system | |
display | 1..1 | string | Representation defined by the system | |
appointmentType | S | 0..1 | CodeableConcept | The style of appointment or patient that has been booked in the slot (not service type) Binding: InterweaveAppointmentType (required) |
coding | ||||
system | 1..1 | uri | Identity of the terminology system | |
code | 1..1 | code | Symbol in syntax defined by the system | |
display | 1..1 | string | Representation defined by the system | |
reason | S | 0..* | CodeableConcept | Reason this appointment is scheduled Binding: Interweave R4 Encounter Reason (preferred) |
coding | ||||
system | 1..1 | uri | Identity of the terminology system | |
code | 1..1 | code | Symbol in syntax defined by the system | |
display | 1..1 | string | Representation defined by the system | |
priority | 0..1 | unsignedInt | DISCOURAGED - More applicable to internal scheduling | |
description | S | 0..1 | string | Shown 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..1 | instant | When 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..1 | string | DISCOURAGED. 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..1 | string | Reference to a resource (could be Contained) | |
identifier | 0..1 | Identifier | If relevant could include an id | |
display | 0..1 | string | If relevant, description of the referenced resource | |
Slices for participant | S | 1..* | BackboneElement | Participants involved in appointment Slice: Unordered, Open by value:type.coding.code |
participant:All Slices | Content/Rules for all slices | |||
type | S | 1..1 | CodeableConcept | Role of participant in the appointment Binding: InterweaveAppointmentParticipantType (required) |
coding | ||||
system | 1..1 | uri | Identity of the terminology system | |
code | 1..1 | code | Symbol in syntax defined by the system | |
display | 1..1 | string | Representation defined by the system | |
actor | S | 1..1 | Reference(Patient | Practitioner | RelatedPerson | Device | HealthcareService | Location) | Person, Location/HealthcareService or Device |
status | S | 1..1 | code | accepted | declined | tentative | needs-action |
participant:subject | S | 1..1 | BackboneElement | Participants involved in appointment |
type | ||||
coding | ||||
system | 0..1 | uri | Identity of the terminology system Fixed Value: http://hl7.org/fhir/v3/ParticipationType | |
code | 0..1 | code | Symbol in syntax defined by the system Fixed Value: SBJ | |
display | 0..1 | string | Representation defined by the system Fixed Value: subject | |
actor | 0..1 | Reference(Patient) | Person, Location/HealthcareService or Device | |
reference | 1..1 | string | Reference to a resource (could be Contained) | |
identifier | 0..1 | Identifier | If relevant could include an id | |
display | 1..1 | string | Description of the referenced resource | |
participant:location | S | 0..1 | BackboneElement | Participants involved in appointment |
type | ||||
coding | ||||
system | 0..1 | uri | Identity of the terminology system Fixed Value: http://hl7.org/fhir/v3/ParticipationType | |
code | 0..1 | code | Symbol in syntax defined by the system Fixed Value: LOC | |
display | 0..1 | string | Representation defined by the system Fixed Value: location | |
actor | 0..1 | Reference(Location) | Person, Location/HealthcareService or Device | |
reference | 1..1 | string | Reference to a resource (could be Contained) | |
identifier | 0..1 | Identifier | If relevant could include an id | |
display | 1..1 | string | Description of the referenced resource | |
participant:primaryPerformer | S | 0..1 | BackboneElement | Participants involved in appointment |
type | ||||
coding | ||||
system | 0..1 | uri | Identity of the terminology system Fixed Value: http://hl7.org/fhir/v3/ParticipationType | |
code | 0..1 | code | Symbol in syntax defined by the system Fixed Value: PPRF | |
display | 0..1 | string | Representation defined by the system Fixed Value: primary performer | |
actor | 0..1 | Reference(Practitioner) | Person, Location/HealthcareService or Device | |
reference | 1..1 | string | Reference to a resource (could be Contained) | |
identifier | 0..1 | Identifier | If relevant could include an id | |
display | 1..1 | string | Description of the referenced resource | |
requestedPeriod | 0..* | Period | DISCOURAGED - Relevant to a scheduling system, but less so to a regional shared record | |
Documentation for this format |
Path | Conformance | ValueSet |
Appointment.serviceType | preferred | Interweave UkCore Care Setting Type |
Appointment.specialty | preferred | Care Connect SDS Job Role Name |
Appointment.appointmentType | required | InterweaveAppointmentType |
Appointment.reason | preferred | Interweave R4 Encounter Reason |
Appointment.participant.type | required | InterweaveAppointmentParticipantType |
Name | Flags | Card. | Type | Description & Constraints | ||||
---|---|---|---|---|---|---|---|---|
Appointment | C | 0..* | CareConnect-Appointment-1 | A booking of a healthcare event among patient(s), practitioner(s), related person(s) and/or device(s) for a specific date/time. This may result in one or more Encounter(s) | ||||
id | SΣ | 0..1 | id | Logical id of this artifact | ||||
meta | Σ | 0..1 | Meta | Metadata about the resource | ||||
versionId | SΣ | 0..1 | id | Version specific identifier | ||||
lastUpdated | SΣ | 0..1 | instant | MANDATORY except in Contained Resources. When the resource version last changed. | ||||
profile | SΣ | 0..* | uri | Profiles this resource claims to conform to. Should list (i) this profile (ii) underlying CareConnect profile | ||||
security | Σ | 0..* | Coding | DISCOURAGED - 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..* | Coding | Tags 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..1 | Coding | MANDATORY 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..1 | uri | Identity of the terminology system Fixed Value: https://yhcr.nhs.uk/Source | ||||
code | SΣ | 1..1 | code | The Data Provider Id of the system supplying the data | ||||
display | SΣ | 1..1 | string | Name of the system supplying the data | ||||
tag:Provenance | SΣ | 0..1 | Coding | MANDATORY 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..1 | uri | Identity of the terminology system Fixed Value: https://yhcr.nhs.uk/Provenance | ||||
code | SΣ | 1..1 | code | The ODS Code of the organisation responsible for the data | ||||
display | SΣ | 1..1 | string | Name of the organisation supplying the data | ||||
implicitRules | ?!Σ | 0..1 | uri | DISCOURAGED - may not be honoured by Data Consumers | ||||
language | 0..1 | code | English is assumed (not currently a multi-lingual implementation) Binding: Common Languages (extensible): A human language.
| |||||
text | 0..1 | Narrative | DISCOURAGED - 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 | S | 0..1 | code | An 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..1 | Reference(CareConnect-Organization-1) | DISCOURAGED - use referral, or provenance tags instead URL: https://fhir.hl7.org.uk/STU3/StructureDefinition/Extension-CareConnect-BookingOrganisation-1 | |||||
appointmentCancellationReasonR4 | S | 0..1 | CodeableConcept | The 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..1 | string | Detailed information and instructions for the patient URL: https://fhir.yhcr.nhs.uk/StructureDefinition/Extension-Interweave-R4PatientInstruction | |||||
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored | ||||
Slices for identifier | Σ | 0..* | Identifier | External Ids for this item. Slice: Unordered, Open by value:system | ||||
identifier:localIdentifier | SΣ | 0..1 | Identifier | External Ids for this item. | ||||
use | ?!Σ | 0..1 | code | usual | official | temp | secondary (If known) Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known . | ||||
system | SΣ | 1..1 | uri | The namespace for the identifier value Fixed Value: https://fhir.yhcr.nhs.uk/Id/local-appointment-identifier | ||||
value | SΣ | 1..1 | string | The Local appointment Identifier. Please prefix with ODS code plus period (XXX.) to ensure unique Example General: 123456 | ||||
status | ?!SΣ | 1..1 | code | proposed | pending | booked | arrived | fulfilled | cancelled | noshow | entered-in-error Binding: AppointmentStatus (required): The free/busy status of an appointment. | ||||
serviceCategory | Σ | 0..1 | CodeableConcept | DISCOURAGED - 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..* | CodeableConcept | The specific service that is to be performed during this appointment Binding: Interweave UkCore Care Setting Type (preferred) | ||||
specialty | Σ | 0..* | CodeableConcept | The 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..1 | CodeableConcept | The style of appointment or patient that has been booked in the slot (not service type) Binding: InterweaveAppointmentType (required) | ||||
reason | SΣ | 0..* | CodeableConcept | Reason this appointment is scheduled Binding: Interweave R4 Encounter Reason (preferred) | ||||
priority | 0..1 | unsignedInt | DISCOURAGED - More applicable to internal scheduling | |||||
description | S | 0..1 | string | Shown 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..1 | instant | When 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..1 | string | DISCOURAGED. 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 | SC | 1..* | BackboneElement | Participants involved in appointment Slice: Unordered, Open by value:type.coding.code | ||||
participant:All Slices | Content/Rules for all slices | |||||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored | ||||
type | SΣ | 1..1 | CodeableConcept | Role of participant in the appointment Binding: InterweaveAppointmentParticipantType (required) | ||||
actor | SΣ | 1..1 | Reference(Patient | Practitioner | RelatedPerson | Device | HealthcareService | Location) | Person, Location/HealthcareService or Device | ||||
status | S | 1..1 | code | accepted | declined | tentative | needs-action Binding: ParticipationStatus (required): The Participation status of an appointment. | ||||
participant:subject | SC | 1..1 | BackboneElement | Participants involved in appointment | ||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored | ||||
actor | Σ | 0..1 | Reference(Patient) | Person, Location/HealthcareService or Device | ||||
reference | ΣC | 1..1 | string | Reference to a resource (could be Contained) | ||||
identifier | Σ | 0..1 | Identifier | If relevant could include an id | ||||
display | Σ | 1..1 | string | Description of the referenced resource | ||||
status | 1..1 | code | accepted | declined | tentative | needs-action Binding: ParticipationStatus (required): The Participation status of an appointment. | |||||
participant:location | SC | 0..1 | BackboneElement | Participants involved in appointment | ||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored | ||||
actor | Σ | 0..1 | Reference(Location) | Person, Location/HealthcareService or Device | ||||
reference | ΣC | 1..1 | string | Reference to a resource (could be Contained) | ||||
identifier | Σ | 0..1 | Identifier | If relevant could include an id | ||||
display | Σ | 1..1 | string | Description of the referenced resource | ||||
status | 1..1 | code | accepted | declined | tentative | needs-action Binding: ParticipationStatus (required): The Participation status of an appointment. | |||||
participant:primaryPerformer | SC | 0..1 | BackboneElement | Participants involved in appointment | ||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored | ||||
actor | Σ | 0..1 | Reference(Practitioner) | Person, Location/HealthcareService or Device | ||||
reference | ΣC | 1..1 | string | Reference to a resource (could be Contained) | ||||
identifier | Σ | 0..1 | Identifier | If relevant could include an id | ||||
display | Σ | 1..1 | string | Description of the referenced resource | ||||
status | 1..1 | code | accepted | declined | tentative | needs-action Binding: ParticipationStatus (required): The Participation status of an appointment. | |||||
requestedPeriod | 0..* | Period | DISCOURAGED - Relevant to a scheduling system, but less so to a regional shared record | |||||
Documentation for this format |
Path | Conformance | ValueSet | ||||
Appointment.meta.security | extensible | All Security Labels | ||||
Appointment.meta.tag | example | Common Tags | ||||
Appointment.meta.tag:Source | example | Common Tags | ||||
Appointment.meta.tag:Provenance | example | Common Tags | ||||
Appointment.language | extensible | Common Languages
| ||||
Appointment.identifier:localIdentifier.use | required | IdentifierUse | ||||
Appointment.status | required | AppointmentStatus | ||||
Appointment.serviceCategory | extensible | Care Connect SDS Job Role Name | ||||
Appointment.serviceType | preferred | Interweave UkCore Care Setting Type | ||||
Appointment.specialty | preferred | Care Connect SDS Job Role Name | ||||
Appointment.appointmentType | required | InterweaveAppointmentType | ||||
Appointment.reason | preferred | Interweave R4 Encounter Reason | ||||
Appointment.participant.type | required | InterweaveAppointmentParticipantType | ||||
Appointment.participant.status | required | ParticipationStatus | ||||
Appointment.participant:subject.status | required | ParticipationStatus | ||||
Appointment.participant:location.status | required | ParticipationStatus | ||||
Appointment.participant:primaryPerformer.status | required | ParticipationStatus |
Id | Grade | Path(s) | Details | Requirements |
app-1 | error | Appointment.participant, Appointment.participant:subject, Appointment.participant:location, Appointment.participant:primaryPerformer | Either the type or actor on the participant SHALL be specified : type.exists() or actor.exists() | |
app-2 | error | Appointment | Either start and end are specified, or neither : start.empty() xor end.exists() | |
app-3 | error | Appointment | Only proposed or cancelled appointments can be missing start/end dates : (start.exists() and end.exists()) or (status in ('proposed' | 'cancelled')) | |
dom-1 | error | Appointment | If the resource is contained in another resource, it SHALL NOT contain any narrative : contained.text.empty() | |
dom-2 | error | Appointment | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | error | Appointment | If 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-4 | error | Appointment | If 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-1 | error | Appointment.extension:deliveryChannel, Appointment.extension:bookingOrganisation, Appointment.participant, Appointment.participant:subject, Appointment.participant:location, Appointment.participant:primaryPerformer | All FHIR elements must have a @value or children : hasValue() | (children().count() > id.count()) | |
ext-1 | error | Appointment.extension:deliveryChannel, Appointment.extension:bookingOrganisation | Must have either extensions or value[x], not both : extension.exists() != value.exists() |
Name | Flags | Card. | Type | Description & Constraints | ||||
---|---|---|---|---|---|---|---|---|
Appointment | C | 0..* | CareConnect-Appointment-1 | A booking of a healthcare event among patient(s), practitioner(s), related person(s) and/or device(s) for a specific date/time. This may result in one or more Encounter(s) | ||||
id | SΣ | 0..1 | id | Logical id of this artifact | ||||
meta | Σ | 0..1 | Meta | Metadata about the resource | ||||
id | 0..1 | string | xml:id (or equivalent in JSON) | |||||
extension | 0..* | Extension | Additional Content defined by implementations Slice: Unordered, Open by value:url | |||||
versionId | SΣ | 0..1 | id | Version specific identifier | ||||
lastUpdated | SΣ | 0..1 | instant | MANDATORY except in Contained Resources. When the resource version last changed. | ||||
profile | SΣ | 0..* | uri | Profiles this resource claims to conform to. Should list (i) this profile (ii) underlying CareConnect profile | ||||
security | Σ | 0..* | Coding | DISCOURAGED - 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..* | Coding | Tags 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..1 | Coding | MANDATORY 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..1 | string | xml:id (or equivalent in JSON) | |||||
extension | 0..* | Extension | Additional Content defined by implementations Slice: Unordered, Open by value:url | |||||
system | Σ | 1..1 | uri | Identity of the terminology system Fixed Value: https://yhcr.nhs.uk/Source | ||||
version | Σ | 0..1 | string | Version of the system - if relevant | ||||
code | SΣ | 1..1 | code | The Data Provider Id of the system supplying the data | ||||
display | SΣ | 1..1 | string | Name of the system supplying the data | ||||
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user | ||||
tag:Provenance | SΣ | 0..1 | Coding | MANDATORY 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..1 | string | xml:id (or equivalent in JSON) | |||||
extension | 0..* | Extension | Additional Content defined by implementations Slice: Unordered, Open by value:url | |||||
system | Σ | 1..1 | uri | Identity of the terminology system Fixed Value: https://yhcr.nhs.uk/Provenance | ||||
version | Σ | 0..1 | string | Version of the system - if relevant | ||||
code | SΣ | 1..1 | code | The ODS Code of the organisation responsible for the data | ||||
display | SΣ | 1..1 | string | Name of the organisation supplying the data | ||||
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user | ||||
implicitRules | ?!Σ | 0..1 | uri | DISCOURAGED - may not be honoured by Data Consumers | ||||
language | 0..1 | code | English is assumed (not currently a multi-lingual implementation) Binding: Common Languages (extensible): A human language.
| |||||
text | 0..1 | Narrative | DISCOURAGED - 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..* | Resource | Contained, inline Resources | |||||
Slices for extension | 0..* | Extension | Extension Slice: Unordered, Open by value:url | |||||
deliveryChannel | S | 0..1 | code | An 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..1 | Reference(CareConnect-Organization-1) | DISCOURAGED - use referral, or provenance tags instead URL: https://fhir.hl7.org.uk/STU3/StructureDefinition/Extension-CareConnect-BookingOrganisation-1 | |||||
appointmentCancellationReasonR4 | S | 0..1 | CodeableConcept | The 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..1 | string | Detailed information and instructions for the patient URL: https://fhir.yhcr.nhs.uk/StructureDefinition/Extension-Interweave-R4PatientInstruction | |||||
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored | ||||
Slices for identifier | Σ | 0..* | Identifier | External Ids for this item. Slice: Unordered, Open by value:system | ||||
identifier:localIdentifier | SΣ | 0..1 | Identifier | External Ids for this item. | ||||
id | 0..1 | string | xml:id (or equivalent in JSON) | |||||
extension | 0..* | Extension | Additional Content defined by implementations Slice: Unordered, Open by value:url | |||||
use | ?!Σ | 0..1 | code | usual | official | temp | secondary (If known) Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known . | ||||
type | Σ | 0..1 | CodeableConcept | Description 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..1 | uri | The namespace for the identifier value Fixed Value: https://fhir.yhcr.nhs.uk/Id/local-appointment-identifier | ||||
value | SΣ | 1..1 | string | The Local appointment Identifier. Please prefix with ODS code plus period (XXX.) to ensure unique Example General: 123456 | ||||
assigner | Σ | 0..1 | Reference(Organization) | Organization that issued id (may be just text) | ||||
status | ?!SΣ | 1..1 | code | proposed | pending | booked | arrived | fulfilled | cancelled | noshow | entered-in-error Binding: AppointmentStatus (required): The free/busy status of an appointment. | ||||
serviceCategory | Σ | 0..1 | CodeableConcept | DISCOURAGED - 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..* | CodeableConcept | The specific service that is to be performed during this appointment Binding: Interweave UkCore Care Setting Type (preferred) | ||||
id | 0..1 | string | xml:id (or equivalent in JSON) | |||||
extension | 0..* | Extension | Additional Content defined by implementations Slice: Unordered, Open by value:url | |||||
coding | Σ | 0..* | Coding | Code defined by a terminology system | ||||
id | 0..1 | string | xml:id (or equivalent in JSON) | |||||
extension | 0..* | Extension | Additional Content defined by implementations Slice: Unordered, Open by value:url | |||||
system | Σ | 1..1 | uri | Identity of the terminology system | ||||
version | Σ | 0..1 | string | Version of the system - if relevant | ||||
code | Σ | 1..1 | code | Symbol in syntax defined by the system | ||||
display | Σ | 1..1 | string | Representation defined by the system | ||||
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user | ||||
text | Σ | 0..1 | string | Plain text representation of the concept | ||||
specialty | Σ | 0..* | CodeableConcept | The 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..1 | string | xml:id (or equivalent in JSON) | |||||
extension | 0..* | Extension | Additional Content defined by implementations Slice: Unordered, Open by value:url | |||||
coding | Σ | 0..* | Coding | Code defined by a terminology system | ||||
id | 0..1 | string | xml:id (or equivalent in JSON) | |||||
extension | 0..* | Extension | Additional Content defined by implementations Slice: Unordered, Open by value:url | |||||
system | Σ | 1..1 | uri | Identity of the terminology system | ||||
version | Σ | 0..1 | string | Version of the system - if relevant | ||||
code | Σ | 1..1 | code | Symbol in syntax defined by the system | ||||
display | Σ | 1..1 | string | Representation defined by the system | ||||
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user | ||||
text | Σ | 0..1 | string | Plain text representation of the concept | ||||
appointmentType | SΣ | 0..1 | CodeableConcept | The style of appointment or patient that has been booked in the slot (not service type) Binding: InterweaveAppointmentType (required) | ||||
id | 0..1 | string | xml:id (or equivalent in JSON) | |||||
extension | 0..* | Extension | Additional Content defined by implementations Slice: Unordered, Open by value:url | |||||
coding | Σ | 0..* | Coding | Code defined by a terminology system | ||||
id | 0..1 | string | xml:id (or equivalent in JSON) | |||||
extension | 0..* | Extension | Additional Content defined by implementations Slice: Unordered, Open by value:url | |||||
system | Σ | 1..1 | uri | Identity of the terminology system | ||||
version | Σ | 0..1 | string | Version of the system - if relevant | ||||
code | Σ | 1..1 | code | Symbol in syntax defined by the system | ||||
display | Σ | 1..1 | string | Representation defined by the system | ||||
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user | ||||
text | Σ | 0..1 | string | Plain text representation of the concept | ||||
reason | SΣ | 0..* | CodeableConcept | Reason this appointment is scheduled Binding: Interweave R4 Encounter Reason (preferred) | ||||
id | 0..1 | string | xml:id (or equivalent in JSON) | |||||
extension | 0..* | Extension | Additional Content defined by implementations Slice: Unordered, Open by value:url | |||||
coding | Σ | 0..* | Coding | Code defined by a terminology system | ||||
id | 0..1 | string | xml:id (or equivalent in JSON) | |||||
extension | 0..* | Extension | Additional Content defined by implementations Slice: Unordered, Open by value:url | |||||
system | Σ | 1..1 | uri | Identity of the terminology system | ||||
version | Σ | 0..1 | string | Version of the system - if relevant | ||||
code | Σ | 1..1 | code | Symbol in syntax defined by the system | ||||
display | Σ | 1..1 | string | Representation defined by the system | ||||
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user | ||||
text | Σ | 0..1 | string | Plain text representation of the concept | ||||
indication | 0..* | Reference(Condition | Procedure) | Reason the appointment is to takes place (resource) | |||||
priority | 0..1 | unsignedInt | DISCOURAGED - More applicable to internal scheduling | |||||
description | S | 0..1 | string | Shown 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..1 | instant | When appointment is to take place | ||||
end | Σ | 0..1 | instant | When appointment is to conclude | ||||
minutesDuration | 0..1 | positiveInt | Can be less than start/end (e.g. estimate) | |||||
slot | 0..* | Reference(Slot) | DISCOURAGED - Relevant to a scheduling system, but less so to a regional shared record | |||||
created | 0..1 | dateTime | The date that this appointment was initially created | |||||
comment | 0..1 | string | DISCOURAGED. 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..1 | string | xml:id (or equivalent in JSON) | |||||
extension | 0..* | Extension | Additional Content defined by implementations Slice: Unordered, Open by value:url | |||||
reference | ΣC | 1..1 | string | Reference to a resource (could be Contained) | ||||
identifier | Σ | 0..1 | Identifier | If relevant could include an id | ||||
display | Σ | 0..1 | string | If relevant, description of the referenced resource | ||||
Slices for participant | SC | 1..* | BackboneElement | Participants involved in appointment Slice: Unordered, Open by value:type.coding.code | ||||
participant:All Slices | Content/Rules for all slices | |||||||
id | 0..1 | string | xml:id (or equivalent in JSON) | |||||
extension | 0..* | Extension | Additional Content defined by implementations | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored | ||||
type | SΣ | 1..1 | CodeableConcept | Role of participant in the appointment Binding: InterweaveAppointmentParticipantType (required) | ||||
id | 0..1 | string | xml:id (or equivalent in JSON) | |||||
extension | 0..* | Extension | Additional Content defined by implementations Slice: Unordered, Open by value:url | |||||
coding | Σ | 0..* | Coding | Code defined by a terminology system | ||||
id | 0..1 | string | xml:id (or equivalent in JSON) | |||||
extension | 0..* | Extension | Additional Content defined by implementations Slice: Unordered, Open by value:url | |||||
system | Σ | 1..1 | uri | Identity of the terminology system | ||||
version | Σ | 0..1 | string | Version of the system - if relevant | ||||
code | Σ | 1..1 | code | Symbol in syntax defined by the system | ||||
display | Σ | 1..1 | string | Representation defined by the system | ||||
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user | ||||
text | Σ | 0..1 | string | Plain text representation of the concept | ||||
actor | SΣ | 1..1 | Reference(Patient | Practitioner | RelatedPerson | Device | HealthcareService | Location) | Person, Location/HealthcareService or Device | ||||
required | Σ | 0..1 | code | required | optional | information-only Binding: ParticipantRequired (required): Is the Participant required to attend the appointment. | ||||
status | S | 1..1 | code | accepted | declined | tentative | needs-action Binding: ParticipationStatus (required): The Participation status of an appointment. | ||||
participant:subject | SC | 1..1 | BackboneElement | Participants involved in appointment | ||||
id | 0..1 | string | xml:id (or equivalent in JSON) | |||||
extension | 0..* | Extension | Additional Content defined by implementations | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored | ||||
type | Σ | 0..* | CodeableConcept | Role of participant in the appointment Binding: ParticipantType (extensible): Role of participant in encounter. | ||||
id | 0..1 | string | xml:id (or equivalent in JSON) | |||||
extension | 0..* | Extension | Additional Content defined by implementations Slice: Unordered, Open by value:url | |||||
coding | Σ | 0..* | Coding | Code defined by a terminology system | ||||
id | 0..1 | string | xml:id (or equivalent in JSON) | |||||
extension | 0..* | Extension | Additional Content defined by implementations Slice: Unordered, Open by value:url | |||||
system | Σ | 0..1 | uri | Identity of the terminology system Fixed Value: http://hl7.org/fhir/v3/ParticipationType | ||||
version | Σ | 0..1 | string | Version of the system - if relevant | ||||
code | Σ | 0..1 | code | Symbol in syntax defined by the system Fixed Value: SBJ | ||||
display | Σ | 0..1 | string | Representation defined by the system Fixed Value: subject | ||||
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user | ||||
text | Σ | 0..1 | string | Plain text representation of the concept | ||||
actor | Σ | 0..1 | Reference(Patient) | Person, Location/HealthcareService or Device | ||||
id | 0..1 | string | xml:id (or equivalent in JSON) | |||||
extension | 0..* | Extension | Additional Content defined by implementations Slice: Unordered, Open by value:url | |||||
reference | ΣC | 1..1 | string | Reference to a resource (could be Contained) | ||||
identifier | Σ | 0..1 | Identifier | If relevant could include an id | ||||
display | Σ | 1..1 | string | Description of the referenced resource | ||||
required | Σ | 0..1 | code | required | optional | information-only Binding: ParticipantRequired (required): Is the Participant required to attend the appointment. | ||||
status | 1..1 | code | accepted | declined | tentative | needs-action Binding: ParticipationStatus (required): The Participation status of an appointment. | |||||
participant:location | SC | 0..1 | BackboneElement | Participants involved in appointment | ||||
id | 0..1 | string | xml:id (or equivalent in JSON) | |||||
extension | 0..* | Extension | Additional Content defined by implementations | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored | ||||
type | Σ | 0..* | CodeableConcept | Role of participant in the appointment Binding: ParticipantType (extensible): Role of participant in encounter. | ||||
id | 0..1 | string | xml:id (or equivalent in JSON) | |||||
extension | 0..* | Extension | Additional Content defined by implementations Slice: Unordered, Open by value:url | |||||
coding | Σ | 0..* | Coding | Code defined by a terminology system | ||||
id | 0..1 | string | xml:id (or equivalent in JSON) | |||||
extension | 0..* | Extension | Additional Content defined by implementations Slice: Unordered, Open by value:url | |||||
system | Σ | 0..1 | uri | Identity of the terminology system Fixed Value: http://hl7.org/fhir/v3/ParticipationType | ||||
version | Σ | 0..1 | string | Version of the system - if relevant | ||||
code | Σ | 0..1 | code | Symbol in syntax defined by the system Fixed Value: LOC | ||||
display | Σ | 0..1 | string | Representation defined by the system Fixed Value: location | ||||
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user | ||||
text | Σ | 0..1 | string | Plain text representation of the concept | ||||
actor | Σ | 0..1 | Reference(Location) | Person, Location/HealthcareService or Device | ||||
id | 0..1 | string | xml:id (or equivalent in JSON) | |||||
extension | 0..* | Extension | Additional Content defined by implementations Slice: Unordered, Open by value:url | |||||
reference | ΣC | 1..1 | string | Reference to a resource (could be Contained) | ||||
identifier | Σ | 0..1 | Identifier | If relevant could include an id | ||||
display | Σ | 1..1 | string | Description of the referenced resource | ||||
required | Σ | 0..1 | code | required | optional | information-only Binding: ParticipantRequired (required): Is the Participant required to attend the appointment. | ||||
status | 1..1 | code | accepted | declined | tentative | needs-action Binding: ParticipationStatus (required): The Participation status of an appointment. | |||||
participant:primaryPerformer | SC | 0..1 | BackboneElement | Participants involved in appointment | ||||
id | 0..1 | string | xml:id (or equivalent in JSON) | |||||
extension | 0..* | Extension | Additional Content defined by implementations | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored | ||||
type | Σ | 0..* | CodeableConcept | Role of participant in the appointment Binding: ParticipantType (extensible): Role of participant in encounter. | ||||
id | 0..1 | string | xml:id (or equivalent in JSON) | |||||
extension | 0..* | Extension | Additional Content defined by implementations Slice: Unordered, Open by value:url | |||||
coding | Σ | 0..* | Coding | Code defined by a terminology system | ||||
id | 0..1 | string | xml:id (or equivalent in JSON) | |||||
extension | 0..* | Extension | Additional Content defined by implementations Slice: Unordered, Open by value:url | |||||
system | Σ | 0..1 | uri | Identity of the terminology system Fixed Value: http://hl7.org/fhir/v3/ParticipationType | ||||
version | Σ | 0..1 | string | Version of the system - if relevant | ||||
code | Σ | 0..1 | code | Symbol in syntax defined by the system Fixed Value: PPRF | ||||
display | Σ | 0..1 | string | Representation defined by the system Fixed Value: primary performer | ||||
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user | ||||
text | Σ | 0..1 | string | Plain text representation of the concept | ||||
actor | Σ | 0..1 | Reference(Practitioner) | Person, Location/HealthcareService or Device | ||||
id | 0..1 | string | xml:id (or equivalent in JSON) | |||||
extension | 0..* | Extension | Additional Content defined by implementations Slice: Unordered, Open by value:url | |||||
reference | ΣC | 1..1 | string | Reference to a resource (could be Contained) | ||||
identifier | Σ | 0..1 | Identifier | If relevant could include an id | ||||
display | Σ | 1..1 | string | Description of the referenced resource | ||||
required | Σ | 0..1 | code | required | optional | information-only Binding: ParticipantRequired (required): Is the Participant required to attend the appointment. | ||||
status | 1..1 | code | accepted | declined | tentative | needs-action Binding: ParticipationStatus (required): The Participation status of an appointment. | |||||
requestedPeriod | 0..* | Period | DISCOURAGED - Relevant to a scheduling system, but less so to a regional shared record | |||||
Documentation for this format |
Path | Conformance | ValueSet | ||||
Appointment.meta.security | extensible | All Security Labels | ||||
Appointment.meta.tag | example | Common Tags | ||||
Appointment.meta.tag:Source | example | Common Tags | ||||
Appointment.meta.tag:Provenance | example | Common Tags | ||||
Appointment.language | extensible | Common Languages
| ||||
Appointment.identifier:localIdentifier.use | required | IdentifierUse | ||||
Appointment.identifier:localIdentifier.type | extensible | Identifier Type Codes | ||||
Appointment.status | required | AppointmentStatus | ||||
Appointment.serviceCategory | extensible | Care Connect SDS Job Role Name | ||||
Appointment.serviceType | preferred | Interweave UkCore Care Setting Type | ||||
Appointment.specialty | preferred | Care Connect SDS Job Role Name | ||||
Appointment.appointmentType | required | InterweaveAppointmentType | ||||
Appointment.reason | preferred | Interweave R4 Encounter Reason | ||||
Appointment.participant.type | required | InterweaveAppointmentParticipantType | ||||
Appointment.participant.required | required | ParticipantRequired | ||||
Appointment.participant.status | required | ParticipationStatus | ||||
Appointment.participant:subject.type | extensible | ParticipantType | ||||
Appointment.participant:subject.required | required | ParticipantRequired | ||||
Appointment.participant:subject.status | required | ParticipationStatus | ||||
Appointment.participant:location.type | extensible | ParticipantType | ||||
Appointment.participant:location.required | required | ParticipantRequired | ||||
Appointment.participant:location.status | required | ParticipationStatus | ||||
Appointment.participant:primaryPerformer.type | extensible | ParticipantType | ||||
Appointment.participant:primaryPerformer.required | required | ParticipantRequired | ||||
Appointment.participant:primaryPerformer.status | required | ParticipationStatus |
Id | Grade | Path(s) | Details | Requirements |
app-1 | error | Appointment.participant, Appointment.participant:subject, Appointment.participant:location, Appointment.participant:primaryPerformer | Either the type or actor on the participant SHALL be specified : type.exists() or actor.exists() | |
ele-1 | error | Appointment.extension:deliveryChannel, Appointment.extension:bookingOrganisation, Appointment.participant, Appointment.participant:subject, Appointment.participant:location, Appointment.participant:primaryPerformer | All FHIR elements must have a @value or children : hasValue() | (children().count() > id.count()) | |
ext-1 | error | Appointment.extension:deliveryChannel, Appointment.extension:bookingOrganisation | Must 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:
Differential View
This structure is derived from CareConnect-Appointment-1
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Appointment | 0..* | CareConnect-Appointment-1 | A booking of a healthcare event among patient(s), practitioner(s), related person(s) and/or device(s) for a specific date/time. This may result in one or more Encounter(s) | |
id | S | 0..1 | id | Logical id of this artifact |
meta | ||||
versionId | S | 0..1 | id | Version specific identifier |
lastUpdated | S | 0..1 | instant | MANDATORY except in Contained Resources. When the resource version last changed. |
profile | S | 0..* | uri | Profiles this resource claims to conform to. Should list (i) this profile (ii) underlying CareConnect profile |
security | 0..* | Coding | DISCOURAGED - may not be honoured by Data Consumers | |
Slices for tag | 0..* | Coding | Tags applied to this resource Slice: Unordered, Open by value:system | |
tag:Source | S | 0..1 | Coding | MANDATORY except in Contained Resources. The Data Provider Id (and display text) of the system supplying the data |
system | 1..1 | uri | Identity of the terminology system Fixed Value: https://yhcr.nhs.uk/Source | |
code | S | 1..1 | code | The Data Provider Id of the system supplying the data |
display | S | 1..1 | string | Name of the system supplying the data |
tag:Provenance | S | 0..1 | Coding | MANDATORY except in Contained Resources. The ODS Code (and display text) of the organisation responsible for the data |
system | 1..1 | uri | Identity of the terminology system Fixed Value: https://yhcr.nhs.uk/Provenance | |
code | S | 1..1 | code | The ODS Code of the organisation responsible for the data |
display | S | 1..1 | string | Name of the organisation supplying the data |
implicitRules | 0..1 | uri | DISCOURAGED - may not be honoured by Data Consumers | |
language | 0..1 | code | English is assumed (not currently a multi-lingual implementation) | |
text | 0..1 | Narrative | DISCOURAGED - 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 | S | 0..1 | Extension-CareConnect-DeliveryChannel-1 | An extension to record the delivery channel of a scheduled Appointment |
extension:appointmentCancellationReason | 0..0 | |||
extension:bookingOrganisation | 0..1 | Extension-CareConnect-BookingOrganisation-1 | DISCOURAGED - use referral, or provenance tags instead | |
appointmentCancellationReasonR4 | S | 0..1 | CodeableConcept | The 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..1 | string | Detailed information and instructions for the patient URL: https://fhir.yhcr.nhs.uk/StructureDefinition/Extension-Interweave-R4PatientInstruction | |
Slices for identifier | 0..* | Identifier | External Ids for this item. Slice: Unordered, Open by value:system | |
identifier:localIdentifier | S | 0..1 | Identifier | External Ids for this item. |
system | S | 1..1 | uri | The namespace for the identifier value Fixed Value: https://fhir.yhcr.nhs.uk/Id/local-appointment-identifier |
value | S | 1..1 | string | The Local appointment Identifier. Please prefix with ODS code plus period (XXX.) to ensure unique |
period | 0..0 | |||
status | S | 1..1 | code | proposed | pending | booked | arrived | fulfilled | cancelled | noshow | entered-in-error |
serviceCategory | 0..1 | CodeableConcept | DISCOURAGED - Unfortunately CareConnect has prescribed an inappropriate valueset for this field, which negates its use. | |
serviceType | S | 1..* | CodeableConcept | The specific service that is to be performed during this appointment Binding: Interweave UkCore Care Setting Type (preferred) |
coding | ||||
system | 1..1 | uri | Identity of the terminology system | |
code | 1..1 | code | Symbol in syntax defined by the system | |
display | 1..1 | string | Representation defined by the system | |
specialty | 0..* | CodeableConcept | The 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..1 | uri | Identity of the terminology system | |
code | 1..1 | code | Symbol in syntax defined by the system | |
display | 1..1 | string | Representation defined by the system | |
appointmentType | S | 0..1 | CodeableConcept | The style of appointment or patient that has been booked in the slot (not service type) Binding: InterweaveAppointmentType (required) |
coding | ||||
system | 1..1 | uri | Identity of the terminology system | |
code | 1..1 | code | Symbol in syntax defined by the system | |
display | 1..1 | string | Representation defined by the system | |
reason | S | 0..* | CodeableConcept | Reason this appointment is scheduled Binding: Interweave R4 Encounter Reason (preferred) |
coding | ||||
system | 1..1 | uri | Identity of the terminology system | |
code | 1..1 | code | Symbol in syntax defined by the system | |
display | 1..1 | string | Representation defined by the system | |
priority | 0..1 | unsignedInt | DISCOURAGED - More applicable to internal scheduling | |
description | S | 0..1 | string | Shown 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..1 | instant | When 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..1 | string | DISCOURAGED. 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..1 | string | Reference to a resource (could be Contained) | |
identifier | 0..1 | Identifier | If relevant could include an id | |
display | 0..1 | string | If relevant, description of the referenced resource | |
Slices for participant | S | 1..* | BackboneElement | Participants involved in appointment Slice: Unordered, Open by value:type.coding.code |
participant:All Slices | Content/Rules for all slices | |||
type | S | 1..1 | CodeableConcept | Role of participant in the appointment Binding: InterweaveAppointmentParticipantType (required) |
coding | ||||
system | 1..1 | uri | Identity of the terminology system | |
code | 1..1 | code | Symbol in syntax defined by the system | |
display | 1..1 | string | Representation defined by the system | |
actor | S | 1..1 | Reference(Patient | Practitioner | RelatedPerson | Device | HealthcareService | Location) | Person, Location/HealthcareService or Device |
status | S | 1..1 | code | accepted | declined | tentative | needs-action |
participant:subject | S | 1..1 | BackboneElement | Participants involved in appointment |
type | ||||
coding | ||||
system | 0..1 | uri | Identity of the terminology system Fixed Value: http://hl7.org/fhir/v3/ParticipationType | |
code | 0..1 | code | Symbol in syntax defined by the system Fixed Value: SBJ | |
display | 0..1 | string | Representation defined by the system Fixed Value: subject | |
actor | 0..1 | Reference(Patient) | Person, Location/HealthcareService or Device | |
reference | 1..1 | string | Reference to a resource (could be Contained) | |
identifier | 0..1 | Identifier | If relevant could include an id | |
display | 1..1 | string | Description of the referenced resource | |
participant:location | S | 0..1 | BackboneElement | Participants involved in appointment |
type | ||||
coding | ||||
system | 0..1 | uri | Identity of the terminology system Fixed Value: http://hl7.org/fhir/v3/ParticipationType | |
code | 0..1 | code | Symbol in syntax defined by the system Fixed Value: LOC | |
display | 0..1 | string | Representation defined by the system Fixed Value: location | |
actor | 0..1 | Reference(Location) | Person, Location/HealthcareService or Device | |
reference | 1..1 | string | Reference to a resource (could be Contained) | |
identifier | 0..1 | Identifier | If relevant could include an id | |
display | 1..1 | string | Description of the referenced resource | |
participant:primaryPerformer | S | 0..1 | BackboneElement | Participants involved in appointment |
type | ||||
coding | ||||
system | 0..1 | uri | Identity of the terminology system Fixed Value: http://hl7.org/fhir/v3/ParticipationType | |
code | 0..1 | code | Symbol in syntax defined by the system Fixed Value: PPRF | |
display | 0..1 | string | Representation defined by the system Fixed Value: primary performer | |
actor | 0..1 | Reference(Practitioner) | Person, Location/HealthcareService or Device | |
reference | 1..1 | string | Reference to a resource (could be Contained) | |
identifier | 0..1 | Identifier | If relevant could include an id | |
display | 1..1 | string | Description of the referenced resource | |
requestedPeriod | 0..* | Period | DISCOURAGED - Relevant to a scheduling system, but less so to a regional shared record | |
Documentation for this format |
Path | Conformance | ValueSet |
Appointment.serviceType | preferred | Interweave UkCore Care Setting Type |
Appointment.specialty | preferred | Care Connect SDS Job Role Name |
Appointment.appointmentType | required | InterweaveAppointmentType |
Appointment.reason | preferred | Interweave R4 Encounter Reason |
Appointment.participant.type | required | InterweaveAppointmentParticipantType |
Key Elements View
Name | Flags | Card. | Type | Description & Constraints | ||||
---|---|---|---|---|---|---|---|---|
Appointment | C | 0..* | CareConnect-Appointment-1 | A booking of a healthcare event among patient(s), practitioner(s), related person(s) and/or device(s) for a specific date/time. This may result in one or more Encounter(s) | ||||
id | SΣ | 0..1 | id | Logical id of this artifact | ||||
meta | Σ | 0..1 | Meta | Metadata about the resource | ||||
versionId | SΣ | 0..1 | id | Version specific identifier | ||||
lastUpdated | SΣ | 0..1 | instant | MANDATORY except in Contained Resources. When the resource version last changed. | ||||
profile | SΣ | 0..* | uri | Profiles this resource claims to conform to. Should list (i) this profile (ii) underlying CareConnect profile | ||||
security | Σ | 0..* | Coding | DISCOURAGED - 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..* | Coding | Tags 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..1 | Coding | MANDATORY 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..1 | uri | Identity of the terminology system Fixed Value: https://yhcr.nhs.uk/Source | ||||
code | SΣ | 1..1 | code | The Data Provider Id of the system supplying the data | ||||
display | SΣ | 1..1 | string | Name of the system supplying the data | ||||
tag:Provenance | SΣ | 0..1 | Coding | MANDATORY 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..1 | uri | Identity of the terminology system Fixed Value: https://yhcr.nhs.uk/Provenance | ||||
code | SΣ | 1..1 | code | The ODS Code of the organisation responsible for the data | ||||
display | SΣ | 1..1 | string | Name of the organisation supplying the data | ||||
implicitRules | ?!Σ | 0..1 | uri | DISCOURAGED - may not be honoured by Data Consumers | ||||
language | 0..1 | code | English is assumed (not currently a multi-lingual implementation) Binding: Common Languages (extensible): A human language.
| |||||
text | 0..1 | Narrative | DISCOURAGED - 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 | S | 0..1 | code | An 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..1 | Reference(CareConnect-Organization-1) | DISCOURAGED - use referral, or provenance tags instead URL: https://fhir.hl7.org.uk/STU3/StructureDefinition/Extension-CareConnect-BookingOrganisation-1 | |||||
appointmentCancellationReasonR4 | S | 0..1 | CodeableConcept | The 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..1 | string | Detailed information and instructions for the patient URL: https://fhir.yhcr.nhs.uk/StructureDefinition/Extension-Interweave-R4PatientInstruction | |||||
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored | ||||
Slices for identifier | Σ | 0..* | Identifier | External Ids for this item. Slice: Unordered, Open by value:system | ||||
identifier:localIdentifier | SΣ | 0..1 | Identifier | External Ids for this item. | ||||
use | ?!Σ | 0..1 | code | usual | official | temp | secondary (If known) Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known . | ||||
system | SΣ | 1..1 | uri | The namespace for the identifier value Fixed Value: https://fhir.yhcr.nhs.uk/Id/local-appointment-identifier | ||||
value | SΣ | 1..1 | string | The Local appointment Identifier. Please prefix with ODS code plus period (XXX.) to ensure unique Example General: 123456 | ||||
status | ?!SΣ | 1..1 | code | proposed | pending | booked | arrived | fulfilled | cancelled | noshow | entered-in-error Binding: AppointmentStatus (required): The free/busy status of an appointment. | ||||
serviceCategory | Σ | 0..1 | CodeableConcept | DISCOURAGED - 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..* | CodeableConcept | The specific service that is to be performed during this appointment Binding: Interweave UkCore Care Setting Type (preferred) | ||||
specialty | Σ | 0..* | CodeableConcept | The 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..1 | CodeableConcept | The style of appointment or patient that has been booked in the slot (not service type) Binding: InterweaveAppointmentType (required) | ||||
reason | SΣ | 0..* | CodeableConcept | Reason this appointment is scheduled Binding: Interweave R4 Encounter Reason (preferred) | ||||
priority | 0..1 | unsignedInt | DISCOURAGED - More applicable to internal scheduling | |||||
description | S | 0..1 | string | Shown 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..1 | instant | When 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..1 | string | DISCOURAGED. 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 | SC | 1..* | BackboneElement | Participants involved in appointment Slice: Unordered, Open by value:type.coding.code | ||||
participant:All Slices | Content/Rules for all slices | |||||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored | ||||
type | SΣ | 1..1 | CodeableConcept | Role of participant in the appointment Binding: InterweaveAppointmentParticipantType (required) | ||||
actor | SΣ | 1..1 | Reference(Patient | Practitioner | RelatedPerson | Device | HealthcareService | Location) | Person, Location/HealthcareService or Device | ||||
status | S | 1..1 | code | accepted | declined | tentative | needs-action Binding: ParticipationStatus (required): The Participation status of an appointment. | ||||
participant:subject | SC | 1..1 | BackboneElement | Participants involved in appointment | ||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored | ||||
actor | Σ | 0..1 | Reference(Patient) | Person, Location/HealthcareService or Device | ||||
reference | ΣC | 1..1 | string | Reference to a resource (could be Contained) | ||||
identifier | Σ | 0..1 | Identifier | If relevant could include an id | ||||
display | Σ | 1..1 | string | Description of the referenced resource | ||||
status | 1..1 | code | accepted | declined | tentative | needs-action Binding: ParticipationStatus (required): The Participation status of an appointment. | |||||
participant:location | SC | 0..1 | BackboneElement | Participants involved in appointment | ||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored | ||||
actor | Σ | 0..1 | Reference(Location) | Person, Location/HealthcareService or Device | ||||
reference | ΣC | 1..1 | string | Reference to a resource (could be Contained) | ||||
identifier | Σ | 0..1 | Identifier | If relevant could include an id | ||||
display | Σ | 1..1 | string | Description of the referenced resource | ||||
status | 1..1 | code | accepted | declined | tentative | needs-action Binding: ParticipationStatus (required): The Participation status of an appointment. | |||||
participant:primaryPerformer | SC | 0..1 | BackboneElement | Participants involved in appointment | ||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored | ||||
actor | Σ | 0..1 | Reference(Practitioner) | Person, Location/HealthcareService or Device | ||||
reference | ΣC | 1..1 | string | Reference to a resource (could be Contained) | ||||
identifier | Σ | 0..1 | Identifier | If relevant could include an id | ||||
display | Σ | 1..1 | string | Description of the referenced resource | ||||
status | 1..1 | code | accepted | declined | tentative | needs-action Binding: ParticipationStatus (required): The Participation status of an appointment. | |||||
requestedPeriod | 0..* | Period | DISCOURAGED - Relevant to a scheduling system, but less so to a regional shared record | |||||
Documentation for this format |
Path | Conformance | ValueSet | ||||
Appointment.meta.security | extensible | All Security Labels | ||||
Appointment.meta.tag | example | Common Tags | ||||
Appointment.meta.tag:Source | example | Common Tags | ||||
Appointment.meta.tag:Provenance | example | Common Tags | ||||
Appointment.language | extensible | Common Languages
| ||||
Appointment.identifier:localIdentifier.use | required | IdentifierUse | ||||
Appointment.status | required | AppointmentStatus | ||||
Appointment.serviceCategory | extensible | Care Connect SDS Job Role Name | ||||
Appointment.serviceType | preferred | Interweave UkCore Care Setting Type | ||||
Appointment.specialty | preferred | Care Connect SDS Job Role Name | ||||
Appointment.appointmentType | required | InterweaveAppointmentType | ||||
Appointment.reason | preferred | Interweave R4 Encounter Reason | ||||
Appointment.participant.type | required | InterweaveAppointmentParticipantType | ||||
Appointment.participant.status | required | ParticipationStatus | ||||
Appointment.participant:subject.status | required | ParticipationStatus | ||||
Appointment.participant:location.status | required | ParticipationStatus | ||||
Appointment.participant:primaryPerformer.status | required | ParticipationStatus |
Id | Grade | Path(s) | Details | Requirements |
app-1 | error | Appointment.participant, Appointment.participant:subject, Appointment.participant:location, Appointment.participant:primaryPerformer | Either the type or actor on the participant SHALL be specified : type.exists() or actor.exists() | |
app-2 | error | Appointment | Either start and end are specified, or neither : start.empty() xor end.exists() | |
app-3 | error | Appointment | Only proposed or cancelled appointments can be missing start/end dates : (start.exists() and end.exists()) or (status in ('proposed' | 'cancelled')) | |
dom-1 | error | Appointment | If the resource is contained in another resource, it SHALL NOT contain any narrative : contained.text.empty() | |
dom-2 | error | Appointment | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | error | Appointment | If 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-4 | error | Appointment | If 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-1 | error | Appointment.extension:deliveryChannel, Appointment.extension:bookingOrganisation, Appointment.participant, Appointment.participant:subject, Appointment.participant:location, Appointment.participant:primaryPerformer | All FHIR elements must have a @value or children : hasValue() | (children().count() > id.count()) | |
ext-1 | error | Appointment.extension:deliveryChannel, Appointment.extension:bookingOrganisation | Must have either extensions or value[x], not both : extension.exists() != value.exists() |
Snapshot View
Name | Flags | Card. | Type | Description & Constraints | ||||
---|---|---|---|---|---|---|---|---|
Appointment | C | 0..* | CareConnect-Appointment-1 | A booking of a healthcare event among patient(s), practitioner(s), related person(s) and/or device(s) for a specific date/time. This may result in one or more Encounter(s) | ||||
id | SΣ | 0..1 | id | Logical id of this artifact | ||||
meta | Σ | 0..1 | Meta | Metadata about the resource | ||||
id | 0..1 | string | xml:id (or equivalent in JSON) | |||||
extension | 0..* | Extension | Additional Content defined by implementations Slice: Unordered, Open by value:url | |||||
versionId | SΣ | 0..1 | id | Version specific identifier | ||||
lastUpdated | SΣ | 0..1 | instant | MANDATORY except in Contained Resources. When the resource version last changed. | ||||
profile | SΣ | 0..* | uri | Profiles this resource claims to conform to. Should list (i) this profile (ii) underlying CareConnect profile | ||||
security | Σ | 0..* | Coding | DISCOURAGED - 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..* | Coding | Tags 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..1 | Coding | MANDATORY 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..1 | string | xml:id (or equivalent in JSON) | |||||
extension | 0..* | Extension | Additional Content defined by implementations Slice: Unordered, Open by value:url | |||||
system | Σ | 1..1 | uri | Identity of the terminology system Fixed Value: https://yhcr.nhs.uk/Source | ||||
version | Σ | 0..1 | string | Version of the system - if relevant | ||||
code | SΣ | 1..1 | code | The Data Provider Id of the system supplying the data | ||||
display | SΣ | 1..1 | string | Name of the system supplying the data | ||||
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user | ||||
tag:Provenance | SΣ | 0..1 | Coding | MANDATORY 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..1 | string | xml:id (or equivalent in JSON) | |||||
extension | 0..* | Extension | Additional Content defined by implementations Slice: Unordered, Open by value:url | |||||
system | Σ | 1..1 | uri | Identity of the terminology system Fixed Value: https://yhcr.nhs.uk/Provenance | ||||
version | Σ | 0..1 | string | Version of the system - if relevant | ||||
code | SΣ | 1..1 | code | The ODS Code of the organisation responsible for the data | ||||
display | SΣ | 1..1 | string | Name of the organisation supplying the data | ||||
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user | ||||
implicitRules | ?!Σ | 0..1 | uri | DISCOURAGED - may not be honoured by Data Consumers | ||||
language | 0..1 | code | English is assumed (not currently a multi-lingual implementation) Binding: Common Languages (extensible): A human language.
| |||||
text | 0..1 | Narrative | DISCOURAGED - 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..* | Resource | Contained, inline Resources | |||||
Slices for extension | 0..* | Extension | Extension Slice: Unordered, Open by value:url | |||||
deliveryChannel | S | 0..1 | code | An 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..1 | Reference(CareConnect-Organization-1) | DISCOURAGED - use referral, or provenance tags instead URL: https://fhir.hl7.org.uk/STU3/StructureDefinition/Extension-CareConnect-BookingOrganisation-1 | |||||
appointmentCancellationReasonR4 | S | 0..1 | CodeableConcept | The 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..1 | string | Detailed information and instructions for the patient URL: https://fhir.yhcr.nhs.uk/StructureDefinition/Extension-Interweave-R4PatientInstruction | |||||
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored | ||||
Slices for identifier | Σ | 0..* | Identifier | External Ids for this item. Slice: Unordered, Open by value:system | ||||
identifier:localIdentifier | SΣ | 0..1 | Identifier | External Ids for this item. | ||||
id | 0..1 | string | xml:id (or equivalent in JSON) | |||||
extension | 0..* | Extension | Additional Content defined by implementations Slice: Unordered, Open by value:url | |||||
use | ?!Σ | 0..1 | code | usual | official | temp | secondary (If known) Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known . | ||||
type | Σ | 0..1 | CodeableConcept | Description 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..1 | uri | The namespace for the identifier value Fixed Value: https://fhir.yhcr.nhs.uk/Id/local-appointment-identifier | ||||
value | SΣ | 1..1 | string | The Local appointment Identifier. Please prefix with ODS code plus period (XXX.) to ensure unique Example General: 123456 | ||||
assigner | Σ | 0..1 | Reference(Organization) | Organization that issued id (may be just text) | ||||
status | ?!SΣ | 1..1 | code | proposed | pending | booked | arrived | fulfilled | cancelled | noshow | entered-in-error Binding: AppointmentStatus (required): The free/busy status of an appointment. | ||||
serviceCategory | Σ | 0..1 | CodeableConcept | DISCOURAGED - 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..* | CodeableConcept | The specific service that is to be performed during this appointment Binding: Interweave UkCore Care Setting Type (preferred) | ||||
id | 0..1 | string | xml:id (or equivalent in JSON) | |||||
extension | 0..* | Extension | Additional Content defined by implementations Slice: Unordered, Open by value:url | |||||
coding | Σ | 0..* | Coding | Code defined by a terminology system | ||||
id | 0..1 | string | xml:id (or equivalent in JSON) | |||||
extension | 0..* | Extension | Additional Content defined by implementations Slice: Unordered, Open by value:url | |||||
system | Σ | 1..1 | uri | Identity of the terminology system | ||||
version | Σ | 0..1 | string | Version of the system - if relevant | ||||
code | Σ | 1..1 | code | Symbol in syntax defined by the system | ||||
display | Σ | 1..1 | string | Representation defined by the system | ||||
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user | ||||
text | Σ | 0..1 | string | Plain text representation of the concept | ||||
specialty | Σ | 0..* | CodeableConcept | The 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..1 | string | xml:id (or equivalent in JSON) | |||||
extension | 0..* | Extension | Additional Content defined by implementations Slice: Unordered, Open by value:url | |||||
coding | Σ | 0..* | Coding | Code defined by a terminology system | ||||
id | 0..1 | string | xml:id (or equivalent in JSON) | |||||
extension | 0..* | Extension | Additional Content defined by implementations Slice: Unordered, Open by value:url | |||||
system | Σ | 1..1 | uri | Identity of the terminology system | ||||
version | Σ | 0..1 | string | Version of the system - if relevant | ||||
code | Σ | 1..1 | code | Symbol in syntax defined by the system | ||||
display | Σ | 1..1 | string | Representation defined by the system | ||||
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user | ||||
text | Σ | 0..1 | string | Plain text representation of the concept | ||||
appointmentType | SΣ | 0..1 | CodeableConcept | The style of appointment or patient that has been booked in the slot (not service type) Binding: InterweaveAppointmentType (required) | ||||
id | 0..1 | string | xml:id (or equivalent in JSON) | |||||
extension | 0..* | Extension | Additional Content defined by implementations Slice: Unordered, Open by value:url | |||||
coding | Σ | 0..* | Coding | Code defined by a terminology system | ||||
id | 0..1 | string | xml:id (or equivalent in JSON) | |||||
extension | 0..* | Extension | Additional Content defined by implementations Slice: Unordered, Open by value:url | |||||
system | Σ | 1..1 | uri | Identity of the terminology system | ||||
version | Σ | 0..1 | string | Version of the system - if relevant | ||||
code | Σ | 1..1 | code | Symbol in syntax defined by the system | ||||
display | Σ | 1..1 | string | Representation defined by the system | ||||
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user | ||||
text | Σ | 0..1 | string | Plain text representation of the concept | ||||
reason | SΣ | 0..* | CodeableConcept | Reason this appointment is scheduled Binding: Interweave R4 Encounter Reason (preferred) | ||||
id | 0..1 | string | xml:id (or equivalent in JSON) | |||||
extension | 0..* | Extension | Additional Content defined by implementations Slice: Unordered, Open by value:url | |||||
coding | Σ | 0..* | Coding | Code defined by a terminology system | ||||
id | 0..1 | string | xml:id (or equivalent in JSON) | |||||
extension | 0..* | Extension | Additional Content defined by implementations Slice: Unordered, Open by value:url | |||||
system | Σ | 1..1 | uri | Identity of the terminology system | ||||
version | Σ | 0..1 | string | Version of the system - if relevant | ||||
code | Σ | 1..1 | code | Symbol in syntax defined by the system | ||||
display | Σ | 1..1 | string | Representation defined by the system | ||||
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user | ||||
text | Σ | 0..1 | string | Plain text representation of the concept | ||||
indication | 0..* | Reference(Condition | Procedure) | Reason the appointment is to takes place (resource) | |||||
priority | 0..1 | unsignedInt | DISCOURAGED - More applicable to internal scheduling | |||||
description | S | 0..1 | string | Shown 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..1 | instant | When appointment is to take place | ||||
end | Σ | 0..1 | instant | When appointment is to conclude | ||||
minutesDuration | 0..1 | positiveInt | Can be less than start/end (e.g. estimate) | |||||
slot | 0..* | Reference(Slot) | DISCOURAGED - Relevant to a scheduling system, but less so to a regional shared record | |||||
created | 0..1 | dateTime | The date that this appointment was initially created | |||||
comment | 0..1 | string | DISCOURAGED. 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..1 | string | xml:id (or equivalent in JSON) | |||||
extension | 0..* | Extension | Additional Content defined by implementations Slice: Unordered, Open by value:url | |||||
reference | ΣC | 1..1 | string | Reference to a resource (could be Contained) | ||||
identifier | Σ | 0..1 | Identifier | If relevant could include an id | ||||
display | Σ | 0..1 | string | If relevant, description of the referenced resource | ||||
Slices for participant | SC | 1..* | BackboneElement | Participants involved in appointment Slice: Unordered, Open by value:type.coding.code | ||||
participant:All Slices | Content/Rules for all slices | |||||||
id | 0..1 | string | xml:id (or equivalent in JSON) | |||||
extension | 0..* | Extension | Additional Content defined by implementations | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored | ||||
type | SΣ | 1..1 | CodeableConcept | Role of participant in the appointment Binding: InterweaveAppointmentParticipantType (required) | ||||
id | 0..1 | string | xml:id (or equivalent in JSON) | |||||
extension | 0..* | Extension | Additional Content defined by implementations Slice: Unordered, Open by value:url | |||||
coding | Σ | 0..* | Coding | Code defined by a terminology system | ||||
id | 0..1 | string | xml:id (or equivalent in JSON) | |||||
extension | 0..* | Extension | Additional Content defined by implementations Slice: Unordered, Open by value:url | |||||
system | Σ | 1..1 | uri | Identity of the terminology system | ||||
version | Σ | 0..1 | string | Version of the system - if relevant | ||||
code | Σ | 1..1 | code | Symbol in syntax defined by the system | ||||
display | Σ | 1..1 | string | Representation defined by the system | ||||
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user | ||||
text | Σ | 0..1 | string | Plain text representation of the concept | ||||
actor | SΣ | 1..1 | Reference(Patient | Practitioner | RelatedPerson | Device | HealthcareService | Location) | Person, Location/HealthcareService or Device | ||||
required | Σ | 0..1 | code | required | optional | information-only Binding: ParticipantRequired (required): Is the Participant required to attend the appointment. | ||||
status | S | 1..1 | code | accepted | declined | tentative | needs-action Binding: ParticipationStatus (required): The Participation status of an appointment. | ||||
participant:subject | SC | 1..1 | BackboneElement | Participants involved in appointment | ||||
id | 0..1 | string | xml:id (or equivalent in JSON) | |||||
extension | 0..* | Extension | Additional Content defined by implementations | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored | ||||
type | Σ | 0..* | CodeableConcept | Role of participant in the appointment Binding: ParticipantType (extensible): Role of participant in encounter. | ||||
id | 0..1 | string | xml:id (or equivalent in JSON) | |||||
extension | 0..* | Extension | Additional Content defined by implementations Slice: Unordered, Open by value:url | |||||
coding | Σ | 0..* | Coding | Code defined by a terminology system | ||||
id | 0..1 | string | xml:id (or equivalent in JSON) | |||||
extension | 0..* | Extension | Additional Content defined by implementations Slice: Unordered, Open by value:url | |||||
system | Σ | 0..1 | uri | Identity of the terminology system Fixed Value: http://hl7.org/fhir/v3/ParticipationType | ||||
version | Σ | 0..1 | string | Version of the system - if relevant | ||||
code | Σ | 0..1 | code | Symbol in syntax defined by the system Fixed Value: SBJ | ||||
display | Σ | 0..1 | string | Representation defined by the system Fixed Value: subject | ||||
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user | ||||
text | Σ | 0..1 | string | Plain text representation of the concept | ||||
actor | Σ | 0..1 | Reference(Patient) | Person, Location/HealthcareService or Device | ||||
id | 0..1 | string | xml:id (or equivalent in JSON) | |||||
extension | 0..* | Extension | Additional Content defined by implementations Slice: Unordered, Open by value:url | |||||
reference | ΣC | 1..1 | string | Reference to a resource (could be Contained) | ||||
identifier | Σ | 0..1 | Identifier | If relevant could include an id | ||||
display | Σ | 1..1 | string | Description of the referenced resource | ||||
required | Σ | 0..1 | code | required | optional | information-only Binding: ParticipantRequired (required): Is the Participant required to attend the appointment. | ||||
status | 1..1 | code | accepted | declined | tentative | needs-action Binding: ParticipationStatus (required): The Participation status of an appointment. | |||||
participant:location | SC | 0..1 | BackboneElement | Participants involved in appointment | ||||
id | 0..1 | string | xml:id (or equivalent in JSON) | |||||
extension | 0..* | Extension | Additional Content defined by implementations | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored | ||||
type | Σ | 0..* | CodeableConcept | Role of participant in the appointment Binding: ParticipantType (extensible): Role of participant in encounter. | ||||
id | 0..1 | string | xml:id (or equivalent in JSON) | |||||
extension | 0..* | Extension | Additional Content defined by implementations Slice: Unordered, Open by value:url | |||||
coding | Σ | 0..* | Coding | Code defined by a terminology system | ||||
id | 0..1 | string | xml:id (or equivalent in JSON) | |||||
extension | 0..* | Extension | Additional Content defined by implementations Slice: Unordered, Open by value:url | |||||
system | Σ | 0..1 | uri | Identity of the terminology system Fixed Value: http://hl7.org/fhir/v3/ParticipationType | ||||
version | Σ | 0..1 | string | Version of the system - if relevant | ||||
code | Σ | 0..1 | code | Symbol in syntax defined by the system Fixed Value: LOC | ||||
display | Σ | 0..1 | string | Representation defined by the system Fixed Value: location | ||||
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user | ||||
text | Σ | 0..1 | string | Plain text representation of the concept | ||||
actor | Σ | 0..1 | Reference(Location) | Person, Location/HealthcareService or Device | ||||
id | 0..1 | string | xml:id (or equivalent in JSON) | |||||
extension | 0..* | Extension | Additional Content defined by implementations Slice: Unordered, Open by value:url | |||||
reference | ΣC | 1..1 | string | Reference to a resource (could be Contained) | ||||
identifier | Σ | 0..1 | Identifier | If relevant could include an id | ||||
display | Σ | 1..1 | string | Description of the referenced resource | ||||
required | Σ | 0..1 | code | required | optional | information-only Binding: ParticipantRequired (required): Is the Participant required to attend the appointment. | ||||
status | 1..1 | code | accepted | declined | tentative | needs-action Binding: ParticipationStatus (required): The Participation status of an appointment. | |||||
participant:primaryPerformer | SC | 0..1 | BackboneElement | Participants involved in appointment | ||||
id | 0..1 | string | xml:id (or equivalent in JSON) | |||||
extension | 0..* | Extension | Additional Content defined by implementations | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored | ||||
type | Σ | 0..* | CodeableConcept | Role of participant in the appointment Binding: ParticipantType (extensible): Role of participant in encounter. | ||||
id | 0..1 | string | xml:id (or equivalent in JSON) | |||||
extension | 0..* | Extension | Additional Content defined by implementations Slice: Unordered, Open by value:url | |||||
coding | Σ | 0..* | Coding | Code defined by a terminology system | ||||
id | 0..1 | string | xml:id (or equivalent in JSON) | |||||
extension | 0..* | Extension | Additional Content defined by implementations Slice: Unordered, Open by value:url | |||||
system | Σ | 0..1 | uri | Identity of the terminology system Fixed Value: http://hl7.org/fhir/v3/ParticipationType | ||||
version | Σ | 0..1 | string | Version of the system - if relevant | ||||
code | Σ | 0..1 | code | Symbol in syntax defined by the system Fixed Value: PPRF | ||||
display | Σ | 0..1 | string | Representation defined by the system Fixed Value: primary performer | ||||
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user | ||||
text | Σ | 0..1 | string | Plain text representation of the concept | ||||
actor | Σ | 0..1 | Reference(Practitioner) | Person, Location/HealthcareService or Device | ||||
id | 0..1 | string | xml:id (or equivalent in JSON) | |||||
extension | 0..* | Extension | Additional Content defined by implementations Slice: Unordered, Open by value:url | |||||
reference | ΣC | 1..1 | string | Reference to a resource (could be Contained) | ||||
identifier | Σ | 0..1 | Identifier | If relevant could include an id | ||||
display | Σ | 1..1 | string | Description of the referenced resource | ||||
required | Σ | 0..1 | code | required | optional | information-only Binding: ParticipantRequired (required): Is the Participant required to attend the appointment. | ||||
status | 1..1 | code | accepted | declined | tentative | needs-action Binding: ParticipationStatus (required): The Participation status of an appointment. | |||||
requestedPeriod | 0..* | Period | DISCOURAGED - Relevant to a scheduling system, but less so to a regional shared record | |||||
Documentation for this format |
Path | Conformance | ValueSet | ||||
Appointment.meta.security | extensible | All Security Labels | ||||
Appointment.meta.tag | example | Common Tags | ||||
Appointment.meta.tag:Source | example | Common Tags | ||||
Appointment.meta.tag:Provenance | example | Common Tags | ||||
Appointment.language | extensible | Common Languages
| ||||
Appointment.identifier:localIdentifier.use | required | IdentifierUse | ||||
Appointment.identifier:localIdentifier.type | extensible | Identifier Type Codes | ||||
Appointment.status | required | AppointmentStatus | ||||
Appointment.serviceCategory | extensible | Care Connect SDS Job Role Name | ||||
Appointment.serviceType | preferred | Interweave UkCore Care Setting Type | ||||
Appointment.specialty | preferred | Care Connect SDS Job Role Name | ||||
Appointment.appointmentType | required | InterweaveAppointmentType | ||||
Appointment.reason | preferred | Interweave R4 Encounter Reason | ||||
Appointment.participant.type | required | InterweaveAppointmentParticipantType | ||||
Appointment.participant.required | required | ParticipantRequired | ||||
Appointment.participant.status | required | ParticipationStatus | ||||
Appointment.participant:subject.type | extensible | ParticipantType | ||||
Appointment.participant:subject.required | required | ParticipantRequired | ||||
Appointment.participant:subject.status | required | ParticipationStatus | ||||
Appointment.participant:location.type | extensible | ParticipantType | ||||
Appointment.participant:location.required | required | ParticipantRequired | ||||
Appointment.participant:location.status | required | ParticipationStatus | ||||
Appointment.participant:primaryPerformer.type | extensible | ParticipantType | ||||
Appointment.participant:primaryPerformer.required | required | ParticipantRequired | ||||
Appointment.participant:primaryPerformer.status | required | ParticipationStatus |
Id | Grade | Path(s) | Details | Requirements |
app-1 | error | Appointment.participant, Appointment.participant:subject, Appointment.participant:location, Appointment.participant:primaryPerformer | Either the type or actor on the participant SHALL be specified : type.exists() or actor.exists() | |
ele-1 | error | Appointment.extension:deliveryChannel, Appointment.extension:bookingOrganisation, Appointment.participant, Appointment.participant:subject, Appointment.participant:location, Appointment.participant:primaryPerformer | All FHIR elements must have a @value or children : hasValue() | (children().count() > id.count()) | |
ext-1 | error | Appointment.extension:deliveryChannel, Appointment.extension:bookingOrganisation | Must 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:
Other representations of profile: CSV, Excel, Schematron