ahdis / matchbox

Apache License 2.0
28 stars 20 forks source link

Validation: Invalid reference in bundle not catched #143

Open oliveregger opened 1 year ago

oliveregger commented 1 year ago

At the IHE Connectathon we have seen IPS bundles where the reference in MedicationStatement looks incorrect (a relative reference is provided, however the fullUrl of the bundle entry is an uuid). See https://build.fhir.org/bundle.html#references

The matchbox and validator however do not provide an error.

{
    "resourceType": "Bundle",
    "type": "searchset",
    "timestamp": "2023-09-25T13:19:13.502Z",
    "entry": [
        {
            "fullUrl": "urn:uuid:78844a8e-f51a-4146-80a6-254af490e559",
            "resource": {
                "resourceType": "MedicationStatement",
                "status": "active",
                "medicationReference": {
                    "reference": "Medication/18a84917709-65e30eed-32cb-44fb-932a-ea29a3e4b51f",
                    "display": "rivaroxaban 20 mg oral tablet"
                },
                "subject": {
                    "reference": "Patient/e192aa18-ee13-4af9-8bb2-818a92d9c5ae",
                    "display": "Charles Merlot"
                }
            }
        }   
    ]
}

FHIR Validation tool Version 6.1.5 (Git# a09216c6e85d). Built 2023-09-11T01:26:41.34Z (15 days old) Java: 20.0.1 from /opt/homebrew/Cellar/openjdk/20.0.1/libexec/openjdk.jdk/Contents/Home on aarch64 (64bit). 8192MB available Paths: Current = /Users/oegger/Desktop/connectathon, Package Cache = /Users/oegger/.fhir/packages Params: /Users/oegger/Desktop/connectathon/ips.json -version 4.0.1 Locale: Switzerland/CH Jurisdiction: Switzerland Loading Load FHIR v4.0 from hl7.fhir.r4.core#4.0.1 - 4576 resources (00:03.350) Load hl7.fhir.uv.extensions.r4#1.0.0 - 1328 resources (00:00.272) Load hl7.terminology#5.3.0 - 4201 resources (00:00.858) Load hl7.terminology.r5#5.0.0 - 4174 resources (00:00.470) Load hl7.fhir.uv.extensions#1.0.0 - 1328 resources (00:00.010) Terminology server http://tx.fhir.org - Version 3.0.0 (00:00.936) Package Summary: [hl7.fhir.r4.core#4.0.1, hl7.fhir.xver-extensions#0.0.12, hl7.fhir.uv.extensions.r4#1.0.0, hl7.terminology#5.3.0, hl7.terminology.r5#5.0.0, hl7.fhir.uv.extensions#1.0.0] Get set... go (00:02.322) Validating Validate /Users/oegger/Desktop/connectathon/ips.json Validate Bundle against http://hl7.org/fhir/StructureDefinition/Bundle|4.0.1..........20..........40..........60..........80.........| 00:00.093 Done. Times: Loading: 00:08.345, validation: 00:00.093. Memory = 385Mb

Success: 0 errors, 4 warnings, 0 notes Warning @ Bundle.entry[0].resource (line 1, col2): Search results must have ids Warning @ Bundle (line 1, col2): SearchSet Bundles should have a self link that specifies what the search was Warning @ Bundle (line 1, col2): SearchSet bundles should have search modes on the entries Warning @ Bundle.entry[0].resource/MedicationStatement/null/ (line 8, col14): Rule dom-6: 'A resource should have narrative for robust management' Failed (Best Practice Recommendation) Done. Times: Loading: 00:08.345, validation: 00:00.093. Max Memory = 8Gb oegger@Olivers-MacBook-Pro connectathon %

oliveregger commented 11 months ago

should be catched with latest validator