From ab4a5db2bd7e09c08ec5184b0aa0b65261c3d7f1 Mon Sep 17 00:00:00 2001 From: Pieter Edelman Date: Fri, 25 Oct 2024 17:24:31 +0200 Subject: [PATCH] Upgrade to version 6.4.0 of the Validator and QA tooling, and adjust the known issues accordingly --- .github/workflows/qa-all.yml | 2 +- .github/workflows/qa-changed.yml | 2 +- known-issues.yml | 23 ++++++++++++++++- qa.yaml | 1 - util/qa/check-id.py | 42 -------------------------------- util/qa/check-id.sh | 4 --- util/qa/docker-compose.yml | 2 +- 7 files changed, 25 insertions(+), 51 deletions(-) delete mode 100644 util/qa/check-id.py delete mode 100644 util/qa/check-id.sh diff --git a/.github/workflows/qa-all.yml b/.github/workflows/qa-all.yml index 4e2c725b7..f6873ff1c 100644 --- a/.github/workflows/qa-all.yml +++ b/.github/workflows/qa-all.yml @@ -11,7 +11,7 @@ jobs: with: fetch-depth: 0 - name: Zib2020 QA - uses: Nictiz/Nictiz-tooling-R4-QA@6.3.0 + uses: Nictiz/Nictiz-tooling-R4-QA@6.4.0 with: changed-only: false verbosity-level: warning diff --git a/.github/workflows/qa-changed.yml b/.github/workflows/qa-changed.yml index 9b25a0418..d80c7627a 100644 --- a/.github/workflows/qa-changed.yml +++ b/.github/workflows/qa-changed.yml @@ -11,7 +11,7 @@ jobs: with: fetch-depth: 0 - name: Zib2020 QA - uses: Nictiz/Nictiz-tooling-R4-QA@6.3.0 + uses: Nictiz/Nictiz-tooling-R4-QA@6.4.0 with: changed-only: true extensible-binding-warnings: true diff --git a/known-issues.yml b/known-issues.yml index 676f14ae3..99e3ad962 100644 --- a/known-issues.yml +++ b/known-issues.yml @@ -826,6 +826,18 @@ issues should occur: false - message: Unable to validate code without using server reason: This warning doesn't provide any feedback on the correctness of the materials. In addition, there's little reason to fix this issue on the package level as it is unlikely that this ever results in problems in production (CodeSystems are not typically validated in production). +2.16.840.1.113883.2.4.3.11.60.40.2.5.1.3--20200901000000: + ignored issues: + ValueSet.compose.include[9].filter[0]: + - message: The value for a filter based on property 'concept' must be a valid code from the system 'http://snomed.info/sct', and '31000147101' is not + reason: This code represents the DHD Diagnosethesaurus, which the default terminology server is unable to check + +2.16.840.1.113883.2.4.3.11.60.40.2.14.1.2--20200901000000: + ignored issues: + ValueSet.compose.include[0].filter[0]: + - message: The value for a filter based on property 'concept' must be a valid code from the system 'http://snomed.info/sct', and '41000147108' is not + reason: This code represents the DHD Verrichtingenthesaurus, which the default terminology server is unable to check + nl-core-*: ignored issues: "*": @@ -835,7 +847,7 @@ nl-core-*: - message: "The URL is not valid because '(The mimetype portion of the data: URL is not valid (Mime type invalid) in URL: data:application/octet-stream;base64," reason: application/octet-stream is a valid mime type, but the Validator thinks it isn't (at the time of writing). "*.address*.country.extension[0].value*": - - message: None of the codings provided are in the value set 'LandCodelijsten' (http://decor.nictiz.nl/fhir/ValueSet/2.16.840.1.113883.2.4.3.11.60.121.11.10--20200901000000), and a coding from this value set is required) (codes = urn:oid:2.16.840.1.113883.2.4.4.16.34#6030) + - message: None of the codings provided are in the value set 'LandCodelijsten' reason: The current version of the Validator incorrectly raises an error on combined ValueSets. "*.code": - message: None of the codings provided are in the value set 'VerrichtingTypeCodelijsten' @@ -857,6 +869,9 @@ nl-core-*: Observation.hasMember[*]: - message: This element does not match any known slice defined in the profile reason: The Validator is unable to resolve references on disk, so it is unable to match reference slices + Procedure.code: + - message: "Error from http://tx.fhir.org/r4: The Snomed Concept 41000147108 was not known" + reason: This code represents the DHD Verrichtingenthesaurus, which the default terminology server is unable to check. This causes problems on some occasions (but not all). nl-core-AllergyIntolerance*: ignored issues: @@ -926,6 +941,12 @@ nl-core-VisualFunction.VisualAid-*: - message: 'Profile http://nictiz.nl/fhir/StructureDefinition/nl-core-VisualFunction.VisualAid, Element matches more than one slice' reason: The Validator cannot actually inspect the referenced resources, and falsely assumes the reference is a reference to the offending profile. +nl-core-LaboratoryTestResult-*: + ignored issues: + Observation.code: + - message: None of the codings provided are in the value set 'TestCode-en-Onderzoek-Codelijsten' + reason: The current version of the Validator incorrectly raises an error on combined ValueSets. + nl-core-PainScore-01: ignored issues: Observation.method: diff --git a/qa.yaml b/qa.yaml index c2774bd65..a502a06e2 100644 --- a/qa.yaml +++ b/qa.yaml @@ -74,7 +74,6 @@ steps: - nl-core extensions - other profiles - examples - script: check-id.sh check nl-core overrides: patterns: nl-core profiles script: nl-core-overrides.sh diff --git a/util/qa/check-id.py b/util/qa/check-id.py deleted file mode 100644 index 72e5adabc..000000000 --- a/util/qa/check-id.py +++ /dev/null @@ -1,42 +0,0 @@ -#!/usr/bin/env python3 - -import json -import pathlib -import sys -import xml.etree.ElementTree as ET - -def reportMissing(pure_path): - print(f"Resource {pure_path} has no .id") - -def reportMismatch(pure_path): - print(f"Resource id doesn't match the file name in {pure_path}") - -if __name__ == "__main__": - success = True - - for file_path in sys.argv[1:]: - pure_path = pathlib.PurePath(file_path) - - if pure_path.suffix.lower() == ".json": - root = json.load(open(file_path)) - if "id" not in root: - reportMissing(pure_path) - success = False - elif root["id"] != pure_path.stem: - reportMismatch(pure_path) - success = False - elif pure_path.suffix.lower() == ".xml": - root = ET.fromstring(open(pure_path).read()) - id = root.find("{http://hl7.org/fhir}id") - if id == None: - reportMissing(pure_path) - success = False - elif "value" not in id.attrib or id.attrib["value"] != pure_path.stem: - reportMismatch(pure_path) - success = False - - if not success: - print("\nSome invalid resources were found!") - sys.exit(1) - else: - print("No problems found") \ No newline at end of file diff --git a/util/qa/check-id.sh b/util/qa/check-id.sh deleted file mode 100644 index ad650c0ac..000000000 --- a/util/qa/check-id.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/bash - -# We need this shell wrapper in order to call generatesnapshots.sh -python3 $script_dir/check-id.py $@ \ No newline at end of file diff --git a/util/qa/docker-compose.yml b/util/qa/docker-compose.yml index 71396571a..4b09cc9ae 100644 --- a/util/qa/docker-compose.yml +++ b/util/qa/docker-compose.yml @@ -1,6 +1,6 @@ services: nictiz-r4-qa: - image: ghcr.io/nictiz/nictiz-tooling-r4-qa:6.3.0 + image: ghcr.io/nictiz/nictiz-tooling-r4-qa:6.4.0 container_name: nictiz-r4-qa-zib2020 volumes: - type: bind