FHIR Chat · Basisprofil Blutdruck: Error in discriminator · german (d-a-ch)

Stream: german (d-a-ch)

Topic: Basisprofil Blutdruck: Error in discriminator


view this post on Zulip Morten Ernebjerg (Dec 13 2018 at 09:30):

Ich bekomme gerade einen etwas seltsamen Fehler vom neusten Java JAR Validator, wenn ich versuche, eine Beispiel-Resource gegen den Blutdruck-Basisprofil (http://fhir.de/StructureDefinition/observation-de-blutdruck/0.2) zu validieren:

*FAILURE* validating examples/bp-base-example.xml:  error:4 warn:0 info:0
  Error @ Observation.component[1] (line 20, col16) : Error in discriminator at Observation.component:diastolisch.code.coding: slicing found
  Error @ Observation.component[1] (line 20, col16) : Error in discriminator at Observation.component:systolisch.code.coding: slicing found
  Error @ Observation.component[2] (line 34, col16) : Error in discriminator at Observation.component:diastolisch.code.coding: slicing found
  Error @ Observation.component[2] (line 34, col16) : Error in discriminator at Observation.component:systolisch.code.coding: slicing found

Wenn ich das richtig lese, beschwert er sich hier über den Profil, könnte aber auch einen Bug im Validator sein ($validateauf fhir.hl7.de mit meinem Beispiel geht durch, weiss aber nicht, ob er die Profile hat). Hat jemanden diesen Fehler schon mal gesehen?

view this post on Zulip Morten Ernebjerg (Dec 13 2018 at 09:37):

Beispiel-Resource:

<Observation
    xmlns="http://hl7.org/fhir">
    <meta>
        <profile value ="http://fhir.de/StructureDefinition/observation-de-blutdruck/0.2"/>
    </meta>
    <status value="final"/>
    <code>
        <coding>
            <system value="http://loinc.org"/>
            <code value="85354-9"/>
        </coding>
    </code>
    <subject>
        <reference value="Patient/patient-example"/>
    </subject>
    <effectiveDateTime value="2016-03-21T18:01:10Z"/>
    <performer>
        <reference value="Practitioner/practitioner-example"/>
    </performer>
    <component>
        <code>
            <coding>
                <system value="http://loinc.org"/>
                <code value="8462-4"/>
            </coding>
        </code>
        <valueQuantity>
            <value value="58"/>
            <unit value="mmHg"/>
            <system value="http://unitsofmeasure.org"/>
            <code value="mm[Hg]"/>
        </valueQuantity>
    </component>
    <component>
        <code>
            <coding>
                <system value="http://loinc.org"/>
                <code value="8480-6"/>
            </coding>
        </code>
        <valueQuantity>
            <value value="111"/>
            <unit value="mmHg"/>
            <system value="http://unitsofmeasure.org"/>
            <code value="mm[Hg]"/>
        </valueQuantity>
    </component>
</Observation>

view this post on Zulip Simone Heckmann (Dec 13 2018 at 11:23):

Hallo Morten,

hast du das Beispiel mal auf Simplifier hochgeladen und validiert? Dann hättest Du eine Zweitmeinung von einem Validator, der das Profil definitiv kennt ;-)

view this post on Zulip Morten Ernebjerg (Dec 13 2018 at 11:33):

Hi Simone,
nee, nocht nicht, gute Idee - wie geht das eigentlicht? Meinst Du POST per HTTP-Client gegen https://stu3.simplifier.net/BasisprofilDE/Patient oder can ich $validate auf dem URL benutzen? (ich will ja Simplifier nicht zumüllen :grinning:).

view this post on Zulip Simone Heckmann (Dec 13 2018 at 11:36):

Simplifier Account anlegen > Sandbox-Projekt erstellen > per upload (c&p) das Beispiel hochladen und dann den Validate-Button verwenden. Ist etwas aufwendiger, aber dafür kannst du uns dann auch den Link zum Beispiel zur Verfügung stellen, und wir können das reproduzieren :)

view this post on Zulip Morten Ernebjerg (Dec 13 2018 at 11:42):

Ah ja, macht Sinn. Simplifier sagt alles gut - zieht er automatisch den richtigen Profil von dem Basisprofile-Repo?

view this post on Zulip Morten Ernebjerg (Dec 13 2018 at 11:45):

Ah, macht er. Dann sind die Validatoren wohl unterschiedlicher meinung.

view this post on Zulip Morten Ernebjerg (Dec 13 2018 at 11:49):

Ich werfe das mal in den Conformance-Stream, danke für den Tipp!

view this post on Zulip Alexander Zautke (Dec 13 2018 at 11:50):

Man kann die Ressourcen auch unter https://simplifier.net/validate per copy&paste validieren lassen. Simplifier-Account ist trotzdem Pflicht. Es wird aber nichts gespeichert.

view this post on Zulip Morten Ernebjerg (Dec 13 2018 at 11:51):

@Alexander Zautke Danke, gut zu wissen!

view this post on Zulip Morten Ernebjerg (Dec 13 2018 at 12:08):

Validator-Battle Follow-up: https://chat.fhir.org/#narrow/stream/23-conformance/topic/Java.20validator.20and.20Simplifier.20disagree.20on.20slice.20validity

view this post on Zulip Patrick Werner (Dec 13 2018 at 13:54):

Das Profil an sich ist nicht STU3 kompatibel: sdf-20: On StructureDefinition.differential: No slicing on the root element (expression on StructureDefinition.differential: element.first().slicing.empty())

view this post on Zulip Patrick Werner (Dec 13 2018 at 13:55):

Dies ist ein Bug im Standard der in R4 gefixt wurde, Firely hat es wohl in ihrer Implementierung gefixt, entspricht also nicht STU3 ;-)

view this post on Zulip Patrick Werner (Dec 13 2018 at 13:56):

Ich hatte im anderen Stream schon gefragt ob das in STU3 noch gefixt würde, ich bin da aber eher pessimistisch.

view this post on Zulip Patrick Werner (Dec 13 2018 at 13:57):

Wir könnten workarounds in die Basisprofile einbauen um das Triggern dieses Bugs zu verhindern.

view this post on Zulip Morten Ernebjerg (Dec 13 2018 at 14:08):

Hi Patrick - aha, der Bug! Habe ich schon mal getroffen, allerdings nur in Zusammenhang mit der Validierung von StructureDefinitions. Woher genau kommt er hier in diesem Kontext? Ich habe mit anderen Blutdruck-Profilen (z.B. Argonaut) rumgespielt, die auch Slicings-in-Slicings haben, und mit dem Java-Validator dagegen validiert, und es hat problemlos geklappt.

view this post on Zulip Morten Ernebjerg (Dec 13 2018 at 14:15):

Einen Validator-Fix wäre sicherlich am schönsten (danke auch für Deinen Kommentar dazu im Implementer-Stream). Wenn das kurzfristig nicht geht dann wäre Workaround villeicht gar nicht so abwegig. Es ist eine ungute Situation, wenn der vom Spec selbst verlinkten Validator mit einem Standardprofil nicht zurechtkommt (auch wenn der Profil nicht Schuld ist und der Grund bekannt ist), ich habe schon ein paar Stunden damit verbracht und es könnte wohl anderen genauso gehen.

view this post on Zulip Alexander Zautke (Dec 13 2018 at 15:16):

Kann bestätigen, dass sdf-20 in Simplifier "behoben" wurde. Die Packages im Hintergrund sind ein wenig verschieden.

view this post on Zulip Morten Ernebjerg (Apr 02 2019 at 07:52):

Dieser Thread ist ja schon etwas eingetrocknet, aber es gibt gute Nachrichten: Der R4-Fix für den sdf-20 Bug wird für STU3 runterportiert im nächsten Technical Correction :tada:

https://gforge.hl7.org/gf/project/fhir/tracker/?action=TrackerItemEdit&tracker_item_id=20339

@Alexander Zautke @Patrick Werner @Simone Heckmann


Last updated: Apr 12 2022 at 19:14 UTC