diff --git a/proxies/live/apiproxy/policies/RaiseFault.400MissingRequestIdHeader.xml b/proxies/live/apiproxy/policies/RaiseFault.400MissingRequestIdHeader.xml
new file mode 100644
index 0000000..3ad87cf
--- /dev/null
+++ b/proxies/live/apiproxy/policies/RaiseFault.400MissingRequestIdHeader.xml
@@ -0,0 +1,26 @@
+
+
+
+
+ {
+ "resourceType": "OperationOutcome",
+ "issue": [ {
+ "severity": "error",
+ "code": "invalid",
+ "details": {
+ "coding": [ {
+ "system": "https://fhir.nhs.uk/CodeSystem/Spine-ErrorOrWarningCode",
+ "code": "MISSING_OR_INVALID_HEADER",
+ "display": "There is a required header missing or invalid"
+ } ]
+ },
+ "diagnostics": "The X-Request-Id header is missing or invalid"
+ } ]
+ }
+
+ 400
+ Bad Request
+
+
+ true
+
diff --git a/proxies/live/apiproxy/proxies/default.xml b/proxies/live/apiproxy/proxies/default.xml
index b67676f..e9a95ca 100644
--- a/proxies/live/apiproxy/proxies/default.xml
+++ b/proxies/live/apiproxy/proxies/default.xml
@@ -28,6 +28,14 @@
(proxy.pathsuffix MatchesPath "/_status") and ((request.verb = "GET") or (request.verb = "HEAD"))
+
+
+
+ RaiseFault.400MissingRequestIdHeader
+
+
+ request.verb != "OPTIONS" and (request.header.X-Request-Id = null or request.header.X-Request-Id = "")
+
diff --git a/proxies/sandbox/apiproxy/policies/RaiseFault.400MissingRequestIdHeader.xml b/proxies/sandbox/apiproxy/policies/RaiseFault.400MissingRequestIdHeader.xml
new file mode 100644
index 0000000..3ad87cf
--- /dev/null
+++ b/proxies/sandbox/apiproxy/policies/RaiseFault.400MissingRequestIdHeader.xml
@@ -0,0 +1,26 @@
+
+
+
+
+ {
+ "resourceType": "OperationOutcome",
+ "issue": [ {
+ "severity": "error",
+ "code": "invalid",
+ "details": {
+ "coding": [ {
+ "system": "https://fhir.nhs.uk/CodeSystem/Spine-ErrorOrWarningCode",
+ "code": "MISSING_OR_INVALID_HEADER",
+ "display": "There is a required header missing or invalid"
+ } ]
+ },
+ "diagnostics": "The X-Request-Id header is missing or invalid"
+ } ]
+ }
+
+ 400
+ Bad Request
+
+
+ true
+
diff --git a/proxies/sandbox/apiproxy/proxies/default.xml b/proxies/sandbox/apiproxy/proxies/default.xml
index 9673016..3f7b9bd 100644
--- a/proxies/sandbox/apiproxy/proxies/default.xml
+++ b/proxies/sandbox/apiproxy/proxies/default.xml
@@ -29,6 +29,14 @@
(proxy.pathsuffix MatchesPath "/_status") and ((request.verb = "GET") or (request.verb = "HEAD"))
+
+
+
+ RaiseFault.400MissingRequestIdHeader
+
+
+ request.verb != "OPTIONS" and (request.header.X-Request-Id = null or request.header.X-Request-Id = "")
+
diff --git a/proxies/sandbox/apiproxy/resources/jsc/ConnectionMetadata.SetRequestHeaders.js b/proxies/sandbox/apiproxy/resources/jsc/ConnectionMetadata.SetRequestHeaders.js
index 5588dbc..d0c5ba5 100644
--- a/proxies/sandbox/apiproxy/resources/jsc/ConnectionMetadata.SetRequestHeaders.js
+++ b/proxies/sandbox/apiproxy/resources/jsc/ConnectionMetadata.SetRequestHeaders.js
@@ -52,6 +52,7 @@ const permissions = [];
"nrl.ods-code-extension": odsCodeExtension,
"nrl.pointer-types": nrlPointerTypes,
"nrl.permissions": permissions,
+ "nrl.app-id": "NRL-SANDBOX-APP",
};
context.targetRequest.headers["NHSD-Connection-Metadata"] =
diff --git a/specification/record-locator/producer.yaml b/specification/record-locator/producer.yaml
index f73034b..78e51c2 100644
--- a/specification/record-locator/producer.yaml
+++ b/specification/record-locator/producer.yaml
@@ -28,14 +28,18 @@ info:
There is a growing list of health and social care organisations authorised to share records using NRL, and presently
the pointers are classified into the following types:
- * [Mental Health Crisis Plan](http://snomed.info/sct/736253002)
+ * [Mental health crisis plan](http://snomed.info/sct/736253002)
* [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)
+ * [Emergency health care plan](http://snomed.info/sct/887701000000100)
+ * [Lloyd George record folder](http://snomed.info/sct/16521000000101)
+ * [Advanced care plan](http://snomed.info/sct/736366004)
+ * [Treatment escalation plan](http://snomed.info/sct/735324008)
+ * [Summary record]("http://snomed.info/sct|824321000000109")
+ * [Personalised Care and Support Plan]("http://snomed.info/sct|2181441000000107")
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)
@@ -94,7 +98,7 @@ info:
## Service level
- This API is a bronze service, meaning it is operational and supported only during business hours (8am to 6pm), Monday to Friday excluding bank holidays.
+ This API is a gold service, meaning it is operational and supported 24 hours a day, 365 days a year.
For more details, see [service levels](https://digital.nhs.uk/developer/guides-and-documentation/reference-guide#service-levels).
@@ -2115,10 +2119,10 @@ components:
summary: None
value: ""
SNOMED_CODES_MENTAL_HEALTH_CRISIS_PLAN:
- summary: Mental Health Crisis Plan
+ summary: Mental health crisis plan
value: http://snomed.info/sct|736253002
SNOMED_CODES_EMERGENCY_HEALTH_CARE_PLAN:
- summary: Emergency Healthcare Plan
+ summary: Emergency health care plan
value: http://snomed.info/sct|887701000000100
SNOMED_CODES_END_OF_LIFE_CARE_COORDINATION_SUMMARY:
summary: End of Life Care Coordination Summary
@@ -2127,7 +2131,7 @@ components:
summary: ReSPECT form
value: http://snomed.info/sct|1382601000000107
SNOMED_CODES_NEWS2_CHART:
- summary: Royal College of Physicians NEWS2
+ summary: Royal College of Physicians NEWS2 chart
value: http://snomed.info/sct|1363501000000100
SNOMED_CODES_CONTINGENCY_PLAN:
summary: Contingency plan
@@ -2138,6 +2142,18 @@ components:
SNOMED_CODES_LLOYD_GEORGE_RECORD_FOLDER:
summary: Lloyd George record folder
value: http://snomed.info/sct|16521000000101
+ SNOMED_CODES_ADVANCED_CARE_PLAN:
+ summary: Advanced care plan
+ value: http://snomed.info/sct|736366004
+ SNOMED_CODES_TREATMENT_ESCALATION_PLAN:
+ summary: Treatment escalation plan
+ value: http://snomed.info/sct|735324008
+ SNOMED_CODES_SUMMARY_RECORD:
+ summary: Summary record
+ value: http://snomed.info/sct|824321000000109
+ SNOME_CODES_PERSONALISED_CARE_AND_SUPPORT_PLAN:
+ summary: Personalised Care and Support Plan
+ value: http://snomed.info/sct|2181441000000107
invalid:
summary: Unknown
value: http://snomed.info/sct|410970009
@@ -2179,7 +2195,7 @@ components:
Mirrored back in a response header.
in: header
- required: false
+ required: true
schema:
$ref: "#/components/schemas/RequestHeaderRequestId"
correlationId:
@@ -2232,4 +2248,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 mirrored back.