From d99d82cd23991facf746b2cc24b8efd30ffd01b6 Mon Sep 17 00:00:00 2001 From: Kate Bobyn Date: Wed, 24 Jan 2024 13:54:55 +0000 Subject: [PATCH] SLINECLI-1666 producer documentation updates from NRLF --- specification/record-locator/producer.yaml | 136 ++++++++++++++++++--- 1 file changed, 121 insertions(+), 15 deletions(-) diff --git a/specification/record-locator/producer.yaml b/specification/record-locator/producer.yaml index c2945d0..3926481 100644 --- a/specification/record-locator/producer.yaml +++ b/specification/record-locator/producer.yaml @@ -10,7 +10,7 @@ info: The National Record Locator (NRL) enables organisations to share patient data nationwide. Rather than storing the data itself, it is used to share pointers to the data, held in provider systems. It acts as an index and not a data repository. Each document pointer is defined using the - [FHIR R4 DocumentReference](http://hl7.org/fhir/documentreference.html) standard. + [FHIR R4 DocumentReference](https://hl7.org/fhir/R4/documentreference.html) standard. ![National Record Locator](https://raw.githubusercontent.com/NHSDigital/nrl-producer-api/master/specification/nrl.png) @@ -29,9 +29,13 @@ info: the pointers are classified into the following types: * [Mental Health Crisis Plan](http://snomed.info/sct/736253002) - * [Emergency Healthcare Plan](http://snomed.info/sct/887701000000100) - * [End of Life Care Coordination Summary](http://snomed.info/sct|861421000000109) - * [National Early Warning Code 2](http://snomed.info/sct|1363501000000100) + * [Royal College of Physicians NEWS2 (National Early Warning Score 2) chart](http://snomed.info/sct/1363501000000100) + * [ReSPECT (Recommended Summary Plan for Emergency Care and Treatment) form](http://snomed.info/sct/1382601000000107) + * [Contingency plan](http://snomed.info/sct/325691000000100) + * [End of life care plan](http://snomed.info/sct/736373009) + * [End of Life Care Coordination Summary](http://snomed.info/sct/861421000000109) + * [Emergency Health Care Plans](http://snomed.info/sct/887701000000100) + * [Lloyd George record folder](http://snomed.info/sct|16521000000101) You can also retrieve booking and referral pointers however you can not currently do this by directly integrating with the National Record Locator, you must instead onboard to the [Booking and Referral - FHIR API](https://digital.nhs.uk/developer/api-catalogue/booking-and-referral-fhir) @@ -57,7 +61,8 @@ info: * improved performance and scalability. * improved onboarding experience. * authenticated using [signed JWT](https://digital.nhs.uk/developer/guides-and-documentation/security-and-authorisation/application-restricted-restful-apis-signed-jwt-authentication) rather than mTLS. - * greater flexibility, by wider support of the [FHIR R4 DocumentReference](http://hl7.org/fhir/documentreference.html) resource. + * greater flexibility, by wider support of the [FHIR R4 DocumentReference](https://hl7.org/fhir/R4/documentreference.html) resource. + * the application only supports json type FHIR, not XML ### Data availability, timing and quality @@ -296,7 +301,7 @@ paths: To create a document pointer you must ensure: - * the body must be a valid [FHIR R4 DocumentReference](http://hl7.org/fhir/documentreference.html) + * the body must be a valid [FHIR R4 DocumentReference](https://hl7.org/fhir/R4/documentreference.html) * `id` is a composite of the ODS Code and an identifier that is locally unique to your system. NRL does not generate globally unique ids, instead relies on producers to provide a locally unique id prefixed with their ODS code, making it globally unique. e.g. @@ -333,13 +338,43 @@ paths: ] } ``` + * `category` SHOULD indicate the broader class of the Document Type as agreed during [onboarding](#api-description__onboarding). e.g. + ``` + "type": { + "coding\": [ + { + "system": "http://snomed.info/sct", + "code": "1102421000000108", + "display": "Observations" + } + ] + } + ``` * `content` MUST have at least one entry. - * `content[].format[]` SHOULD indicate the mechanism for accessing documents, e.g. + * `content[].format` SHOULD indicate whether the data is structured or not, e.g. ``` - "format": [ + "format": { - "code": "ssp", - "display": "Spine Secure Proxy" + "system": "https://fhir.nhs.uk/STU3/CodeSystem/NRL-FormatCode-1", + "code": "urn:nhs-ic:unstructured" + "display": "Unstructured document" + } + ``` + * `author` SHOULD have an entry with an `Organization` reference using a valid ODS code. + * `author` MUST include an ASID if the document is to be accessed via SSP, e.g. + ``` + "author": [ + { + "identifier": { + "system": "https://fhir.nhs.uk/Id/ods-organization-code", + "value": "Y05868" + } + }, + { + "identifier": { + "system": "https://fhir.nhs.uk/Id/nhsSpineASID", + "value": "230811201350" + } } ] ``` @@ -1131,7 +1166,7 @@ paths: display: A parameter or value has resulted in a validation error diagnostics: "The requested document pointer cannot be read because it belongs to another organisation" description: | - Delete a single document pointer that your created. + Delete a single document pointer that you created. components: requestBodies: DocumentReference: @@ -1139,6 +1174,65 @@ components: application/fhir+json;version=1: schema: $ref: "#/components/schemas/DocumentReference" + example: + resourceType: DocumentReference + id: Y05868-00000000-make-unique-for-sandbox-request + status: current + docStatus: final + type: + coding: + - system: http://snomed.info/sct + code: "736253002" + display: Mental health crisis plan + category: + - coding: + - system: http://snomed.info/sct + code: "734163000" + display: Care plan + subject: + identifier: + system: https://fhir.nhs.uk/Id/nhs-number + value: "6700028191" + author: + - identifier: + system: https://fhir.nhs.uk/Id/ods-organization-code + value: Y05868 + - identifier: + system: https://fhir.nhs.uk/Id/nhsSpineASID + value: "012345678910" + custodian: + identifier: + system: https://fhir.nhs.uk/Id/ods-organization-code + value: Y05868 + description: Physical document mental health crisis plan + securityLabel: + - coding: + - system: http://terminology.hl7.org/CodeSystem/v3-Confidentiality + code: V + display: very restricted + content: + - attachment: + contentType: application/pdf + language: en-US + url: https://spine-proxy.national.ncrs.nhs.uk/https%3A%2F%2Fp1.nhs.uk%2FMentalhealthCrisisPlanReport.pdf + size: 3654 + hash: 2jmj7l5rSw0yVb/vlWAYkK/YBwk= + title: Mental health crisis plan report + creation: "2022-12-21T10:45:41+11:00" + format: + system: https://fhir.nhs.uk/STU3/CodeSystem/NRL-FormatCode-1 + code: "urn:nhs-ic:unstructured" + display: Unstructured document + context: + practiceSetting: + coding: + - system: http://snomed.info/sct + code: "788002001" + display: Adult mental health service + sourcePatientInfo: + identifier: + system: https://fhir.nhs.uk/Id/nhs-number + value: "6700028191" required: true schemas: OperationOutcome: @@ -1221,7 +1315,7 @@ components: - DocumentReference id: type: string - pattern: "[A-Za-z0-9\\-\\.]{1,64}" + pattern: "^(?=.{1,64}$)[A-Za-z0-9\\.]+-[A-Za-z0-9]+[A-Za-z0-9\\_\\-]*$" description: The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes. meta: $ref: "#/components/schemas/Meta" @@ -1910,9 +2004,21 @@ components: SNOMED_CODES_END_OF_LIFE_CARE_COORDINATION_SUMMARY: summary: End of Life Care Coordination Summary value: http://snomed.info/sct|861421000000109 - SNOMED_CODES_NATIONAL_EARLY_WARNING_SCORE_2: - summary: National Early Warning Code 2 + SNOMED_CODES_RESPECT_FORM: + summary: ReSPECT form + value: http://snomed.info/sct|1382601000000107 + SNOMED_CODES_NEWS2_CHART: + summary: Royal College of Physicians NEWS2 value: http://snomed.info/sct|1363501000000100 + SNOMED_CODES_CONTINGENCY_PLAN: + summary: Contingency plan + value: http://snomed.info/sct|325691000000100 + SNOMED_CODES_END_OF_LIFE_CARE_PLAN: + summary: End of life care plan + value: http://snomed.info/sct|736373009 + SNOMED_CODES_LLOYD_GEORGE_RECORD_FOLDER: + summary: Lloyd George record folder + value: http://snomed.info/sct|16521000000101 invalid: summary: Unknown value: http://snomed.info/sct|410970009 @@ -2007,4 +2113,4 @@ components: pattern: "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$" example: 60E0B220-8136-4CA5-AE46-1D97EF59D068 description: | - The X-Request-ID from the request header, if supplied, mirrored back. + The X-Request-ID from the request header, if supplied, mirrored back. \ No newline at end of file