diff --git a/.github/workflows/firely-validation.yml b/.github/workflows/firely-validation.yml
new file mode 100644
index 00000000..08f10b1d
--- /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/.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/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..fa4c49cc 100644
--- a/ConceptMap/MedicationRequest-course-therapy-type-map.xml
+++ b/ConceptMap/MedicationRequest-course-therapy-type-map.xml
@@ -18,10 +18,10 @@
-
+
-
+
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 @@
-
+
-
+
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 @@
-
+
-
+
diff --git a/MedicationRequest/MedicationRequest-WithoutGroupID-Example.xml b/MedicationRequest/MedicationRequest-WithoutGroupID-Example.xml
new file mode 100644
index 00000000..a59348be
--- /dev/null
+++ b/MedicationRequest/MedicationRequest-WithoutGroupID-Example.xml
@@ -0,0 +1,71 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
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 @@
+
-
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 @@
+
-
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 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ 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 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
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 f8ece070..eca36421 100644
--- a/OperationDefinition/MessageHeader-prepare-message.xml
+++ b/OperationDefinition/MessageHeader-prepare-message.xml
@@ -14,10 +14,10 @@
+
-
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 7472e171..63484342 100644
--- a/OperationDefinition/OperationDefinition-prescription-release.xml
+++ b/OperationDefinition/OperationDefinition-prescription-release.xml
@@ -17,14 +17,13 @@
+
-
-
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 d78a5d6e..73fdabf7 100644
--- a/OperationDefinition/OperationDefinition-release.xml
+++ b/OperationDefinition/OperationDefinition-release.xml
@@ -17,14 +17,13 @@
+
-
-
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 @@
+
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 @@
+
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 @@
+
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 @@
+
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 @@
+
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 @@
+
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 @@
+
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 @@
+
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 @@
+
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 @@
+
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 @@
+
diff --git a/StructureDefinition/Extension-NHSDigital-Provenance-agent.StructureDefinition.xml b/StructureDefinition/Extension-NHSDigital-Provenance-agent.StructureDefinition.xml
index bfdadf2e..e6c0cf03 100644
--- a/StructureDefinition/Extension-NHSDigital-Provenance-agent.StructureDefinition.xml
+++ b/StructureDefinition/Extension-NHSDigital-Provenance-agent.StructureDefinition.xml
@@ -2,8 +2,8 @@
-
+
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 @@
+
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 @@
+
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 @@
-
+
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 @@
+
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 @@
+
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 @@
+
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 @@
+
diff --git a/StructureDefinition/NHSDigital-Bundle-FHIRMessage.StructureDefinition.xml b/StructureDefinition/NHSDigital-Bundle-FHIRMessage.StructureDefinition.xml
index be454d6f..63528520 100644
--- a/StructureDefinition/NHSDigital-Bundle-FHIRMessage.StructureDefinition.xml
+++ b/StructureDefinition/NHSDigital-Bundle-FHIRMessage.StructureDefinition.xml
@@ -66,7 +66,7 @@
-