Stream: german/mi-initiative
Topic: Slicing in PatentIn
Noemi Deppenwiese (Sep 07 2020 at 15:12):
name und address slicen laut Regeln über $this(Pattern), aber tatsächlich wird ja use bzw. type zur unterscheidung benutzt. Warum ist das Slicing dann nicht auf use bzw. type? Das würde die Validatoren weniger verwirren und die Fehlersuche einfacher machen :see_no_evil:
Alexander Zautke (Sep 07 2020 at 17:31):
Andere Projekte wollten mit anderen Slices und Re-Slices abenteuerliche Dinge anstellen. Daher brauchten wir hier jeweils ein Pattern.
Alexander Zautke (Sep 07 2020 at 17:31):
Vielleicht kann @Patrick Werner ja mal einen Feature-Request für verbesserte Error Message basteln ;)
Noemi Deppenwiese (Sep 08 2020 at 07:55):
Ahh ok. Also nötig kompliziert :)
Der Java Validator beschwert sich bei Patters für Nicht-Standard-Datentypen häufig über Nicht unterstützter fixed Pattern Type für Diskriminator($this)
was einem nicht viel weiter hilft um den Fehler in der Instanz zu finden...
Patrick Werner (Sep 08 2020 at 12:42):
Noemi Deppenwiese said:
Ahh ok. Also nötig kompliziert :)
Der Java Validator beschwert sich bei Patters für Nicht-Standard-Datentypen häufig überNicht unterstützter fixed Pattern Type für Diskriminator($this)
was einem nicht viel weiter hilft um den Fehler in der Instanz zu finden...
gibt es dazu ein nachvollziehbares Beispiel?
Noemi Deppenwiese (Sep 08 2020 at 12:48):
Patient mit MII Profil und den schon von @Marvin Kampf geposteten Extensions am name
"name": [
{
"use": "official",
"_family": {
"extension": [
{
"url": "http://hl7.org/fhir/StructureDefinition/data-absent-reason",
"valueCode": "unsupported"
}
]
},
"given": [
null
],
"_given": [
{
"extension": [
{
"url": "http://hl7.org/fhir/StructureDefinition/data-absent-reason",
"valueCode": "unsupported"
}
]
}
]
}
],
Führt zu folgender Fehlermeldung:
issue: ERROR - Bundle.entry[0].resource.ofType(Patient).name[0] - Internal error: Nicht unterstützter fixed Pattern Type für Diskriminator($this) für Slice Patient.name:name: org.hl7.fhir.r5.model.HumanName
issue: ERROR - Bundle.entry[0].resource.ofType(Patient).name[0] - Internal error: Nicht unterstützter fixed Pattern Type für Diskriminator($this) für Slice Patient.name:geburtsname: org.hl7.fhir.r5.model.HumanName
Ist halt schade, dass man dann nicht validieren kann...
Patrick Werner (Sep 09 2020 at 12:06):
danke!
Patrick Werner (Sep 09 2020 at 12:11):
Noemi Deppenwiese said:
name und address slicen laut Regeln über $this(Pattern), aber tatsächlich wird ja use bzw. type zur unterscheidung benutzt. Warum ist das Slicing dann nicht auf use bzw. type? Das würde die Validatoren weniger verwirren und die Fehlersuche einfacher machen :see_no_evil:
Bei pattern based slicing diskriminiert man eigentlich immer auf dem zu slicenden objekt. Der Validator unterstützt das auch so, hier aber nicht. Hmmm
Patrick Werner (Sep 09 2020 at 12:12):
Es ist zum Pattern dazu noch ein fixed Value angegeben, evtl. bringt das den Validator aus dem Tritt. Ich schaue da heute Abend mal rein
Patrick Werner (Sep 10 2020 at 09:25):
Das sieht nach einem Validator Bug aus. Slicing ist korrekt, pattern korrekt
Patrick Werner (Sep 10 2020 at 09:25):
habe das mal gemeldet: https://chat.fhir.org/#narrow/stream/179177-conformance/topic/Validator.3A.20Unsupported.20fixed.20pattern.20type.20for.20discrimin
Patrick Werner (Sep 14 2020 at 08:07):
War ein Bug, wird im nächsten Validatorrelease behoben sein.
Noemi Deppenwiese (Sep 14 2020 at 08:08):
Vielen Dank für die schnelle Reaktion :)
Last updated: Apr 12 2022 at 19:14 UTC