FHIR Chat · Vollständigkeitsprüfung beim Document Bundle · german/kbv

Stream: german/kbv

Topic: Vollständigkeitsprüfung beim Document Bundle


view this post on Zulip Simone Heckmann (Mar 24 2020 at 09:58):

Wir hatten ja beim letzten Interop-Forum die Frage diskutiert ob und wenn ja wie man prüfen sollte, ob wirklich alle Referenzen einer Composition in einem Bundle enthalten sind. (@Mareike Przysucha @Stefan Lang )

Ich habe dazu jetzt zwei Varianten von Invarianten ( :smirk: ) erstellt und getestet:

  1. Bundle.entry.descendants().reference.distinct().subsetOf(%resource.entry.fullUrl)
  2. Bundle.entry.resource.descendants().reference.all($this in %resource.entry.fullUrl)

Beide scheinen nach ersten Tests korrekt erkennen zu können, wenn eine Referenz nicht im Bundle enthalten ist. In beiden Fällen wäre es kein Fehler, wenn das Bundle zusätzliche Entries enthalten würde (z.B. ein OperationOutcome oder ein Binary mit Stypesheet o.ä.)....

Ich habe zum Testen übrigens das Impfpass Beispiel-Bundle genommen und dabei sind mit zwei Dinge aufgefallen:
Zum einen sind die urls in reference nicht identisch mit jenen in fullUrl (in ersterem sind es UUIDs, in letzterem absolute URLs) Das Beispiel wäre also ohnehin nicht valide und sollte korrigiert werden.
Weiterhin haben die Composition und die Immunization die selbe UUID!
(@Maximilian Reith )

Falls die Referenzen nicht rekursiv überprüft werden sollen, sondern nur unmittelbare Referenzen der Composition, könnte man das mit dem Zusatz Bundle.entry.ofType(Composition).reference... erwirken.

Also: wer's braucht, bediene sich....

view this post on Zulip Patrick Werner (Mar 24 2020 at 10:00):

wurde das mit dem Java Validator validiert?

view this post on Zulip Patrick Werner (Mar 24 2020 at 10:01):

bzw. sollte der Validator dies nicht von sich aus, auch ohne invariants, bemängeln?

view this post on Zulip Mareike Przysucha (Mar 24 2020 at 10:04):

Liebe @Simone Heckmann , vielen herzlichen Dank!

view this post on Zulip Maximilian Reith (Mar 24 2020 at 11:24):

Simone Heckmann said:

Wir hatten ja beim letzten Interop-Forum die Frage diskutiert ob und wenn ja wie man prüfen sollte, ob wirklich alle Referenzen einer Composition in einem Bundle enthalten sind. (Mareike Przysucha Stefan Lang )

Ich habe dazu jetzt zwei Varianten von Invarianten ( :smirk: ) erstellt und getestet:

  1. Bundle.entry.descendants().reference.distinct().subsetOf(%resource.entry.fullUrl)
  2. Bundle.entry.resource.descendants().reference.all($this in %resource.entry.fullUrl)

Beide scheinen nach ersten Tests korrekt erkennen zu können, wenn eine Referenz nicht im Bundle enthalten ist. In beiden Fällen wäre es kein Fehler, wenn das Bundle zusätzliche Entries enthalten würde (z.B. ein OperationOutcome oder ein Binary mit Stypesheet o.ä.)....

Ich habe zum Testen übrigens das Impfpass Beispiel-Bundle genommen und dabei sind mit zwei Dinge aufgefallen:
Zum einen sind die urls in reference nicht identisch mit jenen in fullUrl (in ersterem sind es UUIDs, in letzterem absolute URLs) Das Beispiel wäre also ohnehin nicht valide und sollte korrigiert werden.
Weiterhin haben die Composition und die Immunization die selbe UUID!
(Maximilian Reith )

Falls die Referenzen nicht rekursiv überprüft werden sollen, sondern nur unmittelbare Referenzen der Composition, könnte man das mit dem Zusatz Bundle.entry.ofType(Composition).reference... erwirken.

Also: wer's braucht, bediene sich....

Also erstmal vielen Dank für die Invarianten und fürs Finden des "Fehlers", denn Simplifier meldet nur, dass zwei Referencen in zwei Extensions nicht aufgelöst werden können. Aber ich denke auch das das Fehler sein müssten. Schaue ich mir an...


Last updated: Apr 12 2022 at 19:14 UTC