From 9db32c9289a7e622496ec408909d050f3942e72f Mon Sep 17 00:00:00 2001 From: Matt Dean Date: Thu, 16 Apr 2026 15:19:20 +0100 Subject: [PATCH 1/4] NRL-2000 Add About-me pointer type --- layer/nrlf/core/constants.py | 3 +++ tests/performance/environment.py | 1 + tests/performance/type-category-mappings.js | 4 ++++ 3 files changed, 8 insertions(+) diff --git a/layer/nrlf/core/constants.py b/layer/nrlf/core/constants.py index 87f5be358..6fbadeb4b 100644 --- a/layer/nrlf/core/constants.py +++ b/layer/nrlf/core/constants.py @@ -91,6 +91,7 @@ class PointerTypes(Enum): MRI_AXILLA_BOTH = "https://nicip.nhs.uk|MAXIB" APPOINTMENT = "http://snomed.info/sct|749001000000101" SHARED_CARE_RECORD = "http://snomed.info/sct|887181000000106" + ABOUT_ME = "http://snomed.info/sct|1515851000000101" @staticmethod def list(): @@ -190,6 +191,7 @@ def coding_value(self): "display": "Appointment", }, PointerTypes.SHARED_CARE_RECORD.value: {"display": "Clinical summary"}, + PointerTypes.ABOUT_ME.value: {"display": "About me"}, } TYPE_CATEGORIES = { @@ -221,6 +223,7 @@ def coding_value(self): # # Shared Care Records PointerTypes.SHARED_CARE_RECORD.value: Categories.RECORD_HEADINGS.value, + PointerTypes.ABOUT_ME.value: Categories.RECORD_HEADINGS.value, } # diff --git a/tests/performance/environment.py b/tests/performance/environment.py index 34d7a4abe..0a1db2608 100644 --- a/tests/performance/environment.py +++ b/tests/performance/environment.py @@ -34,6 +34,7 @@ class LogReference: "824321000000109": "Summary Record", "2181441000000107": "Personalised Care and Support Plan", "887181000000106": "Clinical summary", + "1515851000000101": "About me", } diff --git a/tests/performance/type-category-mappings.js b/tests/performance/type-category-mappings.js index 37939bdcf..abf5c5be6 100644 --- a/tests/performance/type-category-mappings.js +++ b/tests/performance/type-category-mappings.js @@ -119,6 +119,10 @@ export const CATEGORY_TYPE_GROUPS = [ code: "887181000000106", display: "Clinical summary", }, + { + code: "1515851000000101", + display: "About me", + }, ], }, ]; From e6c05d32685c6e8fcbd7fb8ddf3bf70309d4351a Mon Sep 17 00:00:00 2001 From: Matt Dean Date: Fri, 17 Apr 2026 08:51:43 +0100 Subject: [PATCH 2/4] NRL-2000 Add NOSONAR for new type url --- layer/nrlf/core/constants.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/layer/nrlf/core/constants.py b/layer/nrlf/core/constants.py index 6fbadeb4b..a0597ca94 100644 --- a/layer/nrlf/core/constants.py +++ b/layer/nrlf/core/constants.py @@ -91,7 +91,7 @@ class PointerTypes(Enum): MRI_AXILLA_BOTH = "https://nicip.nhs.uk|MAXIB" APPOINTMENT = "http://snomed.info/sct|749001000000101" SHARED_CARE_RECORD = "http://snomed.info/sct|887181000000106" - ABOUT_ME = "http://snomed.info/sct|1515851000000101" + ABOUT_ME = "http://snomed.info/sct|1515851000000101" # NOSONAR (S5332) This is a type code, not an actual URL @staticmethod def list(): From 79e78dd4b04d0367270c859b700dd58543ea076d Mon Sep 17 00:00:00 2001 From: Matt Dean Date: Fri, 17 Apr 2026 13:06:28 +0100 Subject: [PATCH 3/4] NRL-2000 Use correct category for about-me types --- layer/nrlf/core/constants.py | 6 +++++- tests/performance/type-category-mappings.js | 8 ++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/layer/nrlf/core/constants.py b/layer/nrlf/core/constants.py index a0597ca94..a54d962c5 100644 --- a/layer/nrlf/core/constants.py +++ b/layer/nrlf/core/constants.py @@ -112,6 +112,7 @@ class Categories(Enum): DIAGNOSTIC_PROCEDURE = "http://snomed.info/sct|103693007" RECORD_ARTIFACT = "http://snomed.info/sct|419891008" RECORD_HEADINGS = "http://snomed.info/sct|716931000000107" + CLINICAL_DOCUMENT = "http://snomed.info/sct|423876004" # NOSONAR (S5332) This is a category code, not an actual URL @staticmethod def list(): @@ -142,6 +143,7 @@ def coding_value(self): }, Categories.RECORD_ARTIFACT.value: {"display": "Record artifact"}, Categories.RECORD_HEADINGS.value: {"display": "Record headings"}, + Categories.CLINICAL_DOCUMENT.value: {"display": "Clinical document"}, } TYPE_ATTRIBUTES = { @@ -223,7 +225,9 @@ def coding_value(self): # # Shared Care Records PointerTypes.SHARED_CARE_RECORD.value: Categories.RECORD_HEADINGS.value, - PointerTypes.ABOUT_ME.value: Categories.RECORD_HEADINGS.value, + # + # Clinical documents + PointerTypes.ABOUT_ME.value: Categories.CLINICAL_DOCUMENT.value, } # diff --git a/tests/performance/type-category-mappings.js b/tests/performance/type-category-mappings.js index abf5c5be6..45b7476d1 100644 --- a/tests/performance/type-category-mappings.js +++ b/tests/performance/type-category-mappings.js @@ -119,6 +119,14 @@ export const CATEGORY_TYPE_GROUPS = [ code: "887181000000106", display: "Clinical summary", }, + ], + }, + { + category: { + code: "423876004", + display: "Clinical document", + }, + types: [ { code: "1515851000000101", display: "About me", From e3efdc32bf7132c43e625ab5622b0c1ad8d14e3a Mon Sep 17 00:00:00 2001 From: Matt Dean Date: Fri, 17 Apr 2026 13:21:40 +0100 Subject: [PATCH 4/4] NRL-2000 Add new type+category to FHIR valuesets and include in feature tests --- resources/fhir/NRLF-RecordCategory-ValueSet.json | 4 ++++ resources/fhir/NRLF-RecordType-ValueSet.json | 4 ++++ .../features/producer/createDocumentReference-success.feature | 4 ++++ 3 files changed, 12 insertions(+) diff --git a/resources/fhir/NRLF-RecordCategory-ValueSet.json b/resources/fhir/NRLF-RecordCategory-ValueSet.json index 048d7164e..8a93c0214 100644 --- a/resources/fhir/NRLF-RecordCategory-ValueSet.json +++ b/resources/fhir/NRLF-RecordCategory-ValueSet.json @@ -49,6 +49,10 @@ { "code": "716931000000107", "display": "Record headings" + }, + { + "code": "423876004", + "display": "Clinical document" } ] } diff --git a/resources/fhir/NRLF-RecordType-ValueSet.json b/resources/fhir/NRLF-RecordType-ValueSet.json index b2c51d803..08ab5bc31 100644 --- a/resources/fhir/NRLF-RecordType-ValueSet.json +++ b/resources/fhir/NRLF-RecordType-ValueSet.json @@ -77,6 +77,10 @@ { "code": "887181000000106", "display": "Clinical summary" + }, + { + "code": "1515851000000101", + "display": "About me" } ] }, diff --git a/tests/features/producer/createDocumentReference-success.feature b/tests/features/producer/createDocumentReference-success.feature index e7ea87d8c..bf1ce5c35 100644 --- a/tests/features/producer/createDocumentReference-success.feature +++ b/tests/features/producer/createDocumentReference-success.feature @@ -228,6 +228,10 @@ Feature: Producer - createDocumentReference - Success Scenarios | 749001000000101 | 419891008 | APPOINTMENT | | 887181000000106 | 716931000000107 | SHARED_CARE_RECORD | + Examples: Clinical documents + | pointer-type | pointer-category | type-name | + | 1515851000000101 | 423876004 | ABOUT_ME | + # Create with content and contact details # Create with contact details only # Create with multiple attachments