Cancellation
The ability to reverse a digital request, by performing a cancellation, whether booking or referral, is a core workflow within BaRS. It completes the digital workflow, supports genuine interoperability and removes the need for manual intervention by service providers.
Cancellation, for any referral type or booking, is a stripped back request, containing only the specific resources a Receiver requires to the fulfil the request. There are separate MessageDefinitions involved when engaged in referral and booking cancellation workflows.
A prerequisite when performing a cancellation of any request is to perform a read (GET) of either the booking or referral to be cancelled. The Sender must only make a cancellation request if the entity has a status which means it is still current; 'active' in the case of a referral (ServiceRequest) and 'booked' for a booking (Appointment). This ensures the Sender has the latest version of the entity they are about to change or, if it is no longer current (because its been actioned by the Receiver), allows the Sender to advise the end user so an alternative (often manual) workflow can be started. The Receiver must not process a cancellation request for a booking or referral which is not current, instead they must return an appropriate error response.
Cancellation Referral Request Payload
MessageHeader Resource
Standard Patterns for BaRS Operations explains in detail how the MessageHeader resource must be used.
When cancelling a referral, in conjunction with the guidance provided under the Standard Patterns, the four important elements which drive workflow must be used as follows:
- eventCoding - this must be the same code as used in the request.
- reasonCode - a cancellation follows an initial request, therefore, this must always be 'update' for cancellation.
- definition - cancellation has a unique MessageDefinition the request must adhere to.
- focus - must point to the ServiceRequest resource.
ServiceRequest Resource
The 'focus' resource in a cancellation referral request is the ServiceRequest resource. When the payload is created by the Sender and processed by the Receiver, this is the starting point from which it (the bundle) is understood and provides either the detail or references to all key FHIR resources, for example, the Patient. The guidance for this resource below provides more granular, element level, detail.
When a Receiver processes the cancellation referral request, the two key elements used are the ServiceRequest.id and ServiceRequest.status. The .id must already exist as an 'active' (status) ServiceRequest on the Receiver system (this must have been confirmed by a prior read (GET) by the Sender) and the .status, in the request, must either be 'revoked' or 'entered-in-error'. There is a distinct difference between these two ServiceRequest.status(es). 'Revoked' should be used to denote the original request was intentional but, due to a change in circumstances, is no longer valid, whereas, 'entered-in-error' should be used when original request was in error. The purpose of this differentiation is to allow service providers to accurately report the reason for cancellations.
Patient Resource
Key patient demographics should be cross-referenced between the current 'active' referral and incoming cancellation referral request to ensure validity.
Payload for Referral Cancellation Request
This payload is used to transmit all the necessary information that is required to transmit the cancellation of a Referral.
> Bundle
The Bundle resource is the container for the event message.
| BARSBundleMessage (Bundle) | https://fhir.hl7.org.uk/StructureDefinition/UKCore-Bundle | ||
| type | Fixed Value | ||
| timestamp | 1.. |
| Data Item | Implementation Guidance | Necessity | Profile Cardinality | Example Value(s) |
|---|---|---|---|---|
| Bundle | The Bundle resource is the container for the event message https://simplifier.net/nhsbookingandreferrals/barsbundlemessage | 1..1 | ||
| Bundle.id | This id is generated by the originating sender of the message, retained in subsequent messages.. | MUST | 1..1 | 79120f41-a431-4f08-bcc5-1e67006fcae0 |
| Bundle.meta | https://www.hl7.org/fhir/resource.html#Meta | MUST | 0..1 | |
| Bundle.meta.versionId | MUST | 1..1 | ||
| Bundle.meta.profile | This MUST be populated with the structure definition for BaRSBundleMessage : 'https://fhir.nhs.uk/StructureDefinition/BARSBundleMessage' - FIXED VALUE | MUST | 0..1 | https://fhir.nhs.uk/StructureDefinition/BARSBundleMessage |
| Bundle.meta.lastUpdated | All resources MUST include 'lastUpdated' value, under meta section which must be the same timestamp for each resource when created from new, but must be a later timestamp on updates, if the content of a particular resource contains updated info for subsequent updates. Otherwise, maintain the timestamp originally sent. | MUST | 1..1 | 2023-03-08T12:01:08.4677672+00:00 |
| Bundle.type | This must be populated with 'message' - FIXED VALUE | MUST | 1..1 | message |
| Bundle.timestamp | the date that the content of the message was assembled. This date is not changed by middleware engines unless they add additional data that changes the meaning of the time of the message | MUST | 0..1 | 2023-03-08T12:01:08.4677672+00:00 |
| Bundle.entry(s) | Follow BaRS profile guidance for populating this element | MUST | 1..* | |
| Bundle.entry.fullUrl | unique identifier for the resource entry. Transient id relative to the bundle | MUST | 0..1 | urn:uuid:1cbdfb97-5859-48a4-8301-d54eab818d68 |
| Bundle.entry.resourceType | Resources detailed in the message definition. | MUST | 0..1 | MessageHeader,Patient, Encounter |
A resource that describes the BaRS message being exchanged between two systems.
> Message Header
BARSMessageHeaderServiceRequestRequest (MessageHeader) https://fhir.hl7.org.uk/StructureDefinition/UKCore-MessageHeader event[x] system 1.. code 1.. destination 1.. receiver reference 1.. sender reference 1.. identifier assigner reference 1.. source extension 0.. myExtension 0.. Extension(Complex) endpoint reason 1.. coding system Fixed Value focus reference 1..
Data Item
Implementation Guidance
Necessity
Profile Cardinality
Example Value(s)
MessageHeader
A resource that describes the BaRS message being exchanged between two systems https://simplifier.net/nhsbookingandreferrals/barsmessageheaderservicerequestrequest
1..1
MessageHeader.meta
https://www.hl7.org/fhir/resource.html#Meta
MUST
0..1
MessageHeader.meta.profile
This MUST be populated with the structure definition for BaRSMessageHeader-servicerequest-request.
MUST
0..1
https://fhir.nhs.uk/StructureDefinition/BARSMEssageHeader-servicerequest-request
MessageHeader.meta.lastUpdated
All resources MUST include 'lastUpdated' value, under the meta section which MUST be the same timestamp for each resource when created from new, but MUST be a later timestamp on updates to resources, if the content of a particular resource contains updated info for subsequent updates. Otherwise, maintain the timestamp originally sent.
MUST
0..1
2023-03-08T12:01:08.4677672+00:00
MessageHeader.extension
This MUST be populated with details of the Clinical Decision Support System used
MUST
0..*
MessageHeader.extension.url
This MUST be populated with 'https://fhir.nhs.uk/StructureDefinition/CDSSExtension' - FIXED VALUE
MUST
1..1
https://fhir.nhs.uk/StructureDefinition/CDSSExtension
MessageHeader.extension.extension
MUST
0..*
MessageHeader.extension.extension.url
This MUST be populated with the pre-defined Clinical Decision Support System software URL - FIXED VALUE
MUST
1..1
requesterCDSSSoftware
MessageHeader.extension.extension.valueString
This MUST be populated with the Clinical Decision Support System software name e.g. Pathways
MUST
0..1
Pathways
MessageHeader.extension.extension
MUST
0..*
MessageHeader.extension.extension.url
This MUST be populated with the pre-defined Clinical Decision Support System software Version URL - FIXED VALUE
MUST
1..1
requesterCDSSVersion
MessageHeader.extension.extension.valueString
This MUST be populated with the Clinical Decision Support System software Version name e.g. 30.2.0
MUST
0..1
30.2.0
MessageHeader.eventcoding
MUST
1..1
MessageHeader.eventcoding.system
This MUST be populated with CodeSystem 'https://fhir.nhs.uk/CodeSystem/message-events-bars' - FIXED VALUE
MUST
0..1
https://fhir.nhs.uk/CodeSystem/message-events-bars
MessageHeader.eventcoding.code
The status MUST be populated with 'servicerequest-request'. See CodeSystem: 'https://fhir.nhs.uk/CodeSystem/message-events-bars' - FIXED VALUE
MUST
0..1
servicerequest-request
MessageHeader.destination
MUST
0..1
MessageHeader.destination.receiver
MUST
0..1
MessageHeader.destination.receiver.reference
This MUST be populated with the full URL to the Receiving Organisation resource.
MUST
0..1
urn:uuid:10397afd-479c-42ea-9d5d-e4024481e0f8
MessageHeader.destination.endpoint
This MUST be populated with the system and Service ID separated by a pipe. for example https://fhir.nhs.uk/id/dos-service-id\|11111111, this is to ensure the receiver knows the intended destination.
MUST
1..1
https://fhir.nhs.uk/id/dos-service-id\|1122334455
MessageHeader.sender
MUST
0..1
MessageHeader.sender.reference
This MUST be populated. Follow BaRS profile guidance for populating this element
MUST
0..1
urn:uuid:07939a0c-2854-46ff-9282-ad906bc93679
MessageHeader.source
MUST
1..1
MessageHeader.source.name
This MUST be populated with the sending system supplier name
MUST
0..1
NHS Trust
MessageHeader.source.software
This SHOULD be populated with the sending software application name
SHOULD
0..1
Supplier Software
MessageHeader.source.version
This SHOULD be populated with the sending software version
SHOULD
0..1
V1.0.0
MessageHeader.source.contact
SHOULD
0..1
MessageHeader.source.contact.system
This SHOULD be populated with the Contact Type - phone | fax | email | pager | url | sms | other
SHOULD
0..1
phone
MessageHeader.source.contact.value
This SHOULD be populated with the Contact Type value
SHOULD
0..1
+44 (0123) 123 4567
MessageHeader.source.endpoint
This MUST be populated with the system and Service ID separated by a pipe. for example https://fhir.nhs.uk/id/dos-service-id\|11111111, this is to ensure the receiver knows where any response messages SHOULD be addressed.
MUST
1..1
https://fhir.nhs.uk/id/dos-service-id\|5566778899
MessageHeader.reason
MUST
0..1
MessageHeader.reason.coding
MUST
0..1
MessageHeader.reason.coding.system
This MUST be populated with 'https://fhir.nhs.uk/CodeSystem/message-reason-bars' - FIXED VALUE
MUST
0..1
https://fhir.nhs.uk/CodeSystem/message-reason-bars
MessageHeader.reason.coding.code
This MUST be populated with "delete" for an cancellation. See CodeSystem: 'https://fhir.nhs.uk/CodeSystem/message-events-bars'
MUST
0..1
delete
MessageHeader.reason.coding.display
This MUST be populated with 'Delete' when cancelling a Service Request.
SHOULD
0..1
Delete
MessageHeader.focus
MUST
0..*
MessageHeader.focus.reference
This MUST be populated with a reference to the ServiceRequest
MUST
0..1
urn:uuid:236bb75d-90ef-461f-b71e-fde7f899802c
MessageHeader.definition
This MUST be populated with the MessageDefinition the bundle is based on. This will be used for validation. Value - https://fhir.nhs.uk/MessageDefinition/bars-message-servicerequest-request-cancelled
MUST
0..1
https://fhir.nhs.uk/MessageDefinition/bars-message-servicerequest-request-cancelled
A resource to carry a request for a service to be performed, in this case a Validation. This Resource is the focus of the Validation Request interaction.
> Service Request
BARSServiceRequestRequestReferral (ServiceRequest) https://fhir.hl7.org.uk/StructureDefinition/UKCore-ServiceRequest intent Fixed Value category 1..1 subject Reference(https://fhir.hl7.org.uk/StructureDefinition/UKCore-Patient) occurrence[x] occurrencePeriod Period authoredOn 1.. performer
Data Item
Implementation Guidance
Necessity
Profile Cardinality
Example Value(s)
ServiceRequest
A resource to carry a request for a service to be performed, in this case a Validation. This Resource is the focus of the Validation Request interaction https://simplifier.net/nhsbookingandreferrals/barsservicerequest-request-validation
1..1
ServiceRequest.id
MUST only be generated by the Receiver as the id for the resource in the synchronous HTTP response.
MUST
0..1
236bb75d-90ef-461f-b71e-fde7f899802c
ServiceRequest.meta
https://www.hl7.org/fhir/resource.html#Meta
MUST
0..1
ServiceRequest.meta.profile
https://fhir.nhs.uk/StructureDefinition/BARSServiceRequest-request-validation
MUST
0..1
https://fhir.nhs.uk/StructureDefinition/BARSServiceRequest-request-validation
ServiceRequest.meta.lastUpdated
All resources MUST include 'lastUpdated' value, under meta section which must be the same timestamp for each resource when created from new, but must be a later timestamp on updates, if the content of a particular resource contains updated info for subsequent updates. Otherwise, maintain the timestamp originally sent.
MUST
0..1
2023-03-08T12:01:08.4677672+00:00
ServiceRequest.basedOn
MUST
0..*
ServiceRequest.basedOnreference
This MUST be populated with a reference to the CarePlan resource
MUST
0..1
urn:uuid:236bb75d-90ef-461f-b71e-fde7f899802c
ServiceRequest.status
Only use the following 2 values, as appropriate: revoked is used when a SR is legitimately cancelled, entered-in-error is used when sent to the by mistake and needs to be removed.
MUST
1..1
entered-in-error
ServiceRequest.intent
This MUST be populated with 'plan' - Fixed Value
MUST
1..1
plan
ServiceRequest.category
MUST
0..1
ServiceRequest.category.coding
MUST
0..*
ServiceRequest.category.coding.system
This MUST be populated with CodeSystem 'https://fhir.nhs.uk/CodeSystem/message-category-servicerequest' - FIXED VALUE
MUST
0..1
https://fhir.nhs.uk/CodeSystem/message-category-servicerequest
ServiceRequest.category.coding.code
This MUST be populated with code value appropriate for the Application employed.
MUST
0..1
validation
ServiceRequest.category.coding.display
This MUST be populated with display value appropriate for the Application employed.
MUST
0..1
For Validation
ServiceRequest.subject
Follow BaRS profile guidance for populating this element
MUST
1..1
ServiceRequest.subjectreference
This MUST be populated with a Reference to the Patient resource
MUST
0..1
urn:uuid:9589fb37-87a2-48d8-968f-b371429208a8
ServiceRequest.encounter
MUST
0..1
ServiceRequest.encounter.reference
This MUST be populated with a Reference to the Encounter
MUST
0..1
urn:uuid:8c63d621-4d86-4f57-8699-e8e22d49935d
ServiceRequest.occurrencePeriod
Validation Breach time
MUST
0..1
ServiceRequest.occurrencePeriod.start
The start of the period must be ‘now’.
MUST
0..1
2023-03-08T12:01:08.4677672+00:00
ServiceRequest.occurrencePeriod.end
The time by which the validation must be complete (validation breach time)
MUST
0..1
2023-03-08T12:01:08.4677672+00:00
ServiceRequest.reasonCode
This will ONLY be populated in a cancellation message with the reason for cancellation
SHOULD
0..*
ServiceRequest.reasonCode.text
This SHOULD be populated. This will ONLY be populated in a cancellation message with the reason for cancellation and SHOULD only be used in conjunction with a corresponding status - revoked or entered-in-error
SHOULD
0..1
Revoked as patient has been dealt with.
This resource is used to communicate details about the patient who is the subject of the referral.
> Patient
It also includes contact information for third parties when required.
Data Item
Implementation Guidance
Necessity
Profile Cardinality
Example Value(s)
Patient
This resource is used to communicate details about the patient who is the subject of the referral.
It also includes contact information for third parties when required.
https://simplifier.net/hl7fhirukcorer4/ukcore-patient
1..1
Patient.id
If this value was included in the synchronous response to the original request, it MUST be populated in subsequent requests.
MUST
0..1
9589fb37-87a2-48d8-968f-b371429208a8
Patient.meta
https://simplifier.net/hl7fhirukcorer4/ukcore-patient
MUST
1..1
Patient.meta.profile
This MUST be populated. Follow UK Core guidance for populating this element
MUST
1..1
https://fhir.hl7.org.uk/StructureDefinition/UKCore-Patient
Patient.meta.LastUpdated
All resources MUST include 'lastUpdated' value, under meta section which must be the same timestamp for each resource when created from new, but must be a later timestamp on updates, if the content of a particular resource contains updated info for subsequent updates. Otherwise, maintain the timestamp originally sent.
MUST
1..1
2023-03-08T12:01:08.4677672+00:00
Patient.identifier
This is a human readable patient identifier. This MUST be populated with the NHS number when available. Additionally a Local Patient Identifier Should be populated where available. If no NHS number is available this Should be populated with the Local patient identifier.
SHOULD
0..*
Patient.identifier.system
https://simplifier.net/hl7-fhir--uk-core-r4-stu1-sequence/ukcore-nhsnumberverificationstatus
SHOULD
1..1
https://fhir.nhs.uk/Id/nhs-number
Patient.identifier.value
This SHOULD be populated with a human readable patient identifier. When used this MUST be populated with the NHS number when available.If no NHS number is available this SHOULD be populated with the Local patient identifier.
SHOULD
1..1
3478526985
Patient.identifier.extension
This extension is used to record the NHS number Verification status
SHOULD
0..*
Patient.identifier.extension.url
This SHOULD be populated. Where used this MUST be populated with Structure Definition 'https://fhir.hl7.org.uk/StructureDefinition/Extension-UKCore-NHSNumberVerificationStatus' - FIXED VALUE
SHOULD
1..1
https://fhir.hl7.org.uk/StructureDefinition/Extension-UKCore-NHSNumberVerificationStatus
Patient.identifier.extension.valueCodeableConcept
SHOULD
0..1
Patient.identifier.extension.valueCodeableConcept.coding
SHOULD
0..1
Patient.identifier.extension.valueCodeableConcept.coding.system
https://simplifier.net/hl7fhirukcorer4/extensionukcorenhsnumberverificationstatus
SHOULD
0..1
https://fhir.hl7.org.uk/CodeSystem/UKCore-NHSNumberVerificationStatus
Patient.identifier.extension.valueCodeableConcept.coding.code
Follow UK Core guidance for populating this element
SHOULD
0..1
number-present-and-verified
Patient.identifier.extension.valueCodeableConcept.coding.display
Follow UK Core guidance for populating this element
SHOULD
0..1
Number present and verified
Patient.name
SHOULD
0..*
Patient.name.use
Follow UK Core guidance for populating this element
SHOULD
0..1
official
Patient.name.text
Follow UK Core guidance for populating this element
SHOULD
0..1
Mrs Julie Jones
Patient.name.family
Follow UK Core guidance for populating this element
SHOULD
0..1
Jones
Patient.name.given
Follow UK Core guidance for populating this element
SHOULD
0..1
Julie
Patient.name.prefix
Follow UK Core guidance for populating this element
SHOULD
0..1
Mrs
Patient.gender
Follow UK Core guidance for populating this element
SHOULD
0..1
female
Patient.birthDate
Follow UK Core guidance for populating this element
SHOULD
0..1
1959-05-04
Patient.address
Follow UK Core guidance for populating this element
SHOULD
0..*
Patient.address.use
Follow UK Core guidance for populating this element
SHOULD
0..1
home
Patient.address.type
Follow UK Core guidance for populating this element
SHOULD
0..1
both
Patient.address.text
Follow UK Core guidance for populating this element
SHOULD
0..1
22 Brightside Crescent, Overtown, West Yorkshire, LS10 4YU
Patient.address.line
Follow UK Core guidance for populating this element
SHOULD
0..*
22 Brightside Crescent
Patient.address.city
Follow UK Core guidance for populating this element
SHOULD
0..1
Overtown
Patient.address.district
Follow UK Core guidance for populating this element
SHOULD
0..1
West Yorkshire
Patient.address.postalCode
Follow UK Core guidance for populating this element
SHOULD
0..1
LS10 4YU
Patient.contact
This should be used to record telecom information for the patient and/or the patient's representative for the encounter
MUST
0..*
Patient.contact.extension
MUST
0..*
Patient.contact.extension.url
This MUST be populated with Structure Definition 'https://fhir.hl7.org.uk/StructureDefinition/Extension-UKCore-ContactRank' - FIXED VALUE
MUST
0..1
https://fhir.hl7.org.uk/StructureDefinition/Extension-UKCore-ContactPreference
Patient.contact.extension.urlvaluePositiveInt
This MUST be populated with the rank of the whole contact and MUST be populated with the value '1' for the primary person to contact for referral. There MUST be at least one contact for the referral.
MUST
0..1
1
Patient.contact.relationship
MUST
0..*
Patient.contact.relationship.coding
MUST
0..*
Patient.contact.relationship.coding.system
This MUST be populated with the CodeSystem from the ValueSet 'https://simplifier.net/hl7fhirukcorer4/valueset-ukcore-personrelationshiptype'.
Where the contact details relate to the patient this relationship MUST be populated with the value 'self'.
Where the contact details relate to a patient's representative this SHOULD be populated with their relationship to the patient.
If the relationship is not known this SHOULD be populated with the value 'Unknown'MUST
0..1
http://terminology.hl7.org/CodeSystem/v2-0131
Patient.contact.relationship.coding.code
This MUST be populated with Code of CodeSystem value. See ValueSet 'https://simplifier.net/hl7fhirukcorer4/valueset-ukcore-personrelationshiptype'.
MUST
0..1
EP
Patient.contact.relationship.coding.display
This MUST be populated with Display of CodeSystem value. See ValueSet 'https://simplifier.net/hl7fhirukcorer4/valueset-ukcore-personrelationshiptype'.
MUST
0..1
EP
Patient.contact.name
SHOULD
0..1
Patient.contact.name.family
This SHOULD be populated. Follow UK Core guidance for populating this element
SHOULD
0..1
Grayson
Patient.contact.name.given
This SHOULD be populated. Follow UK Core guidance for populating this element
SHOULD
0..1
Jack
Patient.contact.telecom
MUST
0..*
Patient.contact.telecom.system
This MUST be populated for the rank 1 contact. There MUST be at least one contact phone number for the referral
MUST
0..1
phone
Patient.contact.telecom.value
This MUST be populated. Follow UK Core guidance for populating this element
MUST
0..1
0789 1234567
Patient.contact.gender
This SHOULD be populated. Follow UK Core guidance for populating this element
SHOULD
0..1
male
Patient.Communication
SHOULD
0..*
Patient.Communication.Language
MUST
1..1
Patient.Communication.Language.coding
MUST
1..1
Patient.Communication.Language.coding.code
This SHOULD be populated. Follow UK Core guidance for populating this element
SHOULD
0..1
en
Patient.Communication.Language.coding.system
This SHOULD be populated. Follow UK Core guidance for populating this element
SHOULD
0..1
https://fhir.hl7.org.uk/CodeSystem/UKCore-HumanLanguage
Patient.Communication.Language.coding.display
This SHOULD be populated. Follow UK Core guidance for populating this element
SHOULD
0..1
English
Patient.Communication.Language.preferred
This SHOULD be populated. Follow UK Core guidance for populating this element
SHOULD
0..1
TRUE
Patient.extension
This SHOULD be populated. Follow UK Core guidance for populating this element
SHOULD
0..*
Patient.extension.url
This SHOULD be populated. Follow UK Core guidance for populating this element
SHOULD
0..1
https://fhir.hl7.org.uk/StructureDefinition/Extension-UKCore-EthnicCategory
Patient.extension.url.valueCodeableConcept
This SHOULD be populated. Follow UK Core guidance for populating this element
SHOULD
0..1
Patient.extension.url.valueCodeableConcept.coding
This SHOULD be populated. Follow UK Core guidance for populating this element
SHOULD
0..1
Patient.extension.url.valueCodeableConcept.coding.system
This SHOULD be populated. Follow UK Core guidance for populating this element
SHOULD
0..1
https://fhir.hl7.org.uk/CodeSystem/UKCore-EthnicCategory
Patient.extension.url.valueCodeableConcept.coding.code
This SHOULD be populated. Follow UK Core guidance for populating this element
SHOULD
0..1
A
Patient.extension.url.valueCodeableConcept.coding.display
This SHOULD be populated. Follow UK Core guidance for populating this element
SHOULD
0..1
British, Mixed British
Patient.generalPractitioner
This SHOULD be populated with a reference to the GP Surgery ONLY rather than a specific practitioner
SHOULD
0..*
Patient.generalPractitioner.reference
This SHOULD be populated. Where populated this MUST reference to an Organisation resource
SHOULD
0..1
urn:uuid:b83d13e2-8c2e-422c-88ac-63b8e86a4411
This resource is used to communicate details about the sender and receiver organisations.
> Organization
Data Item
Implementation Guidance
Necessity
Profile Cardinality
Example Value(s)
Organization
This resource is used to communicate details about the sender organisations.
https://simplifier.net/hl7fhirukcorer4/ukcore-organization
2..*
Organization.id
This MUST only be populated with an id generated by the Receiver in the synchronous HTTP response.
MUST
0..1
5d897313-c62d-4e7e-92b7-b2199804fed3
Organization.meta
https://www.hl7.org/fhir/resource.html#Meta
MUST
1..1
Organization.meta.profile
This MUST be populated. Follow UK Core guidance for populating this element
MUST
1..1
https://fhir.hl7.org.uk/StructureDefinition/UKCore-Organization
Organization.meta.lastUpdated
This MUST be populated. All resources MUST include 'lastUpdated' value, under meta section which MUST be the same timestamp for each resource when created from new, but MUST be a later timestamp on updates, if the content of a particular resource contains updated info for subsequent updates. Otherwise, maintain the timestamp originally sent.
MUST
1..1
2023-03-08T12:01:08.4677672+00:00
Organization.identifier
This MUST be populated with an organisation identifier e.g. ODS code
MUST
0..*
Organization.identifier.system
This MUST be populated. Follow UK Core guidance for populating this element
MUST
0..1
https://fhir.nhs.uk/id/ods-organization-code
Organization.identifier.value
This MUST be populated. Follow UK Core guidance for populating this element
MUST
0..1
ABD01
Organization.name
This MUST be populated. Follow UK Core guidance for populating this element
MUST
0..1
Organisation name
Entity Relationship Diagram - Cancellation Referral Request
The below diagram details the Cancellation Referral Request
Cancellation Booking Request Payload
MessageHeader Resource
Standard Patterns for BaRS Operations explains in detail how the MessageHeader resource must be used.
When cancelling a booking, in conjunction with the guidance provided under the Standard Patterns, the three important elements which drive workflow must be used as follows:
- eventCoding - this must be the same code as used in the request.
- reasonCode - a cancellation follows an initial request, therefore, this must always be 'update' for cancellation.
- definition - cancellation has a unique MessageDefinition the request must adhere to.
- focus - must point to the Appointment resource.
Appointment Resource
The 'focus' resource in a cancellation booking request is the Appointment resource. When the payload is created by the Sender and processed by the Receiver, this is the starting point from which it (the bundle) is understood and provides either the detail or references to all key FHIR resources, for example, the Patient. The guidance for this resource below provides more granular, element level, detail.
When a Receiver processes the cancellation booking request, the two key elements used are the Appointment.id and Appointment.status. The .id must already exist as a 'booked' (status) booking on the Receiver system (this must have been confirmed by a prior read (GET) by the Sender) and the .status, in the request, must be 'cancelled'. No other status is valid in the cancellation booking request.
Patient Resource
Key patient demographics should be cross-referenced between the current 'booked' (status) booking and incoming cancellation booking request to ensure validity.
Payload for Booking Cancellation Request
This payload is used to transmit all the necessary information that is required to transmit the cancellation of a Booking.
> Bundle
The Bundle resource is the container for the event message.
| BARSBundleMessage (Bundle) | https://fhir.hl7.org.uk/StructureDefinition/UKCore-Bundle | ||
| type | Fixed Value | ||
| timestamp | 1.. |
| Data Item | Implementation Guidance | Necessity | Profile Cardinality | Example Value(s) |
|---|---|---|---|---|
| Bundle | The Bundle resource is the container for the event message https://simplifier.net/nhsbookingandreferrals/barsbundlemessage | 1..1 | ||
| Bundle.id | This id is generated by the originating sender of the message, retained in subsequent messages.. | MUST | 1..1 | 79120f41-a431-4f08-bcc5-1e67006fcae0 |
| Bundle.meta | https://www.hl7.org/fhir/resource.html#Meta | MUST | 0..1 | |
| Bundle.meta.profile | This MUST be populated with the structure definition for BaRSBundleMessage : 'https://fhir.nhs.uk/StructureDefinition/BARSBundleMessage' - FIXED VALUE | MUST | 0..1 | https://fhir.nhs.uk/StructureDefinition/BARSBundleMessage |
| Bundle.meta.lastUpdated | All resources MUST include 'lastUpdated' value, under meta section which must be the same timestamp for each resource when created from new, but must be a later timestamp on updates, if the content of a particular resource contains updated info for subsequent updates. Otherwise, maintain the timestamp originally sent. | MUST | 1..1 | 2023-03-08T12:01:08.4677672+00:00 |
| Bundle.type | This must be populated with 'message' - FIXED VALUE | MUST | 1..1 | message |
| Bundle.timestamp | the date that the content of the message was assembled. This date is not changed by middleware engines unless they add additional data that changes the meaning of the time of the message | MUST | 0..1 | 2023-03-08T12:01:08.4677672+00:00 |
| Bundle.entry(s) | Follow BaRS profile guidance for populating this element | MUST | 1..* | |
| Bundle.entry.fullUrl | unique identifier for the resource entry. Transient id relative to the bundle | MUST | 0..1 | urn:uuid:1cbdfb97-5859-48a4-8301-d54eab818d68 |
| Bundle.entry.resourceType | Resources detailed in the message definition. | MUST | 0..1 | MessageHeader,Patient, Encounter |
A resource that describes the BaRS message being exchanged between two systems.
> Message Header
BARSMessageHeaderServiceRequestRequest (MessageHeader) https://fhir.hl7.org.uk/StructureDefinition/UKCore-MessageHeader event[x] system 1.. code 1.. destination 1.. receiver reference 1.. sender reference 1.. identifier assigner reference 1.. source extension 0.. myExtension 0.. Extension(Complex) endpoint reason 1.. coding system Fixed Value focus reference 1..
Data Item
Implementation Guidance
Necessity
Profile Cardinality
Example Value(s)
MessageHeader
A resource that describes the BaRS message being exchanged between two systems https://simplifier.net/nhsbookingandreferrals/barsmessageheaderservicerequestrequest
1..1
MessageHeader.meta
https://www.hl7.org/fhir/resource.html#Meta
MUST
0..1
MessageHeader.meta.profile
This MUST be populated with the structure definition for BARSMessageHeader-booking-request
MUST
0..1
https://fhir.nhs.uk/StructureDefinition/BARSMessageHeader-booking-request
MessageHeader.meta.lastUpdated
All resources MUST include 'lastUpdated' value, under the meta section which MUST be the same timestamp for each resource when created from new, but MUST be a later timestamp on updates to resources, if the content of a particular resource contains updated info for subsequent updates. Otherwise, maintain the timestamp originally sent.
MUST
0..1
2023-03-08T12:01:08.4677672+00:00
MessageHeader.eventcoding
MUST
1..1
MessageHeader.eventcoding.system
This MUST be populated with CodeSystem 'https://fhir.nhs.uk/CodeSystem/message-events-bars' - FIXED VALUE
MUST
0..1
https://fhir.nhs.uk/CodeSystem/message-events-bars
MessageHeader.eventcoding.code
The status MUST be populated with 'booking-request'. See CodeSystem: 'https://fhir.nhs.uk/CodeSystem/message-events-bars' - FIXED VALUE
MUST
0..1
booking-request
MessageHeader.destination
MUST
0..1
MessageHeader.destination.receiver
MUST
0..1
MessageHeader.destination.receiver.reference
This MUST be populated with the full URL to the Receiving Organisation resource.
MUST
0..1
urn:uuid:10397afd-479c-42ea-9d5d-e4024481e0f8
MessageHeader.destination.endpoint
This MUST be populated with the system and Service ID separated by a pipe. for example https://fhir.nhs.uk/id/dos-service-id\|11111111, this is to ensure the receiver knows the intended destination.
MUST
1..1
https://fhir.nhs.uk/id/dos-service-id\|1122334455
MessageHeader.sender
MUST
0..1
MessageHeader.sender.reference
This MUST be populated. Follow BaRS profile guidance for populating this element
MUST
0..1
urn:uuid:07939a0c-2854-46ff-9282-ad906bc93679
MessageHeader.source
MUST
1..1
MessageHeader.source.name
This MUST be populated with the sending system supplier name
MUST
0..1
NHS Trust
MessageHeader.source.software
This SHOULD be populated with the sending software application name
SHOULD
0..1
Supplier Software
MessageHeader.source.version
This SHOULD be populated with the sending software version
SHOULD
0..1
V1.0.0
MessageHeader.source.contact
SHOULD
0..1
MessageHeader.source.contact.system
This SHOULD be populated with the Contact Type - phone | fax | email | pager | url | sms | other
SHOULD
0..1
phone
MessageHeader.source.contact.value
This SHOULD be populated with the Contact Type value
SHOULD
0..1
+44 (0123) 123 4567
MessageHeader.source.endpoint
This MUST be populated with the system and Service ID separated by a pipe. for example https://fhir.nhs.uk/id/dos-service-id\|11111111, this is to ensure the receiver knows where any response messages SHOULD be addressed.
MUST
1..1
https://fhir.nhs.uk/id/dos-service-id\|5566778899
MessageHeader.reason
MUST
0..1
MessageHeader.reason.coding
MUST
0..1
MessageHeader.reason.coding.system
This MUST be populated with 'https://fhir.nhs.uk/CodeSystem/message-reason-bars' - FIXED VALUE
MUST
0..1
https://fhir.nhs.uk/CodeSystem/message-reason-bars
MessageHeader.reason.coding.code
This MUST be populated with "delete" for an cancellation. See CodeSystem: 'https://fhir.nhs.uk/CodeSystem/message-events-bars'
MUST
0..1
delete
MessageHeader.reason.coding.display
This MUST be populated with 'Delete' when cancelling a Booking.
SHOULD
0..1
Delete
MessageHeader.focus
MUST
0..*
MessageHeader.focus.reference
This MUST be populated with a reference to the ServiceRequest
MUST
0..1
urn:uuid:236bb75d-90ef-461f-b71e-fde7f899802c
MessageHeader.definition
This MUST be populated with the MessageDefinition the bundle is based on. This will be used for validation. Value - hhttps://fhir.nhs.uk/MessageDefinition/bars-message-booking-request-cancelled
MUST
0..1
https://fhir.nhs.uk/MessageDefinition/bars-message-booking-request-cancelled
This resource will be used to communicate information about an Appointment and is the focus of the Booking interation.
> Appointment
Data Item
Implementation Guidance
Necessity
Profile Cardinality
Example Value(s)
Appointment
https://simplifier.net/hl7fhirukcorer4/ukcore-appointment
This resource will be used to communicate information about an appointment.
1..1
Appointment.id
This MUST only be populated with an id generated by the Receiver in the synchronous HTTP response.
MUST
0..1
3713c8fc-dbcf-4f90-bacf-89d99e434e9b
Appointment.meta
https://www.hl7.org/fhir/resource.html#Meta
MUST
1..1
Appointment.meta.profile
This MUST be populated. Follow UK Core guidance for populating this element
MUST
1..1
https://fhir.hl7.org.uk/StructureDefinition/UKCore-Appointment
Appointment.meta.lastupdated
This MUST be populated. All resources MUST include 'lastUpdated' value, under meta section which MUST be the same timestamp for each resource when created from new, but MUST be a later timestamp on updates, if the content of a particular resource contains updated info for subsequent updates. Otherwise, maintain the timestamp originally sent.
MUST
1..1
2023-03-08T12:01:08.4677672+00:00
Appointment.status
This MUST be populated with 'booked'
MUST
1..1
cencelled
Appointment.description
This SHOULD be populated. It is the human readable description of the booking
SHOULD
0..1
Reason for calling
Appointment.start
This MUST be populated with the Start time of the booking
MUST
0..1
2021-10-12T12:30:00+00:00
Appointment.end
This MUST be populated with the End time of the booking
MUST
0..1
2021-10-12T12:30:00+00:00
Appointment.slot
MUST
0..*
Appointment.slot.reference
This MUST be populated with the local logical bundle reference to the Slot resource
MUST
0..1
urn:uuid:c3f6145e-1a26-4345-b3f2-dccbcba62049
Appointment.created
This MUST only be populated with the date/time the booking was generated by the Receiver in the synchronous HTTP response.
MUST
0..1
2021-10-11T15:01:30+00:00"
Appointment.basedOn
This MAY be populated. When the Service Request is made before the booking in the workflow this MUST be populated.
MAY
0..*
Appointment.basedOn.reference
This MAY be populated. This is MUST be the relative reference to the Service Request when referral is made before booking in the workflow
MAY
0..1
ServiceRequest/236bb75d-90ef-461f-b71e-fde7f899802c
Appointment.participant
MUST
1..1
Appointment.participant.actor
This MUST be populated with reference to the patient
MUST
0..1
Appointment.participant.actor.reference
This MUST be populated with the local logical bundle reference to the Patient resource
MUST
0..1
urn:uuid:3a62607b-df65-4932-940c-14262787f62d
Appointment.participant.actor.status
This MUST be populated with 'accepted' - FIXED VALUE
MUST
1..1
accepted
This resource is used to communicate details about the patient who is the subject of the referral.
> Patient
It also includes contact information for third parties when required.
Data Item
Implementation Guidance
Necessity
Profile Cardinality
Example Value(s)
Patient
This resource is used to communicate details about the patient who is the subject of the referral.
It also includes contact information for third parties when required.
https://simplifier.net/hl7fhirukcorer4/ukcore-patient
1..1
Patient.id
If this value was included in the synchronous response to the original request, it MUST be populated in subsequent requests.
MUST
0..1
9589fb37-87a2-48d8-968f-b371429208a8
Patient.meta
https://simplifier.net/hl7fhirukcorer4/ukcore-patient
MUST
1..1
Patient.meta.profile
This MUST be populated. Follow UK Core guidance for populating this element
MUST
1..1
https://fhir.hl7.org.uk/StructureDefinition/UKCore-Patient
Patient.meta.LastUpdated
All resources MUST include 'lastUpdated' value, under meta section which must be the same timestamp for each resource when created from new, but must be a later timestamp on updates, if the content of a particular resource contains updated info for subsequent updates. Otherwise, maintain the timestamp originally sent.
MUST
1..1
2023-03-08T12:01:08.4677672+00:00
Patient.identifier
This is a human readable patient identifier. This MUST be populated with the NHS number when available. Additionally a Local Patient Identifier Should be populated where available. If no NHS number is available this Should be populated with the Local patient identifier.
SHOULD
0..*
Patient.identifier.system
https://simplifier.net/hl7-fhir--uk-core-r4-stu1-sequence/ukcore-nhsnumberverificationstatus
SHOULD
1..1
https://fhir.nhs.uk/Id/nhs-number
Patient.identifier.value
This SHOULD be populated with a human readable patient identifier. When used this MUST be populated with the NHS number when available.If no NHS number is available this SHOULD be populated with the Local patient identifier.
SHOULD
1..1
3478526985
Patient.identifier.extension
This extension is used to record the NHS number Verification status
SHOULD
0..*
Patient.identifier.extension.url
This SHOULD be populated. Where used this MUST be populated with Structure Definition 'https://fhir.hl7.org.uk/StructureDefinition/Extension-UKCore-NHSNumberVerificationStatus' - FIXED VALUE
SHOULD
1..1
https://fhir.hl7.org.uk/StructureDefinition/Extension-UKCore-NHSNumberVerificationStatus
Patient.identifier.extension.valueCodeableConcept
SHOULD
0..1
Patient.identifier.extension.valueCodeableConcept.coding
SHOULD
0..1
Patient.identifier.extension.valueCodeableConcept.coding.system
https://simplifier.net/hl7fhirukcorer4/extensionukcorenhsnumberverificationstatus
SHOULD
0..1
https://fhir.hl7.org.uk/CodeSystem/UKCore-NHSNumberVerificationStatus
Patient.identifier.extension.valueCodeableConcept.coding.code
Follow UK Core guidance for populating this element
SHOULD
0..1
number-present-and-verified
Patient.identifier.extension.valueCodeableConcept.coding.display
Follow UK Core guidance for populating this element
SHOULD
0..1
Number present and verified
Patient.name
SHOULD
0..*
Patient.name.use
Follow UK Core guidance for populating this element
SHOULD
0..1
official
Patient.name.text
Follow UK Core guidance for populating this element
SHOULD
0..1
Mrs Julie Jones
Patient.name.family
Follow UK Core guidance for populating this element
SHOULD
0..1
Jones
Patient.name.given
Follow UK Core guidance for populating this element
SHOULD
0..1
Julie
Patient.name.prefix
Follow UK Core guidance for populating this element
SHOULD
0..1
Mrs
Patient.gender
Follow UK Core guidance for populating this element
SHOULD
0..1
female
Patient.birthDate
Follow UK Core guidance for populating this element
SHOULD
0..1
1959-05-04
Patient.address
Follow UK Core guidance for populating this element
SHOULD
0..*
Patient.address.use
Follow UK Core guidance for populating this element
SHOULD
0..1
home
Patient.address.type
Follow UK Core guidance for populating this element
SHOULD
0..1
both
Patient.address.text
Follow UK Core guidance for populating this element
SHOULD
0..1
22 Brightside Crescent, Overtown, West Yorkshire, LS10 4YU
Patient.address.line
Follow UK Core guidance for populating this element
SHOULD
0..*
22 Brightside Crescent
Patient.address.city
Follow UK Core guidance for populating this element
SHOULD
0..1
Overtown
Patient.address.district
Follow UK Core guidance for populating this element
SHOULD
0..1
West Yorkshire
Patient.address.postalCode
Follow UK Core guidance for populating this element
SHOULD
0..1
LS10 4YU
Patient.contact
This should be used to record telecom information for the patient and/or the patient's representative for the encounter
MUST
0..*
Patient.contact.extension
MUST
0..*
Patient.contact.extension.url
This MUST be populated with Structure Definition 'https://fhir.hl7.org.uk/StructureDefinition/Extension-UKCore-ContactRank' - FIXED VALUE
MUST
0..1
https://fhir.hl7.org.uk/StructureDefinition/Extension-UKCore-ContactPreference
Patient.contact.extension.urlvaluePositiveInt
This MUST be populated with the rank of the whole contact and MUST be populated with the value '1' for the primary person to contact for referral. There MUST be at least one contact for the referral.
MUST
0..1
1
Patient.contact.relationship
MUST
0..*
Patient.contact.relationship.coding
MUST
0..*
Patient.contact.relationship.coding.system
This MUST be populated with the CodeSystem from the ValueSet 'https://simplifier.net/hl7fhirukcorer4/valueset-ukcore-personrelationshiptype'.
Where the contact details relate to the patient this relationship MUST be populated with the value 'self'.
Where the contact details relate to a patient's representative this SHOULD be populated with their relationship to the patient.
If the relationship is not known this SHOULD be populated with the value 'Unknown'MUST
0..1
http://terminology.hl7.org/CodeSystem/v2-0131
Patient.contact.relationship.coding.code
This MUST be populated with Code of CodeSystem value. See ValueSet 'https://simplifier.net/hl7fhirukcorer4/valueset-ukcore-personrelationshiptype'.
MUST
0..1
EP
Patient.contact.relationship.coding.display
This MUST be populated with Display of CodeSystem value. See ValueSet 'https://simplifier.net/hl7fhirukcorer4/valueset-ukcore-personrelationshiptype'.
MUST
0..1
EP
Patient.contact.name
SHOULD
0..1
Patient.contact.name.family
This SHOULD be populated. Follow UK Core guidance for populating this element
SHOULD
0..1
Grayson
Patient.contact.name.given
This SHOULD be populated. Follow UK Core guidance for populating this element
SHOULD
0..1
Jack
Patient.contact.telecom
MUST
0..*
Patient.contact.telecom.system
This MUST be populated for the rank 1 contact. There MUST be at least one contact phone number for the referral
MUST
0..1
phone
Patient.contact.telecom.value
This MUST be populated. Follow UK Core guidance for populating this element
MUST
0..1
0789 1234567
Patient.contact.gender
This SHOULD be populated. Follow UK Core guidance for populating this element
SHOULD
0..1
male
Patient.Communication
SHOULD
0..*
Patient.Communication.Language
MUST
1..1
Patient.Communication.Language.coding
MUST
1..1
Patient.Communication.Language.coding.code
This SHOULD be populated. Follow UK Core guidance for populating this element
SHOULD
0..1
en
Patient.Communication.Language.coding.system
This SHOULD be populated. Follow UK Core guidance for populating this element
SHOULD
0..1
https://fhir.hl7.org.uk/CodeSystem/UKCore-HumanLanguage
Patient.Communication.Language.coding.display
This SHOULD be populated. Follow UK Core guidance for populating this element
SHOULD
0..1
English
Patient.Communication.Language.preferred
This SHOULD be populated. Follow UK Core guidance for populating this element
SHOULD
0..1
TRUE
Patient.extension
This SHOULD be populated. Follow UK Core guidance for populating this element
SHOULD
0..*
Patient.extension.url
This SHOULD be populated. Follow UK Core guidance for populating this element
SHOULD
0..1
https://fhir.hl7.org.uk/StructureDefinition/Extension-UKCore-EthnicCategory
Patient.extension.url.valueCodeableConcept
This SHOULD be populated. Follow UK Core guidance for populating this element
SHOULD
0..1
Patient.extension.url.valueCodeableConcept.coding
This SHOULD be populated. Follow UK Core guidance for populating this element
SHOULD
0..1
Patient.extension.url.valueCodeableConcept.coding.system
This SHOULD be populated. Follow UK Core guidance for populating this element
SHOULD
0..1
https://fhir.hl7.org.uk/CodeSystem/UKCore-EthnicCategory
Patient.extension.url.valueCodeableConcept.coding.code
This SHOULD be populated. Follow UK Core guidance for populating this element
SHOULD
0..1
A
Patient.extension.url.valueCodeableConcept.coding.display
This SHOULD be populated. Follow UK Core guidance for populating this element
SHOULD
0..1
British, Mixed British
Patient.generalPractitioner
This SHOULD be populated with a reference to the GP Surgery ONLY rather than a specific practitioner
SHOULD
0..*
Patient.generalPractitioner.reference
This SHOULD be populated. Where populated this MUST reference to an Organisation resource
SHOULD
0..1
urn:uuid:b83d13e2-8c2e-422c-88ac-63b8e86a4411
This resource is used to communicate details about the sender and receiver organisations.
> Organization
Data Item
Implementation Guidance
Necessity
Profile Cardinality
Example Value(s)
Organization
This resource is used to communicate details about the sender organisations.
https://simplifier.net/hl7fhirukcorer4/ukcore-organization
2..*
Organization.id
This MUST only be populated with an id generated by the Receiver in the synchronous HTTP response.
MUST
0..1
5d897313-c62d-4e7e-92b7-b2199804fed3
Organization.meta
https://www.hl7.org/fhir/resource.html#Meta
MUST
1..1
Organization.meta.profile
This MUST be populated. Follow UK Core guidance for populating this element
MUST
1..1
https://fhir.hl7.org.uk/StructureDefinition/UKCore-Organization
Organization.meta.lastUpdated
This MUST be populated. All resources MUST include 'lastUpdated' value, under meta section which MUST be the same timestamp for each resource when created from new, but MUST be a later timestamp on updates, if the content of a particular resource contains updated info for subsequent updates. Otherwise, maintain the timestamp originally sent.
MUST
1..1
2023-03-08T12:01:08.4677672+00:00
Organization.identifier
This MUST be populated with an organisation identifier e.g. ODS code
MUST
0..*
Organization.identifier.system
This MUST be populated. Follow UK Core guidance for populating this element
MUST
0..1
https://fhir.nhs.uk/id/ods-organization-code
Organization.identifier.value
This MUST be populated. Follow UK Core guidance for populating this element
MUST
0..1
ABD01
Organization.name
This MUST be populated. Follow UK Core guidance for populating this element
MUST
0..1
Organisation name
Entity Relationship Diagram - Cancellation Booking Request
The below diagram details the Cancellation Booking Request