ahdis / matchbox

Apache License 2.0
28 stars 20 forks source link

changes in terminology validation: FHIR-41229 and FHIR-41230 #169

Closed oliveregger closed 5 months ago

oliveregger commented 10 months ago

see https://chat.fhir.org/#narrow/stream/179252-IG-creation/topic/Improved.20Validation.20for.20terminology

Grahame:

The interface between the validator/publisher and tx.fhir.org is changing per FHIR-41229 and FHIR-41230, and in addition, the validator is being reworked to place much more focus on the errors from tx.fhir.org (and by extension, ontoserver).

When I release the new validator and publisher I will also upgrade tx.fhir.org, and then old versions of the validator and publisher will (a) produce wrong errors and warnings and (b) omit some important errors and warnings that it currently has now

oliveregger commented 10 months ago

tx is now updated and released, corresponding validator functionality is in 6.2.8 (matchbox is 6.1.16)

https://github.com/hapifhir/org.hl7.fhir.core/releases/tag/6.2.8

oliveregger commented 10 months ago

need to check what impact the api changes have on our internal terminology server if we upgrade to > 6.2.8

qligier commented 9 months ago

We are impacted now by the changes of tx.fhir.org, the validation of many examples now fails:

[ERROR][CODEINVALID] The provided code 'http://snomed.info/sct#371535009 ('Transfer summary report')' was not found in the value set 'http://hl7.org/fhir/ValueSet/doc-typecodes|4.0.1' (from Tx-Server)
[ERROR][CODEINVALID] Der angegebene Code 'http://snomed.info/sct#721912009 ('Medication summary document (record artifact)')' befindet sich nicht im ValueSet 'http://hl7.org/fhir/ValueSet/doc-typecodes|4.0.1' (from Tx-Server)
[ERROR][CODEINVALID] Der angegebene Code 'http://loinc.org#56445-0 ('Medication summary Document')' befindet sich nicht im ValueSet 'http://fhir.ch/ig/ch-epr-term/ValueSet/DocumentEntry.typeCode|2.0.10' (from Tx-Server)

Not sure why the message language changed (it seems tx.fhir.org respects the resource language now).

qligier commented 9 months ago

The failures happen when a value set is bound with weak strengths (extensible and preferred at least).

Example with https://fhir.ch/ig/ch-emed/Bundle-2-1-MedicationList.json.html:

[INFORMATION][INFORMATIONAL] This element does not match any known slice defined in the profile http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-document-medicationlist|4.0.1
[ERROR][STRUCTURE] Bundle.entry:Composition: minimum required = 1, but only found 0 (from http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-document-medicationlist|4.0.1)
[ERROR][CODEINVALID] Der angegebene Code 'http://snomed.info/sct#721912009 ('Medication summary document (record artifact)')' befindet sich nicht im ValueSet 'http://hl7.org/fhir/ValueSet/doc-typecodes|4.0.1' (from Tx-Server)
[ERROR][CODEINVALID] Der angegebene Code 'http://loinc.org#56445-0 ('Medication summary Document')' befindet sich nicht im ValueSet 'http://fhir.ch/ig/ch-epr-term/ValueSet/DocumentEntry.typeCode|2.0.10' (from Tx-Server)
[INFORMATION][UNKNOWN] Code System URI 'urn:oid:2.51.1.1' is unknown so the code cannot be validated
[INFORMATION][UNKNOWN] Code System URI 'urn:oid:2.51.1.1' is unknown so the code cannot be validated

The validator complains about Composition.type.coding. The example uses http://loinc.org#56445-0 and http://snomed.info/sct#721912009, which are correct according to the profile:

fhir ch_ig_ch-emed_StructureDefinition-ch-emed-composition-medicationlist html

http://fhir.ch/ig/ch-epr-term/ValueSet/DocumentEntry.typeCode is bound as extensible, http://hl7.org/fhir/ValueSet/doc-typecodes is bound as preferred.

Those should not be errors.