diff --git a/layer/nrlf/core/constants.py b/layer/nrlf/core/constants.py index 87f5be358..a54d962c5 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" # NOSONAR (S5332) This is a type code, not an actual URL @staticmethod def list(): @@ -111,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(): @@ -141,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 = { @@ -190,6 +193,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 +225,9 @@ def coding_value(self): # # Shared Care Records PointerTypes.SHARED_CARE_RECORD.value: Categories.RECORD_HEADINGS.value, + # + # Clinical documents + PointerTypes.ABOUT_ME.value: Categories.CLINICAL_DOCUMENT.value, } # 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 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..45b7476d1 100644 --- a/tests/performance/type-category-mappings.js +++ b/tests/performance/type-category-mappings.js @@ -121,4 +121,16 @@ export const CATEGORY_TYPE_GROUPS = [ }, ], }, + { + category: { + code: "423876004", + display: "Clinical document", + }, + types: [ + { + code: "1515851000000101", + display: "About me", + }, + ], + }, ];