Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
43 commits
Select commit Hold shift + click to select a range
eb0daf4
replace sender setup with NHS dev link
Feb 21, 2025
7d0e053
Merge branch 'develop' into nds-onboarding
neilsouth1nhs Feb 25, 2025
bad7914
Save changes before pulling updates
Mar 4, 2025
3afb078
Add deleted screenshot files
Mar 4, 2025
f4ba1e2
Update onboarding readMe
Mar 4, 2025
433d9e0
Update onboarding readMe again
Mar 5, 2025
19a5157
Update tok to reorder
Mar 5, 2025
727fe36
IG Change log prep for 1.8.2
luci-davies Mar 10, 2025
ad3756f
App4 Validation Request Payload topic text
luci-davies Mar 10, 2025
10787db
Consent FHIR URL fix
luci-davies Mar 10, 2025
4340669
Referral payload Emergency display value
luci-davies Mar 10, 2025
312c573
NHSD-Requesting-Practitioner=FHIRPractionerRole
luci-davies Mar 10, 2025
a6e5060
Merge pull request #394 from NHSDigital/20250310-IG-1.8.2-update-1
luci-davies Mar 10, 2025
f70d036
App5 -Update SNOMED Code for Minor Illness
cda69 Mar 11, 2025
3fad9e5
change line endings
Mar 12, 2025
6ddbe9e
JIRA NBRS3751 and NBRS3753
luci-davies Mar 12, 2025
06b8606
TKW Scenario Updates
cda69 Mar 14, 2025
bd3bc04
TKW Scenarios release note
cda69 Mar 14, 2025
a38100b
Change log for App1
luci-davies Mar 17, 2025
e749bc0
Change log for App2
luci-davies Mar 17, 2025
5b20562
Change log App3
luci-davies Mar 17, 2025
1b5b7c0
Change log App4
luci-davies Mar 17, 2025
4a0b144
Change logs App5 +App6
luci-davies Mar 17, 2025
5734b84
Change log App7
luci-davies Mar 17, 2025
72c38b4
use-contextHTTPHeaderChange
cda69 Mar 17, 2025
6c67f96
Merge pull request #396 from NHSDigital/CGD-182
cda69 Mar 17, 2025
1970284
Merge pull request #398 from NHSDigital/CGD-Core-Uplifts
cda69 Mar 17, 2025
8835853
Merge pull request #395 from NHSDigital/20250312-IG-1.8.2-update-2
luci-davies Mar 17, 2025
95ce5a0
Merge branch 'develop' into 20250317-IG-1.8.2-update-3
luci-davies Mar 17, 2025
65b7279
Merge pull request #397 from NHSDigital/20250317-IG-1.8.2-update-3
luci-davies Mar 17, 2025
49e7b15
Added change log items for App4 and App6
luci-davies Mar 18, 2025
e236dfe
Content negotiation page fixes
luci-davies Mar 18, 2025
747eb76
Amended link for Appointment
luci-davies Mar 18, 2025
f9d4736
Update Mechanism.page.md
luci-davies Mar 18, 2025
3dd0ae5
BaRS Applications add to site map
luci-davies Mar 18, 2025
966c8a5
Merge branch 'develop' into nds-onboarding
neilsouth1nhs Mar 19, 2025
8e69bf9
Merge pull request #393 from NHSDigital/nds-onboarding
neilsouth1nhs Mar 19, 2025
c4f889c
Use case categories content transform
luci-davies Mar 19, 2025
e976979
Updates to version numbers and releases
luci-davies Mar 19, 2025
0e33055
Merge pull request #399 from NHSDigital/20250317-IG-1.8.2-update-4
luci-davies Mar 19, 2025
cc2ff86
Merge pull request #400 from NHSDigital/20250319-IG-1.8.2-update-5
luci-davies Mar 19, 2025
76ea26f
Standard Appointment Management update and accessibility
cda69 Mar 19, 2025
b7ba9e9
Merge pull request #401 from NHSDigital/CGD-182-AppointmentAPI
cda69 Mar 19, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
Expand Up @@ -194,8 +194,8 @@
<code>
<coding>
<system value="http://snomed.info/sct" />
<code value="1577041000000109" />
<display value="Community Pharmacist Consultation Service for minor illness (procedure)" />
<code value="2140231000000104" />
<display value="Referral to Community Pharmacy Pharmacy First Service (procedure)" />
</coding>
</code>
<description value="Patient will contact pharmacy service in 24 hours. If, upon receipt, the pharmacist has concerns over the patient's condition they should contact the patient." />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ The workflow and payload elements can be predefined or completely dynamic, enabl

The documentation for BaRS is separated into three groups (or "products"):

- {{pagelink:design-core-1.0.5}} is the foundation containing all the things *everyone* has to do regardless of what flows BaRS is being used to support
- {{pagelink:design-core-1.0.6}} is the foundation containing all the things *everyone* has to do regardless of what flows BaRS is being used to support

- {{pagelink:Applications}}, *apply* the standard to a specific problem and build on this to support specific use cases

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ Follow this **Quick Start Guide** to best understand how to approach BaRS:
We recommend reading the following documentation as part of the discovery stage to inform planning:

* {{pagelink:definitions_key_terms, text:Definition of key terms}}
* {{pagelink:design-core-1.0.5, text:BaRS Core}}
* {{pagelink:design-core-1.0.6, text:BaRS Core}}
* {{pagelink:applications, text:BaRS Applications}}
* [BaRS FHIR API specification](https://digital.nhs.uk/developer/api-catalogue/booking-and-referral-fhir/v1_0_0)

Expand All @@ -16,10 +16,10 @@ We recommend reading the following documentation as part of the discovery stage
Full details of the security model adopted by the platform can be found under the [security](https://digital.nhs.uk/developer/guides-and-documentation/security-and-authorisation/application-restricted-restful-apis-signed-jwt-authentication) section.

### Design
The following sections provide the essential information needed to design and build a BaRS compliant solution. BaRS is devised in a way to support re-use of functionality across multiple uses cases, to this end the implementation guidance is split into {{pagelink:design-core-1.0.5, text:BaRS Core}} and {{pagelink:applications, text:BaRS Application}} sections. All solutions **must** build the Core and add the specific requirements of the Application to support the given use case. BaRS Core is not sufficient on its own, an Application will always be required.
The following sections provide the essential information needed to design and build a BaRS compliant solution. BaRS is devised in a way to support re-use of functionality across multiple uses cases, to this end the implementation guidance is split into {{pagelink:design-core-1.0.6, text:BaRS Core}} and {{pagelink:applications, text:BaRS Application}} sections. All solutions **must** build the Core and add the specific requirements of the Application to support the given use case. BaRS Core is not sufficient on its own, an Application will always be required.

### End-to-end workflow
When developing against the standard, understanding the {{pagelink:core-EndToEndWorkflow-1.0.5, text:end-to-end workflow}} is key. This section of the guide describes how a solution interacts with the BaRS API, along with the assumptions and expectations of Senders and Receivers. These are the roles suppliers will adopt when building a solution. This guide is written predominantly from the perspective of the request; the Sender and Receiver of the request. However, if the BaRS Application include a response workflow these roles swap, the Sender becoming the Receiver and vice versa.
When developing against the standard, understanding the {{pagelink:core-EndToEndWorkflow-1.0.6, text:end-to-end workflow}} is key. This section of the guide describes how a solution interacts with the BaRS API, along with the assumptions and expectations of Senders and Receivers. These are the roles suppliers will adopt when building a solution. This guide is written predominantly from the perspective of the request; the Sender and Receiver of the request. However, if the BaRS Application include a response workflow these roles swap, the Sender becoming the Receiver and vice versa.

BaRS includes several {{pagelink:applications, text:BaRS Application (use cases)}}, each of which supports multiple use cases that share a common workflow and data model.

Expand All @@ -28,15 +28,15 @@ BaRS includes several {{pagelink:applications, text:BaRS Application (use cases)
The BaRS [API specification](https://digital.nhs.uk/developer/api-catalogue/booking-and-referral-fhir/v1_0_0) provides detail of the structure of endpoints. The specification allows you to 'Try this API', calling endpoints to view anticipated responses. This is a purely technical document and must be read in conjunction with implementation guidance to build a compliant solution.

### Security
All {{pagelink:core-Security-1.0.5, text:security}} is provided through our platform. There are two methods for securing interactions via BaRS API:
All {{pagelink:core-Security-1.0.6, text:security}} is provided through our platform. There are two methods for securing interactions via BaRS API:
* senders will [generate an access token](https://digital.nhs.uk/developer/guides-and-documentation/security-and-authorisation/application-restricted-restful-apis-signed-jwt-authentication#how-this-pattern-works) from the platform and use this to authenticate with the BaRS API. Additionally, requests will include HTTP header values identifying the organisation, software and user, which are passed through the BaRS API to Receivers who apply their own access control to the request based on the headers content.
* for Receivers accepting requests, the BaRS API secures the connection with the Receiver using Transport Layer Security Mutual Authentication (TLS MA), using an [NHS Root CA issued certificate](https://digital.nhs.uk/services/path-to-live-environments/live-environment#rootca-and-subca-certificates). The HTTP header values (as described above) are also passed through. This provides the Receiver with sufficient information to accept or reject the request without having to inspect the payload body.

#### Error Handling
{{pagelink:core-ErrorHandling-1.0.5, text:Error handling}} is an important part of the standard for two key reasons:
{{pagelink:core-ErrorHandling-1.0.6, text:Error handling}} is an important part of the standard for two key reasons:

* to ensure workflow is as smooth and seamless as possible, the error responses returned **must** be clear to allow the appropriate next action to take place, for example, to include a missing element of information (highlighted by the error response).
* there are several levels of interactions occurring from the Sender, through BaRS API to the Receiver and clearly identifying where the fault lies is important for swift resolution. All implementations **must** adhere to the {{pagelink:core-ErrorHandling-1.0.5, text:error handling guidance}} which is part of the {{pagelink:assure, text:assurance}} process.
* there are several levels of interactions occurring from the Sender, through BaRS API to the Receiver and clearly identifying where the fault lies is important for swift resolution. All implementations **must** adhere to the {{pagelink:core-ErrorHandling-1.0.6, text:error handling guidance}} which is part of the {{pagelink:assure, text:assurance}} process.

### Build
#### Environments
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,15 +55,15 @@ Another capability described within the CapabilityStatement is the definition of

### The receivers responsibility

The receiver at this level only needs to evaluate the Accept Header to ensure there is no major version discrepancy. A 406 HTTP response with the appropriate OprationOutcome should be given if this is the case.
The receiver at this level only needs to evaluate the Accept Header to ensure there is no major version discrepancy. A 406 HTTP response with the appropriate OperationOutcome should be given if this is the case.

## Identifying MessageDefinitions

A Receiver's MessageDefinitions will contain several identifiers that will allow a Sender to ascertain whether their use-case workflow can be completed, beyond what the CapabilityStatement has already confirmed, supporting Content negotiation. The Message Definition will also contain a version number for version negotiation, along with the fundamental intent of the MessageDefinitions, defining the construct of the message (payload) a Sender must build. Example of identifiers are as follows:

* Name or URL in MessageDefinition.url / MessageDefinition.name : https://fhir.nhs.uk/MessageDefinition/bars-message-servicerequest-request
* Use case in MessageDefinition.useContext.code[]: https://fhir.nhs.uk/CodeSystem/usecases-categories-bars.
* Service in MessageDefinition.useContext.code[]: https://fhir.nhs.uk/CodeSystem/dos-id
* Name or URL in MessageDefinition.url / MessageDefinition.name : <div style="display: inline">https://fhir.nhs.uk/MessageDefinition/bars-message-servicerequest-request
* Use case in MessageDefinition.useContext.code[]: <div style="display: inline">https://fhir.nhs.uk/CodeSystem/usecases-categories-bars
* Service in MessageDefinition.useContext.code[]: <div style="display: inline">https://fhir.nhs.uk/CodeSystem/dos-id
* Version in MessageDefinition.version

The Name or URL define the type of message being sent. The Service id is confirmation of the correct Service. The Use Case Category code(s) define the care setting context required to ensure the message is actionable by the service. The Version allows for Version negotiation. All of these items need to be checked. There may be variations of the same message definition for a given service based on these variables.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,25 +1,25 @@
## Current Release 1.8.1
## Current Release 1.8.2

Product Link | Version | Handle | Phase | State | Release Date | Stability | Change Log Link
-----------------------|---------|---------|----------|-----------------|--------------|------------|-----------------
Implementation Guide | 1.8.1 | v1 | Live | Current Release | 26/11/2024 | Stable |{{pagelink:trn-General}}
[FHIR Package](https://simplifier.net/packages/uk.nhsdigital.bars.r4/1.33.0) | uk.nhsdigital.bars.r4 1.33.0| v1 | Live | Current Release | 29/08/2024 | Stable |
{{pagelink:design-core-1.1.5, text:BaRS Core}} | 1.1.5 | v1 | Live | Current Release | 26/11/2024 | Stable |{{pagelink:trn-core, text: BaRS Core Change Log}}
[API Specification](https://digital.nhs.uk/developer/api-catalogue/booking-and-referral-fhir/v1_1_0) | 1.1.0 | v1 | Live | Current Release | 01/04/2023 | Stable |{{pagelink:trn-api}}
{{pagelink: build-testing, text: TKW}} | 1.0.12 | v1 | Live | Current Release | 27/11/2024 | Stable |{{pagelink:trn-tkw}}
{{pagelink:application1, text:BaRS-APP1}} | 1.0.6 | v1 | Live | Current Release | 26/11/2024 | Stable |{{pagelink:trn-app1,text:BaRS APP1 Change Log}}
{{pagelink:application2, text:BaRS-APP2}} | 1.0.6 | v1 | Live | Current Release | 26/11/2024 | Stable |{{pagelink:trn-app2,text:BaRS APP2 Change Log}}
{{pagelink:application3, text:BaRS-APP3}} | 1.0.2 | v1 | Live | Current Release | 21/05/2024 | Stable |{{pagelink:trn-app3,text:BaRS APP3 Change Log}}
{{pagelink:application4, text:BaRS-APP4}} | 1.2.1 | v1 | Live | Current Release | 26/11/2024 | Stable |{{pagelink:trn-app4,text:BaRS APP4 Change Log}}
{{pagelink:application5, text:BaRS-APP5}} | 1.1.1 | v1 | Live | Current Release | 26/11/2024 | Stable |{{pagelink:trn-app5,text:BaRS APP5 Change Log}}
{{pagelink:application6, text:BaRS-APP6}} | 1.0.0-beta.3 | beta | Live | Current Release | 26/11/2024 | Pre-Release |{{pagelink:trn-app6,text:BaRS APP6 Change Log}}
{{pagelink:application7, text:BaRS-APP7}} | 1.0.0-alpha.2 | alpha | | Current Release | 26/11/2024 | Pre-Release |{{pagelink:trn-app7,text:BaRS APP7 Change Log}}
Implementation Guide | 1.8.2 | v1 | Live | Current Release | 26/11/2024 | Stable |{{pagelink:trn-General}}
[FHIR Package](https://simplifier.net/packages/uk.nhsdigital.bars.r4/1.35.0) | uk.nhsdigital.bars.r4 1.35.0| v1 | Live | Current Release | 29/08/2024 | Stable |
{{pagelink:design-core-1.1.6, text:BaRS Core}} | 1.1.6 | v1 | Live | Current Release | 26/11/2024 | Stable |{{pagelink:trn-core, text: BaRS Core Change Log}}
[API Specification](https://digital.nhs.uk/developer/api-catalogue/booking-and-referral-fhir/v1_1_0) | 1.1.6 | v1 | Live | Current Release | 01/04/2023 | Stable |{{pagelink:trn-api}}
{{pagelink: build-testing, text: TKW}} | 1.0.18 | v1 | Live | Current Release | 27/11/2024 | Stable |{{pagelink:trn-tkw}}
{{pagelink:application1, text:BaRS-APP1}} | 1.0.7 | v1 | Live | Current Release | 26/11/2024 | Stable |{{pagelink:trn-app1,text:BaRS APP1 Change Log}}
{{pagelink:application2, text:BaRS-APP2}} | 1.0.7 | v1 | Live | Current Release | 26/11/2024 | Stable |{{pagelink:trn-app2,text:BaRS APP2 Change Log}}
{{pagelink:application3, text:BaRS-APP3}} | 1.0.3 | v1 | Live | Current Release | 21/05/2024 | Stable |{{pagelink:trn-app3,text:BaRS APP3 Change Log}}
{{pagelink:application4, text:BaRS-APP4}} | 1.2.2 | v1 | Live | Current Release | 26/11/2024 | Stable |{{pagelink:trn-app4,text:BaRS APP4 Change Log}}
{{pagelink:application5, text:BaRS-APP5}} | 1.1.2 | v1 | Live | Current Release | 26/11/2024 | Stable |{{pagelink:trn-app5,text:BaRS APP5 Change Log}}
{{pagelink:application6, text:BaRS-APP6}} | 1.0.0-beta.4 | beta | Live | Current Release | 26/11/2024 | Pre-Release |{{pagelink:trn-app6,text:BaRS APP6 Change Log}}
{{pagelink:application7, text:BaRS-APP7}} | 1.0.0-alpha.3 | alpha | | Current Release | 26/11/2024 | Pre-Release |{{pagelink:trn-app7,text:BaRS APP7 Change Log}}



### Overview of the release

Addition of use case categories to all BaRS Applications.
Bug fixes and corrections.

<br>
<hr>
Expand Down Expand Up @@ -56,6 +56,10 @@ Table detailing active versions of the latest Applications in Production (or cur
<td>Application 1 v1.0.6</td>
<td><a href="https://simplifier.net/guide/nhsbookingandreferralstandard/home?version=1.8.1" target="_blank">v1.8.1</a></td>
</tr>
<tr>
<td>Application 1 v1.0.7</td>
<td><a href="https://simplifier.net/guide/nhsbookingandreferralstandard/home?version=1.8.2" target="_blank">v1.8.2</a></td>
</tr>
<tr>
<td>Application 2 v1.0.1</td>
<td><a href="https://simplifier.net/guide/nhsbookingandreferralstandard/home?version=1.1.0" target="_blank">v1.1.0</a></td>
Expand All @@ -72,6 +76,10 @@ Table detailing active versions of the latest Applications in Production (or cur
<td>Application 2 v1.0.6</td>
<td><a href="https://simplifier.net/guide/nhsbookingandreferralstandard/home?version=1.8.1" target="_blank">v1.8.1</a></td>
</tr>
<tr>
<td>Application 2 v1.0.7</td>
<td><a href="https://simplifier.net/guide/nhsbookingandreferralstandard/home?version=1.8.2" target="_blank">v1.8.2</a></td>
</tr>
<tr>
<td>Application 3 v1.0.0</td>
<td><a href="https://simplifier.net/guide/nhsbookingandreferralstandard/home?version=1.4.0" target="_blank">v1.4.0</a></td>
Expand All @@ -84,6 +92,10 @@ Table detailing active versions of the latest Applications in Production (or cur
<td>Application 3 v1.0.2</td>
<td><a href="https://simplifier.net/guide/nhsbookingandreferralstandard/home?version=1.6.0" target="_blank">v1.8.1</a></td>
</tr>
<tr>
<td>Application 3 v1.0.3</td>
<td><a href="https://simplifier.net/guide/nhsbookingandreferralstandard/home?version=1.8.2" target="_blank">v1.8.2</a></td>
</tr>
<tr>
<td>Application 4 v1.0.0</td>
<td><a href="https://simplifier.net/guide/nhsbookingandreferralstandard/home?version=1.4.0" target="_blank">v1.4.0</a></td>
Expand All @@ -96,6 +108,10 @@ Table detailing active versions of the latest Applications in Production (or cur
<td>Application 4 v1.2.1</td>
<td><a href="https://simplifier.net/guide/nhsbookingandreferralstandard/home?version=1.8.0" target="_blank">v1.8.1</a></td>
</tr>
<tr>
<td>Application 4 v1.2.2</td>
<td><a href="https://simplifier.net/guide/nhsbookingandreferralstandard/home?version=1.8.2" target="_blank">v1.8.2</a></td>
</tr>
<tr>
<td>Application 5 v1.0.0-beta.4</td>
<td><a href="https://simplifier.net/guide/nhsbookingandreferralstandard/home?version=1.4.0" target="_blank">v1.4.0</a></td>
Expand All @@ -115,12 +131,16 @@ Table detailing active versions of the latest Applications in Production (or cur
<td><a href="https://simplifier.net/guide/nhsbookingandreferralstandard/home?version=1.8.0" target="_blank">v1.8.1</a></td>
</tr>
<tr>
<td>Application 6 v1.0.0-beta.3</td>
<td><a href="https://simplifier.net/guide/nhsbookingandreferralstandard/home?version=1.8.0" target="_blank">v1.8.1</a></td>
<td>Application 5 v1.1.2</td>
<td><a href="https://simplifier.net/guide/nhsbookingandreferralstandard/home?version=1.8.2" target="_blank">v1.8.2</a></td>
</tr>
<tr>
<td>Application 7 v1.0.0-alpha.2</td>
<td><a href="https://simplifier.net/guide/nhsbookingandreferralstandard/home?version=1.8.0" target="_blank">v1.8.1</a></td>
<td>Application 6 v1.0.0-beta.4</td>
<td><a href="https://simplifier.net/guide/nhsbookingandreferralstandard/home?version=1.8.2" target="_blank">v1.8.2</a></td>
</tr>
<tr>
<td>Application 7 v1.0.0-alpha.3</td>
<td><a href="https://simplifier.net/guide/nhsbookingandreferralstandard/home?version=1.8.2" target="_blank">v1.8.2</a></td>
<td rowspan=1 style="text-align: center; vertical-align: middle;"><a href="https://simplifier.net/guide/nhsbookingandreferralstandard/Home/Design/BaRS-Core?version=1.0.0" target="_blank">v1.0.0</a></td>
<td rowspan=1 style="text-align: center; vertical-align: middle;"><a href="https://digital.nhs.uk/developer/api-catalogue/booking-and-referral-fhir/v1_0_0" target="_blank">1.0.0</a></td>
</tr>
Expand Down
Loading
Loading