From 9b282598bce9ef3c4fdb789df323621fb4bef41d Mon Sep 17 00:00:00 2001 From: KazeemHamzat Date: Tue, 7 Apr 2026 14:34:01 +0100 Subject: [PATCH 01/44] Update StructureDefinition\NHSDigital-MedicationRequest Update StructureDefinition\NHSDigital-MedicationRequest --- ...dicationRequest-WithoutGroupID-Example.xml | 69 +++++++++++++++++++ .../NHSDigital-MedicationRequest.xml | 11 +-- fhirpkg.lock.json | 2 +- 3 files changed, 72 insertions(+), 10 deletions(-) create mode 100644 MedicationRequest/MedicationRequest-WithoutGroupID-Example.xml diff --git a/MedicationRequest/MedicationRequest-WithoutGroupID-Example.xml b/MedicationRequest/MedicationRequest-WithoutGroupID-Example.xml new file mode 100644 index 00000000..454bbfd4 --- /dev/null +++ b/MedicationRequest/MedicationRequest-WithoutGroupID-Example.xml @@ -0,0 +1,69 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/StructureDefinition/NHSDigital-MedicationRequest.xml b/StructureDefinition/NHSDigital-MedicationRequest.xml index 69ff9ec1..a7f27f63 100644 --- a/StructureDefinition/NHSDigital-MedicationRequest.xml +++ b/StructureDefinition/NHSDigital-MedicationRequest.xml @@ -2,11 +2,11 @@ - + <status value="draft" /> - <date value="2025-12-15T00:00:00+00:00" /> + <date value="2026-04-07T00:00:00+00:00" /> <publisher value="NHS England" /> <contact> <name value="NHS England" /> @@ -59,12 +59,6 @@ <human value="dispenseRequest.numberOfRepeatsAllowed should be populated for continuous-repeat-dispensing MedicationRequests." /> <expression value="(courseOfTherapyType.coding.code.startsWith('acute') or courseOfTherapyType.coding.code = 'continuous') or (courseOfTherapyType.coding.code.startsWith('continuous-repeat-dispensing') and dispenseRequest.exists() and dispenseRequest.numberOfRepeatsAllowed.exists())" /> </constraint> - <constraint> - <key value="eps-10" /> - <severity value="error" /> - <human value="For continuous-repeat-dispensing (intent=reflex-order) basedOn must be populated" /> - <expression value="(courseOfTherapyType.coding.code = 'acute') or (courseOfTherapyType.coding.code = 'continuous') or (courseOfTherapyType.coding.code = 'continuous-repeat-dispensing' and intent !='reflex-order') or (courseOfTherapyType.coding.code = 'continuous-repeat-dispensing' and intent ='reflex-order' and dispenseRequest.exists() and basedOn.exists())" /> - </constraint> <constraint> <key value="eps-11" /> <severity value="error" /> @@ -383,7 +377,6 @@ <short value="groupIdentifier (Short Form Prescription ID)" /> <definition value="The purpose of the Short Form Prescription ID is to identify the prescription during its lifecycle within the Spine (i.e. prescribe, dispense & claim). The prescription UUID is retained to provide the link through to the Spine medication record within the PSIS and must be included as the first identifier within the prescription message. The format of the Short Form Prescription ID is as follows; `<RandomNumber>-<PracticeODSCode/ClinicODSCode>-<PracticeSequence/ClinicSequence><CheckDigit>` Where; `<RandomNumber>` is a locally generated random number each time a Prescription ID is generated of length 6 hexadecimal characters. `<PracticeODSCode/ClinicODSCode>` is the unique ODS code for the practice or clinic code (aka cost centre) as defined within the Spine SDS of length 6 characters. Where the prescriber ODS code is shorter than 6 characters it must be zero-padded up to six characters from the start of the ODS code, e.g. “0A1B2C”. `<PracticeSequence/ClinicSequence>` is an incremental sequence number starting from 00000 that is reset after FFFFF back to zero of length 5 hexadecimal characters. For systems that support multiple practices or clinics, a sequence number per practice/clinic is required. This is to ensure uniqueness of prescriptions within the Spine EPS component during the prescription lifecycle. `<CheckDigit>` is calculated on the entire ID using the ISO/IEC 7064:2003 MOD 37-2 standard. The check digit algorithm is identical to that using for EPS Release 1. Note. Hyphens are always included to separate the ID into 3 blocks of 6 characters. Note. The implementation of the MOD 37-2 standard uses a “+” character for char 36 opposed to a “*” character. Short Form Prescription ID example (for illustration purposes only); **83C40E-A23856-00123W** ```json "groupIdentifier": { ... "system": "https://fhir.nhs.uk/Id/prescription-order-number", "value": "DC2C66-A1B2C3-23407B" }, ```" /> <comment value="ITK HL7v3 Mapping = The groupIdentifier is equivalent to ParentPrescription.id (prescription-order-number). The extension is used to carry the ParentPrescription.id (UUID)." /> - <min value="1" /> <mustSupport value="true" /> </element> <element id="MedicationRequest.groupIdentifier.extension"> diff --git a/fhirpkg.lock.json b/fhirpkg.lock.json index f149b185..06a46399 100644 --- a/fhirpkg.lock.json +++ b/fhirpkg.lock.json @@ -1,5 +1,5 @@ { - "updated": "2025-07-25T17:27:50.0661131+01:00", + "updated": "2026-04-07T12:57:28.4297209+01:00", "dependencies": { "hl7.fhir.r4.core": "4.0.1", "fhir.r4.ukcore.stu3.currentbuild": "0.0.3-pre-release" From ac4562272178a3b9cbe5df1df4c132337f0fd77b Mon Sep 17 00:00:00 2001 From: KazeemHamzat <kazeem.hamzat@nhs.net> Date: Tue, 7 Apr 2026 14:45:57 +0100 Subject: [PATCH 02/44] Add Extension-EPS-RepeatInformation Add Extension-EPS-RepeatInformation --- .../MedicationRequest-WithoutGroupID-Example.xml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/MedicationRequest/MedicationRequest-WithoutGroupID-Example.xml b/MedicationRequest/MedicationRequest-WithoutGroupID-Example.xml index 454bbfd4..a9fd6466 100644 --- a/MedicationRequest/MedicationRequest-WithoutGroupID-Example.xml +++ b/MedicationRequest/MedicationRequest-WithoutGroupID-Example.xml @@ -3,6 +3,14 @@ <extension url="https://fhir.nhs.uk/StructureDefinition/Extension-PendingCancellation"> <valueBoolean value="false" /> </extension> + <extension url="https://fhir.nhs.uk/StructureDefinition/Extension-EPS-RepeatInformation"> + <extension url="numberOfRepeatsAllowed"> + <valueInteger value="5" /> + </extension> + <extension url="numberOfRepeatsIssued"> + <valueInteger value="2" /> + </extension> + </extension> <extension url="https://fhir.nhs.uk/StructureDefinition/Extension-EPS-DispensingInformation"> <extension url="dispenseStatus"> <valueCoding> From c4c368a3e1513343f2e36cb2e0975f7ab240f5ec Mon Sep 17 00:00:00 2001 From: KazeemHamzat <kazeem.hamzat@nhs.net> Date: Tue, 7 Apr 2026 15:55:48 +0100 Subject: [PATCH 03/44] Update MedicationRequest-WithoutGroupID-Example Update MedicationRequest-WithoutGroupID-Example --- .../MedicationRequest-WithoutGroupID-Example.xml | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/MedicationRequest/MedicationRequest-WithoutGroupID-Example.xml b/MedicationRequest/MedicationRequest-WithoutGroupID-Example.xml index a9fd6466..799d8346 100644 --- a/MedicationRequest/MedicationRequest-WithoutGroupID-Example.xml +++ b/MedicationRequest/MedicationRequest-WithoutGroupID-Example.xml @@ -3,12 +3,13 @@ <extension url="https://fhir.nhs.uk/StructureDefinition/Extension-PendingCancellation"> <valueBoolean value="false" /> </extension> - <extension url="https://fhir.nhs.uk/StructureDefinition/Extension-EPS-RepeatInformation"> - <extension url="numberOfRepeatsAllowed"> - <valueInteger value="5" /> + <extension + url="https://fhir.hl7.org.uk/StructureDefinition/Extension-UKCore-MedicationRepeatInformation"> + <extension url="numberOfPrescriptionsIssued"> + <valueUnsignedInt value="3" /> </extension> - <extension url="numberOfRepeatsIssued"> - <valueInteger value="2" /> + <extension url="authorisationExpiryDate"> + <valueDateTime value="2026-12-31" /> </extension> </extension> <extension url="https://fhir.nhs.uk/StructureDefinition/Extension-EPS-DispensingInformation"> From e4ea72185ed990245b53d5d9dc46e0168161a4ee Mon Sep 17 00:00:00 2001 From: KazeemHamzat <kazeem.hamzat@nhs.net> Date: Tue, 7 Apr 2026 16:07:58 +0100 Subject: [PATCH 04/44] Update MedicationRequest-WithoutGroupID-Example Update MedicationRequest-WithoutGroupID-Example --- MedicationRequest/MedicationRequest-WithoutGroupID-Example.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MedicationRequest/MedicationRequest-WithoutGroupID-Example.xml b/MedicationRequest/MedicationRequest-WithoutGroupID-Example.xml index 799d8346..acf7d999 100644 --- a/MedicationRequest/MedicationRequest-WithoutGroupID-Example.xml +++ b/MedicationRequest/MedicationRequest-WithoutGroupID-Example.xml @@ -50,7 +50,7 @@ </subject> <courseOfTherapyType> <coding> - <system value="http://terminology.hl7.org/CodeSystem/medicationrequest-course-of-therapy" /> + <system value="https://fhir.nhs.uk/CodeSystem/medicationrequest-course-of-therapy" /> <code value="continuous-repeat-dispensing" /> <display value="Continuous long term (repeat dispensing)" /> </coding> From fba6fc915a01458701d999b67bf828af8af4a4bd Mon Sep 17 00:00:00 2001 From: KazeemHamzat <kazeem.hamzat@nhs.net> Date: Tue, 7 Apr 2026 16:50:55 +0100 Subject: [PATCH 05/44] Update MedicationRequest-WithoutGroupID-Example Update MedicationRequest-WithoutGroupID-Example --- MedicationRequest/MedicationRequest-WithoutGroupID-Example.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MedicationRequest/MedicationRequest-WithoutGroupID-Example.xml b/MedicationRequest/MedicationRequest-WithoutGroupID-Example.xml index acf7d999..22ae9f3a 100644 --- a/MedicationRequest/MedicationRequest-WithoutGroupID-Example.xml +++ b/MedicationRequest/MedicationRequest-WithoutGroupID-Example.xml @@ -1,5 +1,5 @@ <MedicationRequest xmlns="http://hl7.org/fhir"> - <id value="MedicationRequest-Prescription-Example" /> + <id value="MedicationRequest-WithoutGroupID-Example" /> <extension url="https://fhir.nhs.uk/StructureDefinition/Extension-PendingCancellation"> <valueBoolean value="false" /> </extension> From 456ff2bda117deb493f84d825deeebf722d7006b Mon Sep 17 00:00:00 2001 From: KazeemHamzat <kazeem.hamzat@nhs.net> Date: Wed, 8 Apr 2026 11:56:15 +0100 Subject: [PATCH 06/44] Update MedicationRequest-WithoutGroupID-Example Update MedicationRequest-WithoutGroupID-Example --- .../MedicationRequest-WithoutGroupID-Example.xml | 7 ------- 1 file changed, 7 deletions(-) diff --git a/MedicationRequest/MedicationRequest-WithoutGroupID-Example.xml b/MedicationRequest/MedicationRequest-WithoutGroupID-Example.xml index 22ae9f3a..a59348be 100644 --- a/MedicationRequest/MedicationRequest-WithoutGroupID-Example.xml +++ b/MedicationRequest/MedicationRequest-WithoutGroupID-Example.xml @@ -26,13 +26,6 @@ <value value="a54219b8-f741-4c47-b662-e4f8dfa49ab6" /> </identifier> <status value="active" /> - <statusReason> - <coding> - <system value="https://fhir.nhs.uk/CodeSystem/medicationrequest-status-reason" /> - <code value="0004" /> - <display value="Clinical grounds" /> - </coding> - </statusReason> <intent value="reflex-order" /> <medicationCodeableConcept> <coding> From f4bf2dae61696fd0ec1357d047931a056764ec5b Mon Sep 17 00:00:00 2001 From: KazeemHamzat <kazeem.hamzat@nhs.net> Date: Tue, 12 May 2026 17:04:16 +0100 Subject: [PATCH 07/44] Update ValueSet-DM-task-business-status Removing deadlink --- ValueSet/ValueSet-DM-task-business-status.xml | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/ValueSet/ValueSet-DM-task-business-status.xml b/ValueSet/ValueSet-DM-task-business-status.xml index ff4ed7a4..fdcb63e5 100644 --- a/ValueSet/ValueSet-DM-task-business-status.xml +++ b/ValueSet/ValueSet-DM-task-business-status.xml @@ -2,10 +2,10 @@ <ValueSet xmlns="http://hl7.org/fhir"> <id value="9715939a-920c-48f0-876c-dcf9aff01f8b"/> <url value="https://fhir.nhs.uk/ValueSet/DM-task-business-status"/> - <version value="1.0.0"/> + <version value="1.0.1"/> <name value="EPSTaskBusinessPrescriptionStatus"/> <status value="retired"/> - <date value='2025-04-22' /> + <date value='2026-05-12' /> <publisher value='NHS England' /> <contact> <name value='NHS England' /> @@ -15,10 +15,9 @@ <use value='work' /> <rank value='1' /> </telecom> - </contact -> + </contact> <description - value="A set of codes used to identify the status of a prescription or the status of an item on a prescription. This ValueSet is a subset of [ValueSet-TaskMedicationRequestStatusReason](https://simplifier.net/NHSDigital/3c1b87e6-422d-4ed8-8372-ae3366ab5306/~overview). Hence, it is a duplicate and the need to o retire it." /> + value="A set of codes used to identify the status of a prescription or the status of an item on a prescription. This ValueSet is a subset of [ValueSet-DM Prescription Task Status Reason](https://simplifier.net/NHSDigital/DM-PrescriptionTaskStatusReason/~overview). Hence, it is a duplicate and the need to o retire it." /> <copyright value="Copyright &#169; 2025+ NHS England Licensed under the Apache License, Version 2.0 (the \&quot;License\&quot;); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an \&quot;AS IS\&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. HL7&#174; FHIR&#174; standard Copyright &#169; 2011+ HL7 The HL7&#174; FHIR&#174; standard is used under the FHIR license. You may obtain a copy of the FHIR license at https://www.hl7.org/fhir/license.html." /> <compose> <include> From e183761f040f21c664b79761d7423e2175eebbe2 Mon Sep 17 00:00:00 2001 From: KazeemHamzat <kazeem.hamzat@nhs.net> Date: Tue, 12 May 2026 19:49:16 +0100 Subject: [PATCH 08/44] ConceptMap Issues ConceptMap Issues --- ...nceptMap-bsa-prescription-type-to-mim-organisation-type.json | 1 + ConceptMap/MedicationRequest-course-therapy-type-map.xml | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/ConceptMap/ConceptMap-bsa-prescription-type-to-mim-organisation-type.json b/ConceptMap/ConceptMap-bsa-prescription-type-to-mim-organisation-type.json index bb9f609e..9e7c3527 100644 --- a/ConceptMap/ConceptMap-bsa-prescription-type-to-mim-organisation-type.json +++ b/ConceptMap/ConceptMap-bsa-prescription-type-to-mim-organisation-type.json @@ -27,6 +27,7 @@ "group": [ { "source": "https://fhir.nhs.uk/CodeSystem/prescription-type", + "sourceVersion": "1.2.0", "target": "https://fhir.nhs.uk/CodeSystem/mim-organisation-type", "element": [ { diff --git a/ConceptMap/MedicationRequest-course-therapy-type-map.xml b/ConceptMap/MedicationRequest-course-therapy-type-map.xml index bf132719..48d6014f 100644 --- a/ConceptMap/MedicationRequest-course-therapy-type-map.xml +++ b/ConceptMap/MedicationRequest-course-therapy-type-map.xml @@ -21,7 +21,7 @@ <sourceUri value="https://fhir.nhs.uk/ValueSet/DM-prescription-therapy-type"/> <group> <source value="http://terminology.hl7.org/CodeSystem/medicationrequest-course-of-therapy"/> - <target value="https://fhir.nhs.uk/CodeSystem/DM-prescription-treatment-type"/> + <target value="https://fhir.hl7.org.uk/CodeSystem/UKCore-PrescriptionType" /> <element> <code value="acute"/> <display value="Short course (acute) therapy"/> From bab641c39ef9ff7f21899d5b957ea1b8c1f545b7 Mon Sep 17 00:00:00 2001 From: KazeemHamzat <kazeem.hamzat@nhs.net> Date: Tue, 12 May 2026 21:26:58 +0100 Subject: [PATCH 09/44] Remove Conflicting NamingSystems --- NamingSystem/prescription-type-ns.xml | 22 -------------------- NamingSystem/ukcore-prescription-type-ns.xml | 22 -------------------- 2 files changed, 44 deletions(-) delete mode 100644 NamingSystem/prescription-type-ns.xml delete mode 100644 NamingSystem/ukcore-prescription-type-ns.xml diff --git a/NamingSystem/prescription-type-ns.xml b/NamingSystem/prescription-type-ns.xml deleted file mode 100644 index 0f4e48e1..00000000 --- a/NamingSystem/prescription-type-ns.xml +++ /dev/null @@ -1,22 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<NamingSystem xmlns="http://hl7.org/fhir"> - <id value="prescription-type-ns"/> - <name value="Prescriptiontypens"/> - <status value="draft"/> - <kind value="codesystem"/> - <date value="2020-06-01"/> - <publisher value="NHS Digital"/> - <responsible value="NHS Digital"/> - <description value="Describes the type of prescription this is."/> - <usage value="EPS"/> - <uniqueId> - <type value="uri"/> - <value value="https://fhir.nhs.uk/CodeSystem/prescription-type"/> - <preferred value="true"/> - </uniqueId> - <uniqueId> - <type value="oid"/> - <value value="2.16.840.1.113883.2.1.3.2.4.17.25"/> - <preferred value="false"/> - </uniqueId> -</NamingSystem> \ No newline at end of file diff --git a/NamingSystem/ukcore-prescription-type-ns.xml b/NamingSystem/ukcore-prescription-type-ns.xml deleted file mode 100644 index 3906808b..00000000 --- a/NamingSystem/ukcore-prescription-type-ns.xml +++ /dev/null @@ -1,22 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<NamingSystem xmlns="http://hl7.org/fhir"> - <id value="ukcore-prescription-type-ns"/> - <name value="UKcoreprescriptiontypens"/> - <status value="draft"/> - <kind value="codesystem"/> - <date value="2020-06-01"/> - <publisher value="NHS Digital"/> - <responsible value="NHS Digital"/> - <description value="The management reasons for a prescription being issued."/> - <usage value="EPS"/> - <uniqueId> - <type value="uri"/> - <value value="https://fhir.hl7.org.uk/CodeSystem/UKCore-PrescriptionType"/> - <preferred value="true"/> - </uniqueId> - <uniqueId> - <type value="uri"/> - <value value="https://fhir.hl7.org.uk/STU3/CodeSystem/CareConnect-PrescriptionType-1"/> - <preferred value="false"/> - </uniqueId> -</NamingSystem> \ No newline at end of file From 06cc186de1cf3c78def3452fe3ef5e7eea564d27 Mon Sep 17 00:00:00 2001 From: KazeemHamzat <kazeem.hamzat@nhs.net> Date: Wed, 13 May 2026 20:05:52 +0100 Subject: [PATCH 10/44] Remove filter Remove filter --- ValueSet/ValueSet-DM-prescription-type.xml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/ValueSet/ValueSet-DM-prescription-type.xml b/ValueSet/ValueSet-DM-prescription-type.xml index b60fe709..2a1709d4 100644 --- a/ValueSet/ValueSet-DM-prescription-type.xml +++ b/ValueSet/ValueSet-DM-prescription-type.xml @@ -22,11 +22,6 @@ <include> <system value="https://fhir.nhs.uk/CodeSystem/prescription-type" /> <version value="1.2.0" /> - <filter> - <property value="deprecated" /> - <op value="exists" /> - <value value="false" /> - </filter> </include> </compose> <expansion> From 700338ec50d2fc5bb152f9594a9f122aed7e67b3 Mon Sep 17 00:00:00 2001 From: KazeemHamzat <kazeem.hamzat@nhs.net> Date: Mon, 18 May 2026 17:49:46 +0100 Subject: [PATCH 11/44] Prescription Status in MedicationRequest Prescription-Status-in-the-Medication-Request --- .github/workflows/firely-validation.yml | 59 +++++++++++++++++++++++++ .github/workflows/terminology.yml | 2 +- 2 files changed, 60 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/firely-validation.yml diff --git a/.github/workflows/firely-validation.yml b/.github/workflows/firely-validation.yml new file mode 100644 index 00000000..62b8f94e --- /dev/null +++ b/.github/workflows/firely-validation.yml @@ -0,0 +1,59 @@ +# This is a basic workflow to help you get started with Actions + +name: Firely Validation + +# Controls when the action will run. +on: + # Triggers the workflow on push or pull request events but only for the master branch + push: + branches: [ master, main ] + pull_request: + branches: [ master, main ] + + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + +# A workflow run is made up of one or more jobs that can run sequentially or in parallel +jobs: + + # Validate all resources using Firely Terminal + CI_FHIR_VALIDATION: + # The type of runner that the job will run on + runs-on: ubuntu-latest + + # Steps represent a sequence of tasks that will be executed as part of the job + steps: + - name: Checkout code + uses: actions/checkout@v6 + + # Install .NET runtime + - name: Setup .NET Core SDK + uses: actions/setup-dotnet@v5 + with: + dotnet-version: 8.0.x + + # Install Java runtime (only needed if you want to run the offical HL7 Java validator) + - name: Setup Java JDK + uses: actions/setup-java@v5 + with: + distribution: 'microsoft' + java-version: '21' + + - name: Firely.Terminal (GitHub Actions) + uses: FirelyTeam/firely-terminal-pipeline@v0.7.31 + with: + PATH_TO_CONFORMANCE_RESOURCES: StructureDefinition ValueSet CodeSystem + PATH_TO_EXAMPLES: ActivityDefinition AuditEvent BodyStructure Bundle CapabilityStatement Composition ConceptMap Condition Consent Device DiagnosticReport DocumentReference FamilyMemberHistory GraphDefinition Group Library MessageDefinition MessageHeader NamingSystem Observation OperationDefinition OperationOutcome Organization Parameters Patient PlanDefinition Practitioner PractitionerRole Procedure Provenance Questionnaire QuestionnaireResponse RelatedPerson RequestGroup SearchParameter ServiceRequest Specimen SpecimenDefinition StructureMap Subscription Task + PATH_TO_QUALITY_CONTROL_RULES: custom + DOTNET_VALIDATION_ENABLED: true + JAVA_VALIDATION_ENABLED: false + #EXPECTED_FAILS: VALIDATION_EXAMPLES_JAVA + SIMPLIFIER_USERNAME: ${{ secrets.SIMPLIFIER_USERNAME }} + SIMPLIFIER_PASSWORD: ${{ secrets.SIMPLIFIER_PASSWORD }} + FIRELY_TERMINAL_VERSION: 3.5.0 + SUSHI_ENABLED: false + + # - name: Add & Commit + # uses: EndBug/add-and-commit@v9 + # with: + # add: 'fsh-generated/resources/' \ No newline at end of file diff --git a/.github/workflows/terminology.yml b/.github/workflows/terminology.yml index eb43eec7..2b54685a 100644 --- a/.github/workflows/terminology.yml +++ b/.github/workflows/terminology.yml @@ -5,7 +5,7 @@ on: # Triggers the workflow on push or pull request events but only for the master branch # Allows you to run this workflow manually from the Actions tab - push: + #push: workflow_dispatch: From 3bb6eeb3884e711cfc1956b383633a67776ebd3b Mon Sep 17 00:00:00 2001 From: KazeemHamzat <kazeem.hamzat@nhs.net> Date: Mon, 18 May 2026 18:10:25 +0100 Subject: [PATCH 12/44] Added Firely Action Added Firely Action --- .github/workflows/firely-validation.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/firely-validation.yml b/.github/workflows/firely-validation.yml index 62b8f94e..6d144596 100644 --- a/.github/workflows/firely-validation.yml +++ b/.github/workflows/firely-validation.yml @@ -6,9 +6,9 @@ name: Firely Validation on: # Triggers the workflow on push or pull request events but only for the master branch push: - branches: [ master, main ] + branches: [ nhsdigital_main] pull_request: - branches: [ master, main ] + branches: [nhsdigital_main] # Allows you to run this workflow manually from the Actions tab workflow_dispatch: From ecb5322ab16ec17e31532cab8c262ccde6a26caf Mon Sep 17 00:00:00 2001 From: KazeemHamzat <kazeem.hamzat@nhs.net> Date: Mon, 18 May 2026 18:52:36 +0100 Subject: [PATCH 13/44] Firely Credentials Issue Firely Credentials Issue --- .github/workflows/firely-validation.yml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/.github/workflows/firely-validation.yml b/.github/workflows/firely-validation.yml index 6d144596..949cf252 100644 --- a/.github/workflows/firely-validation.yml +++ b/.github/workflows/firely-validation.yml @@ -39,6 +39,7 @@ jobs: distribution: 'microsoft' java-version: '21' + - name: Firely.Terminal (GitHub Actions) uses: FirelyTeam/firely-terminal-pipeline@v0.7.31 with: @@ -53,6 +54,17 @@ jobs: FIRELY_TERMINAL_VERSION: 3.5.0 SUSHI_ENABLED: false + - name: Verify Simplifier Access + env: + SIMPLIFIER_USERNAME: ${{ secrets.SIMPLIFIER_USERNAME }} + SIMPLIFIER_PASSWORD: ${{ secrets.SIMPLIFIER_PASSWORD }} + run: | + if [[ -z "$SIMPLIFIER_USERNAME" || -z "$SIMPLIFIER_PASSWORD" ]]; then + echo "ERROR: Simplifier credentials not configured" + exit 1 + fi + echo "Credentials found" + # - name: Add & Commit # uses: EndBug/add-and-commit@v9 # with: From 51815180374f44645163051c198e84b8140dc8e4 Mon Sep 17 00:00:00 2001 From: KazeemHamzat <kazeem.hamzat@nhs.net> Date: Mon, 18 May 2026 19:05:02 +0100 Subject: [PATCH 14/44] Credentials Credentials --- .github/workflows/firely-validation.yml | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/.github/workflows/firely-validation.yml b/.github/workflows/firely-validation.yml index 949cf252..1b295b75 100644 --- a/.github/workflows/firely-validation.yml +++ b/.github/workflows/firely-validation.yml @@ -38,7 +38,18 @@ jobs: with: distribution: 'microsoft' java-version: '21' - + + - name: Verify Simplifier Access + env: + SIMPLIFIER_USERNAME: ${{ secrets.SIMPLIFIER_USERNAME }} + SIMPLIFIER_PASSWORD: ${{ secrets.SIMPLIFIER_PASSWORD }} + run: | + if [[ -z "$SIMPLIFIER_USERNAME" || -z "$SIMPLIFIER_PASSWORD" ]]; then + echo "ERROR: Simplifier credentials not configured" + exit 1 + fi + + echo "Credentials found" - name: Firely.Terminal (GitHub Actions) uses: FirelyTeam/firely-terminal-pipeline@v0.7.31 @@ -54,16 +65,7 @@ jobs: FIRELY_TERMINAL_VERSION: 3.5.0 SUSHI_ENABLED: false - - name: Verify Simplifier Access - env: - SIMPLIFIER_USERNAME: ${{ secrets.SIMPLIFIER_USERNAME }} - SIMPLIFIER_PASSWORD: ${{ secrets.SIMPLIFIER_PASSWORD }} - run: | - if [[ -z "$SIMPLIFIER_USERNAME" || -z "$SIMPLIFIER_PASSWORD" ]]; then - echo "ERROR: Simplifier credentials not configured" - exit 1 - fi - echo "Credentials found" + # - name: Add & Commit # uses: EndBug/add-and-commit@v9 From 9ebe577e4c4b2847ed54a44eece7c06ebbe3ed1d Mon Sep 17 00:00:00 2001 From: KazeemHamzat <kazeem.hamzat@nhs.net> Date: Mon, 18 May 2026 19:09:04 +0100 Subject: [PATCH 15/44] Cred --- .github/workflows/firely-validation.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/firely-validation.yml b/.github/workflows/firely-validation.yml index 1b295b75..9e3efc71 100644 --- a/.github/workflows/firely-validation.yml +++ b/.github/workflows/firely-validation.yml @@ -6,7 +6,7 @@ name: Firely Validation on: # Triggers the workflow on push or pull request events but only for the master branch push: - branches: [ nhsdigital_main] + branches: [nhsdigital_main] pull_request: branches: [nhsdigital_main] From 33b9af1180705ba735fcf7599f668729b91956d6 Mon Sep 17 00:00:00 2001 From: KazeemHamzat <kazeem.hamzat@nhs.net> Date: Mon, 18 May 2026 19:20:15 +0100 Subject: [PATCH 16/44] Bypass --- .github/workflows/firely-validation.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/firely-validation.yml b/.github/workflows/firely-validation.yml index 9e3efc71..18259e17 100644 --- a/.github/workflows/firely-validation.yml +++ b/.github/workflows/firely-validation.yml @@ -56,7 +56,7 @@ jobs: with: PATH_TO_CONFORMANCE_RESOURCES: StructureDefinition ValueSet CodeSystem PATH_TO_EXAMPLES: ActivityDefinition AuditEvent BodyStructure Bundle CapabilityStatement Composition ConceptMap Condition Consent Device DiagnosticReport DocumentReference FamilyMemberHistory GraphDefinition Group Library MessageDefinition MessageHeader NamingSystem Observation OperationDefinition OperationOutcome Organization Parameters Patient PlanDefinition Practitioner PractitionerRole Procedure Provenance Questionnaire QuestionnaireResponse RelatedPerson RequestGroup SearchParameter ServiceRequest Specimen SpecimenDefinition StructureMap Subscription Task - PATH_TO_QUALITY_CONTROL_RULES: custom + PATH_TO_QUALITY_CONTROL_RULES: "" DOTNET_VALIDATION_ENABLED: true JAVA_VALIDATION_ENABLED: false #EXPECTED_FAILS: VALIDATION_EXAMPLES_JAVA From 0cde4b48eae19420d23cf1d0b20d7f0e79311c2a Mon Sep 17 00:00:00 2001 From: Kazeem Hamzat <kazeem.hamzat@nhs.net> Date: Wed, 20 May 2026 17:20:38 +0100 Subject: [PATCH 17/44] Added Custom file Added Custom file --- .github/workflows/firely-validation.yml | 24 ++++-------------- custom.rules.yaml | 33 +++++++++++++++++++++++++ 2 files changed, 38 insertions(+), 19 deletions(-) create mode 100644 custom.rules.yaml diff --git a/.github/workflows/firely-validation.yml b/.github/workflows/firely-validation.yml index 18259e17..cc3d5312 100644 --- a/.github/workflows/firely-validation.yml +++ b/.github/workflows/firely-validation.yml @@ -6,10 +6,10 @@ name: Firely Validation on: # Triggers the workflow on push or pull request events but only for the master branch push: - branches: [nhsdigital_main] + branches: + - '**' pull_request: - branches: [nhsdigital_main] - + branches: [ master, main ] # Allows you to run this workflow manually from the Actions tab workflow_dispatch: @@ -38,25 +38,13 @@ jobs: with: distribution: 'microsoft' java-version: '21' - - - name: Verify Simplifier Access - env: - SIMPLIFIER_USERNAME: ${{ secrets.SIMPLIFIER_USERNAME }} - SIMPLIFIER_PASSWORD: ${{ secrets.SIMPLIFIER_PASSWORD }} - run: | - if [[ -z "$SIMPLIFIER_USERNAME" || -z "$SIMPLIFIER_PASSWORD" ]]; then - echo "ERROR: Simplifier credentials not configured" - exit 1 - fi - - echo "Credentials found" - name: Firely.Terminal (GitHub Actions) uses: FirelyTeam/firely-terminal-pipeline@v0.7.31 with: PATH_TO_CONFORMANCE_RESOURCES: StructureDefinition ValueSet CodeSystem PATH_TO_EXAMPLES: ActivityDefinition AuditEvent BodyStructure Bundle CapabilityStatement Composition ConceptMap Condition Consent Device DiagnosticReport DocumentReference FamilyMemberHistory GraphDefinition Group Library MessageDefinition MessageHeader NamingSystem Observation OperationDefinition OperationOutcome Organization Parameters Patient PlanDefinition Practitioner PractitionerRole Procedure Provenance Questionnaire QuestionnaireResponse RelatedPerson RequestGroup SearchParameter ServiceRequest Specimen SpecimenDefinition StructureMap Subscription Task - PATH_TO_QUALITY_CONTROL_RULES: "" + PATH_TO_QUALITY_CONTROL_RULES: custom DOTNET_VALIDATION_ENABLED: true JAVA_VALIDATION_ENABLED: false #EXPECTED_FAILS: VALIDATION_EXAMPLES_JAVA @@ -65,9 +53,7 @@ jobs: FIRELY_TERMINAL_VERSION: 3.5.0 SUSHI_ENABLED: false - - - # - name: Add & Commit + # - name: Add & Commit. # uses: EndBug/add-and-commit@v9 # with: # add: 'fsh-generated/resources/' \ No newline at end of file diff --git a/custom.rules.yaml b/custom.rules.yaml new file mode 100644 index 00000000..4fe69261 --- /dev/null +++ b/custom.rules.yaml @@ -0,0 +1,33 @@ +- action: parse + name: parse-fhir-resources + status: "Checking if all FHIR Resource files can be parsed" + files: + - /**/*.json + - "!package.json" + - "!*.*" + - "!.github/*.*" + - "!documents/*.*" + - "!Diagrams/*.*" + +- name: resource-validation + status: "Validating resources against the FHIR standard and their profiles" + action: validate + category: Resource + suppress: + - 6005 + - eld-16 + - ref-1 + - dom-6 + - 1012 #ref-1 + - 4005 #dom-6 + - CONFIG #errors in dependencies e.g. loops, outdated, pre-release + - 6006 #failure to contact term service + - 1030 #reference loop + +- action: unique + name: unique-canonicals + status: "Checking if all StructureDefinitions have a unique canonical" + category: StructureDefinition + unique: url + +# - include: manifest From 9c2172fdf66a15f41051ee779f15e467d9a0673c Mon Sep 17 00:00:00 2001 From: Kazeem Hamzat <kazeem.hamzat@nhs.net> Date: Wed, 20 May 2026 18:00:49 +0100 Subject: [PATCH 18/44] Update NHSDigital-Logical-Request.StructureDefinitio Update NHSDigital-Logical-Request.StructureDefinitio --- ...al-Logical-Request.StructureDefinition.xml | 34 +++++++++---------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/StructureDefinition/NHSDigital-Logical-Request.StructureDefinition.xml b/StructureDefinition/NHSDigital-Logical-Request.StructureDefinition.xml index 655d6915..696e6d81 100644 --- a/StructureDefinition/NHSDigital-Logical-Request.StructureDefinition.xml +++ b/StructureDefinition/NHSDigital-Logical-Request.StructureDefinition.xml @@ -1,26 +1,26 @@ <?xml version="1.0" encoding="utf-8"?> <StructureDefinition xmlns="http://hl7.org/fhir"> <id value="745e2135-9b3c-4c0c-a3f7-5f22961db23a" /> - <url value="https://fhir.nhs.uk/fhir/StructureDefinition/NHSDigital-Logical-Request" /> + <url value="https://fhir.nhs.uk/fhir/StructureDefinition/NHSDigitalLogicalRequest" /> <name value="NHSDigitalLogicalRequest" /> <status value="draft" /> <fhirVersion value="4.0.1" /> <kind value="logical" /> <abstract value="false" /> - <type value="https://fhir.nhs.uk/fhir/StructureDefinition/UKCore-Request" /> + <type value="NHSDigitalLogicalRequest" /> <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Element" /> <derivation value="specialization" /> <differential> - <element id="UKCore-Request"> - <path value="UKCore-Request" /> + <element id="NHSDigitalLogicalRequest"> + <path value="NHSDigitalLogicalRequest" /> <min value="0" /> - <max value="*" /> + <max value="1" /> <type> <code value="Element" /> </type> </element> - <element id="UKCore-Request.identifier"> - <path value="UKCore-Request.identifier" /> + <element id="NHSDigitalLogicalRequest.identifier"> + <path value="NHSDigitalLogicalRequest.identifier" /> <definition value="At least one identifier MUST be provided." /> <min value="1" /> <max value="*" /> @@ -29,8 +29,8 @@ <profile value="http://hl7.org/fhir/StructureDefinition/Identifier" /> </type> </element> - <element id="UKCore-Request.subject"> - <path value="UKCore-Request.subject" /> + <element id="NHSDigitalLogicalRequest.subject"> + <path value="NHSDigitalLogicalRequest.subject" /> <definition value="reference should be provided identifier (NHS Number) MUST be provided (if traced), it is not permitted to exchange untraced NHS Numbers" /> <min value="1" /> <max value="1" /> @@ -39,8 +39,8 @@ <targetProfile value="https://fhir.hl7.org.uk/StructureDefinition/UKCore-Patient" /> </type> </element> - <element id="UKCore-Request.requester"> - <path value="UKCore-Request.requester" /> + <element id="NHSDigitalLogicalRequest.requester"> + <path value="NHSDigitalLogicalRequest.requester" /> <min value="1" /> <max value="1" /> <type> @@ -51,8 +51,8 @@ <targetProfile value="https://fhir.hl7.org.uk/StructureDefinition/UKCore-PractitionerRole" /> </type> </element> - <element id="UKCore-Request.code"> - <path value="UKCore-Request.code" /> + <element id="NHSDigitalLogicalRequest.code"> + <path value="NHSDigitalLogicalRequest.code" /> <min value="1" /> <max value="1" /> <type> @@ -60,8 +60,8 @@ <profile value="http://hl7.org/fhir/StructureDefinition/CodeableConcept" /> </type> </element> - <element id="UKCore-Request.status"> - <path value="UKCore-Request.status" /> + <element id="NHSDigitalLogicalRequest.status"> + <path value="NHSDigitalLogicalRequest.status" /> <min value="1" /> <max value="1" /> <type> @@ -69,8 +69,8 @@ <profile value="http://hl7.org/fhir/StructureDefinition/code" /> </type> </element> - <element id="UKCore-Request.encounter"> - <path value="UKCore-Request.encounter" /> + <element id="NHSDigitalLogicalRequest.encounter"> + <path value="NHSDigitalLogicalRequest.encounter" /> <short value="Encounter created as part of (recommended)" /> <min value="0" /> <max value="1" /> From 03eba5087cf811118a3cc13affa4b3cda0e011af Mon Sep 17 00:00:00 2001 From: Kazeem Hamzat <kazeem.hamzat@nhs.net> Date: Wed, 20 May 2026 18:28:45 +0100 Subject: [PATCH 19/44] Update Update --- ...al-Logical-Request.StructureDefinition.xml | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/StructureDefinition/NHSDigital-Logical-Request.StructureDefinition.xml b/StructureDefinition/NHSDigital-Logical-Request.StructureDefinition.xml index 696e6d81..f5c2d55d 100644 --- a/StructureDefinition/NHSDigital-Logical-Request.StructureDefinition.xml +++ b/StructureDefinition/NHSDigital-Logical-Request.StructureDefinition.xml @@ -11,16 +11,16 @@ <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Element" /> <derivation value="specialization" /> <differential> - <element id="NHSDigitalLogicalRequest"> - <path value="NHSDigitalLogicalRequest" /> + <element id="nhsdLogicalRequest"> + <path value="nhsdLogicalRequest" /> <min value="0" /> <max value="1" /> <type> <code value="Element" /> </type> </element> - <element id="NHSDigitalLogicalRequest.identifier"> - <path value="NHSDigitalLogicalRequest.identifier" /> + <element id="nhsdLogicalRequest.identifier"> + <path value="nhsdLogicalRequest.identifier" /> <definition value="At least one identifier MUST be provided." /> <min value="1" /> <max value="*" /> @@ -29,8 +29,8 @@ <profile value="http://hl7.org/fhir/StructureDefinition/Identifier" /> </type> </element> - <element id="NHSDigitalLogicalRequest.subject"> - <path value="NHSDigitalLogicalRequest.subject" /> + <element id="nhsdLogicalRequest.subject"> + <path value="nhsdLogicalRequest.subject" /> <definition value="reference should be provided identifier (NHS Number) MUST be provided (if traced), it is not permitted to exchange untraced NHS Numbers" /> <min value="1" /> <max value="1" /> @@ -39,8 +39,8 @@ <targetProfile value="https://fhir.hl7.org.uk/StructureDefinition/UKCore-Patient" /> </type> </element> - <element id="NHSDigitalLogicalRequest.requester"> - <path value="NHSDigitalLogicalRequest.requester" /> + <element id="nhsdLogicalRequest.requester"> + <path value="nhsdLogicalRequest.requester" /> <min value="1" /> <max value="1" /> <type> @@ -51,8 +51,8 @@ <targetProfile value="https://fhir.hl7.org.uk/StructureDefinition/UKCore-PractitionerRole" /> </type> </element> - <element id="NHSDigitalLogicalRequest.code"> - <path value="NHSDigitalLogicalRequest.code" /> + <element id="nhsdLogicalRequest.code"> + <path value="nhsdLogicalRequest.code" /> <min value="1" /> <max value="1" /> <type> @@ -60,8 +60,8 @@ <profile value="http://hl7.org/fhir/StructureDefinition/CodeableConcept" /> </type> </element> - <element id="NHSDigitalLogicalRequest.status"> - <path value="NHSDigitalLogicalRequest.status" /> + <element id="nhsdLogicalRequest.status"> + <path value="nhsdLogicalRequest.status" /> <min value="1" /> <max value="1" /> <type> @@ -69,8 +69,8 @@ <profile value="http://hl7.org/fhir/StructureDefinition/code" /> </type> </element> - <element id="NHSDigitalLogicalRequest.encounter"> - <path value="NHSDigitalLogicalRequest.encounter" /> + <element id="nhsdLogicalRequest.encounter"> + <path value="nhsdLogicalRequest.encounter" /> <short value="Encounter created as part of (recommended)" /> <min value="0" /> <max value="1" /> From 8a6a29070643e56a2f1aebb15d7651c9f8aa5f6f Mon Sep 17 00:00:00 2001 From: Kazeem Hamzat <kazeem.hamzat@nhs.net> Date: Wed, 20 May 2026 18:35:20 +0100 Subject: [PATCH 20/44] Update NHSDigital-Logical-Request.StructureDefinition. Update NHSDigital-Logical-Request.StructureDefinition. --- .../NHSDigital-Logical-Request.StructureDefinition.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/StructureDefinition/NHSDigital-Logical-Request.StructureDefinition.xml b/StructureDefinition/NHSDigital-Logical-Request.StructureDefinition.xml index f5c2d55d..c005506e 100644 --- a/StructureDefinition/NHSDigital-Logical-Request.StructureDefinition.xml +++ b/StructureDefinition/NHSDigital-Logical-Request.StructureDefinition.xml @@ -7,7 +7,7 @@ <fhirVersion value="4.0.1" /> <kind value="logical" /> <abstract value="false" /> - <type value="NHSDigitalLogicalRequest" /> + <type value="nhsdLogicalRequest" /> <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Element" /> <derivation value="specialization" /> <differential> From cdf164ed8821746b1c3398e6511451f013f8f6eb Mon Sep 17 00:00:00 2001 From: Kazeem Hamzat <kazeem.hamzat@nhs.net> Date: Wed, 20 May 2026 18:36:19 +0100 Subject: [PATCH 21/44] Testing IOPS Testing IOPS --- .github/workflows/terminology.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/terminology.yml b/.github/workflows/terminology.yml index 2b54685a..eb43eec7 100644 --- a/.github/workflows/terminology.yml +++ b/.github/workflows/terminology.yml @@ -5,7 +5,7 @@ on: # Triggers the workflow on push or pull request events but only for the master branch # Allows you to run this workflow manually from the Actions tab - #push: + push: workflow_dispatch: From d3384aabf30e6e9a40e40c8540df6db6619d2beb Mon Sep 17 00:00:00 2001 From: Kazeem Hamzat <kazeem.hamzat@nhs.net> Date: Wed, 20 May 2026 18:47:15 +0100 Subject: [PATCH 22/44] Update Update --- ...ital-Logical-Event.StructureDefinition.xml | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/StructureDefinition/NHSDigital-Logical-Event.StructureDefinition.xml b/StructureDefinition/NHSDigital-Logical-Event.StructureDefinition.xml index da37cb2b..fe88efcc 100644 --- a/StructureDefinition/NHSDigital-Logical-Event.StructureDefinition.xml +++ b/StructureDefinition/NHSDigital-Logical-Event.StructureDefinition.xml @@ -11,16 +11,16 @@ <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Element" /> <derivation value="specialization" /> <differential> - <element id="NHSDigital-Logical-Event"> - <path value="NHSDigital-Logical-Event" /> + <element id="nhsdLogicalEvent"> + <path value="nhsdLogicalEvent" /> <min value="0" /> <max value="*" /> <type> <code value="Element" /> </type> </element> - <element id="NHSDigital-Logical-Event.identifier"> - <path value="NHSDigital-Logical-Event.identifier" /> + <element id="nhsdLogicalEvent.identifier"> + <path value="nhsdLogicalEvent.identifier" /> <short value="Business Identifier for {{title}}" /> <min value="1" /> <max value="*" /> @@ -29,8 +29,8 @@ <profile value="http://hl7.org/fhir/StructureDefinition/Identifier" /> </type> </element> - <element id="NHSDigital-Logical-Event.status"> - <path value="NHSDigital-Logical-Event.status" /> + <element id="nhsdLogicalEvent.status"> + <path value="nhsdLogicalEvent.status" /> <short value="Event status" /> <min value="1" /> <max value="1" /> @@ -39,8 +39,8 @@ <profile value="http://hl7.org/fhir/StructureDefinition/code" /> </type> </element> - <element id="NHSDigital-Logical-Event.code"> - <path value="NHSDigital-Logical-Event.code" /> + <element id="nhsdLogicalEvent.code"> + <path value="nhsdLogicalEvent.code" /> <short value="What was done (recommended)" /> <min value="0" /> <max value="1" /> @@ -49,8 +49,8 @@ <profile value="http://hl7.org/fhir/StructureDefinition/CodeableConcept" /> </type> </element> - <element id="NHSDigital-Logical-Event.subject"> - <path value="NHSDigital-Logical-Event.subject" /> + <element id="nhsdLogicalEvent.subject"> + <path value="nhsdLogicalEvent.subject" /> <min value="1" /> <max value="1" /> <type> @@ -58,8 +58,8 @@ <targetProfile value="https://fhir.hl7.org.uk/StructureDefinition/UKCore-Patient" /> </type> </element> - <element id="NHSDigital-Logical-Event.encounter"> - <path value="NHSDigital-Logical-Event.encounter" /> + <element id="nhsdLogicalEvent.encounter"> + <path value="nhsdLogicalEvent.encounter" /> <short value="Encounter created as part of (recommended)" /> <min value="0" /> <max value="1" /> @@ -68,8 +68,8 @@ <targetProfile value="https://fhir.hl7.org.uk/StructureDefinition/UKCore-Encounter" /> </type> </element> - <element id="NHSDigital-Logical-Event.performer"> - <path value="NHSDigital-Logical-Event.performer" /> + <element id="nhsdLogicalEvent.performer"> + <path value="nhsdLogicalEvent.performer" /> <min value="1" /> <max value="*" /> <type> From 7c83e531cd4c68cd942bc983026568ec351249c6 Mon Sep 17 00:00:00 2001 From: Kazeem Hamzat <kazeem.hamzat@nhs.net> Date: Wed, 20 May 2026 18:51:33 +0100 Subject: [PATCH 23/44] QRes Update QRes Update --- .../NHSDigital-Questionnaire.StructureDefinition.xml | 2 +- .../NHSDigital-QuestionnaireResponse.StructureDefinition.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/StructureDefinition/NHSDigital-Questionnaire.StructureDefinition.xml b/StructureDefinition/NHSDigital-Questionnaire.StructureDefinition.xml index 7cbf6c19..52d4a33d 100644 --- a/StructureDefinition/NHSDigital-Questionnaire.StructureDefinition.xml +++ b/StructureDefinition/NHSDigital-Questionnaire.StructureDefinition.xml @@ -2,9 +2,9 @@ <StructureDefinition xmlns="http://hl7.org/fhir"> <id value="db6d872f-5bae-49df-908b-73540114c723" /> <url value="https://fhir.nhs.uk/StructureDefinition/NHSDigital-Questionnaire" /> + <fhirVersion value="4.0.1" /> <name value="NHSDigitalQuestionnaire" /> <status value="draft" /> - <fhirVersion value="4.0.1" /> <kind value="resource" /> <abstract value="false" /> <type value="Questionnaire" /> diff --git a/StructureDefinition/NHSDigital-QuestionnaireResponse.StructureDefinition.xml b/StructureDefinition/NHSDigital-QuestionnaireResponse.StructureDefinition.xml index c38c7c72..1c9f0c60 100644 --- a/StructureDefinition/NHSDigital-QuestionnaireResponse.StructureDefinition.xml +++ b/StructureDefinition/NHSDigital-QuestionnaireResponse.StructureDefinition.xml @@ -2,8 +2,8 @@ <StructureDefinition xmlns="http://hl7.org/fhir"> <id value="2b02f97f-e0db-48c9-af27-0fc391677dc4" /> <url value="https://fhir.nhs.uk/StructureDefinition/NHSDigital-QuestionnaireResponse" /> - <name value="NHSDigitalQuestionnaireResponse" /> <version value="1.0.1" /> + <name value="NHSDigitalQuestionnaireResponse" /> <status value="draft" /> <date value="2024-08-14T13:51:00+00:00" /> <fhirVersion value="4.0.1" /> From 7e4bbbdd8cdaa020dbf4b07270342f0d65fde867 Mon Sep 17 00:00:00 2001 From: Kazeem Hamzat <kazeem.hamzat@nhs.net> Date: Wed, 20 May 2026 19:29:37 +0100 Subject: [PATCH 24/44] Update Assets Update Assets --- Examples/SDS-Endpoint-Bundle-Example.xml | 4 +-- .../MessageDefinition-document.xml | 2 +- .../MessageDefinition-prescription-order.xml | 2 +- .../MessageHeader-prepare-message.xml | 2 +- ...erationDefinition-prescription-release.xml | 2 +- .../OperationDefinition-release.xml | 2 +- ...l-Provenance-agent.StructureDefinition.xml | 1 + ...ital-Logical-Event.StructureDefinition.xml | 33 ++++++++---------- ...al-Logical-Request.StructureDefinition.xml | 34 ++++++++----------- ...Digital-Medication.StructureDefinition.xml | 2 +- ...l-PractitionerRole.StructureDefinition.xml | 2 +- 11 files changed, 40 insertions(+), 46 deletions(-) diff --git a/Examples/SDS-Endpoint-Bundle-Example.xml b/Examples/SDS-Endpoint-Bundle-Example.xml index 20bb1498..8d5ea19b 100644 --- a/Examples/SDS-Endpoint-Bundle-Example.xml +++ b/Examples/SDS-Endpoint-Bundle-Example.xml @@ -4,10 +4,10 @@ <total value="1"/> <link> <relation value="self"/> - <url value="[baseURL]/Endpoint?organization=https://fhir.nhs.uk/Id/ods-organization-code|R8008&identifier=https://fhir.nhs.uk/Id/nhsEndpointServiceId|urn:nhs:names:services:psis:REPC_IN150016UK05"/> + <url value="http://example.org//Endpoint?organization=https://fhir.nhs.uk/Id/ods-organization-code|R8008&identifier=https://fhir.nhs.uk/Id/nhsEndpointServiceId|urn:nhs:names:services:psis:REPC_IN150016UK05"/> </link> <entry> - <fullUrl value="[baseURL]/Endpoint/f1dc0ac6-45ff-4d2b-bf91-793971e3e286"/> + <fullUrl value="http://example.org//Endpoint/f1dc0ac6-45ff-4d2b-bf91-793971e3e286"/> <resource> <Endpoint> <id value="f1dc0ac6-45ff-4d2b-bf91-793971e3e286"/> diff --git a/MessageDefinition/MessageDefinition-document.xml b/MessageDefinition/MessageDefinition-document.xml index 25ce7e4c..ffb4f462 100644 --- a/MessageDefinition/MessageDefinition-document.xml +++ b/MessageDefinition/MessageDefinition-document.xml @@ -10,12 +10,12 @@ <title value="Patient Documents" /> <status value="active" /> <date value="2021-04-23" /> + <description value="Used to exchange a clinical document. One of FHIR Binary or FHIR Bundle (type=document) is required. If a Binary is supplied a DocumentReference MUST also be supplied."/> <eventCoding> <system value="https://fhir.nhs.uk/CodeSystem/message-event" /> <code value="document" /> <display value="Document" /> </eventCoding> - <description value="Used to exchange a clinical document. One of FHIR Binary or FHIR Bundle (type=document) is required. If a Binary is supplied a DocumentReference MUST also be supplied."/> <category value="consequence" /> <focus> <code value="DocumentReference" /> diff --git a/MessageDefinition/MessageDefinition-prescription-order.xml b/MessageDefinition/MessageDefinition-prescription-order.xml index 01a16ccf..b8705a42 100644 --- a/MessageDefinition/MessageDefinition-prescription-order.xml +++ b/MessageDefinition/MessageDefinition-prescription-order.xml @@ -10,8 +10,8 @@ <title value="Pharmacy/Treatment Order" /> <status value="active" /> <date value="2020-05-27" /> + <description value="Ordering of medications"/> <base value="https://fhir.hl7.org.uk/MessageDefinition/prescription-order" /> - <description value="Ordering of medications"/> <eventCoding> <system value="https://fhir.nhs.uk/CodeSystem/message-event" /> <code value="prescription-order" /> diff --git a/OperationDefinition/MessageHeader-prepare-message.xml b/OperationDefinition/MessageHeader-prepare-message.xml index f8ece070..0ba4b79c 100644 --- a/OperationDefinition/MessageHeader-prepare-message.xml +++ b/OperationDefinition/MessageHeader-prepare-message.xml @@ -15,9 +15,9 @@ </contact> <description value="Convert a prescription in FHIR format into the canonicalised HL7 V3 signature fragments which should be signed by the prescriber." /> <code value="prepare" /> + <affectsState value="true" /> <comment value="This operation does not use the parameters resource for input parameters, it does for the response. \n\n A server may return one of several status codes: \n\n * **200 OK**: Indicates that the message has been fully processed." /> <system value="true" /> - <affectsState value="true" /> <type value="false" /> <instance value="false" /> <parameter> diff --git a/OperationDefinition/OperationDefinition-prescription-release.xml b/OperationDefinition/OperationDefinition-prescription-release.xml index 7472e171..327e9c24 100644 --- a/OperationDefinition/OperationDefinition-prescription-release.xml +++ b/OperationDefinition/OperationDefinition-prescription-release.xml @@ -18,8 +18,8 @@ </contact> <description value="Use this operation to download prescriptions from Spine before it is dispensed. You can download a single prescription using the prescription's ID, or download up to 25 prescriptions (per request) nominated to a dispenser using the dispenser's ODS code. The operation will return prescriptions passing signature validation as a collection of Prescription-Order bundles and/or error messages for Prescriptions failing signature validation as a collection of OperationOutcome resources (with the prescription-order messages attached as supportingInfo"></description> <code value="release"></code> - <comment value="Only one of the parameters group-identifier and owner MUST be provided. This operation performs both a query on the message queue and updates the status of returned prescriptions."></comment> <affectsState value="true" /> + <comment value="Only one of the parameters group-identifier and owner MUST be provided. This operation performs both a query on the message queue and updates the status of returned prescriptions."></comment> <resource value="Task"></resource> <system value="false"></system> <type value="true"></type> diff --git a/OperationDefinition/OperationDefinition-release.xml b/OperationDefinition/OperationDefinition-release.xml index d78a5d6e..2b074a27 100644 --- a/OperationDefinition/OperationDefinition-release.xml +++ b/OperationDefinition/OperationDefinition-release.xml @@ -18,8 +18,8 @@ </contact> <description value="Use this endpoint to download prescriptions from Spine before it is dispensed. You can download a single prescription using the prescription's ID, or download up to 25 prescriptions (per request) nominated to a dispenser using the dispenser's ODS code."></description> <code value="release"></code> - <comment value="Only one of the parameters group-identifier and owner MUST be provided. This operation performs both a query on the message queue and updates the status of returned prescriptions."></comment> <affectsState value="true" /> + <comment value="Only one of the parameters group-identifier and owner MUST be provided. This operation performs both a query on the message queue and updates the status of returned prescriptions."></comment> <resource value="Task"></resource> <system value="false"></system> <type value="true"></type> diff --git a/StructureDefinition/Extension-NHSDigital-Provenance-agent.StructureDefinition.xml b/StructureDefinition/Extension-NHSDigital-Provenance-agent.StructureDefinition.xml index bfdadf2e..a0eda6c9 100644 --- a/StructureDefinition/Extension-NHSDigital-Provenance-agent.StructureDefinition.xml +++ b/StructureDefinition/Extension-NHSDigital-Provenance-agent.StructureDefinition.xml @@ -2,6 +2,7 @@ <StructureDefinition xmlns="http://hl7.org/fhir"> <id value="67329733-af3b-40f1-95f8-a83812dc0a43" /> <url value="https://fhir.nhs.uk/StructureDefinition/Extension-Provenance-agent" /> + <version value="1.0.1" /> <name value="ExtensionProvenanceAgent" /> <version value="1.0.1" /> <status value="draft" /> diff --git a/StructureDefinition/NHSDigital-Logical-Event.StructureDefinition.xml b/StructureDefinition/NHSDigital-Logical-Event.StructureDefinition.xml index fe88efcc..d8aacf17 100644 --- a/StructureDefinition/NHSDigital-Logical-Event.StructureDefinition.xml +++ b/StructureDefinition/NHSDigital-Logical-Event.StructureDefinition.xml @@ -11,16 +11,13 @@ <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Element" /> <derivation value="specialization" /> <differential> - <element id="nhsdLogicalEvent"> - <path value="nhsdLogicalEvent" /> + <element id="NHSDigitalLogicalEvent"> + <path value="NHSDigitalLogicalEvent" /> <min value="0" /> - <max value="*" /> - <type> - <code value="Element" /> - </type> + <max value="1" /> </element> - <element id="nhsdLogicalEvent.identifier"> - <path value="nhsdLogicalEvent.identifier" /> + <element id="NHSDigitalLogicalEvent.identifier"> + <path value="NHSDigitalLogicalEvent.identifier" /> <short value="Business Identifier for {{title}}" /> <min value="1" /> <max value="*" /> @@ -29,8 +26,8 @@ <profile value="http://hl7.org/fhir/StructureDefinition/Identifier" /> </type> </element> - <element id="nhsdLogicalEvent.status"> - <path value="nhsdLogicalEvent.status" /> + <element id="NHSDigitalLogicalEvent.status"> + <path value="NHSDigitalLogicalEvent.status" /> <short value="Event status" /> <min value="1" /> <max value="1" /> @@ -39,8 +36,8 @@ <profile value="http://hl7.org/fhir/StructureDefinition/code" /> </type> </element> - <element id="nhsdLogicalEvent.code"> - <path value="nhsdLogicalEvent.code" /> + <element id="NHSDigitalLogicalEvent.code"> + <path value="NHSDigitalLogicalEvent.code" /> <short value="What was done (recommended)" /> <min value="0" /> <max value="1" /> @@ -49,8 +46,8 @@ <profile value="http://hl7.org/fhir/StructureDefinition/CodeableConcept" /> </type> </element> - <element id="nhsdLogicalEvent.subject"> - <path value="nhsdLogicalEvent.subject" /> + <element id="NHSDigitalLogicalEvent.subject"> + <path value="NHSDigitalLogicalEvent.subject" /> <min value="1" /> <max value="1" /> <type> @@ -58,8 +55,8 @@ <targetProfile value="https://fhir.hl7.org.uk/StructureDefinition/UKCore-Patient" /> </type> </element> - <element id="nhsdLogicalEvent.encounter"> - <path value="nhsdLogicalEvent.encounter" /> + <element id="NHSDigitalLogicalEvent.encounter"> + <path value="NHSDigitalLogicalEvent.encounter" /> <short value="Encounter created as part of (recommended)" /> <min value="0" /> <max value="1" /> @@ -68,8 +65,8 @@ <targetProfile value="https://fhir.hl7.org.uk/StructureDefinition/UKCore-Encounter" /> </type> </element> - <element id="nhsdLogicalEvent.performer"> - <path value="nhsdLogicalEvent.performer" /> + <element id="NHSDigitalLogicalEvent.performer"> + <path value="NHSDigitalLogicalEvent.performer" /> <min value="1" /> <max value="*" /> <type> diff --git a/StructureDefinition/NHSDigital-Logical-Request.StructureDefinition.xml b/StructureDefinition/NHSDigital-Logical-Request.StructureDefinition.xml index c005506e..5e8e9c47 100644 --- a/StructureDefinition/NHSDigital-Logical-Request.StructureDefinition.xml +++ b/StructureDefinition/NHSDigital-Logical-Request.StructureDefinition.xml @@ -7,30 +7,26 @@ <fhirVersion value="4.0.1" /> <kind value="logical" /> <abstract value="false" /> - <type value="nhsdLogicalRequest" /> + <type value="NHSDigitalLogicalRequest" /> <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Element" /> <derivation value="specialization" /> <differential> - <element id="nhsdLogicalRequest"> - <path value="nhsdLogicalRequest" /> + <element id="NHSDigitalLogicalRequest"> + <path value="NHSDigitalLogicalRequest" /> <min value="0" /> <max value="1" /> - <type> - <code value="Element" /> - </type> </element> - <element id="nhsdLogicalRequest.identifier"> - <path value="nhsdLogicalRequest.identifier" /> + <element id="NHSDigitalLogicalRequest.identifier"> + <path value="NHSDigitalLogicalRequest.identifier" /> <definition value="At least one identifier MUST be provided." /> <min value="1" /> <max value="*" /> <type> <code value="Identifier" /> - <profile value="http://hl7.org/fhir/StructureDefinition/Identifier" /> </type> </element> - <element id="nhsdLogicalRequest.subject"> - <path value="nhsdLogicalRequest.subject" /> + <element id="NHSDigitalLogicalRequest.subject"> + <path value="NHSDigitalLogicalRequest.subject" /> <definition value="reference should be provided identifier (NHS Number) MUST be provided (if traced), it is not permitted to exchange untraced NHS Numbers" /> <min value="1" /> <max value="1" /> @@ -39,8 +35,8 @@ <targetProfile value="https://fhir.hl7.org.uk/StructureDefinition/UKCore-Patient" /> </type> </element> - <element id="nhsdLogicalRequest.requester"> - <path value="nhsdLogicalRequest.requester" /> + <element id="NHSDigitalLogicalRequest.requester"> + <path value="NHSDigitalLogicalRequest.requester" /> <min value="1" /> <max value="1" /> <type> @@ -51,8 +47,8 @@ <targetProfile value="https://fhir.hl7.org.uk/StructureDefinition/UKCore-PractitionerRole" /> </type> </element> - <element id="nhsdLogicalRequest.code"> - <path value="nhsdLogicalRequest.code" /> + <element id="NHSDigitalLogicalRequest.code"> + <path value="NHSDigitalLogicalRequest.code" /> <min value="1" /> <max value="1" /> <type> @@ -60,8 +56,8 @@ <profile value="http://hl7.org/fhir/StructureDefinition/CodeableConcept" /> </type> </element> - <element id="nhsdLogicalRequest.status"> - <path value="nhsdLogicalRequest.status" /> + <element id="NHSDigitalLogicalRequest.status"> + <path value="NHSDigitalLogicalRequest.status" /> <min value="1" /> <max value="1" /> <type> @@ -69,8 +65,8 @@ <profile value="http://hl7.org/fhir/StructureDefinition/code" /> </type> </element> - <element id="nhsdLogicalRequest.encounter"> - <path value="nhsdLogicalRequest.encounter" /> + <element id="NHSDigitalLogicalRequest.encounter"> + <path value="NHSDigitalLogicalRequest.encounter" /> <short value="Encounter created as part of (recommended)" /> <min value="0" /> <max value="1" /> diff --git a/StructureDefinition/NHSDigital-Medication.StructureDefinition.xml b/StructureDefinition/NHSDigital-Medication.StructureDefinition.xml index 68f0bdcc..66a44dac 100644 --- a/StructureDefinition/NHSDigital-Medication.StructureDefinition.xml +++ b/StructureDefinition/NHSDigital-Medication.StructureDefinition.xml @@ -2,8 +2,8 @@ <id value="NHSDigital-Medication" /> <url value="https://fhir.nhs.uk/StructureDefinition/NHSDigital-Medication" /> <name value="NHSDigitalMedication" /> - <title value="NHS Digital Medication" /> <version value="2.1.0" /> + <title value="NHS Digital Medication" /> <status value="active" /> <date value="2022-08-03" /> <publisher value="NHS Digital" /> diff --git a/StructureDefinition/NHSDigital-PractitionerRole.StructureDefinition.xml b/StructureDefinition/NHSDigital-PractitionerRole.StructureDefinition.xml index 18d4683d..89758e7e 100644 --- a/StructureDefinition/NHSDigital-PractitionerRole.StructureDefinition.xml +++ b/StructureDefinition/NHSDigital-PractitionerRole.StructureDefinition.xml @@ -2,8 +2,8 @@ <StructureDefinition xmlns="http://hl7.org/fhir"> <id value="51533f7f-1fa3-4866-a200-01618d377455" /> <url value="https://fhir.nhs.uk/StructureDefinition/NHSDigital-PractitionerRole" /> + <version value="1.0.1" /> <name value="NHSDigitalPractitionerRole" /> - <version value="1.0.1" /> <status value="draft" /> <date value="2024-08-14T13:51:00+00:00" /> <fhirVersion value="4.0.1" /> From 470650423d5a306c3fb2603fc1f6ac558efd70f5 Mon Sep 17 00:00:00 2001 From: Kazeem Hamzat <kazeem.hamzat@nhs.net> Date: Wed, 20 May 2026 19:59:40 +0100 Subject: [PATCH 25/44] Suppress Suppress --- .github/workflows/firely-validation.yml | 2 +- custom.rules.yaml | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/firely-validation.yml b/.github/workflows/firely-validation.yml index cc3d5312..5fe1469f 100644 --- a/.github/workflows/firely-validation.yml +++ b/.github/workflows/firely-validation.yml @@ -47,7 +47,7 @@ jobs: PATH_TO_QUALITY_CONTROL_RULES: custom DOTNET_VALIDATION_ENABLED: true JAVA_VALIDATION_ENABLED: false - #EXPECTED_FAILS: VALIDATION_EXAMPLES_JAVA + #EXPECTED_FAILS: VALIDATION_EXAMPLES_JAVA SIMPLIFIER_USERNAME: ${{ secrets.SIMPLIFIER_USERNAME }} SIMPLIFIER_PASSWORD: ${{ secrets.SIMPLIFIER_PASSWORD }} FIRELY_TERMINAL_VERSION: 3.5.0 diff --git a/custom.rules.yaml b/custom.rules.yaml index 4fe69261..ee7754d4 100644 --- a/custom.rules.yaml +++ b/custom.rules.yaml @@ -23,6 +23,7 @@ - CONFIG #errors in dependencies e.g. loops, outdated, pre-release - 6006 #failure to contact term service - 1030 #reference loop + - 4009 #missing extensions - action: unique name: unique-canonicals From 7184e7068406921a8e5e2ad842d240f5c72b6f16 Mon Sep 17 00:00:00 2001 From: Kazeem Hamzat <kazeem.hamzat@nhs.net> Date: Wed, 20 May 2026 20:19:45 +0100 Subject: [PATCH 26/44] Update Extension-NHSDigital-Provenance-agent.StructureDefinitio Update Extension-NHSDigital-Provenance-agent.StructureDefinitio --- ...Extension-NHSDigital-Provenance-agent.StructureDefinition.xml | 1 - 1 file changed, 1 deletion(-) diff --git a/StructureDefinition/Extension-NHSDigital-Provenance-agent.StructureDefinition.xml b/StructureDefinition/Extension-NHSDigital-Provenance-agent.StructureDefinition.xml index a0eda6c9..e6c0cf03 100644 --- a/StructureDefinition/Extension-NHSDigital-Provenance-agent.StructureDefinition.xml +++ b/StructureDefinition/Extension-NHSDigital-Provenance-agent.StructureDefinition.xml @@ -4,7 +4,6 @@ <url value="https://fhir.nhs.uk/StructureDefinition/Extension-Provenance-agent" /> <version value="1.0.1" /> <name value="ExtensionProvenanceAgent" /> - <version value="1.0.1" /> <status value="draft" /> <date value="2024-08-14T13:51:00+00:00" /> <fhirVersion value="4.0.1" /> From 797b6c69598b7426f92494a3b53c3148ab8ed3ab Mon Sep 17 00:00:00 2001 From: Kazeem Hamzat <kazeem.hamzat@nhs.net> Date: Wed, 20 May 2026 20:27:31 +0100 Subject: [PATCH 27/44] Suprress IOPS Val Suprress IOPS Val --- .github/workflows/terminology.yml | 2 +- .../NHSDigital-Medication.StructureDefinition.xml | 2 +- .../NHSDigital-QuestionnaireResponse.StructureDefinition.xml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/terminology.yml b/.github/workflows/terminology.yml index eb43eec7..2b54685a 100644 --- a/.github/workflows/terminology.yml +++ b/.github/workflows/terminology.yml @@ -5,7 +5,7 @@ on: # Triggers the workflow on push or pull request events but only for the master branch # Allows you to run this workflow manually from the Actions tab - push: + #push: workflow_dispatch: diff --git a/StructureDefinition/NHSDigital-Medication.StructureDefinition.xml b/StructureDefinition/NHSDigital-Medication.StructureDefinition.xml index 66a44dac..9945fc5f 100644 --- a/StructureDefinition/NHSDigital-Medication.StructureDefinition.xml +++ b/StructureDefinition/NHSDigital-Medication.StructureDefinition.xml @@ -1,8 +1,8 @@ <StructureDefinition xmlns="http://hl7.org/fhir"> <id value="NHSDigital-Medication" /> <url value="https://fhir.nhs.uk/StructureDefinition/NHSDigital-Medication" /> + <version value="2.1.0" /> <name value="NHSDigitalMedication" /> - <version value="2.1.0" /> <title value="NHS Digital Medication" /> <status value="active" /> <date value="2022-08-03" /> diff --git a/StructureDefinition/NHSDigital-QuestionnaireResponse.StructureDefinition.xml b/StructureDefinition/NHSDigital-QuestionnaireResponse.StructureDefinition.xml index 1c9f0c60..c38c7c72 100644 --- a/StructureDefinition/NHSDigital-QuestionnaireResponse.StructureDefinition.xml +++ b/StructureDefinition/NHSDigital-QuestionnaireResponse.StructureDefinition.xml @@ -2,8 +2,8 @@ <StructureDefinition xmlns="http://hl7.org/fhir"> <id value="2b02f97f-e0db-48c9-af27-0fc391677dc4" /> <url value="https://fhir.nhs.uk/StructureDefinition/NHSDigital-QuestionnaireResponse" /> - <version value="1.0.1" /> <name value="NHSDigitalQuestionnaireResponse" /> + <version value="1.0.1" /> <status value="draft" /> <date value="2024-08-14T13:51:00+00:00" /> <fhirVersion value="4.0.1" /> From bab08f63c62bfc3dcb95271e47af5264b84c8420 Mon Sep 17 00:00:00 2001 From: Kazeem Hamzat <kazeem.hamzat@nhs.net> Date: Thu, 21 May 2026 07:43:34 +0100 Subject: [PATCH 28/44] Update Assets Update Assets --- .github/workflows/terminology.yml | 2 +- Examples/SDS-Device-Bundle-Example.xml | 4 ++-- OperationDefinition/MedicationRequest-lock.json | 2 -- OperationDefinition/MedicationRequest-unlock.json | 2 -- OperationDefinition/MessageHeader-prepare-message.xml | 2 +- .../OperationDefinition-patientRegistration.json | 1 - .../OperationDefinition-prescription-release.xml | 3 +-- OperationDefinition/OperationDefinition-processMessage.json | 2 -- OperationDefinition/OperationDefinition-release.xml | 3 +-- ...ne-OperationOutcome-supportingInformation-prescription.xml | 2 +- StructureDefinition/NHSDigital-PractitionerRole-EPSLegal.xml | 1 + .../NHSDigital-PractitionerRole-SDS.StructureDefinition.xml | 1 + StructureDefinition/NHSDigital-Range.StructureDefinition.xml | 1 + .../NHSDigital-Reference.StructureDefinition.xml | 1 + ...Digital-ServiceRequest-PatientCare.StructureDefinition.xml | 1 + ValueSet/ValueSet-NHSDigital-servicerequest-code.xml | 1 + 16 files changed, 13 insertions(+), 16 deletions(-) diff --git a/.github/workflows/terminology.yml b/.github/workflows/terminology.yml index 2b54685a..eb43eec7 100644 --- a/.github/workflows/terminology.yml +++ b/.github/workflows/terminology.yml @@ -5,7 +5,7 @@ on: # Triggers the workflow on push or pull request events but only for the master branch # Allows you to run this workflow manually from the Actions tab - #push: + push: workflow_dispatch: diff --git a/Examples/SDS-Device-Bundle-Example.xml b/Examples/SDS-Device-Bundle-Example.xml index 624fe433..ceb3c22d 100644 --- a/Examples/SDS-Device-Bundle-Example.xml +++ b/Examples/SDS-Device-Bundle-Example.xml @@ -4,10 +4,10 @@ <total value="1"/> <link> <relation value="self"/> - <url value="[baseURL]/Device?organization=https://fhir.nhs.uk/Id/ods-organization-code|R8008&identifier=https://fhir.nhs.uk/Id/nhsEndpointServiceId|urn:nhs:names:services:psis:REPC_IN150016UK05&managing-organisation=https://fhir.nhs.uk/Id/ods-organization-code|T10101&identifier=https://fhir.nhs.uk/Id/nhsMhsPartyKey|R8008-0000806"/> + <url value="http://example.org/Device?organization=https://fhir.nhs.uk/Id/ods-organization-code|R8008&identifier=https://fhir.nhs.uk/Id/nhsEndpointServiceId|urn:nhs:names:services:psis:REPC_IN150016UK05&managing-organisation=https://fhir.nhs.uk/Id/ods-organization-code|T10101&identifier=https://fhir.nhs.uk/Id/nhsMhsPartyKey|R8008-0000806"/> </link> <entry> - <fullUrl value="[baseURL]/Device/ef4a9244-cec1-474a-8694-775dd385d2cc"/> + <fullUrl value="http://example.org/Device/ef4a9244-cec1-474a-8694-775dd385d2cc"/> <resource> <Device> <id value="ef4a9244-cec1-474a-8694-775dd385d2cc" /> diff --git a/OperationDefinition/MedicationRequest-lock.json b/OperationDefinition/MedicationRequest-lock.json index 6defceec..857b3e0e 100644 --- a/OperationDefinition/MedicationRequest-lock.json +++ b/OperationDefinition/MedicationRequest-lock.json @@ -28,8 +28,6 @@ "system": false, "type": false, "instance": true, - "inputProfile": "https://fhir.nhs.uk/StructureDefinition/NHSDigital-Task", - "outputProfile": "https://fhir.nhs.uk/StructureDefinition/NHSDigital-OperationOutcome", "parameter": [ { "name": "content", diff --git a/OperationDefinition/MedicationRequest-unlock.json b/OperationDefinition/MedicationRequest-unlock.json index 198a7f47..0f6472f7 100644 --- a/OperationDefinition/MedicationRequest-unlock.json +++ b/OperationDefinition/MedicationRequest-unlock.json @@ -28,8 +28,6 @@ "system": false, "type": false, "instance": true, - "inputProfile": "https://fhir.nhs.uk/StructureDefinition/NHSDigital-Task", - "outputProfile": "https://fhir.nhs.uk/StructureDefinition/NHSDigital-OperationOutcome", "parameter": [ { "name": "content", diff --git a/OperationDefinition/MessageHeader-prepare-message.xml b/OperationDefinition/MessageHeader-prepare-message.xml index 0ba4b79c..eca36421 100644 --- a/OperationDefinition/MessageHeader-prepare-message.xml +++ b/OperationDefinition/MessageHeader-prepare-message.xml @@ -14,8 +14,8 @@ </telecom> </contact> <description value="Convert a prescription in FHIR format into the canonicalised HL7 V3 signature fragments which should be signed by the prescriber." /> - <code value="prepare" /> <affectsState value="true" /> + <code value="prepare" /> <comment value="This operation does not use the parameters resource for input parameters, it does for the response. \n\n A server may return one of several status codes: \n\n * **200 OK**: Indicates that the message has been fully processed." /> <system value="true" /> <type value="false" /> diff --git a/OperationDefinition/OperationDefinition-patientRegistration.json b/OperationDefinition/OperationDefinition-patientRegistration.json index e2cc2d52..721e732c 100644 --- a/OperationDefinition/OperationDefinition-patientRegistration.json +++ b/OperationDefinition/OperationDefinition-patientRegistration.json @@ -31,7 +31,6 @@ "system": false, "type": true, "instance": false, - "outputProfile": "https://fhir.nhs.uk/StructureDefinition/NHSDigital-OperationOutcome", "parameter": [ { "name": "identifier", diff --git a/OperationDefinition/OperationDefinition-prescription-release.xml b/OperationDefinition/OperationDefinition-prescription-release.xml index 327e9c24..63484342 100644 --- a/OperationDefinition/OperationDefinition-prescription-release.xml +++ b/OperationDefinition/OperationDefinition-prescription-release.xml @@ -17,14 +17,13 @@ </telecom> </contact> <description value="Use this operation to download prescriptions from Spine before it is dispensed. You can download a single prescription using the prescription's ID, or download up to 25 prescriptions (per request) nominated to a dispenser using the dispenser's ODS code. The operation will return prescriptions passing signature validation as a collection of Prescription-Order bundles and/or error messages for Prescriptions failing signature validation as a collection of OperationOutcome resources (with the prescription-order messages attached as supportingInfo"></description> + <affectsState value="true" /> <code value="release"></code> - <affectsState value="true" /> <comment value="Only one of the parameters group-identifier and owner MUST be provided. This operation performs both a query on the message queue and updates the status of returned prescriptions."></comment> <resource value="Task"></resource> <system value="false"></system> <type value="true"></type> <instance value="false"></instance> - <outputProfile value="https://fhir.nhs.uk/StructureDefinition/NHSDigital-Bundle-Collection"/> <parameter> <name value="group-identifier"></name> <use value="in"></use> diff --git a/OperationDefinition/OperationDefinition-processMessage.json b/OperationDefinition/OperationDefinition-processMessage.json index c796a2d8..d5dd293a 100644 --- a/OperationDefinition/OperationDefinition-processMessage.json +++ b/OperationDefinition/OperationDefinition-processMessage.json @@ -28,8 +28,6 @@ "type": false, "instance": false, "affectsState": true, - "inputProfile": "https://fhir.nhs.uk/StructureDefinition/NHSDigital-Bundle-FHIRMessage", - "outputProfile": "https://fhir.nhs.uk/StructureDefinition/NHSDigital-OperationOutcome", "parameter": [ { "name": "content", diff --git a/OperationDefinition/OperationDefinition-release.xml b/OperationDefinition/OperationDefinition-release.xml index 2b074a27..73fdabf7 100644 --- a/OperationDefinition/OperationDefinition-release.xml +++ b/OperationDefinition/OperationDefinition-release.xml @@ -17,14 +17,13 @@ </telecom> </contact> <description value="Use this endpoint to download prescriptions from Spine before it is dispensed. You can download a single prescription using the prescription's ID, or download up to 25 prescriptions (per request) nominated to a dispenser using the dispenser's ODS code."></description> - <code value="release"></code> <affectsState value="true" /> + <code value="release"></code> <comment value="Only one of the parameters group-identifier and owner MUST be provided. This operation performs both a query on the message queue and updates the status of returned prescriptions."></comment> <resource value="Task"></resource> <system value="false"></system> <type value="true"></type> <instance value="false"></instance> - <outputProfile value="https://fhir.nhs.uk/StructureDefinition/NHSDigital-Bundle-SearchSet"/> <parameter> <name value="group-identifier"></name> <use value="in"></use> diff --git a/StructureDefinition/Extension-Spine-OperationOutcome-supportingInformation-prescription.xml b/StructureDefinition/Extension-Spine-OperationOutcome-supportingInformation-prescription.xml index d2dd19a8..1a0e5b36 100644 --- a/StructureDefinition/Extension-Spine-OperationOutcome-supportingInformation-prescription.xml +++ b/StructureDefinition/Extension-Spine-OperationOutcome-supportingInformation-prescription.xml @@ -22,7 +22,7 @@ <expression value="OperationOutcome" /> </context> <type value="Extension" /> - <baseDefinition value="https://fhir.nhs.uk/StructureDefinition/Extension-Spine-supportingInfo" /> + <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Extension" /> <derivation value="constraint" /> <differential> <element id="Extension"> diff --git a/StructureDefinition/NHSDigital-PractitionerRole-EPSLegal.xml b/StructureDefinition/NHSDigital-PractitionerRole-EPSLegal.xml index cead0c0b..ee4b49b7 100644 --- a/StructureDefinition/NHSDigital-PractitionerRole-EPSLegal.xml +++ b/StructureDefinition/NHSDigital-PractitionerRole-EPSLegal.xml @@ -1,5 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <StructureDefinition xmlns="http://hl7.org/fhir"> +<id value="db6578cd-cc97-4dda-9484-ace683282cb3" /> <url value="https://fhir.nhs.uk/StructureDefinition/NHSDigital-PractitionerRole-EPSLegal" /> <name value="NHSDigitalPractitionerRoleEPSLegal" /> <status value="draft" /> diff --git a/StructureDefinition/NHSDigital-PractitionerRole-SDS.StructureDefinition.xml b/StructureDefinition/NHSDigital-PractitionerRole-SDS.StructureDefinition.xml index 06c47183..0946e309 100644 --- a/StructureDefinition/NHSDigital-PractitionerRole-SDS.StructureDefinition.xml +++ b/StructureDefinition/NHSDigital-PractitionerRole-SDS.StructureDefinition.xml @@ -1,5 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <StructureDefinition xmlns="http://hl7.org/fhir"> +<id value="7dfce760-2c9b-45a5-bff5-504a3ec9bcf0" /> <url value="https://fhir.nhs.uk/StructureDefinition/NHSDigital-PractitionerRole-SDS" /> <name value="NHSDigitalPractitionerRoleSDS" /> <status value="draft" /> diff --git a/StructureDefinition/NHSDigital-Range.StructureDefinition.xml b/StructureDefinition/NHSDigital-Range.StructureDefinition.xml index 184d5ff1..08289fad 100644 --- a/StructureDefinition/NHSDigital-Range.StructureDefinition.xml +++ b/StructureDefinition/NHSDigital-Range.StructureDefinition.xml @@ -1,5 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <StructureDefinition xmlns="http://hl7.org/fhir"> +<id value="d04c8b95-f099-4a5a-9cb3-4e7cd118a29e" /> <url value="https://fhir.nhs.uk.uk/StructureDefinition/NHSDigital-Range" /> <name value="NHSDigitalRange" /> <status value="draft" /> diff --git a/StructureDefinition/NHSDigital-Reference.StructureDefinition.xml b/StructureDefinition/NHSDigital-Reference.StructureDefinition.xml index 84c061ed..5917cf80 100644 --- a/StructureDefinition/NHSDigital-Reference.StructureDefinition.xml +++ b/StructureDefinition/NHSDigital-Reference.StructureDefinition.xml @@ -1,5 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <StructureDefinition xmlns="http://hl7.org/fhir"> +<id value="f5cbd725-fdde-4fda-8254-29e8efebb75f" /> <url value="https://fhir.nhs.uk/StructureDefinition/NHSDigital-Reference" /> <name value="NHSDigitalReference" /> <status value="draft" /> diff --git a/StructureDefinition/NHSDigital-ServiceRequest-PatientCare.StructureDefinition.xml b/StructureDefinition/NHSDigital-ServiceRequest-PatientCare.StructureDefinition.xml index d94127bb..a9bec0ee 100644 --- a/StructureDefinition/NHSDigital-ServiceRequest-PatientCare.StructureDefinition.xml +++ b/StructureDefinition/NHSDigital-ServiceRequest-PatientCare.StructureDefinition.xml @@ -1,5 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <StructureDefinition xmlns="http://hl7.org/fhir"> +<id value="b6f026e3-290c-4811-956b-9f728114762a" /> <url value="https://fhir.nhs.uk/StructureDefinition/NHSDigital-ServiceRequest-PatientCare" /> <name value="NHSDigitalServiceRequestPatientCare" /> <status value="draft" /> diff --git a/ValueSet/ValueSet-NHSDigital-servicerequest-code.xml b/ValueSet/ValueSet-NHSDigital-servicerequest-code.xml index b8e00ee5..58aae98f 100644 --- a/ValueSet/ValueSet-NHSDigital-servicerequest-code.xml +++ b/ValueSet/ValueSet-NHSDigital-servicerequest-code.xml @@ -1,5 +1,6 @@ <ValueSet xmlns="http://hl7.org/fhir"> <url value="https://fhir.nhs.uk/ValueSet/NHSDigital-servicerequest-code" /> + <id value="8ebd4ece-c4fc-4444-a317-187f9ab86046"/> <version value="1.0.0" /> <name value="ServiceRequestCode" /> <title value="ServiceRequestCode" /> From eaa6e70c5f1847505193adfa0ab9f331405eac55 Mon Sep 17 00:00:00 2001 From: Kazeem Hamzat <kazeem.hamzat@nhs.net> Date: Thu, 21 May 2026 12:28:27 +0100 Subject: [PATCH 29/44] Validation Issues Validation Issues --- .../NHSDigital-Bundle-FHIRMessage.StructureDefinition.xml | 4 ++-- .../NHSDigital-Logical-Event.StructureDefinition.xml | 2 +- .../NHSDigital-Logical-Request.StructureDefinition.xml | 2 +- .../NHSDigital-QuestionnaireResponse.StructureDefinition.xml | 1 - ...ructureMap-MedicationRepeatInformation-Extension-3to4.json | 2 +- ValueSet/ValueSet-NHSDigital-servicerequest-code.xml | 2 +- 6 files changed, 6 insertions(+), 7 deletions(-) diff --git a/StructureDefinition/NHSDigital-Bundle-FHIRMessage.StructureDefinition.xml b/StructureDefinition/NHSDigital-Bundle-FHIRMessage.StructureDefinition.xml index be454d6f..10373068 100644 --- a/StructureDefinition/NHSDigital-Bundle-FHIRMessage.StructureDefinition.xml +++ b/StructureDefinition/NHSDigital-Bundle-FHIRMessage.StructureDefinition.xml @@ -66,10 +66,10 @@ <min value="1" /> <mustSupport value="true" /> </element> - <element id="Bundle.entry.resource:messageHeader"> + <element id="Bundle.entry:messageHeader.resource"> <path value="Bundle.entry.resource" /> <type> - <code value="Resource" /> + <code value="MessageHeader" /> <profile value="https://fhir.nhs.uk/StructureDefinition/NHSDigital-MessageHeader" /> </type> <mustSupport value="true" /> diff --git a/StructureDefinition/NHSDigital-Logical-Event.StructureDefinition.xml b/StructureDefinition/NHSDigital-Logical-Event.StructureDefinition.xml index d8aacf17..90649548 100644 --- a/StructureDefinition/NHSDigital-Logical-Event.StructureDefinition.xml +++ b/StructureDefinition/NHSDigital-Logical-Event.StructureDefinition.xml @@ -7,7 +7,7 @@ <fhirVersion value="4.0.1" /> <kind value="logical" /> <abstract value="false" /> - <type value="https://fhir.nhs.uk/StructureDefinition/NHSDigital-Logical-Event" /> + <type value="NHSDigitalLogicalEvent" /> <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Element" /> <derivation value="specialization" /> <differential> diff --git a/StructureDefinition/NHSDigital-Logical-Request.StructureDefinition.xml b/StructureDefinition/NHSDigital-Logical-Request.StructureDefinition.xml index 5e8e9c47..c09024f6 100644 --- a/StructureDefinition/NHSDigital-Logical-Request.StructureDefinition.xml +++ b/StructureDefinition/NHSDigital-Logical-Request.StructureDefinition.xml @@ -7,7 +7,7 @@ <fhirVersion value="4.0.1" /> <kind value="logical" /> <abstract value="false" /> - <type value="NHSDigitalLogicalRequest" /> + <type value="HSDigitalLogicalRequest" /> <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Element" /> <derivation value="specialization" /> <differential> diff --git a/StructureDefinition/NHSDigital-QuestionnaireResponse.StructureDefinition.xml b/StructureDefinition/NHSDigital-QuestionnaireResponse.StructureDefinition.xml index c38c7c72..b3db3892 100644 --- a/StructureDefinition/NHSDigital-QuestionnaireResponse.StructureDefinition.xml +++ b/StructureDefinition/NHSDigital-QuestionnaireResponse.StructureDefinition.xml @@ -3,7 +3,6 @@ <id value="2b02f97f-e0db-48c9-af27-0fc391677dc4" /> <url value="https://fhir.nhs.uk/StructureDefinition/NHSDigital-QuestionnaireResponse" /> <name value="NHSDigitalQuestionnaireResponse" /> - <version value="1.0.1" /> <status value="draft" /> <date value="2024-08-14T13:51:00+00:00" /> <fhirVersion value="4.0.1" /> diff --git a/StructureMap/StructureMap-MedicationRepeatInformation-Extension-3to4.json b/StructureMap/StructureMap-MedicationRepeatInformation-Extension-3to4.json index 88d051b5..080d98e6 100644 --- a/StructureMap/StructureMap-MedicationRepeatInformation-Extension-3to4.json +++ b/StructureMap/StructureMap-MedicationRepeatInformation-Extension-3to4.json @@ -235,7 +235,7 @@ "mode": "source" }, { "name": "tgt", - "type": "BackboneElement", + "type": "BMedicationRequest.DispenseRequest", "mode": "target" } ], "rule": [ { diff --git a/ValueSet/ValueSet-NHSDigital-servicerequest-code.xml b/ValueSet/ValueSet-NHSDigital-servicerequest-code.xml index 58aae98f..56ad8cac 100644 --- a/ValueSet/ValueSet-NHSDigital-servicerequest-code.xml +++ b/ValueSet/ValueSet-NHSDigital-servicerequest-code.xml @@ -1,6 +1,6 @@ <ValueSet xmlns="http://hl7.org/fhir"> +<id value="8ebd4ece-c4fc-4444-a317-187f9ab86046"/> <url value="https://fhir.nhs.uk/ValueSet/NHSDigital-servicerequest-code" /> - <id value="8ebd4ece-c4fc-4444-a317-187f9ab86046"/> <version value="1.0.0" /> <name value="ServiceRequestCode" /> <title value="ServiceRequestCode" /> From df0be864374c2c589ade78c4ebe1e3059cb21306 Mon Sep 17 00:00:00 2001 From: Kazeem Hamzat <kazeem.hamzat@nhs.net> Date: Thu, 21 May 2026 13:17:11 +0100 Subject: [PATCH 30/44] Fixing Issues Fixing Issues --- ConceptMap/MedicationRequest-course-therapy-type-map.xml | 2 +- .../NHSDigital-Bundle-FHIRMessage.StructureDefinition.xml | 8 ++++---- ...SDigital-QuestionnaireResponse.StructureDefinition.xml | 1 + custom.rules.yaml | 2 +- 4 files changed, 7 insertions(+), 6 deletions(-) diff --git a/ConceptMap/MedicationRequest-course-therapy-type-map.xml b/ConceptMap/MedicationRequest-course-therapy-type-map.xml index 48d6014f..e50d454a 100644 --- a/ConceptMap/MedicationRequest-course-therapy-type-map.xml +++ b/ConceptMap/MedicationRequest-course-therapy-type-map.xml @@ -21,7 +21,7 @@ <sourceUri value="https://fhir.nhs.uk/ValueSet/DM-prescription-therapy-type"/> <group> <source value="http://terminology.hl7.org/CodeSystem/medicationrequest-course-of-therapy"/> - <target value="https://fhir.hl7.org.uk/CodeSystem/UKCore-PrescriptionType" /> + <target value="https://fhir.nhs.uk/CodeSystem/DM-prescription-treatment-type" /> <element> <code value="acute"/> <display value="Short course (acute) therapy"/> diff --git a/StructureDefinition/NHSDigital-Bundle-FHIRMessage.StructureDefinition.xml b/StructureDefinition/NHSDigital-Bundle-FHIRMessage.StructureDefinition.xml index 10373068..63528520 100644 --- a/StructureDefinition/NHSDigital-Bundle-FHIRMessage.StructureDefinition.xml +++ b/StructureDefinition/NHSDigital-Bundle-FHIRMessage.StructureDefinition.xml @@ -69,20 +69,20 @@ <element id="Bundle.entry:messageHeader.resource"> <path value="Bundle.entry.resource" /> <type> - <code value="MessageHeader" /> + <code value="Resource" /> <profile value="https://fhir.nhs.uk/StructureDefinition/NHSDigital-MessageHeader" /> </type> <mustSupport value="true" /> </element> - <element id="Bundle.entry.search"> + <element id="Bundle.entry:messageHeader.search"> <path value="Bundle.entry.search" /> <max value="0" /> </element> - <element id="Bundle.entry.request"> + <element id="Bundle.entry:messageHeader.request"> <path value="Bundle.entry.request" /> <max value="0" /> </element> - <element id="Bundle.entry.response"> + <element id="Bundle.entry:messageHeader.response"> <path value="Bundle.entry.response" /> <max value="0" /> </element> diff --git a/StructureDefinition/NHSDigital-QuestionnaireResponse.StructureDefinition.xml b/StructureDefinition/NHSDigital-QuestionnaireResponse.StructureDefinition.xml index b3db3892..89f283d1 100644 --- a/StructureDefinition/NHSDigital-QuestionnaireResponse.StructureDefinition.xml +++ b/StructureDefinition/NHSDigital-QuestionnaireResponse.StructureDefinition.xml @@ -3,6 +3,7 @@ <id value="2b02f97f-e0db-48c9-af27-0fc391677dc4" /> <url value="https://fhir.nhs.uk/StructureDefinition/NHSDigital-QuestionnaireResponse" /> <name value="NHSDigitalQuestionnaireResponse" /> + <version value="0.1.0" /> <status value="draft" /> <date value="2024-08-14T13:51:00+00:00" /> <fhirVersion value="4.0.1" /> diff --git a/custom.rules.yaml b/custom.rules.yaml index ee7754d4..cbb329c6 100644 --- a/custom.rules.yaml +++ b/custom.rules.yaml @@ -23,7 +23,7 @@ - CONFIG #errors in dependencies e.g. loops, outdated, pre-release - 6006 #failure to contact term service - 1030 #reference loop - - 4009 #missing extensions + #- 4009 #missing extensions - action: unique name: unique-canonicals From 57feb75281552bd807e99e7233455f75dcac981a Mon Sep 17 00:00:00 2001 From: Kazeem Hamzat <kazeem.hamzat@nhs.net> Date: Thu, 21 May 2026 13:55:32 +0100 Subject: [PATCH 31/44] Validation Issues Validation Issues --- .../NHSDigital-Logical-Event.StructureDefinition.xml | 2 +- .../NHSDigital-Logical-Request.StructureDefinition.xml | 4 ++-- .../NHSDigital-Questionnaire.StructureDefinition.xml | 3 ++- .../NHSDigital-QuestionnaireResponse.StructureDefinition.xml | 2 +- ...ructureMap-MedicationRepeatInformation-Extension-3to4.json | 4 ++-- 5 files changed, 8 insertions(+), 7 deletions(-) diff --git a/StructureDefinition/NHSDigital-Logical-Event.StructureDefinition.xml b/StructureDefinition/NHSDigital-Logical-Event.StructureDefinition.xml index 90649548..a232f7d0 100644 --- a/StructureDefinition/NHSDigital-Logical-Event.StructureDefinition.xml +++ b/StructureDefinition/NHSDigital-Logical-Event.StructureDefinition.xml @@ -70,7 +70,7 @@ <min value="1" /> <max value="*" /> <type> - <code value="BackboneElement" /> + <code value="Reference" /> <profile value="http://hl7.org/fhir/StructureDefinition/BackboneElement" /> </type> </element> diff --git a/StructureDefinition/NHSDigital-Logical-Request.StructureDefinition.xml b/StructureDefinition/NHSDigital-Logical-Request.StructureDefinition.xml index c09024f6..c9d40990 100644 --- a/StructureDefinition/NHSDigital-Logical-Request.StructureDefinition.xml +++ b/StructureDefinition/NHSDigital-Logical-Request.StructureDefinition.xml @@ -4,10 +4,10 @@ <url value="https://fhir.nhs.uk/fhir/StructureDefinition/NHSDigitalLogicalRequest" /> <name value="NHSDigitalLogicalRequest" /> <status value="draft" /> - <fhirVersion value="4.0.1" /> + <fhirVersion value="4.0.1" />NHSDigitalLogicalRequest <kind value="logical" /> <abstract value="false" /> - <type value="HSDigitalLogicalRequest" /> + <type value="NHSDigitalLogicalRequest" /> <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Element" /> <derivation value="specialization" /> <differential> diff --git a/StructureDefinition/NHSDigital-Questionnaire.StructureDefinition.xml b/StructureDefinition/NHSDigital-Questionnaire.StructureDefinition.xml index 52d4a33d..f9445265 100644 --- a/StructureDefinition/NHSDigital-Questionnaire.StructureDefinition.xml +++ b/StructureDefinition/NHSDigital-Questionnaire.StructureDefinition.xml @@ -2,9 +2,10 @@ <StructureDefinition xmlns="http://hl7.org/fhir"> <id value="db6d872f-5bae-49df-908b-73540114c723" /> <url value="https://fhir.nhs.uk/StructureDefinition/NHSDigital-Questionnaire" /> - <fhirVersion value="4.0.1" /> + <version value="0.1.0" /> <name value="NHSDigitalQuestionnaire" /> <status value="draft" /> + <fhirVersion value="4.0.1" /> <kind value="resource" /> <abstract value="false" /> <type value="Questionnaire" /> diff --git a/StructureDefinition/NHSDigital-QuestionnaireResponse.StructureDefinition.xml b/StructureDefinition/NHSDigital-QuestionnaireResponse.StructureDefinition.xml index 89f283d1..03f86f51 100644 --- a/StructureDefinition/NHSDigital-QuestionnaireResponse.StructureDefinition.xml +++ b/StructureDefinition/NHSDigital-QuestionnaireResponse.StructureDefinition.xml @@ -2,8 +2,8 @@ <StructureDefinition xmlns="http://hl7.org/fhir"> <id value="2b02f97f-e0db-48c9-af27-0fc391677dc4" /> <url value="https://fhir.nhs.uk/StructureDefinition/NHSDigital-QuestionnaireResponse" /> - <name value="NHSDigitalQuestionnaireResponse" /> <version value="0.1.0" /> + <name value="NHSDigitalQuestionnaireResponse" /> <status value="draft" /> <date value="2024-08-14T13:51:00+00:00" /> <fhirVersion value="4.0.1" /> diff --git a/StructureMap/StructureMap-MedicationRepeatInformation-Extension-3to4.json b/StructureMap/StructureMap-MedicationRepeatInformation-Extension-3to4.json index 080d98e6..e26aafc3 100644 --- a/StructureMap/StructureMap-MedicationRepeatInformation-Extension-3to4.json +++ b/StructureMap/StructureMap-MedicationRepeatInformation-Extension-3to4.json @@ -8,7 +8,7 @@ }, "text": { "status": "generated", - "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><pre>map "http://fhir.nhs.uk/StructureMap/MedicationRepeatInformation-Extension-3to4" = "R3 to R4 conversion for CareConnect MedicationRepeatInformation extension"\r\n\r\n\r\nuses "http://hl7.org/fhir/StructureDefinition/MedicationRequest" alias MedicationRequest as source\r\nuses "http://hl7.org/fhir/StructureDefinition/MedicationRequest" alias MedicationRequest as target\r\n\r\ngroup MedicationRequest(source src : MedicationRequest, target tgt : MedicationRequest) {\r\n src.extension as ext where $this.url = 'https://fhir.nhs.uk/STU3/StructureDefinition/Extension-CareConnect-MedicationRepeatInformation-1' -> tgt.extension as tgtext, tgtext.url = 'https://fhir.nhs.uk/StructureDefinition/Extension-UKCore-MedicationRepeatInformation' then {\r\n ext.extension as vs where $this.url = 'numberOfRepeatPrescriptionsIssued' -> tgtext.extension = create('Extension') as vt, vt.url = 'numberOfRepeatPrescriptionsIssued' then ExtensionUnsignedIntValue(vs, vt);\r\n ext.extension as vs where $this.url = 'authorisationExpiryDate' -> tgtext.extension = create('Extension') as vt, vt.url = 'authorisationExpiryDate' then ExtensionDateTimeValue(vs, vt);\r\n };\r\n src.extension as ext where $this.url = 'https://fhir.nhs.uk/STU3/StructureDefinition/Extension-CareConnect-MedicationRepeatInformation-1' -> tgt.extension as tgtext then {\r\n ext.extension as vs where $this.url = 'numberOfRepeatPrescriptionsAllowed' -> tgt.dispenseRequest as vt then DispenseRequest(vs, vt);\r\n };\r\n}\r\n\r\ngroup ExtensionUnsignedIntValue(source src, target tgt) {\r\n src.value as vs -> tgt.value = create('unsignedInt') as vt, vt.value = vs;\r\n}\r\n\r\ngroup ExtensionDateTimeValue(source src, target tgt) {\r\n src.value as vs -> tgt.value = create('dateTime') as vt, vt.value = vs;\r\n}\r\n\r\ngroup DispenseRequest(source src, target tgt) {\r\n src.value as vs -> tgt.numberOfRepeatsAllowed = create('unsignedInt') as vt, vt.value = vs;\r\n}\r\n\r\n</pre></div>" + "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><pre>map "http://fhir.nhs.uk/StructureMap/MedicationRepeatInformation-Extension-3to4" = "R3 to R4 conversion for CareConnect MedicationRepeatInformation extension"\r\n\r\n\r\nuses "http://hl7.org/fhir/StructureDefinition/MedicationRequest" alias MedicationRequest as source\r\nuses "http://hl7.org/fhir/StructureDefinition/MedicationRequest" alias MedicationRequest as target\r\n\r\ngroup MedicationRequest(source src : MedicationRequest, target tgt : MedicationRequest) {\r\n src.extension as ext where $this.url = 'https://fhir.nhs.uk/STU3/StructureDefinition/Extension-CareConnect-MedicationRepeatInformation-1' -> tgt.extension as tgtext, tgtext.url = 'https://fhir.nhs.uk/StructureDefinition/Extension-UKCore-MedicationRepeatInformation' then {\r\n ext.extension as vs where $this.url = 'numberOfRepeatPrescriptionsIssued' -> tgtext.extension = create('Extension') as vt, vt.url = 'numberOfRepeatPrescriptionsIssued' then ExtensionUnsignedIntValue(vs, vt);\r\n ext.extension as vs where $this.url = 'authorisationExpiryDate' -> tgtext.extension = create('Extension') as vt, vt.url = 'authorisationExpiryDate' then ExtensionDateTimeValue(vs, vt);\r\n };\r\n src.extension as ext where $this.url = 'https://fhir.nhs.uk/STU3/StructureDefinition/Extension-CareConnect-MedicationRepeatInformation-1' -> tgt.extension as tgtext then {\r\n ext.extension as vs where $this.url = 'numberOfRepeatPrescriptionsAllowed' -> tgt.dispenseRequest as dr then DispenseRequest(vs, vt);\r\n };\r\n}\r\n\r\ngroup ExtensionUnsignedIntValue(source src, target tgt) {\r\n src.value as vs -> tgt.value = create('unsignedInt') as vt, vt.value = vs;\r\n}\r\n\r\ngroup ExtensionDateTimeValue(source src, target tgt) {\r\n src.value as vs -> tgt.value = create('dateTime') as vt, vt.value = vs;\r\n}\r\n\r\ngroup DispenseRequest(source src, target tgt) {\r\n src.value as vs -> tgt.numberOfRepeatsAllowed = create('unsignedInt') as vt, vt.value = vs;\r\n}\r\n\r\n</pre></div>" }, "url": "http://fhir.nhs.uk/StructureMap/MedicationRepeatInformation-Extension-3to4", "name": "R3toR4conversionforCareConnectMedicationRepeatInformationextension", @@ -235,7 +235,7 @@ "mode": "source" }, { "name": "tgt", - "type": "BMedicationRequest.DispenseRequest", + "type": "Element", "mode": "target" } ], "rule": [ { From 99f8f8515a483703c889fc765d4953ef851f2467 Mon Sep 17 00:00:00 2001 From: Kazeem Hamzat <kazeem.hamzat@nhs.net> Date: Thu, 21 May 2026 16:22:52 +0100 Subject: [PATCH 32/44] Validation Issues Validation Issues --- ...icationRequest-course-therapy-type-map.xml | 2 +- ...ital-Logical-Event.StructureDefinition.xml | 19 +++++++++---------- ...al-Logical-Request.StructureDefinition.xml | 4 ++-- 3 files changed, 12 insertions(+), 13 deletions(-) diff --git a/ConceptMap/MedicationRequest-course-therapy-type-map.xml b/ConceptMap/MedicationRequest-course-therapy-type-map.xml index e50d454a..fa4c49cc 100644 --- a/ConceptMap/MedicationRequest-course-therapy-type-map.xml +++ b/ConceptMap/MedicationRequest-course-therapy-type-map.xml @@ -18,7 +18,7 @@ </contact> <description value="Prescription Course of Therapy Mapping (DigitalMedicine to v3)"/> <purpose value="Medicine Management"/> - <sourceUri value="https://fhir.nhs.uk/ValueSet/DM-prescription-therapy-type"/> + <sourceUri value="http://terminology.hl7.org/ValueSet/medicationrequest-course-of-therapy"/> <group> <source value="http://terminology.hl7.org/CodeSystem/medicationrequest-course-of-therapy"/> <target value="https://fhir.nhs.uk/CodeSystem/DM-prescription-treatment-type" /> diff --git a/StructureDefinition/NHSDigital-Logical-Event.StructureDefinition.xml b/StructureDefinition/NHSDigital-Logical-Event.StructureDefinition.xml index a232f7d0..a3cea498 100644 --- a/StructureDefinition/NHSDigital-Logical-Event.StructureDefinition.xml +++ b/StructureDefinition/NHSDigital-Logical-Event.StructureDefinition.xml @@ -7,15 +7,15 @@ <fhirVersion value="4.0.1" /> <kind value="logical" /> <abstract value="false" /> - <type value="NHSDigitalLogicalEvent" /> + <type value="https://fhir.nhs.uk/StructureDefinition/NHSDigitalLogicalEvent" /> <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Element" /> <derivation value="specialization" /> <differential> - <element id="NHSDigitalLogicalEvent"> - <path value="NHSDigitalLogicalEvent" /> - <min value="0" /> - <max value="1" /> - </element> + <element id ="NHSDigitalLogicalEvent" > + <path value="NHSDigitalLogicalEvent" /> + <min value="0" /> + <max value="1" /> + </element> <element id="NHSDigitalLogicalEvent.identifier"> <path value="NHSDigitalLogicalEvent.identifier" /> <short value="Business Identifier for {{title}}" /> @@ -33,10 +33,9 @@ <max value="1" /> <type> <code value="code" /> - <profile value="http://hl7.org/fhir/StructureDefinition/code" /> </type> </element> - <element id="NHSDigitalLogicalEvent.code"> + <element id="code"> <path value="NHSDigitalLogicalEvent.code" /> <short value="What was done (recommended)" /> <min value="0" /> @@ -65,13 +64,13 @@ <targetProfile value="https://fhir.hl7.org.uk/StructureDefinition/UKCore-Encounter" /> </type> </element> - <element id="NHSDigitalLogicalEvent.performer"> + <element id="performer"> <path value="NHSDigitalLogicalEvent.performer" /> <min value="1" /> <max value="*" /> <type> <code value="Reference" /> - <profile value="http://hl7.org/fhir/StructureDefinition/BackboneElement" /> + <targetProfile value="https://fhir.hl7.org.uk/StructureDefinition/Practitioner" /> </type> </element> </differential> diff --git a/StructureDefinition/NHSDigital-Logical-Request.StructureDefinition.xml b/StructureDefinition/NHSDigital-Logical-Request.StructureDefinition.xml index c9d40990..eb47c377 100644 --- a/StructureDefinition/NHSDigital-Logical-Request.StructureDefinition.xml +++ b/StructureDefinition/NHSDigital-Logical-Request.StructureDefinition.xml @@ -4,10 +4,10 @@ <url value="https://fhir.nhs.uk/fhir/StructureDefinition/NHSDigitalLogicalRequest" /> <name value="NHSDigitalLogicalRequest" /> <status value="draft" /> - <fhirVersion value="4.0.1" />NHSDigitalLogicalRequest + <fhirVersion value="4.0.1" /> <kind value="logical" /> <abstract value="false" /> - <type value="NHSDigitalLogicalRequest" /> + <type value="https://fhir.nhs.uk/fhir/StructureDefinition/NHSDigitalLogicalRequest" /> <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Element" /> <derivation value="specialization" /> <differential> From 342c0556e162513e1b007ebb86f3c83dc066b318 Mon Sep 17 00:00:00 2001 From: Kazeem Hamzat <kazeem.hamzat@nhs.net> Date: Thu, 21 May 2026 17:01:37 +0100 Subject: [PATCH 33/44] Update StructureMap-MedicationRepeatInformation-Extension-3to4 Update StructureMap-MedicationRepeatInformation-Extension-3to4 --- ...ationRepeatInformation-Extension-3to4.json | 609 ++++++++++-------- 1 file changed, 355 insertions(+), 254 deletions(-) diff --git a/StructureMap/StructureMap-MedicationRepeatInformation-Extension-3to4.json b/StructureMap/StructureMap-MedicationRepeatInformation-Extension-3to4.json index e26aafc3..d08a2535 100644 --- a/StructureMap/StructureMap-MedicationRepeatInformation-Extension-3to4.json +++ b/StructureMap/StructureMap-MedicationRepeatInformation-Extension-3to4.json @@ -12,257 +12,358 @@ }, "url": "http://fhir.nhs.uk/StructureMap/MedicationRepeatInformation-Extension-3to4", "name": "R3toR4conversionforCareConnectMedicationRepeatInformationextension", - "structure": [ { - "url": "http://hl7.org/fhir/StructureDefinition/MedicationRequest", - "mode": "source", - "alias": "MedicationRequestSTU3" - }, { - "url": "http://hl7.org/fhir/StructureDefinition/MedicationRequest", - "mode": "target", - "alias": "MedicationRequestR4" - } ], - "group": [ { - "name": "MedicationRequest", - "typeMode": "none", - "input": [ { - "name": "src", - "type": "MedicationRequestSTU3", - "mode": "source" - }, { - "name": "tgt", - "type": "MedicationRequestR4", - "mode": "target" - } ], - "rule": [ { - "name": "extension", - "source": [ { - "context": "src", - "element": "extension", - "variable": "ext", - "condition": "$this.url = 'https://fhir.nhs.uk/STU3/StructureDefinition/Extension-CareConnect-MedicationRepeatInformation-1'" - } ], - "target": [ { - "context": "tgt", - "contextType": "variable", - "element": "extension", - "variable": "tgtext" - }, { - "context": "tgtext", - "contextType": "variable", - "element": "url", - "transform": "copy", - "parameter": [ { - "valueString": "https://fhir.nhs.uk/StructureDefinition/Extension-UKCore-MedicationRepeatInformation" - } ] - } ], - "rule": [ { - "name": "extension", - "source": [ { - "context": "ext", - "element": "extension", - "variable": "vs", - "condition": "$this.url = 'numberOfRepeatPrescriptionsIssued'" - } ], - "target": [ { - "context": "tgtext", - "contextType": "variable", - "element": "extension", - "variable": "vt", - "transform": "create", - "parameter": [ { - "valueString": "Extension" - } ] - }, { - "context": "vt", - "contextType": "variable", - "element": "url", - "transform": "copy", - "parameter": [ { - "valueString": "numberOfRepeatPrescriptionsIssued" - } ] - } ], - "dependent": [ { - "name": "ExtensionUnsignedIntValue", - "variable": [ "vs", "vt" ] - } ] - }, { - "name": "extension", - "source": [ { - "context": "ext", - "element": "extension", - "variable": "vs", - "condition": "$this.url = 'authorisationExpiryDate'" - } ], - "target": [ { - "context": "tgtext", - "contextType": "variable", - "element": "extension", - "variable": "vt", - "transform": "create", - "parameter": [ { - "valueString": "Extension" - } ] - }, { - "context": "vt", - "contextType": "variable", - "element": "url", - "transform": "copy", - "parameter": [ { - "valueString": "authorisationExpiryDate" - } ] - } ], - "dependent": [ { - "name": "ExtensionDateTimeValue", - "variable": [ "vs", "vt" ] - } ] - } ] - }, { - "name": "extension", - "source": [ { - "context": "src", - "element": "extension", - "variable": "ext", - "condition": "$this.url = 'https://fhir.nhs.uk/STU3/StructureDefinition/Extension-CareConnect-MedicationRepeatInformation-1'" - } ], - "target": [ { - "context": "tgt", - "contextType": "variable", - "element": "extension", - "variable": "tgtext" - } ], - "rule": [ { - "name": "extension", - "source": [ { - "context": "ext", - "element": "extension", - "variable": "vs", - "condition": "$this.url = 'numberOfRepeatPrescriptionsAllowed'" - } ], - "target": [ { - "context": "tgt", - "contextType": "variable", - "element": "dispenseRequest", - "variable": "vt" - } ], - "dependent": [ { - "name": "DispenseRequest", - "variable": [ "vs", "vt" ] - } ] - } ] - } ] - }, { - "name": "ExtensionUnsignedIntValue", - "typeMode": "none", - "input": [ { - "name": "src", - "type": "Extension", - "mode": "source" - }, { - "name": "tgt", - "type": "Extension", - "mode": "target" - } ], - "rule": [ { - "name": "value", - "source": [ { - "context": "src", - "element": "value", - "variable": "vs" - } ], - "target": [ { - "context": "tgt", - "contextType": "variable", - "element": "value", - "variable": "vt", - "transform": "create", - "parameter": [ { - "valueString": "unsignedInt" - } ] - }, { - "context": "vt", - "contextType": "variable", - "element": "value", - "transform": "copy", - "parameter": [ { - "valueId": "vs" - } ] - } ] - } ] - }, { - "name": "ExtensionDateTimeValue", - "typeMode": "none", - "input": [ { - "name": "src", - "type": "Extension", - "mode": "source" - }, { - "name": "tgt", - "type": "Extension", - "mode": "target" - } ], - "rule": [ { - "name": "value", - "source": [ { - "context": "src", - "element": "value", - "variable": "vs" - } ], - "target": [ { - "context": "tgt", - "contextType": "variable", - "element": "value", - "variable": "vt", - "transform": "create", - "parameter": [ { - "valueString": "dateTime" - } ] - }, { - "context": "vt", - "contextType": "variable", - "element": "value", - "transform": "copy", - "parameter": [ { - "valueId": "vs" - } ] - } ] - } ] - }, { - "name": "DispenseRequest", - "typeMode": "none", - "input": [ { - "name": "src", - "type": "Extension", - "mode": "source" - }, { - "name": "tgt", - "type": "Element", - "mode": "target" - } ], - "rule": [ { - "name": "value", - "source": [ { - "context": "src", - "element": "value", - "variable": "vs" - } ], - "target": [ { - "context": "tgt", - "contextType": "variable", - "element": "numberOfRepeatsAllowed", - "variable": "vt", - "transform": "create", - "parameter": [ { - "valueString": "unsignedInt" - } ] - }, { - "context": "vt", - "contextType": "variable", - "element": "value", - "transform": "copy", - "parameter": [ { - "valueId": "vs" - } ] - } ] - } ] - } ] -} + "structure": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/MedicationRequest", + "mode": "source", + "alias": "MedicationRequestSTU3" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/MedicationRequest", + "mode": "target", + "alias": "MedicationRequestR4" + } + ], + "group": [ + { + "name": "MedicationRequest", + "typeMode": "none", + "input": [ + { + "name": "src", + "type": "MedicationRequestSTU3", + "mode": "source" + }, + { + "name": "tgt", + "type": "MedicationRequestR4", + "mode": "target" + } + ], + "rule": [ + { + "name": "extension", + "source": [ + { + "context": "src", + "element": "extension", + "variable": "ext", + "condition": "$this.url = 'https://fhir.nhs.uk/STU3/StructureDefinition/Extension-CareConnect-MedicationRepeatInformation-1'" + } + ], + "target": [ + { + "context": "tgt", + "contextType": "variable", + "element": "extension", + "variable": "tgtext" + }, + { + "context": "tgtext", + "contextType": "variable", + "element": "url", + "transform": "copy", + "parameter": [ + { + "valueString": "https://fhir.nhs.uk/StructureDefinition/Extension-UKCore-MedicationRepeatInformation" + } + ] + } + ], + "rule": [ + { + "name": "extension", + "source": [ + { + "context": "ext", + "element": "extension", + "variable": "vs", + "condition": "$this.url = 'numberOfRepeatPrescriptionsIssued'" + } + ], + "target": [ + { + "context": "tgtext", + "contextType": "variable", + "element": "extension", + "variable": "vt", + "transform": "create", + "parameter": [ + { + "valueString": "Extension" + } + ] + }, + { + "context": "vt", + "contextType": "variable", + "element": "url", + "transform": "copy", + "parameter": [ + { + "valueString": "numberOfRepeatPrescriptionsIssued" + } + ] + } + ], + "dependent": [ + { + "name": "ExtensionUnsignedIntValue", + "variable": [ + "vs", + "vt" + ] + } + ] + }, + { + "name": "extension", + "source": [ + { + "context": "ext", + "element": "extension", + "variable": "vs", + "condition": "$this.url = 'authorisationExpiryDate'" + } + ], + "target": [ + { + "context": "tgtext", + "contextType": "variable", + "element": "extension", + "variable": "vt", + "transform": "create", + "parameter": [ + { + "valueString": "Extension" + } + ] + }, + { + "context": "vt", + "contextType": "variable", + "element": "url", + "transform": "copy", + "parameter": [ + { + "valueString": "authorisationExpiryDate" + } + ] + } + ], + "dependent": [ + { + "name": "ExtensionDateTimeValue", + "variable": [ + "vs", + "vt" + ] + } + ] + } + ] + }, + { + "name": "extension", + "source": [ + { + "context": "src", + "element": "extension", + "variable": "ext", + "condition": "$this.url = 'https://fhir.nhs.uk/STU3/StructureDefinition/Extension-CareConnect-MedicationRepeatInformation-1'" + } + ], + "target": [ + { + "context": "tgt", + "contextType": "variable", + "element": "extension", + "variable": "tgtext" + } + ], + "rule": [ + { + "name": "extension", + "source": [ + { + "context": "ext", + "element": "extension", + "variable": "vs", + "condition": "$this.url = 'numberOfRepeatPrescriptionsAllowed'" + } + ], + "target": [ + { + "context": "tgt", + "contextType": "variable", + "element": "dispenseRequest", + "variable": "vt" + } + ], + "dependent": [ + { + "name": "DispenseRequest", + "variable": [ + "vs", + "vt" + ] + } + ] + } + ] + } + ] + }, + { + "name": "ExtensionUnsignedIntValue", + "typeMode": "none", + "input": [ + { + "name": "src", + "type": "Extension", + "mode": "source" + }, + { + "name": "tgt", + "type": "Extension", + "mode": "target" + } + ], + "rule": [ + { + "name": "value", + "source": [ + { + "context": "src", + "element": "value", + "variable": "vs" + } + ], + "target": [ + { + "context": "tgt", + "contextType": "variable", + "element": "value", + "variable": "vt", + "transform": "create", + "parameter": [ + { + "valueString": "unsignedInt" + } + ] + }, + { + "context": "vt", + "contextType": "variable", + "element": "value", + "transform": "copy", + "parameter": [ + { + "valueId": "vs" + } + ] + } + ] + } + ] + }, + { + "name": "ExtensionDateTimeValue", + "typeMode": "none", + "input": [ + { + "name": "src", + "type": "Extension", + "mode": "source" + }, + { + "name": "tgt", + "type": "Extension", + "mode": "target" + } + ], + "rule": [ + { + "name": "value", + "source": [ + { + "context": "src", + "element": "value", + "variable": "vs" + } + ], + "target": [ + { + "context": "tgt", + "contextType": "variable", + "element": "value", + "variable": "vt", + "transform": "create", + "parameter": [ + { + "valueString": "dateTime" + } + ] + }, + { + "context": "vt", + "contextType": "variable", + "element": "value", + "transform": "copy", + "parameter": [ + { + "valueId": "vs" + } + ] + } + ] + } + ] + }, + { + "name": "DispenseRequest", + "typeMode": "none", + "input": [ + { + "name": "src", + "type": "Extension", + "mode": "source" + }, + { + "name": "tgt", + "type": "MedicationRequest", + "mode": "target" + } + ], + "rule": [ + { + "name": "value", + "source": [ + { + "context": "src", + "element": "value", + "variable": "vs" + } + ], + "target": [ + { + "context": "tgt", + "contextType": "variable", + "element": "dispenseRequest" + }, + { + "context": "tgt.dispenseRequest", + "element": "numberOfRepeatsAllowed", + "transform": "copy", + "parameter": [ + { + "valueId": "vs" + } + ] + } + ] + } + ] + } + ] +} \ No newline at end of file From 0962bd255a1491dc57547f443c61acc6e5d60dd4 Mon Sep 17 00:00:00 2001 From: Kazeem Hamzat <kazeem.hamzat@nhs.net> Date: Thu, 21 May 2026 17:20:31 +0100 Subject: [PATCH 34/44] Ignore the STMap Ignore the STMap --- .github/workflows/firely-validation.yml | 10 +- .gitignore | 1 + ...ationRepeatInformation-Extension-3to4.json | 609 ++++++++---------- custom.rules.yaml | 2 +- 4 files changed, 261 insertions(+), 361 deletions(-) diff --git a/.github/workflows/firely-validation.yml b/.github/workflows/firely-validation.yml index 5fe1469f..38bd2927 100644 --- a/.github/workflows/firely-validation.yml +++ b/.github/workflows/firely-validation.yml @@ -5,11 +5,11 @@ name: Firely Validation # Controls when the action will run. on: # Triggers the workflow on push or pull request events but only for the master branch - push: - branches: - - '**' - pull_request: - branches: [ master, main ] + #push: + #branches: [ master, main ] + + #pull_request: + #branches: [ master, main ] # Allows you to run this workflow manually from the Actions tab workflow_dispatch: diff --git a/.gitignore b/.gitignore index f77ca908..475fc106 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,4 @@ validation IOPS-validation validation-service-fhir-r4 .idea/workspace.xml +StructureMap/StructureMap-MedicationRepeatInformation-Extension-3to4.json diff --git a/StructureMap/StructureMap-MedicationRepeatInformation-Extension-3to4.json b/StructureMap/StructureMap-MedicationRepeatInformation-Extension-3to4.json index d08a2535..9987bee8 100644 --- a/StructureMap/StructureMap-MedicationRepeatInformation-Extension-3to4.json +++ b/StructureMap/StructureMap-MedicationRepeatInformation-Extension-3to4.json @@ -8,362 +8,261 @@ }, "text": { "status": "generated", - "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><pre>map "http://fhir.nhs.uk/StructureMap/MedicationRepeatInformation-Extension-3to4" = "R3 to R4 conversion for CareConnect MedicationRepeatInformation extension"\r\n\r\n\r\nuses "http://hl7.org/fhir/StructureDefinition/MedicationRequest" alias MedicationRequest as source\r\nuses "http://hl7.org/fhir/StructureDefinition/MedicationRequest" alias MedicationRequest as target\r\n\r\ngroup MedicationRequest(source src : MedicationRequest, target tgt : MedicationRequest) {\r\n src.extension as ext where $this.url = 'https://fhir.nhs.uk/STU3/StructureDefinition/Extension-CareConnect-MedicationRepeatInformation-1' -> tgt.extension as tgtext, tgtext.url = 'https://fhir.nhs.uk/StructureDefinition/Extension-UKCore-MedicationRepeatInformation' then {\r\n ext.extension as vs where $this.url = 'numberOfRepeatPrescriptionsIssued' -> tgtext.extension = create('Extension') as vt, vt.url = 'numberOfRepeatPrescriptionsIssued' then ExtensionUnsignedIntValue(vs, vt);\r\n ext.extension as vs where $this.url = 'authorisationExpiryDate' -> tgtext.extension = create('Extension') as vt, vt.url = 'authorisationExpiryDate' then ExtensionDateTimeValue(vs, vt);\r\n };\r\n src.extension as ext where $this.url = 'https://fhir.nhs.uk/STU3/StructureDefinition/Extension-CareConnect-MedicationRepeatInformation-1' -> tgt.extension as tgtext then {\r\n ext.extension as vs where $this.url = 'numberOfRepeatPrescriptionsAllowed' -> tgt.dispenseRequest as dr then DispenseRequest(vs, vt);\r\n };\r\n}\r\n\r\ngroup ExtensionUnsignedIntValue(source src, target tgt) {\r\n src.value as vs -> tgt.value = create('unsignedInt') as vt, vt.value = vs;\r\n}\r\n\r\ngroup ExtensionDateTimeValue(source src, target tgt) {\r\n src.value as vs -> tgt.value = create('dateTime') as vt, vt.value = vs;\r\n}\r\n\r\ngroup DispenseRequest(source src, target tgt) {\r\n src.value as vs -> tgt.numberOfRepeatsAllowed = create('unsignedInt') as vt, vt.value = vs;\r\n}\r\n\r\n</pre></div>" + "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><pre>map "http://fhir.nhs.uk/StructureMap/MedicationRepeatInformation-Extension-3to4" = "R3 to R4 conversion for CareConnect MedicationRepeatInformation extension"\r\n\r\n\r\nuses "http://hl7.org/fhir/StructureDefinition/MedicationRequest" alias MedicationRequest as source\r\nuses "http://hl7.org/fhir/StructureDefinition/MedicationRequest" alias MedicationRequest as target\r\n\r\ngroup MedicationRequest(source src : MedicationRequest, target tgt : MedicationRequest) {\r\n src.extension as ext where $this.url = 'https://fhir.nhs.uk/STU3/StructureDefinition/Extension-CareConnect-MedicationRepeatInformation-1' -> tgt.extension as tgtext, tgtext.url = 'https://fhir.nhs.uk/StructureDefinition/Extension-UKCore-MedicationRepeatInformation' then {\r\n ext.extension as vs where $this.url = 'numberOfRepeatPrescriptionsIssued' -> tgtext.extension = create('Extension') as vt, vt.url = 'numberOfRepeatPrescriptionsIssued' then ExtensionUnsignedIntValue(vs, vt);\r\n ext.extension as vs where $this.url = 'authorisationExpiryDate' -> tgtext.extension = create('Extension') as vt, vt.url = 'authorisationExpiryDate' then ExtensionDateTimeValue(vs, vt);\r\n };\r\n src.extension as ext where $this.url = 'https://fhir.nhs.uk/STU3/StructureDefinition/Extension-CareConnect-MedicationRepeatInformation-1' -> tgt.extension as tgtext then {\r\n ext.extension as vs where $this.url = 'numberOfRepeatPrescriptionsAllowed' -> tgt.dispenseRequest as vt then DispenseRequest(vs, vt);\r\n };\r\n}\r\n\r\ngroup ExtensionUnsignedIntValue(source src, target tgt) {\r\n src.value as vs -> tgt.value = create('unsignedInt') as vt, vt.value = vs;\r\n}\r\n\r\ngroup ExtensionDateTimeValue(source src, target tgt) {\r\n src.value as vs -> tgt.value = create('dateTime') as vt, vt.value = vs;\r\n}\r\n\r\ngroup DispenseRequest(source src, target tgt) {\r\n src.value as vs -> tgt.numberOfRepeatsAllowed = create('unsignedInt') as vt, vt.value = vs;\r\n}\r\n\r\n</pre></div>" }, "url": "http://fhir.nhs.uk/StructureMap/MedicationRepeatInformation-Extension-3to4", "name": "R3toR4conversionforCareConnectMedicationRepeatInformationextension", - "structure": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/MedicationRequest", - "mode": "source", - "alias": "MedicationRequestSTU3" - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/MedicationRequest", - "mode": "target", - "alias": "MedicationRequestR4" - } - ], - "group": [ - { - "name": "MedicationRequest", - "typeMode": "none", - "input": [ - { - "name": "src", - "type": "MedicationRequestSTU3", - "mode": "source" - }, - { - "name": "tgt", - "type": "MedicationRequestR4", - "mode": "target" - } - ], - "rule": [ - { - "name": "extension", - "source": [ - { - "context": "src", - "element": "extension", - "variable": "ext", - "condition": "$this.url = 'https://fhir.nhs.uk/STU3/StructureDefinition/Extension-CareConnect-MedicationRepeatInformation-1'" - } - ], - "target": [ - { - "context": "tgt", - "contextType": "variable", - "element": "extension", - "variable": "tgtext" - }, - { - "context": "tgtext", - "contextType": "variable", - "element": "url", - "transform": "copy", - "parameter": [ - { - "valueString": "https://fhir.nhs.uk/StructureDefinition/Extension-UKCore-MedicationRepeatInformation" - } - ] - } - ], - "rule": [ - { - "name": "extension", - "source": [ - { - "context": "ext", - "element": "extension", - "variable": "vs", - "condition": "$this.url = 'numberOfRepeatPrescriptionsIssued'" - } - ], - "target": [ - { - "context": "tgtext", - "contextType": "variable", - "element": "extension", - "variable": "vt", - "transform": "create", - "parameter": [ - { - "valueString": "Extension" - } - ] - }, - { - "context": "vt", - "contextType": "variable", - "element": "url", - "transform": "copy", - "parameter": [ - { - "valueString": "numberOfRepeatPrescriptionsIssued" - } - ] - } - ], - "dependent": [ - { - "name": "ExtensionUnsignedIntValue", - "variable": [ - "vs", - "vt" - ] - } - ] - }, - { - "name": "extension", - "source": [ - { - "context": "ext", - "element": "extension", - "variable": "vs", - "condition": "$this.url = 'authorisationExpiryDate'" - } - ], - "target": [ - { - "context": "tgtext", - "contextType": "variable", - "element": "extension", - "variable": "vt", - "transform": "create", - "parameter": [ - { - "valueString": "Extension" - } - ] - }, - { - "context": "vt", - "contextType": "variable", - "element": "url", - "transform": "copy", - "parameter": [ - { - "valueString": "authorisationExpiryDate" - } - ] - } - ], - "dependent": [ - { - "name": "ExtensionDateTimeValue", - "variable": [ - "vs", - "vt" - ] - } - ] - } - ] - }, - { - "name": "extension", - "source": [ - { - "context": "src", - "element": "extension", - "variable": "ext", - "condition": "$this.url = 'https://fhir.nhs.uk/STU3/StructureDefinition/Extension-CareConnect-MedicationRepeatInformation-1'" - } - ], - "target": [ - { - "context": "tgt", - "contextType": "variable", - "element": "extension", - "variable": "tgtext" - } - ], - "rule": [ - { - "name": "extension", - "source": [ - { - "context": "ext", - "element": "extension", - "variable": "vs", - "condition": "$this.url = 'numberOfRepeatPrescriptionsAllowed'" - } - ], - "target": [ - { - "context": "tgt", - "contextType": "variable", - "element": "dispenseRequest", - "variable": "vt" - } - ], - "dependent": [ - { - "name": "DispenseRequest", - "variable": [ - "vs", - "vt" - ] - } - ] - } - ] - } - ] - }, - { - "name": "ExtensionUnsignedIntValue", - "typeMode": "none", - "input": [ - { - "name": "src", - "type": "Extension", - "mode": "source" - }, - { - "name": "tgt", - "type": "Extension", - "mode": "target" - } - ], - "rule": [ - { - "name": "value", - "source": [ - { - "context": "src", - "element": "value", - "variable": "vs" - } - ], - "target": [ - { - "context": "tgt", - "contextType": "variable", - "element": "value", - "variable": "vt", - "transform": "create", - "parameter": [ - { - "valueString": "unsignedInt" - } - ] - }, - { - "context": "vt", - "contextType": "variable", - "element": "value", - "transform": "copy", - "parameter": [ - { - "valueId": "vs" - } - ] - } - ] - } - ] - }, - { - "name": "ExtensionDateTimeValue", - "typeMode": "none", - "input": [ - { - "name": "src", - "type": "Extension", - "mode": "source" - }, - { - "name": "tgt", - "type": "Extension", - "mode": "target" - } - ], - "rule": [ - { - "name": "value", - "source": [ - { - "context": "src", - "element": "value", - "variable": "vs" - } - ], - "target": [ - { - "context": "tgt", - "contextType": "variable", - "element": "value", - "variable": "vt", - "transform": "create", - "parameter": [ - { - "valueString": "dateTime" - } - ] - }, - { - "context": "vt", - "contextType": "variable", - "element": "value", - "transform": "copy", - "parameter": [ - { - "valueId": "vs" - } - ] - } - ] - } - ] - }, - { - "name": "DispenseRequest", - "typeMode": "none", - "input": [ - { - "name": "src", - "type": "Extension", - "mode": "source" - }, - { - "name": "tgt", - "type": "MedicationRequest", - "mode": "target" - } - ], - "rule": [ - { - "name": "value", - "source": [ - { - "context": "src", - "element": "value", - "variable": "vs" - } - ], - "target": [ - { - "context": "tgt", - "contextType": "variable", - "element": "dispenseRequest" - }, - { - "context": "tgt.dispenseRequest", - "element": "numberOfRepeatsAllowed", - "transform": "copy", - "parameter": [ - { - "valueId": "vs" - } - ] - } - ] - } - ] - } - ] + "structure": [ { + "url": "http://hl7.org/fhir/StructureDefinition/MedicationRequest", + "mode": "source", + "alias": "MedicationRequestSTU3" + }, { + "url": "http://hl7.org/fhir/StructureDefinition/MedicationRequest", + "mode": "target", + "alias": "MedicationRequestR4" + } ], + "group": [ { + "name": "MedicationRequest", + "typeMode": "none", + "input": [ { + "name": "src", + "type": "MedicationRequestSTU3", + "mode": "source" + }, { + "name": "tgt", + "type": "MedicationRequestR4", + "mode": "target" + } ], + "rule": [ { + "name": "extension", + "source": [ { + "context": "src", + "element": "extension", + "variable": "ext", + "condition": "$this.url = 'https://fhir.nhs.uk/STU3/StructureDefinition/Extension-CareConnect-MedicationRepeatInformation-1'" + } ], + "target": [ { + "context": "tgt", + "contextType": "variable", + "element": "extension", + "variable": "tgtext" + }, { + "context": "tgtext", + "contextType": "variable", + "element": "url", + "transform": "copy", + "parameter": [ { + "valueString": "https://fhir.nhs.uk/StructureDefinition/Extension-UKCore-MedicationRepeatInformation" + } ] + } ], + "rule": [ { + "name": "extension", + "source": [ { + "context": "ext", + "element": "extension", + "variable": "vs", + "condition": "$this.url = 'numberOfRepeatPrescriptionsIssued'" + } ], + "target": [ { + "context": "tgtext", + "contextType": "variable", + "element": "extension", + "variable": "vt", + "transform": "create", + "parameter": [ { + "valueString": "Extension" + } ] + }, { + "context": "vt", + "contextType": "variable", + "element": "url", + "transform": "copy", + "parameter": [ { + "valueString": "numberOfRepeatPrescriptionsIssued" + } ] + } ], + "dependent": [ { + "name": "ExtensionUnsignedIntValue", + "variable": [ "vs", "vt" ] + } ] + }, { + "name": "extension", + "source": [ { + "context": "ext", + "element": "extension", + "variable": "vs", + "condition": "$this.url = 'authorisationExpiryDate'" + } ], + "target": [ { + "context": "tgtext", + "contextType": "variable", + "element": "extension", + "variable": "vt", + "transform": "create", + "parameter": [ { + "valueString": "Extension" + } ] + }, { + "context": "vt", + "contextType": "variable", + "element": "url", + "transform": "copy", + "parameter": [ { + "valueString": "authorisationExpiryDate" + } ] + } ], + "dependent": [ { + "name": "ExtensionDateTimeValue", + "variable": [ "vs", "vt" ] + } ] + } ] + }, { + "name": "extension", + "source": [ { + "context": "src", + "element": "extension", + "variable": "ext", + "condition": "$this.url = 'https://fhir.nhs.uk/STU3/StructureDefinition/Extension-CareConnect-MedicationRepeatInformation-1'" + } ], + "target": [ { + "context": "tgt", + "contextType": "variable", + "element": "extension", + "variable": "tgtext" + } ], + "rule": [ { + "name": "extension", + "source": [ { + "context": "ext", + "element": "extension", + "variable": "vs", + "condition": "$this.url = 'numberOfRepeatPrescriptionsAllowed'" + } ], + "target": [ { + "context": "tgt", + "contextType": "variable", + "element": "dispenseRequest", + "variable": "vt" + } ], + "dependent": [ { + "name": "DispenseRequest", + "variable": [ "vs", "vt" ] + } ] + } ] + } ] + }, { + "name": "ExtensionUnsignedIntValue", + "typeMode": "none", + "input": [ { + "name": "src", + "type": "Extension", + "mode": "source" + }, { + "name": "tgt", + "type": "Extension", + "mode": "target" + } ], + "rule": [ { + "name": "value", + "source": [ { + "context": "src", + "element": "value", + "variable": "vs" + } ], + "target": [ { + "context": "tgt", + "contextType": "variable", + "element": "value", + "variable": "vt", + "transform": "create", + "parameter": [ { + "valueString": "unsignedInt" + } ] + }, { + "context": "vt", + "contextType": "variable", + "element": "value", + "transform": "copy", + "parameter": [ { + "valueId": "vs" + } ] + } ] + } ] + }, { + "name": "ExtensionDateTimeValue", + "typeMode": "none", + "input": [ { + "name": "src", + "type": "Extension", + "mode": "source" + }, { + "name": "tgt", + "type": "Extension", + "mode": "target" + } ], + "rule": [ { + "name": "value", + "source": [ { + "context": "src", + "element": "value", + "variable": "vs" + } ], + "target": [ { + "context": "tgt", + "contextType": "variable", + "element": "value", + "variable": "vt", + "transform": "create", + "parameter": [ { + "valueString": "dateTime" + } ] + }, { + "context": "vt", + "contextType": "variable", + "element": "value", + "transform": "copy", + "parameter": [ { + "valueId": "vs" + } ] + } ] + } ] + }, { + "name": "DispenseRequest", + "typeMode": "none", + "input": [ { + "name": "src", + "type": "Extension", + "mode": "source" + }, { + "name": "tgt", + "type": "BackboneElement", + "mode": "target" + } ], + "rule": [ { + "name": "value", + "source": [ { + "context": "src", + "element": "value", + "variable": "vs" + } ], + "target": [ { + "context": "tgt", + "contextType": "variable", + "element": "numberOfRepeatsAllowed", + "variable": "vt", + "transform": "create", + "parameter": [ { + "valueString": "unsignedInt" + } ] + }, { + "context": "vt", + "contextType": "variable", + "element": "value", + "transform": "copy", + "parameter": [ { + "valueId": "vs" + } ] + } ] + } ] + } ] } \ No newline at end of file diff --git a/custom.rules.yaml b/custom.rules.yaml index cbb329c6..ee7754d4 100644 --- a/custom.rules.yaml +++ b/custom.rules.yaml @@ -23,7 +23,7 @@ - CONFIG #errors in dependencies e.g. loops, outdated, pre-release - 6006 #failure to contact term service - 1030 #reference loop - #- 4009 #missing extensions + - 4009 #missing extensions - action: unique name: unique-canonicals From 061b2cb8f950ffd5a335b2834815ffed1c385d94 Mon Sep 17 00:00:00 2001 From: Kazeem Hamzat <kazeem.hamzat@nhs.net> Date: Thu, 21 May 2026 17:58:51 +0100 Subject: [PATCH 35/44] Rename Smap Txtension to Text Rename Smap Txtension to Text --- ...> StructureMap-MedicationRepeatInformation-Extension-3to4.txt} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename StructureMap/{StructureMap-MedicationRepeatInformation-Extension-3to4.json => StructureMap-MedicationRepeatInformation-Extension-3to4.txt} (100%) diff --git a/StructureMap/StructureMap-MedicationRepeatInformation-Extension-3to4.json b/StructureMap/StructureMap-MedicationRepeatInformation-Extension-3to4.txt similarity index 100% rename from StructureMap/StructureMap-MedicationRepeatInformation-Extension-3to4.json rename to StructureMap/StructureMap-MedicationRepeatInformation-Extension-3to4.txt From bd860fef5c92e02de008fe7440b42e3d1a66d090 Mon Sep 17 00:00:00 2001 From: Kazeem Hamzat <kazeem.hamzat@nhs.net> Date: Thu, 21 May 2026 18:45:01 +0100 Subject: [PATCH 36/44] Fixing SD`s Fixing SD`s --- .github/workflows/firely-validation.yml | 4 ++-- .../CodeableReferenceExtension.StructureDefinition.xml | 1 + ...land-Parameters-SubscriptionStatus.StructureDefinition.xml | 1 + StructureDefinition/England-Slot.StructureDefinition.xml | 1 + .../England-Subscription.StructureDefinition.xml | 1 + ...ion-EPS-DispenseReleaseInformation.StructureDefinition.xml | 1 + .../Extension-EPS-Prescription.StructureDefinition.xml | 1 + .../Extension-ERS-Referral.StructureDefinition.xml | 1 + .../Extension-NHSDigital-Account-code.StructureDefinition.xml | 1 + ...gital-CapabilityStatement-Examples.StructureDefinition.xml | 1 + .../Extension-NHSDigital-CapabilityStatement-Package.xml | 1 + ...tension-NHSDigital-CapabilityStatement-QueryParameters.xml | 1 + .../Extension-Portal-Link.StructureDefinition.xml | 1 + .../Extension-ServiceRequest-Priority.StructureDefinition.xml | 1 + ...Extension-eRS-ServiceRequest-State.StructureDefinition.xml | 1 + ...NHSDigital-Appointment-PatientCare.StructureDefinition.xml | 1 + .../NHSDigital-Appointment.StructureDefinition.xml | 1 + StructureDefinition/NHSDigital-Binary.StructureDefinition.xml | 1 + .../NHSDigital-CapabilityStatement.StructureDefinition.xml | 1 + .../NHSDigital-Condition.StructureDefinition.xml | 1 + .../NHSDigital-DocumentReference-NRL.StructureDefinition.xml | 1 + StructureDefinition/NHSDigital-Dosage.StructureDefinition.xml | 1 + StructureDefinition/NHSDigital-Flag.StructureDefinition.xml | 1 + ...ital-HealthcareService-PatientCare.StructureDefinition.xml | 1 + ...Digital-ImmunizationRecommendation.StructureDefinition.xml | 1 + .../NHSDigital-Location.StructureDefinition.xml | 1 + ...Digital-MedicationDispense-Message.StructureDefinition.xml | 1 + ...igital-MedicationRequest-Contained.StructureDefinition.xml | 1 + ...SDigital-MedicationRequest-Message.StructureDefinition.xml | 1 + .../NHSDigital-MedicationStatement.StructureDefinition.xml | 1 + .../NHSDigital-MessageDefinition.StructureDefinition.xml | 1 + .../NHSDigital-Observation-COVID19.StructureDefinition.xml | 1 + .../NHSDigital-Organization-SDS.StructureDefinition.xml | 1 + .../NHSDigital-Patient-Minimal.StructureDefinition.xml | 1 + .../NHSDigital-ServiceRequest.StructureDefinition.json | 1 + .../NHSDigital-Task-Patientcare.StructureDefinition.xml | 1 + StructureDefinition/NHSEnglandAccount.StructureDefinition.xml | 1 + 37 files changed, 38 insertions(+), 2 deletions(-) diff --git a/.github/workflows/firely-validation.yml b/.github/workflows/firely-validation.yml index 38bd2927..08f10b1d 100644 --- a/.github/workflows/firely-validation.yml +++ b/.github/workflows/firely-validation.yml @@ -5,10 +5,10 @@ name: Firely Validation # Controls when the action will run. on: # Triggers the workflow on push or pull request events but only for the master branch - #push: + push: #branches: [ master, main ] - #pull_request: + pull_request: #branches: [ master, main ] # Allows you to run this workflow manually from the Actions tab workflow_dispatch: diff --git a/StructureDefinition/CodeableReferenceExtension.StructureDefinition.xml b/StructureDefinition/CodeableReferenceExtension.StructureDefinition.xml index 5416907c..ec4a72d7 100644 --- a/StructureDefinition/CodeableReferenceExtension.StructureDefinition.xml +++ b/StructureDefinition/CodeableReferenceExtension.StructureDefinition.xml @@ -1,5 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <StructureDefinition xmlns="http://hl7.org/fhir"> +<id value="009f1275-37dc-4239-abe2-86b8cfaffdea" /> <url value="https://fhir.nhs.uk/StructureDefinition/CodeableReference" /> <name value="CodeableReferenceBackport" /> <status value="draft" /> diff --git a/StructureDefinition/England-Parameters-SubscriptionStatus.StructureDefinition.xml b/StructureDefinition/England-Parameters-SubscriptionStatus.StructureDefinition.xml index 5ea5a0b1..44cbb288 100644 --- a/StructureDefinition/England-Parameters-SubscriptionStatus.StructureDefinition.xml +++ b/StructureDefinition/England-Parameters-SubscriptionStatus.StructureDefinition.xml @@ -1,5 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <StructureDefinition xmlns="http://hl7.org/fhir"> +<id value="bf5f35d6-6338-4e61-9715-82735311f14e" /> <url value="https://fhir.nhs.uk/StructureDefinition/England-Parameters-SubscriptionStatus" /> <name value="EnglandParametersSubscriptionStatus" /> <status value="draft" /> diff --git a/StructureDefinition/England-Slot.StructureDefinition.xml b/StructureDefinition/England-Slot.StructureDefinition.xml index 0dd72e54..62e0be44 100644 --- a/StructureDefinition/England-Slot.StructureDefinition.xml +++ b/StructureDefinition/England-Slot.StructureDefinition.xml @@ -1,5 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <StructureDefinition xmlns="http://hl7.org/fhir"> +<id value="E51b65c95-9671-4c87-a892-419e8745fe1a" /> <url value="https://fhir.nhs.uk/StructureDefinition/England-Slot" /> <name value="EnglandSlot" /> <status value="draft" /> diff --git a/StructureDefinition/England-Subscription.StructureDefinition.xml b/StructureDefinition/England-Subscription.StructureDefinition.xml index 85f17efb..4e0c329b 100644 --- a/StructureDefinition/England-Subscription.StructureDefinition.xml +++ b/StructureDefinition/England-Subscription.StructureDefinition.xml @@ -1,5 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <StructureDefinition xmlns="http://hl7.org/fhir"> +<id value="53df5edc-8d56-449b-bc10-dbea9158b0c4" /> <url value="https://fhir.nhs.uk/StructureDefinition/England-Subscription" /> <name value="EnglandSubscription" /> <status value="draft" /> diff --git a/StructureDefinition/Extension-EPS-DispenseReleaseInformation.StructureDefinition.xml b/StructureDefinition/Extension-EPS-DispenseReleaseInformation.StructureDefinition.xml index b7b43949..b7dff987 100644 --- a/StructureDefinition/Extension-EPS-DispenseReleaseInformation.StructureDefinition.xml +++ b/StructureDefinition/Extension-EPS-DispenseReleaseInformation.StructureDefinition.xml @@ -1,5 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <StructureDefinition xmlns="http://hl7.org/fhir"> +<id value="e7849210-55af-4ac3-a22f-c2b0f71c7136" /> <url value="https://fhir.nhs.uk/StructureDefinition/Extension-EPS-DispensingReleaseInformation" /> <name value="ExtensionEPSDispenseReleaseInformation" /> <status value="draft" /> diff --git a/StructureDefinition/Extension-EPS-Prescription.StructureDefinition.xml b/StructureDefinition/Extension-EPS-Prescription.StructureDefinition.xml index 5b159b25..941684a2 100644 --- a/StructureDefinition/Extension-EPS-Prescription.StructureDefinition.xml +++ b/StructureDefinition/Extension-EPS-Prescription.StructureDefinition.xml @@ -1,5 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <StructureDefinition xmlns="http://hl7.org/fhir"> +<id value="5f2b68b2-b510-4218-8690-d789de7c567f" /> <url value="https://fhir.nhs.uk/StructureDefinition/Extension-EPS-Prescription" /> <name value="ExtensionEPSPrescription" /> <status value="draft" /> diff --git a/StructureDefinition/Extension-ERS-Referral.StructureDefinition.xml b/StructureDefinition/Extension-ERS-Referral.StructureDefinition.xml index 042eff04..1aaee727 100644 --- a/StructureDefinition/Extension-ERS-Referral.StructureDefinition.xml +++ b/StructureDefinition/Extension-ERS-Referral.StructureDefinition.xml @@ -1,5 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <StructureDefinition xmlns="http://hl7.org/fhir"> +<id value="45b632bd-bfdb-45ca-971c-3f097e523933"/> <url value="https://fhir.nhs.uk/StructureDefinition/Extension-ERS-Referral" /> <name value="ExtensionERSAdviceAndGuidance" /> <status value="draft" /> diff --git a/StructureDefinition/Extension-NHSDigital-Account-code.StructureDefinition.xml b/StructureDefinition/Extension-NHSDigital-Account-code.StructureDefinition.xml index 9a71b18b..bd6e2ffa 100644 --- a/StructureDefinition/Extension-NHSDigital-Account-code.StructureDefinition.xml +++ b/StructureDefinition/Extension-NHSDigital-Account-code.StructureDefinition.xml @@ -1,5 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <StructureDefinition xmlns="http://hl7.org/fhir"> +<id value="ea113d7f-0740-4c80-8ad7-b81d80dbf871"/> <url value="https://fhir.nhs.uk/StructureDefinition/Extension-NHSDigital-Account-code" /> <name value="ExtensionNHSDigitalAccountCode" /> <status value="draft" /> diff --git a/StructureDefinition/Extension-NHSDigital-CapabilityStatement-Examples.StructureDefinition.xml b/StructureDefinition/Extension-NHSDigital-CapabilityStatement-Examples.StructureDefinition.xml index 879e7c5c..b2c7b687 100644 --- a/StructureDefinition/Extension-NHSDigital-CapabilityStatement-Examples.StructureDefinition.xml +++ b/StructureDefinition/Extension-NHSDigital-CapabilityStatement-Examples.StructureDefinition.xml @@ -1,5 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <StructureDefinition xmlns="http://hl7.org/fhir"> +<id value="2ffbe0d7-11a9-44fe-9e76-347b07dd85a9"/> <url value="https://fhir.nhs.uk/StructureDefinition/Extension-NHSDigital-CapabilityStatement-Examples" /> <name value="ExtensionCapabilityStatementExamples" /> <status value="draft" /> diff --git a/StructureDefinition/Extension-NHSDigital-CapabilityStatement-Package.xml b/StructureDefinition/Extension-NHSDigital-CapabilityStatement-Package.xml index bcdb6c7d..296ab31f 100644 --- a/StructureDefinition/Extension-NHSDigital-CapabilityStatement-Package.xml +++ b/StructureDefinition/Extension-NHSDigital-CapabilityStatement-Package.xml @@ -1,5 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <StructureDefinition xmlns="http://hl7.org/fhir"> +<id value="9ada17f7-4979-4659-a14a-9c5f4d576a31"/> <url value="https://fhir.nhs.uk/StructureDefinition/Extension-NHSDigital-CapabilityStatement-Package" /> <name value="ExtensionCapabilityStatementPackage" /> <status value="draft" /> diff --git a/StructureDefinition/Extension-NHSDigital-CapabilityStatement-QueryParameters.xml b/StructureDefinition/Extension-NHSDigital-CapabilityStatement-QueryParameters.xml index a18c7f7a..5b9138a1 100644 --- a/StructureDefinition/Extension-NHSDigital-CapabilityStatement-QueryParameters.xml +++ b/StructureDefinition/Extension-NHSDigital-CapabilityStatement-QueryParameters.xml @@ -1,5 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <StructureDefinition xmlns="http://hl7.org/fhir"> +<id value="9ada17f7-4979-4659-a14a-9c5f4d576a31"/> <url value="https://fhir.nhs.uk/StructureDefinition/Extension-NHSDigital-CapabilityStatement-QueryParameters" /> <name value="ExtensionCapabilityStatementQueryParameters" /> <status value="draft" /> diff --git a/StructureDefinition/Extension-Portal-Link.StructureDefinition.xml b/StructureDefinition/Extension-Portal-Link.StructureDefinition.xml index 7bf58e05..5bdfa7a4 100644 --- a/StructureDefinition/Extension-Portal-Link.StructureDefinition.xml +++ b/StructureDefinition/Extension-Portal-Link.StructureDefinition.xml @@ -1,5 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <StructureDefinition xmlns="http://hl7.org/fhir"> +<id value="69eddd42-9eb7-4f64-a431-1ca5d01e10a7" /> <url value="https://fhir.nhs.uk/StructureDefinition/Extension-Portal-Link" /> <name value="ExtensionPortalLink" /> <status value="draft" /> diff --git a/StructureDefinition/Extension-ServiceRequest-Priority.StructureDefinition.xml b/StructureDefinition/Extension-ServiceRequest-Priority.StructureDefinition.xml index e0e9dfa1..f316a27e 100644 --- a/StructureDefinition/Extension-ServiceRequest-Priority.StructureDefinition.xml +++ b/StructureDefinition/Extension-ServiceRequest-Priority.StructureDefinition.xml @@ -1,5 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <StructureDefinition xmlns="http://hl7.org/fhir"> +<id value="b536e1be-760c-4ee6-8901-642fb3a41cfc" /> <url value="https://fhir.nhs.uk/StructureDefinition/Extension-ServiceRequest-Priority" /> <name value="ExtensionServiceRequestPriority" /> <status value="draft" /> diff --git a/StructureDefinition/Extension-eRS-ServiceRequest-State.StructureDefinition.xml b/StructureDefinition/Extension-eRS-ServiceRequest-State.StructureDefinition.xml index 3e5fab9c..22045b2d 100644 --- a/StructureDefinition/Extension-eRS-ServiceRequest-State.StructureDefinition.xml +++ b/StructureDefinition/Extension-eRS-ServiceRequest-State.StructureDefinition.xml @@ -1,5 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <StructureDefinition xmlns="http://hl7.org/fhir"> +<id value="8910f758-abaa-4dd6-8020-b7651d7d3365"/> <url value="https://fhir.nhs.uk/StructureDefinition/Extension-eRS-ServiceRequest-State" /> <name value="ExtensionNHSDigitaleRSReferralState" /> <status value="draft" /> diff --git a/StructureDefinition/NHSDigital-Appointment-PatientCare.StructureDefinition.xml b/StructureDefinition/NHSDigital-Appointment-PatientCare.StructureDefinition.xml index 1dd51506..7b14dd28 100644 --- a/StructureDefinition/NHSDigital-Appointment-PatientCare.StructureDefinition.xml +++ b/StructureDefinition/NHSDigital-Appointment-PatientCare.StructureDefinition.xml @@ -1,5 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <StructureDefinition xmlns="http://hl7.org/fhir"> +<id value="ad5f4bd6-22ae-4298-b278-fcccfffe9ba9"/> <url value="https://fhir.nhs.uk/StructureDefinition/NHSDigital-Appointment-PatientCare" /> <name value="NHSDigitalAppointmentPatientCare" /> <status value="draft" /> diff --git a/StructureDefinition/NHSDigital-Appointment.StructureDefinition.xml b/StructureDefinition/NHSDigital-Appointment.StructureDefinition.xml index 9fc863d9..7f7936f9 100644 --- a/StructureDefinition/NHSDigital-Appointment.StructureDefinition.xml +++ b/StructureDefinition/NHSDigital-Appointment.StructureDefinition.xml @@ -1,5 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <StructureDefinition xmlns="http://hl7.org/fhir"> +<id value="6baf8ac4-1c7e-4b5c-b70c-178f6b84411f"/> <url value="https://fhir.nhs.uk/StructureDefinition/NHSDigital-Appointment" /> <name value="NHSDigitalAppointment" /> <status value="draft" /> diff --git a/StructureDefinition/NHSDigital-Binary.StructureDefinition.xml b/StructureDefinition/NHSDigital-Binary.StructureDefinition.xml index 95bd9117..0c08395a 100644 --- a/StructureDefinition/NHSDigital-Binary.StructureDefinition.xml +++ b/StructureDefinition/NHSDigital-Binary.StructureDefinition.xml @@ -1,5 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <StructureDefinition xmlns="http://hl7.org/fhir"> +<id value="a876618d-c0be-484e-9002-12f45fb99eab"/> <url value="https://fhir.nhs.uk/StructureDefinition/NHSDigital-Binary" /> <name value="NHSDigitalBinary" /> <status value="draft" /> diff --git a/StructureDefinition/NHSDigital-CapabilityStatement.StructureDefinition.xml b/StructureDefinition/NHSDigital-CapabilityStatement.StructureDefinition.xml index 71fd5d6d..ba847827 100644 --- a/StructureDefinition/NHSDigital-CapabilityStatement.StructureDefinition.xml +++ b/StructureDefinition/NHSDigital-CapabilityStatement.StructureDefinition.xml @@ -1,5 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <StructureDefinition xmlns="http://hl7.org/fhir"> + <id value="ce95f58a-3ec9-4add-ba98-ed099f9f57c5" /> <url value="https://fhir.nhs.uk/StructureDefinition/NHSDigital-CapabilityStatement" /> <name value="NHSDigitalCapabilityStatement" /> <status value="draft" /> diff --git a/StructureDefinition/NHSDigital-Condition.StructureDefinition.xml b/StructureDefinition/NHSDigital-Condition.StructureDefinition.xml index a69dc194..972dd3e2 100644 --- a/StructureDefinition/NHSDigital-Condition.StructureDefinition.xml +++ b/StructureDefinition/NHSDigital-Condition.StructureDefinition.xml @@ -1,5 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <StructureDefinition xmlns="http://hl7.org/fhir"> + <id value="b57139c8-c8d5-45c5-9554-8e349cb732b2" /> <url value="https://fhir.nhs.uk/StructureDefinition/NHSDigital-Condition" /> <name value="NHSDigitalCondition" /> <status value="draft" /> diff --git a/StructureDefinition/NHSDigital-DocumentReference-NRL.StructureDefinition.xml b/StructureDefinition/NHSDigital-DocumentReference-NRL.StructureDefinition.xml index ed6a80a3..ebbf8a38 100644 --- a/StructureDefinition/NHSDigital-DocumentReference-NRL.StructureDefinition.xml +++ b/StructureDefinition/NHSDigital-DocumentReference-NRL.StructureDefinition.xml @@ -1,5 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <StructureDefinition xmlns="http://hl7.org/fhir"> + <id value="328f526e-ec94-4acd-9d3a-c1eb31adce7f" /> <url value="https://fhir.nhs.uk/StructureDefinition/NHSDigital-DocumentReference-NRL" /> <name value="NHSDigitalDocumentReferenceNRL" /> <status value="draft" /> diff --git a/StructureDefinition/NHSDigital-Dosage.StructureDefinition.xml b/StructureDefinition/NHSDigital-Dosage.StructureDefinition.xml index f006462b..fdfe164a 100644 --- a/StructureDefinition/NHSDigital-Dosage.StructureDefinition.xml +++ b/StructureDefinition/NHSDigital-Dosage.StructureDefinition.xml @@ -1,5 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <StructureDefinition xmlns="http://hl7.org/fhir"> +<id value="e35e53e1-1b57-405f-a616-cf92e1872766" /> <url value="https://fhir.nhs.uk/StructureDefinition/NHSDigital-Dosage" /> <name value="NHSDigitalDosage" /> <status value="draft" /> diff --git a/StructureDefinition/NHSDigital-Flag.StructureDefinition.xml b/StructureDefinition/NHSDigital-Flag.StructureDefinition.xml index 647115ab..e944c62a 100644 --- a/StructureDefinition/NHSDigital-Flag.StructureDefinition.xml +++ b/StructureDefinition/NHSDigital-Flag.StructureDefinition.xml @@ -1,5 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <StructureDefinition xmlns="http://hl7.org/fhir"> +<id value="931147dc-ec2f-4ce8-a603-fe6652091ed0" /> <url value="https://fhir.nhs.uk/StructureDefinition/NHSDigital-Flag" /> <name value="NHSDigitalFlag" /> <status value="draft" /> diff --git a/StructureDefinition/NHSDigital-HealthcareService-PatientCare.StructureDefinition.xml b/StructureDefinition/NHSDigital-HealthcareService-PatientCare.StructureDefinition.xml index 93b019d9..9063e015 100644 --- a/StructureDefinition/NHSDigital-HealthcareService-PatientCare.StructureDefinition.xml +++ b/StructureDefinition/NHSDigital-HealthcareService-PatientCare.StructureDefinition.xml @@ -1,5 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <StructureDefinition xmlns="http://hl7.org/fhir"> +<id value="3e844f1a-918b-4f8f-a931-d7a1a2893a5e" /> <url value="https://fhir.nhs.uk/StructureDefinition/NHSDigital-HealthcareService-PatientCare" /> <name value="NHSDigitalHealthcareServicePatientCare" /> <status value="draft" /> diff --git a/StructureDefinition/NHSDigital-ImmunizationRecommendation.StructureDefinition.xml b/StructureDefinition/NHSDigital-ImmunizationRecommendation.StructureDefinition.xml index 904194ff..b0ad2929 100644 --- a/StructureDefinition/NHSDigital-ImmunizationRecommendation.StructureDefinition.xml +++ b/StructureDefinition/NHSDigital-ImmunizationRecommendation.StructureDefinition.xml @@ -1,5 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <StructureDefinition xmlns="http://hl7.org/fhir"> +<id value="c1bae4bf-33a7-4a69-abd3-8c918f3ca525" /> <url value="https://fhir.nhs.uk/StructureDefinition/NHSDigital-ImmunizationRecommendation" /> <name value="NHSDigitalImmunizationRecommendation" /> <status value="draft" /> diff --git a/StructureDefinition/NHSDigital-Location.StructureDefinition.xml b/StructureDefinition/NHSDigital-Location.StructureDefinition.xml index e3fdf83b..65f682ef 100644 --- a/StructureDefinition/NHSDigital-Location.StructureDefinition.xml +++ b/StructureDefinition/NHSDigital-Location.StructureDefinition.xml @@ -1,5 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <StructureDefinition xmlns="http://hl7.org/fhir"> +<id value="995ef941-6629-4804-9a1b-4b3603ec13d8" /> <url value="https://fhir.nhs.uk/StructureDefinition/NHSDigital-Location" /> <name value="NHSDigitalLocation" /> <status value="draft" /> diff --git a/StructureDefinition/NHSDigital-MedicationDispense-Message.StructureDefinition.xml b/StructureDefinition/NHSDigital-MedicationDispense-Message.StructureDefinition.xml index e047a1a5..f0837f8a 100644 --- a/StructureDefinition/NHSDigital-MedicationDispense-Message.StructureDefinition.xml +++ b/StructureDefinition/NHSDigital-MedicationDispense-Message.StructureDefinition.xml @@ -1,5 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <StructureDefinition xmlns="http://hl7.org/fhir"> + <id value="2602d296-e156-4f31-be29-bde622d9deec"/> <url value="https://fhir.nhs.uk/StructureDefinition/NHSDigital-MedicationDispense-Message" /> <version value="1.0.1" /> <name value="NHSDigitalMedicationDispenseMessage" /> diff --git a/StructureDefinition/NHSDigital-MedicationRequest-Contained.StructureDefinition.xml b/StructureDefinition/NHSDigital-MedicationRequest-Contained.StructureDefinition.xml index f87c93d8..eb12a7f5 100644 --- a/StructureDefinition/NHSDigital-MedicationRequest-Contained.StructureDefinition.xml +++ b/StructureDefinition/NHSDigital-MedicationRequest-Contained.StructureDefinition.xml @@ -1,5 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <StructureDefinition xmlns="http://hl7.org/fhir"> + <id value="edf1a62a-259e-49ec-980f-8076f68c7a0a" /> <url value="https://fhir.nhs.uk/StructureDefinition/NHSDigital-MedicationRequest-Contained" /> <name value="NHSDigitalMedicationRequestContained" /> <status value="draft" /> diff --git a/StructureDefinition/NHSDigital-MedicationRequest-Message.StructureDefinition.xml b/StructureDefinition/NHSDigital-MedicationRequest-Message.StructureDefinition.xml index 706daa02..081b4fbc 100644 --- a/StructureDefinition/NHSDigital-MedicationRequest-Message.StructureDefinition.xml +++ b/StructureDefinition/NHSDigital-MedicationRequest-Message.StructureDefinition.xml @@ -1,5 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <StructureDefinition xmlns="http://hl7.org/fhir"> +<id value="9642a572-0d97-44db-ae50-2566dff42c0a"/> <url value="https://fhir.nhs.uk/StructureDefinition/NHSDigital-MedicationRequest-Message" /> <name value="NHSDigitalMedicationRequestMessage" /> <status value="draft" /> diff --git a/StructureDefinition/NHSDigital-MedicationStatement.StructureDefinition.xml b/StructureDefinition/NHSDigital-MedicationStatement.StructureDefinition.xml index 5807f81f..59226a6b 100644 --- a/StructureDefinition/NHSDigital-MedicationStatement.StructureDefinition.xml +++ b/StructureDefinition/NHSDigital-MedicationStatement.StructureDefinition.xml @@ -1,5 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <StructureDefinition xmlns="http://hl7.org/fhir"> + <id value="NHSDigital-NHSDigitalMedicationStatement" /> <url value="https://fhir.nhs.uk/StructureDefinition/NHSDigital-MedicationStatement" /> <name value="NHSDigitalMedicationStatement" /> <status value="draft" /> diff --git a/StructureDefinition/NHSDigital-MessageDefinition.StructureDefinition.xml b/StructureDefinition/NHSDigital-MessageDefinition.StructureDefinition.xml index fe054d65..290df1cc 100644 --- a/StructureDefinition/NHSDigital-MessageDefinition.StructureDefinition.xml +++ b/StructureDefinition/NHSDigital-MessageDefinition.StructureDefinition.xml @@ -1,5 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <StructureDefinition xmlns="http://hl7.org/fhir"> +<id value="NHSDigital-NHSDigitalMessageDefinition" /> <url value="https://fhir.nhs.uk/StructureDefinition/NHSDigital-MessageDefinition" /> <name value="NHSDigitalMessageDefinition" /> <status value="draft" /> diff --git a/StructureDefinition/NHSDigital-Observation-COVID19.StructureDefinition.xml b/StructureDefinition/NHSDigital-Observation-COVID19.StructureDefinition.xml index 04597cd5..7d454961 100644 --- a/StructureDefinition/NHSDigital-Observation-COVID19.StructureDefinition.xml +++ b/StructureDefinition/NHSDigital-Observation-COVID19.StructureDefinition.xml @@ -1,5 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <StructureDefinition xmlns="http://hl7.org/fhir"> +<id value="df16016b-7c16-40e7-88d4-bc22b3dcb83f" /> <url value="https://fhir.nhs.uk/StructureDefinition/NHSDigital-Observation-COVID19" /> <name value="NHSDigitalObservationCOVID19" /> <status value="draft" /> diff --git a/StructureDefinition/NHSDigital-Organization-SDS.StructureDefinition.xml b/StructureDefinition/NHSDigital-Organization-SDS.StructureDefinition.xml index 618a68c6..611a6ebd 100644 --- a/StructureDefinition/NHSDigital-Organization-SDS.StructureDefinition.xml +++ b/StructureDefinition/NHSDigital-Organization-SDS.StructureDefinition.xml @@ -1,5 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <StructureDefinition xmlns="http://hl7.org/fhir"> +<id value="821447a8-a400-406b-8e68-dea1f32fadbe" /> <url value="https://fhir.nhs.uk/StructureDefinition/NHSDigital-Organization-SDS" /> <name value="NHSDigitalOrganizationSDS" /> <status value="draft" /> diff --git a/StructureDefinition/NHSDigital-Patient-Minimal.StructureDefinition.xml b/StructureDefinition/NHSDigital-Patient-Minimal.StructureDefinition.xml index 70d2315a..e16a7a51 100644 --- a/StructureDefinition/NHSDigital-Patient-Minimal.StructureDefinition.xml +++ b/StructureDefinition/NHSDigital-Patient-Minimal.StructureDefinition.xml @@ -1,5 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <StructureDefinition xmlns="http://hl7.org/fhir"> +<id value="eb5b4f09-d7f3-4f6c-8da8-e99f5621a7e0" /> <url value="https://fhir.nhs.uk/StructureDefinition/NHSDigital-Patient-Minimal" /> <name value="NHSDigitalPatientMinimal" /> <status value="draft" /> diff --git a/StructureDefinition/NHSDigital-ServiceRequest.StructureDefinition.json b/StructureDefinition/NHSDigital-ServiceRequest.StructureDefinition.json index a95143fd..c111cb00 100644 --- a/StructureDefinition/NHSDigital-ServiceRequest.StructureDefinition.json +++ b/StructureDefinition/NHSDigital-ServiceRequest.StructureDefinition.json @@ -1,5 +1,6 @@ { "resourceType": "StructureDefinition", + "id":"a0ba25a0-fb12-40b7-9c62-7fce10f128bf", "url": "https://fhir.nhs.uk/StructureDefinition/NHSDigital-ServiceRequest", "name": "NHSDigitalServiceRequest", "status": "draft", diff --git a/StructureDefinition/NHSDigital-Task-Patientcare.StructureDefinition.xml b/StructureDefinition/NHSDigital-Task-Patientcare.StructureDefinition.xml index 95e4069f..1d85ad60 100644 --- a/StructureDefinition/NHSDigital-Task-Patientcare.StructureDefinition.xml +++ b/StructureDefinition/NHSDigital-Task-Patientcare.StructureDefinition.xml @@ -1,4 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> +<id value="fa026fff-f810-4165-b6ad-3ca4af363376" /> <StructureDefinition xmlns="http://hl7.org/fhir"> <url value="https://fhir.nhs.uk/StructureDefinition/NHSDigital-Task-PatientCare" /> <name value="NHSDigitalTaskPatientCare" /> diff --git a/StructureDefinition/NHSEnglandAccount.StructureDefinition.xml b/StructureDefinition/NHSEnglandAccount.StructureDefinition.xml index 013482ed..a2d6fc74 100644 --- a/StructureDefinition/NHSEnglandAccount.StructureDefinition.xml +++ b/StructureDefinition/NHSEnglandAccount.StructureDefinition.xml @@ -1,4 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> +<id value="b64ee556-609b-47be-a615-6bb1a46698d2" /> <StructureDefinition xmlns="http://hl7.org/fhir"> <url value="https://fhir.nhs.uk/StructureDefinition/NHSEngland-Account" /> <name value="NHSEnglandAccount" /> From a211f11e7e32733a642162b13a07fe73fb6b4754 Mon Sep 17 00:00:00 2001 From: Kazeem Hamzat <kazeem.hamzat@nhs.net> Date: Fri, 22 May 2026 12:33:56 +0100 Subject: [PATCH 37/44] Validation Issues Validation Issues --- SearchParameter/procedure-code.json | 5 +++-- .../NHSDigital-Identifier.StructureDefinition.xml | 1 + .../NHSDigital-Task-Patientcare.StructureDefinition.xml | 2 +- .../NHSEnglandAccount.StructureDefinition.xml | 2 +- ...ructureMap-MedicationRepeatInformation-Extension-3to4.txt | 2 +- .../StructureMap-MedicationStatusReason-Extension-3to4.json | 2 +- 6 files changed, 8 insertions(+), 6 deletions(-) diff --git a/SearchParameter/procedure-code.json b/SearchParameter/procedure-code.json index 2040cfe6..384837f1 100644 --- a/SearchParameter/procedure-code.json +++ b/SearchParameter/procedure-code.json @@ -1,11 +1,12 @@ { "resourceType": "SearchParameter", - "url": "https://fhir.nhs.uk/SearchParameter/procedure-code", "id": "baa6991f-73c2-4470-b99e-f678b13cd7bb", + "url": "https://fhir.nhs.uk/SearchParameter/procedure-code", "name": "ProcedureCode", "description": "How to search on procedure code extension in FHIR Immunization", "base": [ "Immunization" ], "status": "active", "code": "group", - "type": "token" + "type": "token", + "expression": "Immunization.extension('https://fhir.nhs.uk/StructureDefinition/Extension-procedure-code').value" } \ No newline at end of file diff --git a/StructureDefinition/NHSDigital-Identifier.StructureDefinition.xml b/StructureDefinition/NHSDigital-Identifier.StructureDefinition.xml index f6e28dbb..38f6ed88 100644 --- a/StructureDefinition/NHSDigital-Identifier.StructureDefinition.xml +++ b/StructureDefinition/NHSDigital-Identifier.StructureDefinition.xml @@ -1,5 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <StructureDefinition xmlns="http://hl7.org/fhir"> + <id value="b088c85d-53a0-4927-be54-fcf295ff53b1" /> <url value="https://fhir.nhs.uk/StructureDefinition/NHSDigital-Identifier" /> <name value="NHSDigitalIdentifier" /> <status value="draft" /> diff --git a/StructureDefinition/NHSDigital-Task-Patientcare.StructureDefinition.xml b/StructureDefinition/NHSDigital-Task-Patientcare.StructureDefinition.xml index 1d85ad60..c82a0893 100644 --- a/StructureDefinition/NHSDigital-Task-Patientcare.StructureDefinition.xml +++ b/StructureDefinition/NHSDigital-Task-Patientcare.StructureDefinition.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> -<id value="fa026fff-f810-4165-b6ad-3ca4af363376" /> <StructureDefinition xmlns="http://hl7.org/fhir"> +<id value="fa026fff-f810-4165-b6ad-3ca4af363376" /> <url value="https://fhir.nhs.uk/StructureDefinition/NHSDigital-Task-PatientCare" /> <name value="NHSDigitalTaskPatientCare" /> <status value="draft" /> diff --git a/StructureDefinition/NHSEnglandAccount.StructureDefinition.xml b/StructureDefinition/NHSEnglandAccount.StructureDefinition.xml index a2d6fc74..4e037019 100644 --- a/StructureDefinition/NHSEnglandAccount.StructureDefinition.xml +++ b/StructureDefinition/NHSEnglandAccount.StructureDefinition.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> -<id value="b64ee556-609b-47be-a615-6bb1a46698d2" /> <StructureDefinition xmlns="http://hl7.org/fhir"> +<id value="b64ee556-609b-47be-a615-6bb1a46698d2" /> <url value="https://fhir.nhs.uk/StructureDefinition/NHSEngland-Account" /> <name value="NHSEnglandAccount" /> <status value="draft" /> diff --git a/StructureMap/StructureMap-MedicationRepeatInformation-Extension-3to4.txt b/StructureMap/StructureMap-MedicationRepeatInformation-Extension-3to4.txt index 9987bee8..2cd72ea5 100644 --- a/StructureMap/StructureMap-MedicationRepeatInformation-Extension-3to4.txt +++ b/StructureMap/StructureMap-MedicationRepeatInformation-Extension-3to4.txt @@ -1,6 +1,6 @@ { "resourceType": "StructureMap", - "id": "3", + "id": "6ef773ec-112e-4baf-a18b-1e54029c8cb9", "status": "draft", "meta": { "versionId": "1", diff --git a/StructureMap/StructureMap-MedicationStatusReason-Extension-3to4.json b/StructureMap/StructureMap-MedicationStatusReason-Extension-3to4.json index 2b52e33f..9ff17d84 100644 --- a/StructureMap/StructureMap-MedicationStatusReason-Extension-3to4.json +++ b/StructureMap/StructureMap-MedicationStatusReason-Extension-3to4.json @@ -1,6 +1,6 @@ { "resourceType": "StructureMap", - "id": "4", + "id": "197db910-1fc4-42d9-a944-ac7ded63d8eb", "status": "draft", "meta": { "versionId": "1", From 8fc8badb793148056e8d22a5913a6356276ab2ce Mon Sep 17 00:00:00 2001 From: Kazeem Hamzat <kazeem.hamzat@nhs.net> Date: Fri, 22 May 2026 15:12:40 +0100 Subject: [PATCH 38/44] Testing Firely Testing Firely --- custom.rules.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/custom.rules.yaml b/custom.rules.yaml index ee7754d4..f850d25e 100644 --- a/custom.rules.yaml +++ b/custom.rules.yaml @@ -23,7 +23,7 @@ - CONFIG #errors in dependencies e.g. loops, outdated, pre-release - 6006 #failure to contact term service - 1030 #reference loop - - 4009 #missing extensions + - #4009 #missing extensions - action: unique name: unique-canonicals From fcd510c2fffa764f356c2e17a988449c21994914 Mon Sep 17 00:00:00 2001 From: Kazeem Hamzat <kazeem.hamzat@nhs.net> Date: Fri, 22 May 2026 15:29:31 +0100 Subject: [PATCH 39/44] Testing Firely Testing Firely --- custom.rules.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/custom.rules.yaml b/custom.rules.yaml index f850d25e..cbb329c6 100644 --- a/custom.rules.yaml +++ b/custom.rules.yaml @@ -23,7 +23,7 @@ - CONFIG #errors in dependencies e.g. loops, outdated, pre-release - 6006 #failure to contact term service - 1030 #reference loop - - #4009 #missing extensions + #- 4009 #missing extensions - action: unique name: unique-canonicals From dde3652aa850a2addef6440aa642b8be789f46b3 Mon Sep 17 00:00:00 2001 From: Kazeem Hamzat <kazeem.hamzat@nhs.net> Date: Fri, 22 May 2026 15:30:41 +0100 Subject: [PATCH 40/44] Testing Testing --- .github/workflows/firely-validation.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/firely-validation.yml b/.github/workflows/firely-validation.yml index 08f10b1d..544a5021 100644 --- a/.github/workflows/firely-validation.yml +++ b/.github/workflows/firely-validation.yml @@ -6,10 +6,10 @@ name: Firely Validation on: # Triggers the workflow on push or pull request events but only for the master branch push: - #branches: [ master, main ] + branches: [ master, main ] pull_request: - #branches: [ master, main ] + branches: [ master, main ] # Allows you to run this workflow manually from the Actions tab workflow_dispatch: From 3fd5913b5f398b0d51d474e2ea8f46e055533831 Mon Sep 17 00:00:00 2001 From: Kazeem Hamzat <kazeem.hamzat@nhs.net> Date: Fri, 22 May 2026 15:55:16 +0100 Subject: [PATCH 41/44] Restore NS Restore NS --- .gitignore | 1 - NamingSystem/prescription-type-ns.xml | 22 ++++++++++++++++++++ NamingSystem/ukcore-prescription-type-ns.xml | 22 ++++++++++++++++++++ 3 files changed, 44 insertions(+), 1 deletion(-) create mode 100644 NamingSystem/prescription-type-ns.xml create mode 100644 NamingSystem/ukcore-prescription-type-ns.xml diff --git a/.gitignore b/.gitignore index 475fc106..f77ca908 100644 --- a/.gitignore +++ b/.gitignore @@ -7,4 +7,3 @@ validation IOPS-validation validation-service-fhir-r4 .idea/workspace.xml -StructureMap/StructureMap-MedicationRepeatInformation-Extension-3to4.json diff --git a/NamingSystem/prescription-type-ns.xml b/NamingSystem/prescription-type-ns.xml new file mode 100644 index 00000000..0f4e48e1 --- /dev/null +++ b/NamingSystem/prescription-type-ns.xml @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<NamingSystem xmlns="http://hl7.org/fhir"> + <id value="prescription-type-ns"/> + <name value="Prescriptiontypens"/> + <status value="draft"/> + <kind value="codesystem"/> + <date value="2020-06-01"/> + <publisher value="NHS Digital"/> + <responsible value="NHS Digital"/> + <description value="Describes the type of prescription this is."/> + <usage value="EPS"/> + <uniqueId> + <type value="uri"/> + <value value="https://fhir.nhs.uk/CodeSystem/prescription-type"/> + <preferred value="true"/> + </uniqueId> + <uniqueId> + <type value="oid"/> + <value value="2.16.840.1.113883.2.1.3.2.4.17.25"/> + <preferred value="false"/> + </uniqueId> +</NamingSystem> \ No newline at end of file diff --git a/NamingSystem/ukcore-prescription-type-ns.xml b/NamingSystem/ukcore-prescription-type-ns.xml new file mode 100644 index 00000000..3906808b --- /dev/null +++ b/NamingSystem/ukcore-prescription-type-ns.xml @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<NamingSystem xmlns="http://hl7.org/fhir"> + <id value="ukcore-prescription-type-ns"/> + <name value="UKcoreprescriptiontypens"/> + <status value="draft"/> + <kind value="codesystem"/> + <date value="2020-06-01"/> + <publisher value="NHS Digital"/> + <responsible value="NHS Digital"/> + <description value="The management reasons for a prescription being issued."/> + <usage value="EPS"/> + <uniqueId> + <type value="uri"/> + <value value="https://fhir.hl7.org.uk/CodeSystem/UKCore-PrescriptionType"/> + <preferred value="true"/> + </uniqueId> + <uniqueId> + <type value="uri"/> + <value value="https://fhir.hl7.org.uk/STU3/CodeSystem/CareConnect-PrescriptionType-1"/> + <preferred value="false"/> + </uniqueId> +</NamingSystem> \ No newline at end of file From d73fb4aa87a2f99e7948068302bd61ee60156dbc Mon Sep 17 00:00:00 2001 From: Kazeem Hamzat <kazeem.hamzat@nhs.net> Date: Fri, 22 May 2026 16:11:16 +0100 Subject: [PATCH 42/44] Added Firely Added Firely --- .github/workflows/firely-validation.yml | 2 +- custom.rules.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/firely-validation.yml b/.github/workflows/firely-validation.yml index 544a5021..d8f60463 100644 --- a/.github/workflows/firely-validation.yml +++ b/.github/workflows/firely-validation.yml @@ -6,7 +6,7 @@ name: Firely Validation on: # Triggers the workflow on push or pull request events but only for the master branch push: - branches: [ master, main ] + branches: [ nhsdigital_main] pull_request: branches: [ master, main ] diff --git a/custom.rules.yaml b/custom.rules.yaml index cbb329c6..ee7754d4 100644 --- a/custom.rules.yaml +++ b/custom.rules.yaml @@ -23,7 +23,7 @@ - CONFIG #errors in dependencies e.g. loops, outdated, pre-release - 6006 #failure to contact term service - 1030 #reference loop - #- 4009 #missing extensions + - 4009 #missing extensions - action: unique name: unique-canonicals From e191ec3390f5e3bef5e6c4a11ad9e8eecda97dbf Mon Sep 17 00:00:00 2001 From: Kazeem Hamzat <kazeem.hamzat@nhs.net> Date: Fri, 22 May 2026 16:23:04 +0100 Subject: [PATCH 43/44] Update firely-validation Update firely-validation --- .github/workflows/firely-validation.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/firely-validation.yml b/.github/workflows/firely-validation.yml index d8f60463..08ff3d7e 100644 --- a/.github/workflows/firely-validation.yml +++ b/.github/workflows/firely-validation.yml @@ -6,10 +6,10 @@ name: Firely Validation on: # Triggers the workflow on push or pull request events but only for the master branch push: - branches: [ nhsdigital_main] + branches: [ nhsdigital_main ] pull_request: - branches: [ master, main ] + branches: [ nhsdigital_main ] # Allows you to run this workflow manually from the Actions tab workflow_dispatch: From 49647b624680b1e72eba2f7eab92aacc6641885f Mon Sep 17 00:00:00 2001 From: Kazeem Hamzat <kazeem.hamzat@nhs.net> Date: Fri, 22 May 2026 16:48:01 +0100 Subject: [PATCH 44/44] Added Firely Added Firely --- .github/workflows/firely-validation.yml | 25 +++++++++---------- ValueSet/ValueSet-DM-prescription-type.xml | 2 +- ...alueSet-NHSDigital-servicerequest-code.xml | 2 +- 3 files changed, 14 insertions(+), 15 deletions(-) diff --git a/.github/workflows/firely-validation.yml b/.github/workflows/firely-validation.yml index 08ff3d7e..8df6a8d1 100644 --- a/.github/workflows/firely-validation.yml +++ b/.github/workflows/firely-validation.yml @@ -2,43 +2,42 @@ name: Firely Validation -# Controls when the action will run. +# Controls when the action will run. on: # Triggers the workflow on push or pull request events but only for the master branch push: - branches: [ nhsdigital_main ] + branches: [nhsdigital_main] pull_request: - branches: [ nhsdigital_main ] + branches: [nhsdigital_main] # Allows you to run this workflow manually from the Actions tab workflow_dispatch: # A workflow run is made up of one or more jobs that can run sequentially or in parallel jobs: - - # Validate all resources using Firely Terminal + # Validate all resources using Firely Terminal CI_FHIR_VALIDATION: # The type of runner that the job will run on runs-on: ubuntu-latest - + # Steps represent a sequence of tasks that will be executed as part of the job steps: - name: Checkout code uses: actions/checkout@v6 - + # Install .NET runtime - name: Setup .NET Core SDK uses: actions/setup-dotnet@v5 with: dotnet-version: 8.0.x - + # Install Java runtime (only needed if you want to run the offical HL7 Java validator) - name: Setup Java JDK uses: actions/setup-java@v5 with: - distribution: 'microsoft' - java-version: '21' - + distribution: "microsoft" + java-version: "21" + - name: Firely.Terminal (GitHub Actions) uses: FirelyTeam/firely-terminal-pipeline@v0.7.31 with: @@ -47,7 +46,7 @@ jobs: PATH_TO_QUALITY_CONTROL_RULES: custom DOTNET_VALIDATION_ENABLED: true JAVA_VALIDATION_ENABLED: false - #EXPECTED_FAILS: VALIDATION_EXAMPLES_JAVA + #EXPECTED_FAILS: VALIDATION_EXAMPLES_JAVA SIMPLIFIER_USERNAME: ${{ secrets.SIMPLIFIER_USERNAME }} SIMPLIFIER_PASSWORD: ${{ secrets.SIMPLIFIER_PASSWORD }} FIRELY_TERMINAL_VERSION: 3.5.0 @@ -56,4 +55,4 @@ jobs: # - name: Add & Commit. # uses: EndBug/add-and-commit@v9 # with: - # add: 'fsh-generated/resources/' \ No newline at end of file + # add: 'fsh-generated/resources/' diff --git a/ValueSet/ValueSet-DM-prescription-type.xml b/ValueSet/ValueSet-DM-prescription-type.xml index 2a1709d4..cca5237d 100644 --- a/ValueSet/ValueSet-DM-prescription-type.xml +++ b/ValueSet/ValueSet-DM-prescription-type.xml @@ -4,7 +4,7 @@ <url value="https://fhir.nhs.uk/ValueSet/DM-prescription-type" /> <version value="1.1.0" /> <name value="DMPrescriptionType" /> - <status value="active" /> + <status value="draft" /> <date value="2025-03-12T00:00:00+00:00" /> <publisher value="NHS England" /> <contact> diff --git a/ValueSet/ValueSet-NHSDigital-servicerequest-code.xml b/ValueSet/ValueSet-NHSDigital-servicerequest-code.xml index 56ad8cac..8f2878f9 100644 --- a/ValueSet/ValueSet-NHSDigital-servicerequest-code.xml +++ b/ValueSet/ValueSet-NHSDigital-servicerequest-code.xml @@ -4,7 +4,7 @@ <version value="1.0.0" /> <name value="ServiceRequestCode" /> <title value="ServiceRequestCode" /> - <status value="active" /> + <status value="draft" /> <date value="2022-10-19T10:16:00+00:00" /> <publisher value="NHS Digital" /> <contact>