From 8a90c8afee77e16bf2714b92172426e71edacc0d Mon Sep 17 00:00:00 2001 From: LeoKHoward <38526889+LeoKHoward@users.noreply.github.com> Date: Thu, 30 Oct 2025 10:09:54 +0000 Subject: [PATCH 01/14] NPA-5537: Add Default Legal Basis --- ...ip Service Sandbox.postman_collection.json | 63 +++++++++++++++---- 1 file changed, 51 insertions(+), 12 deletions(-) diff --git a/postman/Validated Relationship Service Sandbox.postman_collection.json b/postman/Validated Relationship Service Sandbox.postman_collection.json index c560b14b..d405901f 100644 --- a/postman/Validated Relationship Service Sandbox.postman_collection.json +++ b/postman/Validated Relationship Service Sandbox.postman_collection.json @@ -8772,6 +8772,11 @@ " \"display\": \"Parent\",", " \"system\": \"http://terminology.hl7.org/CodeSystem/v3-RoleCode\"", " }", + " {", + " \"code\": \"unknown\",", + " \"display\": \"Unknown\",", + " \"system\": \"https://fhir.nhs.uk/CodeSystem/proxy-legal-basis\"", + " }", " ]", " }", " }", @@ -8870,17 +8875,10 @@ " \"start\": \"2020-01-01\",", " \"end\": \"2021-12-31\"", " },", - " \"given\": [", - " \"Jane Marie Anne\"", - " ],", + " \"given\": [\"Jane Marie Anne\"],", " \"family\": \"Smith\",", - " \"prefix\": [", - " \"Mrs\"", - " ],", - " \"suffix\": [", - " \"MBE\",", - " \"PhD\"", - " ]", + " \"prefix\": [\"Mrs\"],", + " \"suffix\": [\"MBE\",\"PhD\"]", " }", " ],", " \"birthDate\": \"2022-10-22\",", @@ -8946,7 +8944,38 @@ " \"authority\": \"https://www.england.nhs.uk\",", " \"uri\": \"REPLACE_WITH_LINK_TO_PUBLISHED_NATIONAL_PROXY_STANDARD\"", " }", - " ]", + " ],", + " \"provision\": {", + " \"actor\": [", + " {", + " \"reference\": {", + " \"identifier\": {", + " \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",", + " \"value\": \"9000000019\"", + " },", + " \"type\": \"RelatedPerson\"", + " },", + " \"role\": {", + " \"coding\": [", + " {", + " \"code\": \"PRN\",", + " \"display\": \"Parent\",", + " \"system\": \"http://terminology.hl7.org/CodeSystem/v3-RoleCode\"", + " },", + " {", + " \"code\": \"unknown\",", + " \"display\": \"Unknown\",", + " \"system\": \"https://fhir.nhs.uk/CodeSystem/proxy-legal-basis\"", + " }", + " ]", + " }", + " }", + " ],", + " \"period\": {", + " \"start\": \"2025-02-11\",", + " \"end\": \"2026-02-11\"", + " }", + " }", " },", " \"search\": {", " \"mode\": \"match\"", @@ -9044,6 +9073,11 @@ " \"system\": \"http://terminology.hl7.org/CodeSystem/v3-RoleCode\",", " \"code\": \"MTH\",", " \"display\": \"mother\"", + " },", + " {", + " \"system\": \"https://fhir.nhs.uk/CodeSystem/proxy-legal-basis\",", + " \"code\": \"unknown\",", + " \"display\": \"Unknown\"", " }", " ]", " }", @@ -9328,6 +9362,11 @@ " \"display\": \"Parent\",", " \"system\": \"http://terminology.hl7.org/CodeSystem/v3-RoleCode\"", " }", + " {", + " \"code\": \"unknown\",", + " \"display\": \"Unknown\",", + " \"system\": \"https://fhir.nhs.uk/CodeSystem/proxy-legal-basis\"", + " }", " ]", " }", " }", @@ -10251,4 +10290,4 @@ "value": "https://sandbox.api.service.nhs.uk/validated-relationships/FHIR/R4" } ] -} \ No newline at end of file +} From f8bbe3b01e4d53cb2c10e284f20e92460f239ef4 Mon Sep 17 00:00:00 2001 From: LeoKHoward <38526889+LeoKHoward@users.noreply.github.com> Date: Mon, 3 Nov 2025 09:39:05 +0000 Subject: [PATCH 02/14] NPA-5537: Add new legal basis specs --- ...ip Service Sandbox.postman_collection.json | 61 ++------- sandbox/api/constants.py | 12 ++ sandbox/api/get_consent.py | 15 ++- sandbox/api/tests/test_get_consent.py | 30 +++++ ...p-unknown-legal-basis-include-patient.yaml | 81 ++++++++++++ ...legal-basis-include-performer-patient.yaml | 117 ++++++++++++++++++ ...unknown-legal-basis-include-performer.yaml | 66 ++++++++++ ...hild-relationship-unknown-legal-basis.yaml | 63 ++++++++++ 8 files changed, 394 insertions(+), 51 deletions(-) create mode 100644 specification/examples/responses/GET_Consent/single-mother-child-relationship-unknown-legal-basis-include-patient.yaml create mode 100644 specification/examples/responses/GET_Consent/single-mother-child-relationship-unknown-legal-basis-include-performer-patient.yaml create mode 100644 specification/examples/responses/GET_Consent/single-mother-child-relationship-unknown-legal-basis-include-performer.yaml create mode 100644 specification/examples/responses/GET_Consent/single-mother-child-relationship-unknown-legal-basis.yaml diff --git a/postman/Validated Relationship Service Sandbox.postman_collection.json b/postman/Validated Relationship Service Sandbox.postman_collection.json index d405901f..c8344783 100644 --- a/postman/Validated Relationship Service Sandbox.postman_collection.json +++ b/postman/Validated Relationship Service Sandbox.postman_collection.json @@ -8772,11 +8772,6 @@ " \"display\": \"Parent\",", " \"system\": \"http://terminology.hl7.org/CodeSystem/v3-RoleCode\"", " }", - " {", - " \"code\": \"unknown\",", - " \"display\": \"Unknown\",", - " \"system\": \"https://fhir.nhs.uk/CodeSystem/proxy-legal-basis\"", - " }", " ]", " }", " }", @@ -8875,10 +8870,17 @@ " \"start\": \"2020-01-01\",", " \"end\": \"2021-12-31\"", " },", - " \"given\": [\"Jane Marie Anne\"],", + " \"given\": [", + " \"Jane Marie Anne\"", + " ],", " \"family\": \"Smith\",", - " \"prefix\": [\"Mrs\"],", - " \"suffix\": [\"MBE\",\"PhD\"]", + " \"prefix\": [", + " \"Mrs\"", + " ],", + " \"suffix\": [", + " \"MBE\",", + " \"PhD\"", + " ]", " }", " ],", " \"birthDate\": \"2022-10-22\",", @@ -8944,38 +8946,7 @@ " \"authority\": \"https://www.england.nhs.uk\",", " \"uri\": \"REPLACE_WITH_LINK_TO_PUBLISHED_NATIONAL_PROXY_STANDARD\"", " }", - " ],", - " \"provision\": {", - " \"actor\": [", - " {", - " \"reference\": {", - " \"identifier\": {", - " \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",", - " \"value\": \"9000000019\"", - " },", - " \"type\": \"RelatedPerson\"", - " },", - " \"role\": {", - " \"coding\": [", - " {", - " \"code\": \"PRN\",", - " \"display\": \"Parent\",", - " \"system\": \"http://terminology.hl7.org/CodeSystem/v3-RoleCode\"", - " },", - " {", - " \"code\": \"unknown\",", - " \"display\": \"Unknown\",", - " \"system\": \"https://fhir.nhs.uk/CodeSystem/proxy-legal-basis\"", - " }", - " ]", - " }", - " }", - " ],", - " \"period\": {", - " \"start\": \"2025-02-11\",", - " \"end\": \"2026-02-11\"", - " }", - " }", + " ]", " },", " \"search\": {", " \"mode\": \"match\"", @@ -9073,11 +9044,6 @@ " \"system\": \"http://terminology.hl7.org/CodeSystem/v3-RoleCode\",", " \"code\": \"MTH\",", " \"display\": \"mother\"", - " },", - " {", - " \"system\": \"https://fhir.nhs.uk/CodeSystem/proxy-legal-basis\",", - " \"code\": \"unknown\",", - " \"display\": \"Unknown\"", " }", " ]", " }", @@ -9362,11 +9328,6 @@ " \"display\": \"Parent\",", " \"system\": \"http://terminology.hl7.org/CodeSystem/v3-RoleCode\"", " }", - " {", - " \"code\": \"unknown\",", - " \"display\": \"Unknown\",", - " \"system\": \"https://fhir.nhs.uk/CodeSystem/proxy-legal-basis\"", - " }", " ]", " }", " }", diff --git a/sandbox/api/constants.py b/sandbox/api/constants.py index 5d044316..b078d621 100644 --- a/sandbox/api/constants.py +++ b/sandbox/api/constants.py @@ -71,6 +71,18 @@ GET_CONSENT__MULTIPLE_RELATIONSHIPS_SINGLE_PATIENT_INCLUDE_BOTH = ( f"{GET_CONSENT__DIRECTORY}multiple-relationships-single-patient-include-performer-patient.yaml" ) +GET_CONSENT__SINGLE_MOTHER_CHILD_RELATIONSHIP_UNKNOWN_LEGAL_BASIS = ( + f"{GET_CONSENT__DIRECTORY}single-mother-child-relationship-unknown-legal-basis.yaml" +) +GET_CONSENT__SINGLE_MOTHER_CHILD_RELATIONSHIP_UNKNOWN_LEGAL_BASIS_INCLUDE_BOTH = ( + f"{GET_CONSENT__DIRECTORY}single-mother-child-relationship-unknown-legal-basis-include-performer-patient.yaml" +) +GET_CONSENT__SINGLE_MOTHER_CHILD_RELATIONSHIP_UNKNOWN_LEGAL_BASIS_INCLUDE_PATIENT = ( + f"{GET_CONSENT__DIRECTORY}single-mother-child-relationship-unknown-legal-basis-include-patient.yaml" +) +GET_CONSENT__SINGLE_MOTHER_CHILD_RELATIONSHIP_UNKNOWN_LEGAL_BASIS_INCLUDE_PERFORMER = ( + f"{GET_CONSENT__DIRECTORY}single-mother-child-relationship-unknown-legal-basis-include-performer.yaml" +) # GET Consent by ID GET_CONSENT_BY_ID__INVALID_ID_ERROR = f"{GET_CONSENT__DIRECTORY}ID/errors/invalid-id.yaml" diff --git a/sandbox/api/get_consent.py b/sandbox/api/get_consent.py index df34839d..0ff7eaee 100644 --- a/sandbox/api/get_consent.py +++ b/sandbox/api/get_consent.py @@ -21,7 +21,10 @@ GET_CONSENT__SINGLE_MOTHER_CHILD_RELATIONSHIP, GET_CONSENT__SINGLE_MOTHER_CHILD_RELATIONSHIP_INCLUDE_BOTH, INTERNAL_SERVER_ERROR_EXAMPLE, - INVALIDATED_RESOURCE, + INVALIDATED_RESOURCE, GET_CONSENT__SINGLE_MOTHER_CHILD_RELATIONSHIP_UNKNOWN_LEGAL_BASIS, + GET_CONSENT__SINGLE_MOTHER_CHILD_RELATIONSHIP_UNKNOWN_LEGAL_BASIS_INCLUDE_BOTH, + GET_CONSENT__SINGLE_MOTHER_CHILD_RELATIONSHIP_UNKNOWN_LEGAL_BASIS_INCLUDE_PATIENT, + GET_CONSENT__SINGLE_MOTHER_CHILD_RELATIONSHIP_UNKNOWN_LEGAL_BASIS_INCLUDE_PERFORMER, ) from .utils import ( check_for_consent_filtering, @@ -65,6 +68,16 @@ def get_consent_response() -> Union[dict, tuple]: GET_CONSENT__SINGLE_MOTHER_CHILD_RELATIONSHIP, GET_CONSENT__SINGLE_MOTHER_CHILD_RELATIONSHIP_INCLUDE_BOTH, ) + # Single mother-child relationship with unknown legal basis + elif performer_identifier == "9000000999" or patient_identifier == "9000000998": + return check_for_consent_include_params( + _include, + GET_CONSENT__SINGLE_MOTHER_CHILD_RELATIONSHIP_UNKNOWN_LEGAL_BASIS, + GET_CONSENT__SINGLE_MOTHER_CHILD_RELATIONSHIP_UNKNOWN_LEGAL_BASIS_INCLUDE_BOTH, + GET_CONSENT__SINGLE_MOTHER_CHILD_RELATIONSHIP_UNKNOWN_LEGAL_BASIS_INCLUDE_PATIENT, + GET_CONSENT__SINGLE_MOTHER_CHILD_RELATIONSHIP_UNKNOWN_LEGAL_BASIS_INCLUDE_PERFORMER, + ) + elif patient_identifier == "9000000100": return check_for_consent_include_params( _include, diff --git a/sandbox/api/tests/test_get_consent.py b/sandbox/api/tests/test_get_consent.py index c027b4d9..b36f02a1 100644 --- a/sandbox/api/tests/test_get_consent.py +++ b/sandbox/api/tests/test_get_consent.py @@ -168,6 +168,36 @@ def test_get_consent_returns_expected_responses__mocked_get_consent( "./api/examples/GET_Consent/multiple-relationships-single-patient-include-performer-patient.yaml", 200, ), + ( + "performer:identifier=9000000999", + "./api/examples/GET_Consent/single-mother-child-relationship-unknown-legal-basis.yaml", + 200, + ), + ( + "patient:identifier=9000000998", + "./api/examples/GET_Consent/single-mother-child-relationship-unknown-legal-basis.yaml", + 200, + ), + ( + "performer:identifier=9000000999&patient:identifier=9000000998", + "./api/examples/GET_Consent/single-mother-child-relationship-unknown-legal-basis.yaml", + 200, + ), + ( + "performer:identifier=9000000999&_include=Consent:patient", + "./api/examples/GET_Consent/single-mother-child-relationship-unknown-legal-basis-include-patient.yaml", + 200, + ), + ( + "performer:identifier=9000000999&_include=Consent:performer", + "./api/examples/GET_Consent/single-mother-child-relationship-unknown-legal-basis-include-performer.yaml", + 200, + ), + ( + "performer:identifier=9000000999&_include=Consent:performer&_include=Consent:patient", + "./api/examples/GET_Consent/single-mother-child-relationship-unknown-legal-basis-include-performer-patient.yaml", + 200, + ), ( "performer:identifier=9000000017&status=test", # Invalid status parameter error "./api/examples/GET_Consent/errors/invalid-status-parameter.yaml", diff --git a/specification/examples/responses/GET_Consent/single-mother-child-relationship-unknown-legal-basis-include-patient.yaml b/specification/examples/responses/GET_Consent/single-mother-child-relationship-unknown-legal-basis-include-patient.yaml new file mode 100644 index 00000000..18d064f9 --- /dev/null +++ b/specification/examples/responses/GET_Consent/single-mother-child-relationship-unknown-legal-basis-include-patient.yaml @@ -0,0 +1,81 @@ +ConsentSingleAdultChildRelationshipUnknownLegalBasisIncludePatientBundle: + summary: Single adult-child proxy relationship with patient details and unknown legal basis + description: A Bundle containing a single proxy relationship between an adult and child including the patient details where the legal basis is unknown. + value: + resourceType: Bundle + timestamp: "2020-08-26T14:00:00+00:00" + total: 1 + type: searchset + link: + - relation: self + url: https://sandbox.api.service.nhs.uk/validated-relationships/FHIR/R4/Consent?performer:identifier=9000000999&_include=Consent:patient + entry: + - fullUrl: https://api.service.nhs.uk/validated-relationships/FHIR/R4/Patient/A3CC6799 + resource: + resourceType: Patient + id: A3CC6799 + meta: + security: + - system: "https://fhir.nhs.uk/England/CodeSystem/England-NHSIdentityProofingLevel" + code: "P9" + display: "High level verification (P9)" + identifier: + - system: "https://fhir.nhs.uk/Id/nhs-number" + value: "9000000998" + - system: "https://placeholder.fhir.nhs.uk/Id/local-gp-patient-identifier" + value: ABC9999999 + name: + - id: "123457" + use: usual + period: + start: "2020-01-01" + end: "2021-12-31" + given: + - Jane Marie Anne + family: Smith + prefix: + - Mrs + suffix: + - MBE + - PhD + birthDate: "2022-10-22" + generalPractitioner: + - type: Organization + identifier: + value: ODS99999 + system: "https://fhir.nhs.uk/Id/ods-organization-code" + search: + mode: include + - fullUrl: https://api.service.nhs.uk/validated-relationships/FHIR/R4/Consent/UNKNOWN_LB_BBCC6799 + resource: + resourceType: Consent + id: UNKNOWN_LB_BBCC6799 + status: active + scope: + coding: + - system: "http://terminology.hl7.org/CodeSystem/consentscope" + code: patient-privacy + display: Privacy Consent + text: Patient Privacy Consent + category: + - coding: + - system: "http://terminology.hl7.org/CodeSystem/v3-ActCode" + code: INFA + display: Information Access + text: Information Access Consent + patient: + identifier: + system: "https://fhir.nhs.uk/Id/nhs-number" + value: "9000000998" + dateTime: "2024-07-21T17:32:28Z" + performer: + - identifier: + system: "https://fhir.nhs.uk/Id/nhs-number" + value: "9000000999" + policy: + - authority: https://www.england.nhs.uk + uri: REPLACE_WITH_LINK_TO_PUBLISHED_NATIONAL_PROXY_STANDARD + code: unknown + display: Unknown legal basis + search: + mode: match diff --git a/specification/examples/responses/GET_Consent/single-mother-child-relationship-unknown-legal-basis-include-performer-patient.yaml b/specification/examples/responses/GET_Consent/single-mother-child-relationship-unknown-legal-basis-include-performer-patient.yaml new file mode 100644 index 00000000..ecc241ce --- /dev/null +++ b/specification/examples/responses/GET_Consent/single-mother-child-relationship-unknown-legal-basis-include-performer-patient.yaml @@ -0,0 +1,117 @@ +ConsentSingleAdultChildRelationshipUnknownLegalBasisIncludePerformerPatientBundle: + summary: Single adult-child proxy relationship with performer and patient details and unknown legal basis + description: A Bundle containing a single proxy relationship between an adult and child including both the performer and patient details where the legal basis is unknown. + value: + resourceType: Bundle + timestamp: "2020-08-26T14:00:00+00:00" + total: 1 + type: searchset + link: + - relation: self + url: https://sandbox.api.service.nhs.uk/validated-relationships/FHIR/R4/Consent?performer:identifier=9000000999&_include=Consent:performer&_include=Consent:patient + entry: + - fullUrl: https://api.service.nhs.uk/validated-relationships/FHIR/R4/RelatedPerson/BE974799 + resource: + resourceType: RelatedPerson + id: BE974799 + identifier: + - system: "https://fhir.nhs.uk/Id/nhs-number" + value: "9000000999" + - system: "https://placeholder.fhir.nhs.uk/Id/local-gp-patient-identifier" + value: ABC9999998 + patient: + type: Patient + identifier: + system: "https://fhir.nhs.uk/Id/nhs-number" + value: "9000000998" + relationship: + - coding: + - system: "http://terminology.hl7.org/CodeSystem/v3-RoleCode" + code: PRN + display: parent + search: + mode: include + - fullUrl: https://api.service.nhs.uk/validated-relationships/FHIR/R4/Patient/A3CC6799 + resource: + resourceType: Patient + id: A3CC6799 + meta: + security: + - system: "https://fhir.nhs.uk/England/CodeSystem/England-NHSIdentityProofingLevel" + code: "P9" + display: "High level verification (P9)" + identifier: + - system: "https://fhir.nhs.uk/Id/nhs-number" + value: "9000000998" + - system: "https://placeholder.fhir.nhs.uk/Id/local-gp-patient-identifier" + value: ABC9999999 + name: + - id: "123457" + use: usual + period: + start: "2020-01-01" + end: "2021-12-31" + given: + - Jane Marie Anne + family: Smith + prefix: + - Mrs + suffix: + - MBE + - PhD + birthDate: "2022-10-22" + generalPractitioner: + - type: Organization + identifier: + value: ODS99999 + system: "https://fhir.nhs.uk/Id/ods-organization-code" + search: + mode: include + - fullUrl: https://api.service.nhs.uk/validated-relationships/FHIR/R4/Consent/UNKNOWN_LB_BBCC6799 + resource: + resourceType: Consent + id: UNKNOWN_LB_BBCC6799 + status: active + scope: + coding: + - system: "http://terminology.hl7.org/CodeSystem/consentscope" + code: patient-privacy + display: Privacy Consent + text: Patient Privacy Consent + category: + - coding: + - system: "http://terminology.hl7.org/CodeSystem/v3-ActCode" + code: INFA + display: Information Access + text: Information Access Consent + patient: + identifier: + system: "https://fhir.nhs.uk/Id/nhs-number" + value: "9000000998" + dateTime: "2024-07-21T17:32:28Z" + performer: + - identifier: + system: "https://fhir.nhs.uk/Id/nhs-number" + value: "9000000999" + policy: + - authority: https://www.england.nhs.uk + uri: REPLACE_WITH_LINK_TO_PUBLISHED_NATIONAL_PROXY_STANDARD + code: unknown + display: Unknown legal basis + provision: + actor: + - reference: + identifier: + system: https://fhir.nhs.uk/Id/nhs-number" + value: "9000000999" + type: RelatedPerson + role: + coding: + - code: PRN + display: Parent + system: http://terminology.hl7.org/CodeSystem/v3-RoleCode + period: + end: "2026-02-11" + start: "2025-02-11" + search: + mode: match diff --git a/specification/examples/responses/GET_Consent/single-mother-child-relationship-unknown-legal-basis-include-performer.yaml b/specification/examples/responses/GET_Consent/single-mother-child-relationship-unknown-legal-basis-include-performer.yaml new file mode 100644 index 00000000..a2876131 --- /dev/null +++ b/specification/examples/responses/GET_Consent/single-mother-child-relationship-unknown-legal-basis-include-performer.yaml @@ -0,0 +1,66 @@ +ConsentSingleAdultChildRelationshipUnknownLegalBasisIncludePerformerBundle: + summary: Single adult-child proxy relationship with performer details and unknown legal basis + description: A Bundle containing a single proxy relationship between an adult and child including the performer details where the legal basis is unknown. + value: + resourceType: Bundle + timestamp: '2020-08-26T14:00:00+00:00' + total: 1 + type: searchset + link: + - relation: self + url: https://sandbox.api.service.nhs.uk/validated-relationships/FHIR/R4/Consent?performer:identifier=9000000999&_include=Consent:performer + entry: + - fullUrl: https://api.service.nhs.uk/validated-relationships/FHIR/R4/RelatedPerson/BE974799 + resource: + resourceType: RelatedPerson + id: BE974799 + identifier: + - system: 'https://fhir.nhs.uk/Id/nhs-number' + value: '9000000999' + - system: 'https://placeholder.fhir.nhs.uk/Id/local-gp-patient-identifier' + value: ABC9999998 + patient: + type: Patient + identifier: + system: 'https://fhir.nhs.uk/Id/nhs-number' + value: '9000000998' + relationship: + - coding: + - system: 'http://terminology.hl7.org/CodeSystem/v3-RoleCode' + code: PRN + display: parent + search: + mode: include + - fullUrl: https://api.service.nhs.uk/validated-relationships/FHIR/R4/Consent/UNKNOWN_LB_BBCC6799 + resource: + resourceType: Consent + id: UNKNOWN_LB_BBCC6799 + status: active + scope: + coding: + - system: 'http://terminology.hl7.org/CodeSystem/consentscope' + code: patient-privacy + display: Privacy Consent + text: Patient Privacy Consent + category: + - coding: + - system: 'http://terminology.hl7.org/CodeSystem/v3-ActCode' + code: INFA + display: Information Access + text: Information Access Consent + patient: + identifier: + system: 'https://fhir.nhs.uk/Id/nhs-number' + value: '9000000998' + dateTime: '2024-07-21T17:32:28Z' + performer: + - identifier: + system: 'https://fhir.nhs.uk/Id/nhs-number' + value: '9000000999' + policy: + - authority: https://www.england.nhs.uk + uri: REPLACE_WITH_LINK_TO_PUBLISHED_NATIONAL_PROXY_STANDARD + code: unknown + display: Unknown legal basis + search: + mode: match diff --git a/specification/examples/responses/GET_Consent/single-mother-child-relationship-unknown-legal-basis.yaml b/specification/examples/responses/GET_Consent/single-mother-child-relationship-unknown-legal-basis.yaml new file mode 100644 index 00000000..f24b9048 --- /dev/null +++ b/specification/examples/responses/GET_Consent/single-mother-child-relationship-unknown-legal-basis.yaml @@ -0,0 +1,63 @@ +ConsentSingleAdultChildRelationshipUnknownLegalBasisBundle: + summary: Single adult-child proxy relationship with unknown legal basis + description: A Bundle containing a single proxy relationship between an adult and child where the legal basis is unknown + value: + resourceType: Bundle + timestamp: '2020-08-26T14:00:00+00:00' + total: 1 + type: searchset + link: + - relation: self + url: https://sandbox.api.service.nhs.uk/validated-relationships/FHIR/R4/Consent?performer:identifier=9000000999 + entry: + - fullUrl: https://api.service.nhs.uk/validated-relationships/FHIR/R4/Consent/UNKNOWN_LB_12345 + resource: + resourceType: Consent + id: UNKNOWN_LB_12345 + status: active + scope: + coding: + - system: 'http://terminology.hl7.org/CodeSystem/consentscope' + code: patient-privacy + display: Privacy Consent + text: Patient Privacy Consent + category: + - coding: + - system: 'http://terminology.hl7.org/CodeSystem/v3-ActCode' + code: INFA + display: Information Access + text: Information Access Consent + patient: + identifier: + system: 'https://fhir.nhs.uk/Id/nhs-number' + value: '9000000998' + dateTime: '2024-07-21T17:32:28Z' + performer: + - identifier: + system: 'https://fhir.nhs.uk/Id/nhs-number' + value: '9000000999' + policy: + - authority: https://www.england.nhs.uk + uri: REPLACE_WITH_LINK_TO_PUBLISHED_NATIONAL_PROXY_STANDARD + code: unknown + display: Unknown legal basis + provision: + actor: + - reference: + identifier: + system: https://fhir.nhs.uk/Id/nhs-number' + value: '9000000999' + type: RelatedPerson + role: + coding: + - code: PRN + display: Parent + system: http://terminology.hl7.org/CodeSystem/v3-RoleCode + - code: unknown + display: Unknown + system: https://fhir.nhs.uk/CodeSystem/proxy-legal-basis + period: + start: '2025-02-11' + end: '2026-02-11' + search: + mode: match From bc396be33c6c2db01dff6273e1769dfd37f8788e Mon Sep 17 00:00:00 2001 From: LeoKHoward <38526889+LeoKHoward@users.noreply.github.com> Date: Mon, 3 Nov 2025 09:41:56 +0000 Subject: [PATCH 03/14] NPA-5537: Sandbox formatting --- sandbox/api/get_consent.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sandbox/api/get_consent.py b/sandbox/api/get_consent.py index 0ff7eaee..b1f2f28c 100644 --- a/sandbox/api/get_consent.py +++ b/sandbox/api/get_consent.py @@ -21,7 +21,8 @@ GET_CONSENT__SINGLE_MOTHER_CHILD_RELATIONSHIP, GET_CONSENT__SINGLE_MOTHER_CHILD_RELATIONSHIP_INCLUDE_BOTH, INTERNAL_SERVER_ERROR_EXAMPLE, - INVALIDATED_RESOURCE, GET_CONSENT__SINGLE_MOTHER_CHILD_RELATIONSHIP_UNKNOWN_LEGAL_BASIS, + INVALIDATED_RESOURCE, + GET_CONSENT__SINGLE_MOTHER_CHILD_RELATIONSHIP_UNKNOWN_LEGAL_BASIS, GET_CONSENT__SINGLE_MOTHER_CHILD_RELATIONSHIP_UNKNOWN_LEGAL_BASIS_INCLUDE_BOTH, GET_CONSENT__SINGLE_MOTHER_CHILD_RELATIONSHIP_UNKNOWN_LEGAL_BASIS_INCLUDE_PATIENT, GET_CONSENT__SINGLE_MOTHER_CHILD_RELATIONSHIP_UNKNOWN_LEGAL_BASIS_INCLUDE_PERFORMER, From 9438ef678b3a4e16430edfada018d462fb4ce399 Mon Sep 17 00:00:00 2001 From: LeoKHoward <38526889+LeoKHoward@users.noreply.github.com> Date: Mon, 3 Nov 2025 09:45:18 +0000 Subject: [PATCH 04/14] NPA-5537: Test formatting --- sandbox/api/tests/test_get_consent.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sandbox/api/tests/test_get_consent.py b/sandbox/api/tests/test_get_consent.py index b36f02a1..c8acc168 100644 --- a/sandbox/api/tests/test_get_consent.py +++ b/sandbox/api/tests/test_get_consent.py @@ -195,7 +195,7 @@ def test_get_consent_returns_expected_responses__mocked_get_consent( ), ( "performer:identifier=9000000999&_include=Consent:performer&_include=Consent:patient", - "./api/examples/GET_Consent/single-mother-child-relationship-unknown-legal-basis-include-performer-patient.yaml", + "./api/examples/GET_Consent/single-mother-child-relationship-unknown-legal-basis-include-performer-patient.yaml", # noqa: E501 200, ), ( From 24f7d7cf84a4346586c7733b680744b3d40c7cb2 Mon Sep 17 00:00:00 2001 From: LeoKHoward <38526889+LeoKHoward@users.noreply.github.com> Date: Mon, 3 Nov 2025 13:16:00 +0000 Subject: [PATCH 05/14] NPA-5537: Removed excess scenarios --- sandbox/api/constants.py | 9 -- sandbox/api/get_consent.py | 6 - sandbox/api/tests/test_get_consent.py | 15 --- ...p-unknown-legal-basis-include-patient.yaml | 81 ------------ ...legal-basis-include-performer-patient.yaml | 117 ------------------ ...unknown-legal-basis-include-performer.yaml | 66 ---------- .../validated-relationships-service-api.yaml | 1 + 7 files changed, 1 insertion(+), 294 deletions(-) delete mode 100644 specification/examples/responses/GET_Consent/single-mother-child-relationship-unknown-legal-basis-include-patient.yaml delete mode 100644 specification/examples/responses/GET_Consent/single-mother-child-relationship-unknown-legal-basis-include-performer-patient.yaml delete mode 100644 specification/examples/responses/GET_Consent/single-mother-child-relationship-unknown-legal-basis-include-performer.yaml diff --git a/sandbox/api/constants.py b/sandbox/api/constants.py index b078d621..9c700c07 100644 --- a/sandbox/api/constants.py +++ b/sandbox/api/constants.py @@ -74,15 +74,6 @@ GET_CONSENT__SINGLE_MOTHER_CHILD_RELATIONSHIP_UNKNOWN_LEGAL_BASIS = ( f"{GET_CONSENT__DIRECTORY}single-mother-child-relationship-unknown-legal-basis.yaml" ) -GET_CONSENT__SINGLE_MOTHER_CHILD_RELATIONSHIP_UNKNOWN_LEGAL_BASIS_INCLUDE_BOTH = ( - f"{GET_CONSENT__DIRECTORY}single-mother-child-relationship-unknown-legal-basis-include-performer-patient.yaml" -) -GET_CONSENT__SINGLE_MOTHER_CHILD_RELATIONSHIP_UNKNOWN_LEGAL_BASIS_INCLUDE_PATIENT = ( - f"{GET_CONSENT__DIRECTORY}single-mother-child-relationship-unknown-legal-basis-include-patient.yaml" -) -GET_CONSENT__SINGLE_MOTHER_CHILD_RELATIONSHIP_UNKNOWN_LEGAL_BASIS_INCLUDE_PERFORMER = ( - f"{GET_CONSENT__DIRECTORY}single-mother-child-relationship-unknown-legal-basis-include-performer.yaml" -) # GET Consent by ID GET_CONSENT_BY_ID__INVALID_ID_ERROR = f"{GET_CONSENT__DIRECTORY}ID/errors/invalid-id.yaml" diff --git a/sandbox/api/get_consent.py b/sandbox/api/get_consent.py index b1f2f28c..6513e433 100644 --- a/sandbox/api/get_consent.py +++ b/sandbox/api/get_consent.py @@ -23,9 +23,6 @@ INTERNAL_SERVER_ERROR_EXAMPLE, INVALIDATED_RESOURCE, GET_CONSENT__SINGLE_MOTHER_CHILD_RELATIONSHIP_UNKNOWN_LEGAL_BASIS, - GET_CONSENT__SINGLE_MOTHER_CHILD_RELATIONSHIP_UNKNOWN_LEGAL_BASIS_INCLUDE_BOTH, - GET_CONSENT__SINGLE_MOTHER_CHILD_RELATIONSHIP_UNKNOWN_LEGAL_BASIS_INCLUDE_PATIENT, - GET_CONSENT__SINGLE_MOTHER_CHILD_RELATIONSHIP_UNKNOWN_LEGAL_BASIS_INCLUDE_PERFORMER, ) from .utils import ( check_for_consent_filtering, @@ -74,9 +71,6 @@ def get_consent_response() -> Union[dict, tuple]: return check_for_consent_include_params( _include, GET_CONSENT__SINGLE_MOTHER_CHILD_RELATIONSHIP_UNKNOWN_LEGAL_BASIS, - GET_CONSENT__SINGLE_MOTHER_CHILD_RELATIONSHIP_UNKNOWN_LEGAL_BASIS_INCLUDE_BOTH, - GET_CONSENT__SINGLE_MOTHER_CHILD_RELATIONSHIP_UNKNOWN_LEGAL_BASIS_INCLUDE_PATIENT, - GET_CONSENT__SINGLE_MOTHER_CHILD_RELATIONSHIP_UNKNOWN_LEGAL_BASIS_INCLUDE_PERFORMER, ) elif patient_identifier == "9000000100": diff --git a/sandbox/api/tests/test_get_consent.py b/sandbox/api/tests/test_get_consent.py index c8acc168..39068ffa 100644 --- a/sandbox/api/tests/test_get_consent.py +++ b/sandbox/api/tests/test_get_consent.py @@ -183,21 +183,6 @@ def test_get_consent_returns_expected_responses__mocked_get_consent( "./api/examples/GET_Consent/single-mother-child-relationship-unknown-legal-basis.yaml", 200, ), - ( - "performer:identifier=9000000999&_include=Consent:patient", - "./api/examples/GET_Consent/single-mother-child-relationship-unknown-legal-basis-include-patient.yaml", - 200, - ), - ( - "performer:identifier=9000000999&_include=Consent:performer", - "./api/examples/GET_Consent/single-mother-child-relationship-unknown-legal-basis-include-performer.yaml", - 200, - ), - ( - "performer:identifier=9000000999&_include=Consent:performer&_include=Consent:patient", - "./api/examples/GET_Consent/single-mother-child-relationship-unknown-legal-basis-include-performer-patient.yaml", # noqa: E501 - 200, - ), ( "performer:identifier=9000000017&status=test", # Invalid status parameter error "./api/examples/GET_Consent/errors/invalid-status-parameter.yaml", diff --git a/specification/examples/responses/GET_Consent/single-mother-child-relationship-unknown-legal-basis-include-patient.yaml b/specification/examples/responses/GET_Consent/single-mother-child-relationship-unknown-legal-basis-include-patient.yaml deleted file mode 100644 index 18d064f9..00000000 --- a/specification/examples/responses/GET_Consent/single-mother-child-relationship-unknown-legal-basis-include-patient.yaml +++ /dev/null @@ -1,81 +0,0 @@ -ConsentSingleAdultChildRelationshipUnknownLegalBasisIncludePatientBundle: - summary: Single adult-child proxy relationship with patient details and unknown legal basis - description: A Bundle containing a single proxy relationship between an adult and child including the patient details where the legal basis is unknown. - value: - resourceType: Bundle - timestamp: "2020-08-26T14:00:00+00:00" - total: 1 - type: searchset - link: - - relation: self - url: https://sandbox.api.service.nhs.uk/validated-relationships/FHIR/R4/Consent?performer:identifier=9000000999&_include=Consent:patient - entry: - - fullUrl: https://api.service.nhs.uk/validated-relationships/FHIR/R4/Patient/A3CC6799 - resource: - resourceType: Patient - id: A3CC6799 - meta: - security: - - system: "https://fhir.nhs.uk/England/CodeSystem/England-NHSIdentityProofingLevel" - code: "P9" - display: "High level verification (P9)" - identifier: - - system: "https://fhir.nhs.uk/Id/nhs-number" - value: "9000000998" - - system: "https://placeholder.fhir.nhs.uk/Id/local-gp-patient-identifier" - value: ABC9999999 - name: - - id: "123457" - use: usual - period: - start: "2020-01-01" - end: "2021-12-31" - given: - - Jane Marie Anne - family: Smith - prefix: - - Mrs - suffix: - - MBE - - PhD - birthDate: "2022-10-22" - generalPractitioner: - - type: Organization - identifier: - value: ODS99999 - system: "https://fhir.nhs.uk/Id/ods-organization-code" - search: - mode: include - - fullUrl: https://api.service.nhs.uk/validated-relationships/FHIR/R4/Consent/UNKNOWN_LB_BBCC6799 - resource: - resourceType: Consent - id: UNKNOWN_LB_BBCC6799 - status: active - scope: - coding: - - system: "http://terminology.hl7.org/CodeSystem/consentscope" - code: patient-privacy - display: Privacy Consent - text: Patient Privacy Consent - category: - - coding: - - system: "http://terminology.hl7.org/CodeSystem/v3-ActCode" - code: INFA - display: Information Access - text: Information Access Consent - patient: - identifier: - system: "https://fhir.nhs.uk/Id/nhs-number" - value: "9000000998" - dateTime: "2024-07-21T17:32:28Z" - performer: - - identifier: - system: "https://fhir.nhs.uk/Id/nhs-number" - value: "9000000999" - policy: - - authority: https://www.england.nhs.uk - uri: REPLACE_WITH_LINK_TO_PUBLISHED_NATIONAL_PROXY_STANDARD - code: unknown - display: Unknown legal basis - search: - mode: match diff --git a/specification/examples/responses/GET_Consent/single-mother-child-relationship-unknown-legal-basis-include-performer-patient.yaml b/specification/examples/responses/GET_Consent/single-mother-child-relationship-unknown-legal-basis-include-performer-patient.yaml deleted file mode 100644 index ecc241ce..00000000 --- a/specification/examples/responses/GET_Consent/single-mother-child-relationship-unknown-legal-basis-include-performer-patient.yaml +++ /dev/null @@ -1,117 +0,0 @@ -ConsentSingleAdultChildRelationshipUnknownLegalBasisIncludePerformerPatientBundle: - summary: Single adult-child proxy relationship with performer and patient details and unknown legal basis - description: A Bundle containing a single proxy relationship between an adult and child including both the performer and patient details where the legal basis is unknown. - value: - resourceType: Bundle - timestamp: "2020-08-26T14:00:00+00:00" - total: 1 - type: searchset - link: - - relation: self - url: https://sandbox.api.service.nhs.uk/validated-relationships/FHIR/R4/Consent?performer:identifier=9000000999&_include=Consent:performer&_include=Consent:patient - entry: - - fullUrl: https://api.service.nhs.uk/validated-relationships/FHIR/R4/RelatedPerson/BE974799 - resource: - resourceType: RelatedPerson - id: BE974799 - identifier: - - system: "https://fhir.nhs.uk/Id/nhs-number" - value: "9000000999" - - system: "https://placeholder.fhir.nhs.uk/Id/local-gp-patient-identifier" - value: ABC9999998 - patient: - type: Patient - identifier: - system: "https://fhir.nhs.uk/Id/nhs-number" - value: "9000000998" - relationship: - - coding: - - system: "http://terminology.hl7.org/CodeSystem/v3-RoleCode" - code: PRN - display: parent - search: - mode: include - - fullUrl: https://api.service.nhs.uk/validated-relationships/FHIR/R4/Patient/A3CC6799 - resource: - resourceType: Patient - id: A3CC6799 - meta: - security: - - system: "https://fhir.nhs.uk/England/CodeSystem/England-NHSIdentityProofingLevel" - code: "P9" - display: "High level verification (P9)" - identifier: - - system: "https://fhir.nhs.uk/Id/nhs-number" - value: "9000000998" - - system: "https://placeholder.fhir.nhs.uk/Id/local-gp-patient-identifier" - value: ABC9999999 - name: - - id: "123457" - use: usual - period: - start: "2020-01-01" - end: "2021-12-31" - given: - - Jane Marie Anne - family: Smith - prefix: - - Mrs - suffix: - - MBE - - PhD - birthDate: "2022-10-22" - generalPractitioner: - - type: Organization - identifier: - value: ODS99999 - system: "https://fhir.nhs.uk/Id/ods-organization-code" - search: - mode: include - - fullUrl: https://api.service.nhs.uk/validated-relationships/FHIR/R4/Consent/UNKNOWN_LB_BBCC6799 - resource: - resourceType: Consent - id: UNKNOWN_LB_BBCC6799 - status: active - scope: - coding: - - system: "http://terminology.hl7.org/CodeSystem/consentscope" - code: patient-privacy - display: Privacy Consent - text: Patient Privacy Consent - category: - - coding: - - system: "http://terminology.hl7.org/CodeSystem/v3-ActCode" - code: INFA - display: Information Access - text: Information Access Consent - patient: - identifier: - system: "https://fhir.nhs.uk/Id/nhs-number" - value: "9000000998" - dateTime: "2024-07-21T17:32:28Z" - performer: - - identifier: - system: "https://fhir.nhs.uk/Id/nhs-number" - value: "9000000999" - policy: - - authority: https://www.england.nhs.uk - uri: REPLACE_WITH_LINK_TO_PUBLISHED_NATIONAL_PROXY_STANDARD - code: unknown - display: Unknown legal basis - provision: - actor: - - reference: - identifier: - system: https://fhir.nhs.uk/Id/nhs-number" - value: "9000000999" - type: RelatedPerson - role: - coding: - - code: PRN - display: Parent - system: http://terminology.hl7.org/CodeSystem/v3-RoleCode - period: - end: "2026-02-11" - start: "2025-02-11" - search: - mode: match diff --git a/specification/examples/responses/GET_Consent/single-mother-child-relationship-unknown-legal-basis-include-performer.yaml b/specification/examples/responses/GET_Consent/single-mother-child-relationship-unknown-legal-basis-include-performer.yaml deleted file mode 100644 index a2876131..00000000 --- a/specification/examples/responses/GET_Consent/single-mother-child-relationship-unknown-legal-basis-include-performer.yaml +++ /dev/null @@ -1,66 +0,0 @@ -ConsentSingleAdultChildRelationshipUnknownLegalBasisIncludePerformerBundle: - summary: Single adult-child proxy relationship with performer details and unknown legal basis - description: A Bundle containing a single proxy relationship between an adult and child including the performer details where the legal basis is unknown. - value: - resourceType: Bundle - timestamp: '2020-08-26T14:00:00+00:00' - total: 1 - type: searchset - link: - - relation: self - url: https://sandbox.api.service.nhs.uk/validated-relationships/FHIR/R4/Consent?performer:identifier=9000000999&_include=Consent:performer - entry: - - fullUrl: https://api.service.nhs.uk/validated-relationships/FHIR/R4/RelatedPerson/BE974799 - resource: - resourceType: RelatedPerson - id: BE974799 - identifier: - - system: 'https://fhir.nhs.uk/Id/nhs-number' - value: '9000000999' - - system: 'https://placeholder.fhir.nhs.uk/Id/local-gp-patient-identifier' - value: ABC9999998 - patient: - type: Patient - identifier: - system: 'https://fhir.nhs.uk/Id/nhs-number' - value: '9000000998' - relationship: - - coding: - - system: 'http://terminology.hl7.org/CodeSystem/v3-RoleCode' - code: PRN - display: parent - search: - mode: include - - fullUrl: https://api.service.nhs.uk/validated-relationships/FHIR/R4/Consent/UNKNOWN_LB_BBCC6799 - resource: - resourceType: Consent - id: UNKNOWN_LB_BBCC6799 - status: active - scope: - coding: - - system: 'http://terminology.hl7.org/CodeSystem/consentscope' - code: patient-privacy - display: Privacy Consent - text: Patient Privacy Consent - category: - - coding: - - system: 'http://terminology.hl7.org/CodeSystem/v3-ActCode' - code: INFA - display: Information Access - text: Information Access Consent - patient: - identifier: - system: 'https://fhir.nhs.uk/Id/nhs-number' - value: '9000000998' - dateTime: '2024-07-21T17:32:28Z' - performer: - - identifier: - system: 'https://fhir.nhs.uk/Id/nhs-number' - value: '9000000999' - policy: - - authority: https://www.england.nhs.uk - uri: REPLACE_WITH_LINK_TO_PUBLISHED_NATIONAL_PROXY_STANDARD - code: unknown - display: Unknown legal basis - search: - mode: match diff --git a/specification/validated-relationships-service-api.yaml b/specification/validated-relationships-service-api.yaml index 3c4c25af..facdfae9 100644 --- a/specification/validated-relationships-service-api.yaml +++ b/specification/validated-relationships-service-api.yaml @@ -563,6 +563,7 @@ paths: | A single proxy relationship between consenting adults including details | `performer:identifier=9000000010` and/or `patient:identifier=9000000005&_include=Consent:patient&_include=Consent:proxy` | HTTP Status 200 Bundle containing a single proxy relationship including performer and patient details | | A single proxy relationship between a mother and child | `performer:identifier=9000000019` and/or `patient:identifier=9000000009` | HTTP Status 200 Bundle containing a single proxy relationship | | A single proxy relationship between a mother and child including details | `performer:identifier=9000000019` and/or `patient:identifier=9000000009&_include=Consent:patient&_include=Consent:proxy` | HTTP Status 200 Bundle containing a single proxy relationship including performer and patient details | + | A single proxy relationship between a mother and child with legal basis unknown | `performer:identifier=9000000999` and/or `patient:identifier=9000000998` | HTTP Status 200 Bundle containing a single proxy relationship with legal basis unknown | | Invalid status parameter | `performer:identifier=9000000019` and/or `patient:identifier=9000000009&status=test` | HTTP Status 422 and INVALID_PARAMETER error response | | Invalid include parameter | `performer:identifier=9000000019` and/or `patient:identifier=9000000009&_include=test` | HTTP Status 422 and INVALID_PARAMETER error response | | Missing identifier | `patient:identifier=9000000009` | HTTP Status 400 and MISSING_IDENTIFIER_VALUE error response | From be584fb0c39c8f502e1644b55dcc96ba554ee38a Mon Sep 17 00:00:00 2001 From: LeoKHoward <38526889+LeoKHoward@users.noreply.github.com> Date: Mon, 3 Nov 2025 14:03:06 +0000 Subject: [PATCH 06/14] NPA-5537: Updated postman spec --- ...ip Service Sandbox.postman_collection.json | 139 +++++++++++++----- sandbox/api/get_consent.py | 2 +- sandbox/api/tests/test_get_consent.py | 12 +- sandbox/api/utils.py | 2 +- ...hild-relationship-unknown-legal-basis.yaml | 15 +- 5 files changed, 114 insertions(+), 56 deletions(-) diff --git a/postman/Validated Relationship Service Sandbox.postman_collection.json b/postman/Validated Relationship Service Sandbox.postman_collection.json index 1e1637a0..539772af 100644 --- a/postman/Validated Relationship Service Sandbox.postman_collection.json +++ b/postman/Validated Relationship Service Sandbox.postman_collection.json @@ -1,11 +1,10 @@ { "info": { - "_postman_id": "e45a02c2-af60-4d4c-b790-c6708ae0f214", - "name": "Validated Relationship Service Sandbox 03/11/25", + "_postman_id": "a8bd4249-4a47-46b9-9224-bc83d112b161", + "name": "Validated Relationship Service Sandbox 04/11/25", "description": "This Postman collection includes example scenarios for each of the Validated Relationship Service (VRS) API endpoints, covering both valid and invalid request scenarios.\n\nThe collection is pointed towards the VRS sandbox environment, which will return a specific example response based on the request sent. All data shown in the requests or responses is test data.\n\nOur sandbox environment only covers the scenarios listed in the Postman collection and is open access. It does not allow you to test authorisation or any scenarios beyond the ones documented.\n\nFull specification is available at [https://digital.nhs.uk/developer/api-catalogue/validated-relationship-service](https://digital.nhs.uk/developer/api-catalogue/validated-relationship-service)", "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json", - "_exporter_id": "44536620", - "_collection_link": "https://l44444-2379.postman.co/workspace/aac72fed-09cc-4a02-a0b4-9429fb546dba/collection/44536620-e45a02c2-af60-4d4c-b790-c6708ae0f214?action=share&source=collection_link&creator=44536620" + "_exporter_id": "26376766" }, "item": [ { @@ -7352,50 +7351,119 @@ "response": [] }, { - "name": "No performer record found", + "name": "Single mother-child relationship unknown legal basis", "event": [ { "listen": "test", "script": { "exec": [ "const expectedResponseBody = {", - " \"resourceType\": \"OperationOutcome\",", - " \"issue\": [", - " { ", - " \"code\": \"processing\",", - " \"details\": {", - " \"coding\": [", + " \"resourceType\": \"Bundle\",", + " \"timestamp\": \"2020-08-26T14:00:00+00:00\",", + " \"total\": 1,", + " \"type\": \"searchset\",", + " \"link\": [", + " {", + " \"relation\": \"self\",", + " \"url\": \"https://sandbox.api.service.nhs.uk/validated-relationships/FHIR/R4/Consent?performer:identifier=9000000111\"", + " }", + " ],", + " \"entry\": [", + " {", + " \"fullUrl\": \"https://api.service.nhs.uk/validated-relationships/FHIR/R4/Consent/AF974742\",", + " \"resource\": {", + " \"resourceType\": \"Consent\",", + " \"id\": \"AF974742\",", + " \"status\": \"active\",", + " \"scope\": {", + " \"coding\": [", + " {", + " \"system\": \"http://terminology.hl7.org/CodeSystem/consentscope\",", + " \"code\": \"patient-privacy\",", + " \"display\": \"Privacy Consent\"", + " }", + " ],", + " \"text\": \"Patient Privacy Consent\"", + " },", + " \"category\": [", " {", - " \"system\": \"https://fhir.nhs.uk/R4/CodeSystem/ValidatedRelationships-ErrorOrWarningCode\",", - " \"version\": \"1\",", - " \"code\": \"INVALIDATED_RESOURCE\",", - " \"display\": \"Resource that has been marked as invalid was requested - invalid resources cannot be retrieved\"", + " \"coding\": [", + " {", + " \"system\": \"http://terminology.hl7.org/CodeSystem/v3-ActCode\",", + " \"code\": \"INFA\",", + " \"display\": \"Information Access\"", + " }", + " ],", + " \"text\": \"Information Access Consent\"", " }", - " ]", + " ],", + " \"patient\": {", + " \"identifier\": {", + " \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",", + " \"value\": \"9000000119\"", + " }", + " },", + " \"dateTime\": \"2024-07-21T17:32:28Z\",", + " \"performer\": [", + " {", + " \"identifier\": {", + " \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",", + " \"value\": \"9000000111\"", + " }", + " }", + " ],", + " \"policy\": [", + " {", + " \"authority\": \"https://www.england.nhs.uk\",", + " \"uri\": \"REPLACE_WITH_LINK_TO_PUBLISHED_NATIONAL_PROXY_STANDARD\",", + " \"code\": \"unknown\",", + " \"display\": \"Unknown legal basis\"", + " }", + " ],", + " \"provision\": {", + " \"actor\": [", + " {", + " \"reference\": {", + " \"identifier\": {", + " \"system\": \"https://fhir.nhs.uk/Id/nhs-number'\",", + " \"value\": \"9000000111\"", + " },", + " \"type\": \"RelatedPerson\"", + " },", + " \"role\": {", + " \"coding\": [", + " {", + " \"code\": \"unknown\",", + " \"display\": \"Unknown\",", + " \"system\": \"https://fhir.nhs.uk/CodeSystem/proxy-legal-basis\"", + " }", + " ]", + " }", + " }", + " ],", + " \"period\": {", + " \"start\": \"2025-02-11\",", + " \"end\": \"2026-02-11\"", + " }", + " }", " },", - " \"diagnostics\": \"Resource that has been marked as invalid was requested - invalid resources cannot be retrieved\",", - " \"severity\": \"error\",", - " ", + " \"search\": {", + " \"mode\": \"match\"", + " }", " }", " ]", "}", "", - "const responseJson = pm.response.json();", - "", - "pm.test(\"Status code is 404\", function () {", - " pm.response.to.have.status(404);", - "});", - "", - "pm.test(\"Should have correct error response\", () => {", - " pm.expect(responseJson.issue[0].details.coding[0].code).to.eql(\"INVALIDATED_RESOURCE\");", + "pm.test(\"Status code is 200\", function () {", + " pm.response.to.have.status(200);", "});", "", "pm.test(\"Should have correct response body\", () => {", + " const responseJson = pm.response.json();", " pm.expect(responseJson).to.eql(expectedResponseBody);", "});" ], - "type": "text/javascript", - "packages": {} + "type": "text/javascript" } } ], @@ -7403,7 +7471,7 @@ "method": "GET", "header": [], "url": { - "raw": "{{api_base_url}}/Consent?performer:identifier=9000000999", + "raw": "{{api_base_url}}/Consent?performer:identifier=9000000111", "host": [ "{{api_base_url}}" ], @@ -7413,7 +7481,7 @@ "query": [ { "key": "performer:identifier", - "value": "9000000999" + "value": "9000000111" } ] } @@ -10166,7 +10234,6 @@ "listen": "prerequest", "script": { "type": "text/javascript", - "packages": {}, "exec": [ "" ] @@ -10176,7 +10243,6 @@ "listen": "test", "script": { "type": "text/javascript", - "packages": {}, "exec": [ "pm.test(\"Response has FHIR content type\", () => {", " pm.expect(pm.response.headers.get('Content-Type')).to.include('application/fhir+json');", @@ -10189,6 +10255,11 @@ { "key": "api_base_url", "value": "https://sandbox.api.service.nhs.uk/validated-relationships/FHIR/R4" + }, + { + "value": "", + "type": "string", + "disabled": true } ] -} +} \ No newline at end of file diff --git a/sandbox/api/get_consent.py b/sandbox/api/get_consent.py index 6513e433..68cee8de 100644 --- a/sandbox/api/get_consent.py +++ b/sandbox/api/get_consent.py @@ -67,7 +67,7 @@ def get_consent_response() -> Union[dict, tuple]: GET_CONSENT__SINGLE_MOTHER_CHILD_RELATIONSHIP_INCLUDE_BOTH, ) # Single mother-child relationship with unknown legal basis - elif performer_identifier == "9000000999" or patient_identifier == "9000000998": + elif performer_identifier == "9000000111" or patient_identifier == "9000000119": return check_for_consent_include_params( _include, GET_CONSENT__SINGLE_MOTHER_CHILD_RELATIONSHIP_UNKNOWN_LEGAL_BASIS, diff --git a/sandbox/api/tests/test_get_consent.py b/sandbox/api/tests/test_get_consent.py index 39068ffa..17a1b2e3 100644 --- a/sandbox/api/tests/test_get_consent.py +++ b/sandbox/api/tests/test_get_consent.py @@ -169,17 +169,7 @@ def test_get_consent_returns_expected_responses__mocked_get_consent( 200, ), ( - "performer:identifier=9000000999", - "./api/examples/GET_Consent/single-mother-child-relationship-unknown-legal-basis.yaml", - 200, - ), - ( - "patient:identifier=9000000998", - "./api/examples/GET_Consent/single-mother-child-relationship-unknown-legal-basis.yaml", - 200, - ), - ( - "performer:identifier=9000000999&patient:identifier=9000000998", + "performer:identifier=9000000111&patient:identifier=9000000119", "./api/examples/GET_Consent/single-mother-child-relationship-unknown-legal-basis.yaml", 200, ), diff --git a/sandbox/api/utils.py b/sandbox/api/utils.py index 563f5a9f..1c8f1b5e 100644 --- a/sandbox/api/utils.py +++ b/sandbox/api/utils.py @@ -229,7 +229,7 @@ def generate_response_from_example(example_path: str, status_code: int, headers: def check_for_consent_include_params( _include: List[str], include_none_response_yaml: str, - include_both_response_yaml: str, + include_both_response_yaml: str = None, include_patient_response_yaml: str = None, include_performer_response_yaml: str = None, ) -> Response: diff --git a/specification/examples/responses/GET_Consent/single-mother-child-relationship-unknown-legal-basis.yaml b/specification/examples/responses/GET_Consent/single-mother-child-relationship-unknown-legal-basis.yaml index f24b9048..e744d308 100644 --- a/specification/examples/responses/GET_Consent/single-mother-child-relationship-unknown-legal-basis.yaml +++ b/specification/examples/responses/GET_Consent/single-mother-child-relationship-unknown-legal-basis.yaml @@ -8,12 +8,12 @@ ConsentSingleAdultChildRelationshipUnknownLegalBasisBundle: type: searchset link: - relation: self - url: https://sandbox.api.service.nhs.uk/validated-relationships/FHIR/R4/Consent?performer:identifier=9000000999 + url: https://sandbox.api.service.nhs.uk/validated-relationships/FHIR/R4/Consent?performer:identifier=9000000111 entry: - - fullUrl: https://api.service.nhs.uk/validated-relationships/FHIR/R4/Consent/UNKNOWN_LB_12345 + - fullUrl: https://api.service.nhs.uk/validated-relationships/FHIR/R4/Consent/AF974742 resource: resourceType: Consent - id: UNKNOWN_LB_12345 + id: AF974742 status: active scope: coding: @@ -30,12 +30,12 @@ ConsentSingleAdultChildRelationshipUnknownLegalBasisBundle: patient: identifier: system: 'https://fhir.nhs.uk/Id/nhs-number' - value: '9000000998' + value: '9000000119' dateTime: '2024-07-21T17:32:28Z' performer: - identifier: system: 'https://fhir.nhs.uk/Id/nhs-number' - value: '9000000999' + value: '9000000111' policy: - authority: https://www.england.nhs.uk uri: REPLACE_WITH_LINK_TO_PUBLISHED_NATIONAL_PROXY_STANDARD @@ -46,13 +46,10 @@ ConsentSingleAdultChildRelationshipUnknownLegalBasisBundle: - reference: identifier: system: https://fhir.nhs.uk/Id/nhs-number' - value: '9000000999' + value: '9000000111' type: RelatedPerson role: coding: - - code: PRN - display: Parent - system: http://terminology.hl7.org/CodeSystem/v3-RoleCode - code: unknown display: Unknown system: https://fhir.nhs.uk/CodeSystem/proxy-legal-basis From a7866933f3dffad01f31614981fe78d069346276 Mon Sep 17 00:00:00 2001 From: LeoKHoward <38526889+LeoKHoward@users.noreply.github.com> Date: Tue, 4 Nov 2025 07:59:15 +0000 Subject: [PATCH 07/14] NPA-5537: removed error speech mark --- ...ip Service Sandbox.postman_collection.json | 4 ++-- ...hild-relationship-unknown-legal-basis.yaml | 20 +++++++++---------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/postman/Validated Relationship Service Sandbox.postman_collection.json b/postman/Validated Relationship Service Sandbox.postman_collection.json index 539772af..2f236ae8 100644 --- a/postman/Validated Relationship Service Sandbox.postman_collection.json +++ b/postman/Validated Relationship Service Sandbox.postman_collection.json @@ -7425,7 +7425,7 @@ " {", " \"reference\": {", " \"identifier\": {", - " \"system\": \"https://fhir.nhs.uk/Id/nhs-number'\",", + " \"system\": \"https://fhir.nhs.uk/Id/nhs-number\",", " \"value\": \"9000000111\"", " },", " \"type\": \"RelatedPerson\"", @@ -10262,4 +10262,4 @@ "disabled": true } ] -} \ No newline at end of file +} diff --git a/specification/examples/responses/GET_Consent/single-mother-child-relationship-unknown-legal-basis.yaml b/specification/examples/responses/GET_Consent/single-mother-child-relationship-unknown-legal-basis.yaml index e744d308..94afa36a 100644 --- a/specification/examples/responses/GET_Consent/single-mother-child-relationship-unknown-legal-basis.yaml +++ b/specification/examples/responses/GET_Consent/single-mother-child-relationship-unknown-legal-basis.yaml @@ -43,16 +43,16 @@ ConsentSingleAdultChildRelationshipUnknownLegalBasisBundle: display: Unknown legal basis provision: actor: - - reference: - identifier: - system: https://fhir.nhs.uk/Id/nhs-number' - value: '9000000111' - type: RelatedPerson - role: - coding: - - code: unknown - display: Unknown - system: https://fhir.nhs.uk/CodeSystem/proxy-legal-basis + - reference: + identifier: + system: https://fhir.nhs.uk/Id/nhs-number + value: '9000000111' + type: RelatedPerson + role: + coding: + - code: unknown + display: Unknown + system: https://fhir.nhs.uk/CodeSystem/proxy-legal-basis period: start: '2025-02-11' end: '2026-02-11' From e8e1c6aa38c48696f1b243cf0ee4fd3803936e47 Mon Sep 17 00:00:00 2001 From: LeoKHoward <38526889+LeoKHoward@users.noreply.github.com> Date: Tue, 4 Nov 2025 08:06:42 +0000 Subject: [PATCH 08/14] NPA-5537: removed error speech mark and ran tests --- ...dated Relationship Service Sandbox.postman_collection.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/postman/Validated Relationship Service Sandbox.postman_collection.json b/postman/Validated Relationship Service Sandbox.postman_collection.json index 2f236ae8..1d2dbf9c 100644 --- a/postman/Validated Relationship Service Sandbox.postman_collection.json +++ b/postman/Validated Relationship Service Sandbox.postman_collection.json @@ -1,6 +1,6 @@ { "info": { - "_postman_id": "a8bd4249-4a47-46b9-9224-bc83d112b161", + "_postman_id": "b87cf1d9-a219-47e6-8cad-b359d2b63174", "name": "Validated Relationship Service Sandbox 04/11/25", "description": "This Postman collection includes example scenarios for each of the Validated Relationship Service (VRS) API endpoints, covering both valid and invalid request scenarios.\n\nThe collection is pointed towards the VRS sandbox environment, which will return a specific example response based on the request sent. All data shown in the requests or responses is test data.\n\nOur sandbox environment only covers the scenarios listed in the Postman collection and is open access. It does not allow you to test authorisation or any scenarios beyond the ones documented.\n\nFull specification is available at [https://digital.nhs.uk/developer/api-catalogue/validated-relationship-service](https://digital.nhs.uk/developer/api-catalogue/validated-relationship-service)", "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json", @@ -10262,4 +10262,4 @@ "disabled": true } ] -} +} \ No newline at end of file From b33c38516dcc4ed4a97ab81e517f14ddee4f1501 Mon Sep 17 00:00:00 2001 From: LeoKHoward <38526889+LeoKHoward@users.noreply.github.com> Date: Tue, 4 Nov 2025 13:02:26 +0000 Subject: [PATCH 09/14] NPA-5537: EB comments --- sandbox/api/utils.py | 2 +- specification/validated-relationships-service-api.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sandbox/api/utils.py b/sandbox/api/utils.py index 1c8f1b5e..51bb8300 100644 --- a/sandbox/api/utils.py +++ b/sandbox/api/utils.py @@ -238,7 +238,7 @@ def check_for_consent_include_params( Args: _include (List[str]): The include parameters supplied to the request include_none_response_yaml (str): Bundle to return when include params are empty - include_both_response_yaml (str): Bundle to return when include param is Consent:performer,Consent:patient + include_both_response_yaml (str): (optional) Bundle to return when include param is Consent:performer,Consent:patient include_patient_response_yaml (str): (optional) Bundle to return when include param is Consent:patient include_performer_response_yaml (str): (optional) Bundle to return when include param is Consent:performer diff --git a/specification/validated-relationships-service-api.yaml b/specification/validated-relationships-service-api.yaml index b3ca75fc..163983b7 100644 --- a/specification/validated-relationships-service-api.yaml +++ b/specification/validated-relationships-service-api.yaml @@ -563,7 +563,7 @@ paths: | A single proxy relationship between consenting adults including details | `performer:identifier=9000000010` and/or `patient:identifier=9000000005&_include=Consent:patient&_include=Consent:proxy` | HTTP Status 200 Bundle containing a single proxy relationship including performer and patient details | | A single proxy relationship between a mother and child | `performer:identifier=9000000019` and/or `patient:identifier=9000000009` | HTTP Status 200 Bundle containing a single proxy relationship | | A single proxy relationship between a mother and child including details | `performer:identifier=9000000019` and/or `patient:identifier=9000000009&_include=Consent:patient&_include=Consent:proxy` | HTTP Status 200 Bundle containing a single proxy relationship including performer and patient details | - | A single proxy relationship between a mother and child with legal basis unknown | `performer:identifier=9000000999` and/or `patient:identifier=9000000998` | HTTP Status 200 Bundle containing a single proxy relationship with legal basis unknown | + | A single proxy relationship between a mother and child with legal basis unknown | `performer:identifier=9000000111` and/or `patient:identifier=9000000119` | HTTP Status 200 Bundle containing a single proxy relationship with legal basis unknown | | Invalid status parameter | `performer:identifier=9000000019` and/or `patient:identifier=9000000009&status=test` | HTTP Status 422 and INVALID_PARAMETER error response | | Invalid include parameter | `performer:identifier=9000000019` and/or `patient:identifier=9000000009&_include=test` | HTTP Status 422 and INVALID_PARAMETER error response | | Missing identifier | `patient:identifier=9000000009` | HTTP Status 400 and MISSING_IDENTIFIER_VALUE error response | From 9979552119f6ce943b671c9b5ec6af582cb952a3 Mon Sep 17 00:00:00 2001 From: LeoKHoward <38526889+LeoKHoward@users.noreply.github.com> Date: Tue, 4 Nov 2025 13:05:30 +0000 Subject: [PATCH 10/14] NPA-5537: EB comments 2 --- sandbox/api/utils.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sandbox/api/utils.py b/sandbox/api/utils.py index 51bb8300..d5c5b6eb 100644 --- a/sandbox/api/utils.py +++ b/sandbox/api/utils.py @@ -238,7 +238,8 @@ def check_for_consent_include_params( Args: _include (List[str]): The include parameters supplied to the request include_none_response_yaml (str): Bundle to return when include params are empty - include_both_response_yaml (str): (optional) Bundle to return when include param is Consent:performer,Consent:patient + include_both_response_yaml (str): (optional) Bundle to return when include param + is Consent:performer,Consent:patient include_patient_response_yaml (str): (optional) Bundle to return when include param is Consent:patient include_performer_response_yaml (str): (optional) Bundle to return when include param is Consent:performer From 14e09608f20eeaa9856f03416069ca43f1c5e604 Mon Sep 17 00:00:00 2001 From: LeoKHoward <38526889+LeoKHoward@users.noreply.github.com> Date: Tue, 4 Nov 2025 13:37:17 +0000 Subject: [PATCH 11/14] NPA-5537: add block back in --- ...ip Service Sandbox.postman_collection.json | 71 ++++++++++++++++++- 1 file changed, 70 insertions(+), 1 deletion(-) diff --git a/postman/Validated Relationship Service Sandbox.postman_collection.json b/postman/Validated Relationship Service Sandbox.postman_collection.json index 1d2dbf9c..119cb83d 100644 --- a/postman/Validated Relationship Service Sandbox.postman_collection.json +++ b/postman/Validated Relationship Service Sandbox.postman_collection.json @@ -7488,6 +7488,75 @@ }, "response": [] }, + { + "name": "No performer record found", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "const expectedResponseBody = {", + " \"resourceType\": \"OperationOutcome\",", + " \"issue\": [", + " { ", + " \"code\": \"processing\",", + " \"details\": {", + " \"coding\": [", + " {", + " \"system\": \"https://fhir.nhs.uk/R4/CodeSystem/ValidatedRelationships-ErrorOrWarningCode\",", + " \"version\": \"1\",", + " \"code\": \"INVALIDATED_RESOURCE\",", + " \"display\": \"Resource that has been marked as invalid was requested - invalid resources cannot be retrieved\"", + " }", + " ]", + " },", + " \"diagnostics\": \"Resource that has been marked as invalid was requested - invalid resources cannot be retrieved\",", + " \"severity\": \"error\",", + " ", + " }", + " ]", + "}", + "", + "const responseJson = pm.response.json();", + "", + "pm.test(\"Status code is 404\", function () {", + " pm.response.to.have.status(404);", + "});", + "", + "pm.test(\"Should have correct error response\", () => {", + " pm.expect(responseJson.issue[0].details.coding[0].code).to.eql(\"INVALIDATED_RESOURCE\");", + "});", + "", + "pm.test(\"Should have correct response body\", () => {", + " pm.expect(responseJson).to.eql(expectedResponseBody);", + "});" + ], + "type": "text/javascript", + "packages": {} + } + } + ], + "request": { + "method": "GET", + "header": [], + "url": { + "raw": "{{api_base_url}}/Consent?performer:identifier=9000000999", + "host": [ + "{{api_base_url}}" + ], + "path": [ + "Consent" + ], + "query": [ + { + "key": "performer:identifier", + "value": "9000000999" + } + ] + } + }, + "response": [] + }, { "name": "Invalid performer identifier", "event": [ @@ -10262,4 +10331,4 @@ "disabled": true } ] -} \ No newline at end of file +} From 078c031b034bcd2b381b79ce3ebeac12a4259a56 Mon Sep 17 00:00:00 2001 From: LeoKHoward <38526889+LeoKHoward@users.noreply.github.com> Date: Tue, 4 Nov 2025 13:40:41 +0000 Subject: [PATCH 12/14] NPA-5537: update button --- ...dated Relationship Service Sandbox.postman_collection.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/postman/Validated Relationship Service Sandbox.postman_collection.json b/postman/Validated Relationship Service Sandbox.postman_collection.json index 119cb83d..36172052 100644 --- a/postman/Validated Relationship Service Sandbox.postman_collection.json +++ b/postman/Validated Relationship Service Sandbox.postman_collection.json @@ -1,6 +1,6 @@ { "info": { - "_postman_id": "b87cf1d9-a219-47e6-8cad-b359d2b63174", + "_postman_id": "b017be6f-f855-4e05-80f7-7768aad8cb3e", "name": "Validated Relationship Service Sandbox 04/11/25", "description": "This Postman collection includes example scenarios for each of the Validated Relationship Service (VRS) API endpoints, covering both valid and invalid request scenarios.\n\nThe collection is pointed towards the VRS sandbox environment, which will return a specific example response based on the request sent. All data shown in the requests or responses is test data.\n\nOur sandbox environment only covers the scenarios listed in the Postman collection and is open access. It does not allow you to test authorisation or any scenarios beyond the ones documented.\n\nFull specification is available at [https://digital.nhs.uk/developer/api-catalogue/validated-relationship-service](https://digital.nhs.uk/developer/api-catalogue/validated-relationship-service)", "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json", @@ -10331,4 +10331,4 @@ "disabled": true } ] -} +} \ No newline at end of file From f95b059f14baf00d81a88a4587c51b4ba80652de Mon Sep 17 00:00:00 2001 From: LeoKHoward <38526889+LeoKHoward@users.noreply.github.com> Date: Tue, 4 Nov 2025 13:47:11 +0000 Subject: [PATCH 13/14] NPA-5537: update button link --- ...lidated Relationship Service Sandbox.postman_collection.json | 2 +- specification/validated-relationships-service-api.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/postman/Validated Relationship Service Sandbox.postman_collection.json b/postman/Validated Relationship Service Sandbox.postman_collection.json index 36172052..55e673a0 100644 --- a/postman/Validated Relationship Service Sandbox.postman_collection.json +++ b/postman/Validated Relationship Service Sandbox.postman_collection.json @@ -1,6 +1,6 @@ { "info": { - "_postman_id": "b017be6f-f855-4e05-80f7-7768aad8cb3e", + "_postman_id": "4fd91043-1337-4f8b-92c9-96c597b343c8", "name": "Validated Relationship Service Sandbox 04/11/25", "description": "This Postman collection includes example scenarios for each of the Validated Relationship Service (VRS) API endpoints, covering both valid and invalid request scenarios.\n\nThe collection is pointed towards the VRS sandbox environment, which will return a specific example response based on the request sent. All data shown in the requests or responses is test data.\n\nOur sandbox environment only covers the scenarios listed in the Postman collection and is open access. It does not allow you to test authorisation or any scenarios beyond the ones documented.\n\nFull specification is available at [https://digital.nhs.uk/developer/api-catalogue/validated-relationship-service](https://digital.nhs.uk/developer/api-catalogue/validated-relationship-service)", "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json", diff --git a/specification/validated-relationships-service-api.yaml b/specification/validated-relationships-service-api.yaml index 163983b7..f9eab0ba 100644 --- a/specification/validated-relationships-service-api.yaml +++ b/specification/validated-relationships-service-api.yaml @@ -141,7 +141,7 @@ info: * only covers a limited set of scenarios * is open access, so does not allow you to test authorisation - [Run In Postman](https://app.getpostman.com/run-collection/44536620-e45a02c2-af60-4d4c-b790-c6708ae0f214?action=collection%2Ffork&source=rip_markdown&collection-url=entityId%3D44536620-e45a02c2-af60-4d4c-b790-c6708ae0f214%26entityType%3Dcollection%26workspaceId%3D65d46c77-2ee2-4fb0-92de-2ec03857a9e6) + [Run In Postman](https://run.pstmn.io/button.svg)](https://app.getpostman.com/run-collection/26376766-4fd91043-1337-4f8b-92c9-96c597b343c8?action=collection%2Ffork&collection-url=entityId%3D26376766-4fd91043-1337-4f8b-92c9-96c597b343c8%26entityType%3Dcollection%26workspaceId%3D8fc7bffa-055c-43e2-b94b-da0fdce3aa4b) ### Integration testing From 4041444a771bc1619a4960f91371d29c05767a53 Mon Sep 17 00:00:00 2001 From: LeoKHoward <38526889+LeoKHoward@users.noreply.github.com> Date: Tue, 4 Nov 2025 13:49:42 +0000 Subject: [PATCH 14/14] NPA-5537: update button link again --- specification/validated-relationships-service-api.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/specification/validated-relationships-service-api.yaml b/specification/validated-relationships-service-api.yaml index f9eab0ba..83dcd84f 100644 --- a/specification/validated-relationships-service-api.yaml +++ b/specification/validated-relationships-service-api.yaml @@ -141,8 +141,7 @@ info: * only covers a limited set of scenarios * is open access, so does not allow you to test authorisation - [Run In Postman](https://run.pstmn.io/button.svg)](https://app.getpostman.com/run-collection/26376766-4fd91043-1337-4f8b-92c9-96c597b343c8?action=collection%2Ffork&collection-url=entityId%3D26376766-4fd91043-1337-4f8b-92c9-96c597b343c8%26entityType%3Dcollection%26workspaceId%3D8fc7bffa-055c-43e2-b94b-da0fdce3aa4b) - + [Run In Postman](https://app.getpostman.com/run-collection/26376766-4fd91043-1337-4f8b-92c9-96c597b343c8?action=collection%2Ffork&collection-url=entityId%3D26376766-4fd91043-1337-4f8b-92c9-96c597b343c8%26entityType%3Dcollection%26workspaceId%3D8fc7bffa-055c-43e2-b94b-da0fdce3aa4b) ### Integration testing Our [integration test environment](https://digital.nhs.uk/developer/guides-and-documentation/testing#integration-testing)