FHIR-Viewer

FHIR-Viewer › FHIR-Bundle anzeigen

FHIR-Bundle anzeigen und lesen

Ein Bundle ist ein Container für mehrere Ressourcen. Wenn eine FHIR-Datei mit "resourceType": "Bundle" beginnt, steckt der eigentliche Inhalt in entry. Der Viewer zählt die Ressourcen je Typ, listet die Einträge und lässt Sie Referenzen von einem Eintrag zum nächsten anklicken.

Die Daten bleiben in Ihrem Browser: Es wird nichts hochgeladen. Nur zur Ansicht, kein Validator, kein Medizinprodukt.

Beispiel „Bundle mit Referenzen“: Original in der FHIR-Spezifikation R4, Lizenz CC0 1.0. Unverändert bis auf die Formatierung.

Wofür es Bundles gibt

Nach der Spezifikation fasst ein Bundle Ressourcen zusammen, zum Beispiel als Ergebnis einer Suche, als Versionsverlauf (history), als Nachricht, als Dokument oder als Transaktion, die mehrere Ressourcen auf einem Server in einem Schritt anlegt, ändert oder löscht. Welche Art vorliegt, steht in Bundle.type: document | message | transaction | transaction-response | batch | batch-response | history | searchset | collection. Das Feld ist ein Pflichtfeld (1..1); fehlt es, meldet der Viewer das.

Ein Bundle ist nicht dasselbe wie contained: Contained-Ressourcen existieren nur im Kontext ihrer Elternressource, Bundle-Einträge können dagegen eigenständig abrufbar sein.

So lesen Sie ein Bundle im Viewer

  1. Kopfzeile: Neben Format und Ressourcentyp stehen die Zahl der Einträge und type. Im Beispiel oben: 11 Einträge, type: collection. Die „Bundle-Übersicht“ darunter zählt je Ressourcentyp: Patient 4, Observation 7.
  2. Typ-Filter und Suche: Ein Klick auf einen Typ blendet die Einträge der anderen Typen aus. Das Suchfeld filtert die Eintragsliste.
  3. Eintrag wählen: Karte, Baum und FHIRPath beziehen sich auf den gewählten Eintrag; im FHIRPath-Tab können Sie auch das ganze Bundle auswerten.
  4. Referenzen folgen: Ein Verweis führt zum Zieleintrag, mit „← Zurück“ kehren Sie um. Beim Ziel steht unter „Referenziert von“, welche Einträge auf ihn zeigen.
  5. Hinweise lesen: Die Liste „Plausibilitätshinweise“ nennt auffällige Stellen; ein Klick auf die Stelle springt zum betroffenen Eintrag.

Wie Referenzen aufgelöst werden

Eine Referenz wie "reference": "Patient/example" ist ein Verweis, kein Einbetten. Der Viewer sucht das Ziel in dieser Reihenfolge: zuerst einen Eintrag, dessen fullUrl passt (auch eine relative Referenz wird gegen die Basis der fullUrl aufgelöst), bei Versionsangaben passend zur meta.versionId; bei einer Referenz nur mit identifier einen Eintrag mit diesem Identifier; bei #id eine contained-Ressource. Findet er nichts über die fullUrl, versucht er Typ und id und markiert das als Info, weil die Spezifikation dafür nichts festlegt. Externe URLs löst die Seite nicht auf, weil sie keine Netzwerkanfragen stellt; sie erscheinen als Info.

Zur Einordnung der Referenzarten steht in der Spezifikation: ein Literalverweis (reference) und ein logischer Verweis (identifier) sind beide möglich.

Welche Bundle-Regeln der Viewer prüft

RegelInhalt laut Spezifikation
bdl-1total nur bei searchset oder history
bdl-3entry.request Pflicht bei batch, transaction und history, sonst nicht erlaubt
bdl-4entry.response Pflicht bei batch-response, transaction-response und history, sonst nicht erlaubt
bdl-7fullUrl eindeutig, oder die Einträge unterscheiden sich in meta.versionId (nicht bei history)
bdl-9, bdl-10Ein Dokument braucht einen identifier mit system und value sowie einen timestamp
bdl-11, bdl-12Dokument: erste Ressource ist eine Composition; Nachricht: erste Ressource ist ein MessageHeader

Nicht geprüft werden bdl-2, bdl-5 und bdl-8 sowie alle Regeln der enthaltenen Ressourcen. Zusätzlich gibt es eine Warnung, wenn fullUrl außerhalb von transaction und batch fehlt. Der Viewer bleibt damit eine Lesehilfe und ersetzt keine Validierung.

Die drei Bundle-Beispiele

Bundle mit Referenzen

Ein Bundle mit Patienten und Observations; zeigt aufgelöste Referenzen, Versionen und Identifier. 8732 Bytes.

Bundle (searchset)

Ein kleines Suchergebnis mit MedicationRequest und Medication. 1733 Bytes.

Bundle (transaction)

Eine Transaktion mit mehreren Patienten und request-Angaben. 4807 Bytes.

Passend dazu

Mit dem FHIRPath-Tester zählen Sie zum Beispiel die Observations eines Bundles. Wie Ressourcen allgemein aufgebaut sind, steht unter Was ist FHIR?.

Quellen dieser Seite

Weiterlesen