Stream: german (d-a-ch)
Topic: Verhalten von targetProfile in abgeleiteten Profilen
Simone Heckmann (Mar 19 2020 at 11:01):
Folgendes Szenario (IPSObservation und MyObservation sehen für Profile auf Observation)
IPSObservation.subject referenziert auf targetProfile IPSPatient.
Ein Profil MyObservation leitet von IPSObservation ab und fügt bei MyObservation.subject einen weiteren targetProfile MyPatient hinzu. MyPatient ist aber nicht von IPSPatient abgeleitet und es kann Instanzen geben, die gegen MyPatient valide sind, aber nicht gegen IPSPatient.
Wie verhält sich hier die Validation? Wäre eine Instanz von MyObservation die auf einen Patient referenziert, der nicht valide gegen IPSPatient ist valide...?
Marcel Klötgen (Mar 19 2020 at 11:05):
Danke Simone. Ergänzend zur Generalisierung: verhält sich FHIR bezüglich Vererbung (Polymorphismus etc.) analog zu objektorientierten Programmiersprachen wie JAVA etc.?
Simone Heckmann (Mar 19 2020 at 11:05):
Dass man bei der Profilierung weitere targetProfiles hinzufügt wäre ja sinnvoll, da man ggf. zusätzliche Constraints haben möchte, aber die ElementDefintion verstehe ich so, dass bei der Angabe mehrerer Profile die Regel gilt "one must apply" (http://hl7.org/fhir/elementdefinition-definitions.html#ElementDefinition.type.targetProfile). Also wäre eine Instanz mit Referenz auf einen ungültigen IPSPatient ggf. gegen MyObservation valide, aber nicht gegen IPSObservation, was ja irgendwie der Idee von abgeleiteten Profilen widersprechen würde...
Simone Heckmann (Mar 19 2020 at 11:16):
Logisch wäre für mich auf jeden Fall, dass eine Instanz mit Referenz auf einen ungültigen IPSPatient nicht valide gegen MyObservation sein darf. Fraglich ist für mich nur, ob das Tooling (sprich: der Validator) das in dieser Konstellation merken würde, da er ja nur gegen den Snapshot von MyObservation validiert, der m.M.n zwei oder-verknüpfte targetProfiles enthalten dürfte. Würde der Validator gegen MyObservation und IPSObservation separat validieren würde er's merken...
Last updated: Apr 12 2022 at 19:14 UTC