Skip to content

Commit

Permalink
Fri Jun 28 18:01:23 UTC 2024 (#5063)
Browse files Browse the repository at this point in the history
Co-authored-by: Workflows.Backup <[email protected]>
  • Loading branch information
github-actions[bot] and Workflows.Backup authored Jun 28, 2024
1 parent 3aab233 commit 52f31b0
Show file tree
Hide file tree
Showing 291 changed files with 9,225 additions and 1 deletion.
2 changes: 1 addition & 1 deletion GPConnectDirectCareAPIs-STU3/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,4 @@ It was created on 29/09/2023 and has been set up to run every 1 month.

## Last Updated

Updated at: Thu Jun 27 18:01:48 UTC 2024
Updated at: Fri Jun 28 18:01:42 UTC 2024
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
## {{page-title}}

- error context and description **MUST** be provided in the `OperationOutcome.diagnostic` element to enable the sender to correctly identify the error which has been found in their sent message

---
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
## {{page-title}}

- error context and description **MUST** be provided in the `OperationOutcome.diagnostic` element to enable the sender to correctly identify the error which has been found in their sent message

---
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
## {{page-title}}

The error context and description **MUST** be provided in the `OperationOutcome.diagnostic` element to enable the sender to correctly identify the error which has been found in their sent message

See {{pagelink:Home/FHIR-Assets/All-assets/Profiles/Profile--ITK-Response-OperationOutcome-1}} for more information on how to populate this FHIR resource.

---
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Han## {{page-title}}

The following section describes error scenarios and associated error codes for this messaging use case.

---
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
## {{page-title}}

The following section describes error scenarios and associated error codes for this messaging use case.

---
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
## {{page-title}}

The following section describes error scenarios and associated error codes for this capability.

---
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
## {{page-title}}

The following table describes error codes returned from the MESH server as a result of issues encountered using the facility to [route a message automatically to the registered practice](https://simplifier.net/guide/direct-care-messaging-implementation-guide--1-3-1/Home/Authentication/Integration-with-MESH?version=current).

- the following errors, when encountered, MUST be handled gracefully by the message sending system

<table data-responsive data-no-sort>
<thead>
<tr>
<th>Status code</th>
<th>MESH error code</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<!-- EPL-150 -->
<tr>
<td>EPL-150</td>
<td><code>ERROR_TOO_MANY_MAILBOX_MATCHES</code></td>
<td>Multiple mailboxes matches</td>
</tr>
<!-- EPL-151 -->
<tr>
<td>EPL-151</td>
<td><code>ERROR_NO_MAILBOX_MATCHES</code></td>
<td>No mailbox matched</td>
</tr>
<!-- EPL-152 -->
<tr>
<td>EPL-152</td>
<td><code>ERROR_INVALID_NHSNUMBER</code></td>
<td>Invalid NHS Number</td>
</tr>
<!-- EPL-153 -->
<tr>
<td>EPL-153</td>
<td><code>ERROR_NHSNUMBER_NOT_FOUND</code></td>
<td>NHS Number not found</td>
</tr>
<!-- EPL-154 -->
<tr>
<td>EPL-154</td>
<td><code>ERROR_NO_DEMOGRAPHICS_MATCH</code></td>
<td>NHS Number supplied does not match the demographics</td>
</tr>
</tbody>
</table>

---
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
## {{page-title}}

- where the received message does not conform to the requirements stated for ITK3 header, or for the payload, the message **MUST** be considered invalid
- where a received message is invalid, an ITK3 Response **MUST** be generated, with the corresponding Negative ITK3 Response Code which indicates the nature of the error, and the message **MUST NOT** be accepted for downstream processing

---
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
## {{page-title}}

- where the received message does not conform to the requirements stated for ITK3 header, or for the payload, the message **MUST** be considered invalid
- where a received message is invalid, an ITK3 Response **MUST** be generated, with the corresponding Negative ITK3 Response Code which indicates the nature of the error, and the message **MUST NOT** be accepted for downstream processing

---
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
## {{page-title}}

- where the received message does not conform to the requirements stated for ITK3 header, or for the payload, the message **MUST** be considered invalid

- where a received message is invalid, an ITK3 Response **MUST** be generated with the corresponding Negative ITK3 Response Code, which indicates the nature of the error, and the message **MUST NOT** be accepted for downstream processing

---
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
## {{page-title}}

Please note that, when using the MESH API to send a message, errors encountered when using the automated registered practice routing will not be returned in the API response header or payload, but via a MESH error report `.CTL` file placed in the sending organisation MESH mailbox.

For example, where an invalid NHS Number has been supplied in the Mex_To HTTP header, an error report `.CTL` file will be returned with a `<StatusRecord>` section which provides error details as follows:

```xml
<StatusRecord>
<DateTime>20170926135509</DateTime>
<Event>SEND</Event>
<Status>ERROR</Status>
<StatusCode>EPL-152</StatusCode>
<Description>Invalid NHS Number</Description>
</StatusRecord>
```

<div class="nhsd-a-box nhsd-a-box--bg-light-blue nhsd-!t-margin-bottom-6 nhsd-t-body">
<b>Note</b>: The sender has the responsibility to inform an appropriate person if the following conditions are met.
</div>

- where a document is not successfully received / managed by the message receiver
- an ITK3 infastructure acknowledgement is not received
- an ITK3 business acknowledgement is not received
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
## {{page-title}}

Please note that, when using the MESH API to send a message, errors encountered when using the automated registered practice routing will not be returned in the API response header or payload, but via a MESH error report .CTL file placed in the sending organisation MESH mailbox.

For example, where an invalid NHS Number has been supplied in the `Mex_To` HTTP header, an error report .CTL file will be returned with a `<StatusRecord>` section which provides error details as follows:

```xml
<StatusRecord>
<DateTime>20170926135509</DateTime>
<Event>SEND</Event>
<Status>ERROR</Status>
<StatusCode>EPL-152</StatusCode>
<Description>Invalid NHS Number</Description>
</StatusRecord>
```


- where a Consultation Report is not successfully received/managed by the message receiver, the sender system **MUST** inform an appropriate person

- where either the infrastructure or business acknowledgements, or both, are not received for a Consultation Report, the sender system **MUST** inform an appropriate person
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
## {{page-title}}

<B>Note:</B> When using the MESH API to send a message, errors encountered when using the automated registered practice routing will not be returned in the API response header or payload, but via a MESH error report .CTL file placed in the sending organisation MESH mailbox.

For example, where an invalid NHS Number has been supplied in the `Mex_To` HTTP header, an error report .CTL file will be returned with a `<StatusRecord>` section, which provides error details as follows:

```xml
<StatusRecord>
<DateTime>20170926135509</DateTime>
<Event>SEND</Event>
<Status>ERROR</Status>
<StatusCode>EPL-152</StatusCode>
<Description>Invalid NHS Number</Description>
</StatusRecord>
```

- where a Consultation Report is not successfully received/managed by the message receiver, the sender system **MUST** inform an appropriate person
- where either the infrastructure or business acknowledgements, or both, are not received for a Consultation Report, the sender system **MUST** inform an appropriate person
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
## {{page-title}}

The following table describes error codes returned from the MESH server as a result of issues encountered using the facility to route a message automatically to the registered practice.

The following errors, when encountered, MUST be handled gracefully by the message sending system.

<table>
<thead>
<tr>
<th data-no-sort>Status Code</th>
<th data-no-sort>MESH Error Code</th>
<th data-no-sort>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>EPL-150</td>
<td>ERROR_TOO_MANY_MAILBOX_MATCHES</td>
<td>Multiple mailboxes matches</td>
</tr>
<tr>
<td>EPL-151</td>
<td>ERROR_NO_MAILBOX_MATCHES</td>
<td>No mailbox matched</td>
</tr>
<tr>
<td>EPL-152</td>
<td>ERROR_INVALID_NHSNUMBER</td>
<td>Invalid NHS Number</td>
</tr>
<tr>
<td>EPL-153</td>
<td>ERROR_NHSNUMBER_NOT_FOUND</td>
<td>NHS Number not found</td>
</tr>
<tr>
<td>EPL-154</td>
<td>ERROR_NO_DEMOGRAPHICS_MATCH</td>
<td>NHS Number supplied does not match the demographics</td>
</tr>
</tbody>
</table>

MESH will generate these errors in the form of error reports which will be placed in the sender’s mailbox to await collection and processing by the sending organisation.

---
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
## {{page-title}}

The following table describes error codes returned from the MESH server as a result of issues encountered using the facility to route a message automatically to the registered practice.

The following errors, when encountered, **MUST** be handled gracefully by the message sending system:

<table data-responsive>
<thead>
<tr>
<th>Status Code</th>
<th>MESH Error Code</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>EPL-150</td>
<td>ERROR_TOO_MANY_MAILBOX_MATCHES</td>
<td>Multiple mailboxes matches</td>
</tr>
<tr>
<td>EPL-151</td>
<td>ERROR_NO_MAILBOX_MATCHES</td>
<td>No mailbox matched</td>
</tr>
<tr>
<td>EPL-152</td>
<td>ERROR_INVALID_NHSNUMBER</td>
<td>Invalid NHS Number</td>
</tr>
<tr>
<td>EPL-153</td>
<td>ERROR_NHSNUMBER_NOT_FOUND</td>
<td>NHS Number not found</td>
</tr>
<tr>
<td>EPL-154</td>
<td>ERROR_NO_DEMOGRAPHICS_MATCH</td>
<td>NHS Number supplied does not match the demographics</td>
</tr>
</tbody>
</table>


MESH will generate these errors in the form of error reports which will be placed in the sender’s mailbox to await collection and processing by the sending organisation.

---
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
- name: Error handling
filename: Error-handling.page.md
- name: ITK3
filename: ITK3.page.md
- name: Diagnostic information
filename: Diagnostic-information.page.md
- name: MESH endpoint lookup
filename: MESH-endpoint-lookup.page.md
- name: MESH API
filename: MESH-API.page.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
## {{page-title}}

This section assumes you're already familiar with MESH and contains information about how to populate the MESH configuration.

If you'd like to find out more about MESH, please see {{pagelink:Home/Design/Using-MESH}}.

<div class="nhsd-a-box nhsd-a-box--bg-light-yellow nhsd-!t-margin-bottom-6 nhsd-t-body">
<b>Important</b>: The preferred method for sending documents is via the MESH API. This is because the MESH API is more easily integrated into sending systems.<br /><br />The MESH client can be used to send the message, but the MESH API Address Lookup is still required if sending to an alternative care provider.<br /><br/>Message routing to registered practice can be used only if sending to the patient’s registered GP practice.
</div>

---
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
## {{page-title}}

All messages sent through this use case to non-GP practice care providers MUST use the MESH API Address Lookup function to lookup the MESH mailbox ID of the receiving care provider.

Details of how to use Address Lookup can be found on the [MESH API page](https://digital.nhs.uk/developer/api-catalogue/message-exchange-for-social-care-and-health-api#api-Endpoints-meshAddressLookup-0).


---
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
## {{page-title}}

When using the MESH API the Send Message API call will be used by a sending organisation API client to send a message to the MESH server. MESH metadata items are defined in HTTP header fields as described below:

`Mex-From` **MUST** contain the MESH mailbox ID of the sender of the message – in this case the originating organisation

`Mex-To` **MUST** contain the MESH mailbox ID of the receiver of the message – in this case either the mailbox ID for the patient's registered GP practice, or chosen community pharmacy

`Mex-Subject` **MUST** contain To text in the following format:

```
[title of document] for patient: [patient name], NHS number: [NHS Number], ODS code: [ODS Code]
```

`LocalID` **MUST** contain the ODS code of the sending organisation

An example `.CTL` file is given below for a Consultation Report message regarding a consultation which took place for a fictional patient:

- Patient name: Mrs Anne Teak
- NHS number: 1234567890
- Date of birth: 9th January 1955
- ODS code: GP0001

```xml
<DTSControl>
<Version>1.0</Version>
<AddressType>DTS</AddressType>
<MessageType>Data</MessageType>
<From_DTS>GP0001</From_DTS>
<To_DTS>GPPROVIDER_1234567890_09011955_Smith</To_DTS>
<Subject>Online consultation report for Mrs Anne Teak, NHS Number 1234567890, GP0001</Subject>
<LocalId>GP0001</LocalId>
<DTSId></DTSId>
<PartnerId></PartnerId>
<Compress>Y</Compress>
<Encrypted>N</Encrypted>
<WorkflowId>GPFED_CONSULT_REPORT</WorkflowId>
<ProcessId></ProcessId>
<DataChecksum></DataChecksum>
<IsCompressed>Y</IsCompressed>
</DTSControl>
```
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
## {{page-title}}

When using the MESH API the Send Message API call will be used by a practice API client to send a message to the MESH server. MESH metadata items are defined in HTTP header fields as described below:

More information can be found in the [MESH documentation](https://digital.nhs.uk/developer/api-catalogue/message-exchange-for-social-care-and-health-api#post-/messageexchange/-mailbox_id-/outbox).


- `mex-from` **MUST** contain the MESH mailbox ID of the sender of the message – for example, the originating organisation

- `mex-to` **MUST** contain the NHS Number, DOB and Surname of the patient delimited by the underscore character `_`. This enables automatic routing of the message to the registered GP MESH mailbox

- `mex-subject` **MUST** contain a string based on the following format: `[payload-title] for [patient-name], NHS Number: [nhs-number], seen at [practice-name], ODS code: [ods-code], version [version]`

- `mex-localid` **MUST** contain the ODS code of the sending organisation

- `mex-workflowid` **MUST** contain the string `GPCONNECT_SEND_DOCUMENT`

- `mex-localid` **MUST** contain the ODS code of the sending organisation

---
Loading

0 comments on commit 52f31b0

Please sign in to comment.