Patient
Eine Patientenressource mit Name, Adresse, Telefon und Kontakt. 3748 Bytes.
FHIR (Fast Healthcare Interoperability Resources) ist ein Standard von HL7 International, der Gesundheitsdaten als Ressourcen wie Patient, Observation oder Encounter beschreibt; sie lassen sich als JSON oder XML über REST-Schnittstellen austauschen.
Dieser Viewer macht solche Daten lesbar: Sie fügen JSON oder XML einer Ressource oder eines Bundles ein, und die Seite zeigt Karte, Baum und Referenzen. Er ersetzt weder den offiziellen FHIR-Validator noch eine Profilprüfung und ist kein Medizinprodukt.
Die Daten bleiben in Ihrem Browser: Es wird nichts hochgeladen. Nur zur Ansicht, kein Validator, kein Medizinprodukt.
Zuletzt aktualisiert: 27.10.2026. Grundlage ist FHIR R4 (4.0.1).
Eine Kartenansicht gibt es für 12 Ressourcentypen (Patient, Observation, Encounter, Condition, MedicationRequest, DiagnosticReport, Medication, Practitioner, Organization, Procedure, Immunization, AllergyIntolerance); alle anderen Typen sehen Sie als Baum und mit einer allgemeinen Karte. Die Hinweise erklären Sie im Abschnitt Grenzen.
evalFhirPath aus @medplum/core. Die Bibliothek ist nachsichtig: Ein fehlender Punkt wie in name.where(use='official')family wird nicht gemeldet. Ergebnisse können von anderen FHIRPath-Implementierungen abweichen. Mehr dazu im FHIRPath-Tester.Acht Beispiele aus der FHIR-Spezifikation R4, jeweils unter 10 KB. Sie enthalten keine echten Daten. Lizenz: CC0 1.0. Wo SNOMED-CT-Codierungen oder Narrativ entfernt wurden, steht das nach dem Laden beim Beispiel; die Liste aller Quellen finden Sie unter Quellen und Lizenzen.
Eine Patientenressource mit Name, Adresse, Telefon und Kontakt. 3748 Bytes.
Eine Messung mit LOINC-Code, Wert (valueQuantity) und Einheit. 1000 Bytes.
Eine Observation mit zwei component-Werten (systolisch, diastolisch), Interpretation und einer Referenz per Identifier. 2870 Bytes.
Eine Diagnose mit Freitext-Code, Status, Kategorie, Körperstelle und Beginn. 827 Bytes.
Ein sehr kurzer Behandlungsfall mit Status und Klasse. 413 Bytes.
Ein Bundle mit Patienten und Observations; zeigt aufgelöste Referenzen, Versionen und Identifier. 8732 Bytes.
Ein kleines Suchergebnis mit MedicationRequest und Medication. 1733 Bytes.
Eine Transaktion mit mehreren Patienten und request-Angaben. 4807 Bytes.
Namen mit use, Adresse, Kontakt: Feld für Feld erklärt.
Körpergewicht und Blutdruck mit component; Code, Wert und Einheit.
Der kleinste sinnvolle Behandlungsfall: status und class.
Diagnose mit klinischem Status und Verifizierungsstatus.
Wenn eine Datei mehrere Ressourcen enthält und diese aufeinander zeigen.
Pfadausdrücke an den Beispielen ausprobieren, inklusive Stolperstellen.
Grundbegriffe und belegte Quellen zu FHIR in Deutschland.
Die folgenden Meldungen stammen aus dem Viewer selbst: Beim Erzeugen dieser Seite wurden die Eingaben durch dieselben Funktionen geschickt, die auch im Browser laufen. Bei JSON-Syntaxfehlern kommt der Satzteil nach dem Doppelpunkt vom JSON-Parser Ihres Browsers und kann je nach Browser anders lauten.
| Eingabe | Meldung des Viewers |
|---|---|
Abgeschnittenes JSON{"resourceType": "Patient", "id": "x", "name": [{"family": "Muster"} | Ungültiges JSON (Zeile 1, Spalte 69): Erwartet wurde ein Komma oder ] nach dem Listeneintrag – Die Eingabe endet mitten im JSON. Möglicherweise fehlt eine schließende Klammer } oder ] oder ein Anführungszeichen. Wurde beim Kopieren etwas abgeschnitten? |
Komma zu viel{"resourceType": "Patient",} | Ungültiges JSON (Zeile 1, Spalte 28): Erwartet wurde ein Name in doppelten Anführungszeichen (gefunden: „}“) – Wahrscheinlich steht ein Komma zu viel nach dem letzten Eintrag. JSON erlaubt kein Komma vor } oder ]. |
Kein resourceType{"id": "x", "name": [{"family": "Muster"}]} | Fehler: Das Objekt hat kein Feld "resourceType". Ohne dieses Feld ist es keine FHIR-Ressource. Erwartet wird zum Beispiel "resourceType": "Patient". |
Tippfehler im Typ{"resourceType": "Patent", "id": "x"} | Warnung: Der Ressourcentyp "Patent" steht nicht in der Liste von R4 (4.0.1). Das kann ein Tippfehler sein (Groß-/Kleinschreibung zählt) oder ein Typ aus einer neueren Version. |
Deutsches Datumsformat{"resourceType": "Patient", "birthDate": "25.12.1974"} | Warnung: birthDate: "25.12.1974" ist kein gültiges FHIR-date (erwartet JJJJ, JJJJ-MM oder JJJJ-MM-TT). |
XML ohne Namensraum<Patient><id value="x"/></Patient> | Warnung: Dem Wurzelelement fehlt der Namensraum xmlns="http://hl7.org/fhir". Ohne ihn ist die Datei kein gültiges FHIR-XML, auch wenn sie hier angezeigt wird. |
Bundle ohne type, Referenz ins Leere{"resourceType":"Bundle","entry":[{"resource":{"resourceType":"Observation","id":"o","sta… | Warnung: Bundle.type fehlt. Das Feld ist in R4 ein Pflichtfeld (1..1). Warnung: Referenz subject = "Patient/zzz": nicht im Bundle. |
Ein FHIR-Viewer macht FHIR-Daten lesbar. Dieser Viewer liest JSON oder XML einer Ressource oder eines Bundles, zeigt sie als Karte und als aufklappbaren Baum, listet bei Bundles die Einträge und löst Referenzen innerhalb des Bundles auf. Er dient zum Lesen und Nachvollziehen, nicht zum Bearbeiten oder Senden.
Nein. Eingaben und Dateien werden im Browser ausgewertet. Die Seite lädt keine Skripte, Schriften oder Tracker von Dritten und setzt keine Cookies. Eine Content-Security-Policy mit connect-src 'none' verbietet dem Seitencode Netzwerkanfragen; der Quellcode ist öffentlich einsehbar. Das ist ein technischer Schutz, aber keine Zusicherung für Ihre rechtliche Situation.
Er prüft die JSON- bzw. XML-Syntax, ob der resourceType in der R4-Liste steht, wenige Pflichtfelder (Observation: status und code; Condition: subject; Encounter: status; MedicationRequest; DiagnosticReport; Bundle: type), die Bundle-Regeln bdl-1, bdl-3, bdl-4, bdl-7 und bdl-9 bis bdl-12, die Regeln obs-6 und con-5, das Format von id und Datumswerten, einzelne Wertelisten (Patient.gender, Bundle.type, Observation.status), mehrere value[x] in einer Ressource, leere Arrays und Texte, null-Werte sowie Referenzen innerhalb eines Bundles. Nicht geprüft werden Profile, Terminologien und ValueSets, allgemeine Kardinalitäten und alle übrigen Invarianten. Er ist deshalb kein Validator und ersetzt weder den offiziellen FHIR-Validator noch eine Profilprüfung.
Die Hinweise beruhen auf R4 (4.0.1): Ressourcenliste, Pflichtfelder und Bundle-Regeln. Karte und Baum hängen nicht von einem Schema ab, daher können auch Ressourcen aus R4B oder R5 angezeigt werden. Die Hinweise können bei solchen Daten aber falsch anschlagen. Zwei R5-Formen (Encounter mit actualPeriod oder class als Liste, MedicationRequest.medication als CodeableReference) erkennt der Viewer als Heuristik und weist darauf hin; geprüft wird R5 nicht.
Ja, beides. XML wird in dieselbe Struktur wie JSON umgewandelt, die Werte stammen aus den value-Attributen. Ohne Schema erkennt der Viewer Listen in XML nur, wenn ein Element mehrfach vorkommt; ein einzelner Listeneintrag erscheint deshalb als Einzelwert. FHIRPath wird auf der umgewandelten Struktur ausgewertet, und der Download einer Ressource ist immer JSON.
Laut Spezifikation ist ein Bundle ein Container für eine Sammlung von Ressourcen, zum Beispiel ein Suchergebnis, ein Dokument, eine Nachricht oder eine Transaktion. Die Art steht in Bundle.type. Der Viewer zeigt die Anzahl je Ressourcentyp und die Liste der Einträge und macht Referenzen anklickbar.
Der Viewer liest FHIR-JSON und FHIR-XML und kann deshalb Ressourcen anzeigen, die in dieser Form vorliegen. Er wurde nicht mit echten MIO-Dateien getestet und prüft nichts gegen die MIO-Profile. Für die Profilprüfung nennt die KBV Validierungspakete mit dem HL7-Validator.
Besser nicht: Verwenden Sie Testdaten oder anonymisierte Daten. Auch wenn der Seitencode nichts versendet, liegen eingefügte Daten im Arbeitsspeicher Ihres Browsers. Ob Sie echte Patientendaten in einem Browserwerkzeug verarbeiten dürfen, richtet sich nach den Vorgaben Ihrer Einrichtung und nicht nach dieser Seite.
Dieselben Grundsätze (läuft im Browser, kein Upload) gelten für weitere Viewer desselben Entwicklers. Zu FHIR gehören vor allem zwei Nachbarformate:
Klinische Dokumente (CDA) im Browser lesen
HL7-v2-Nachrichten im Browser lesen
LDT- und BDT-Dateien (Labor- und Praxisdaten) im Browser lesen
GDT-Dateien im Browser lesen und Testdaten erzeugen
Röntgen-, CT- und MRT-Bilder im Browser ansehen
Entwickelt von Thomas Freimoser, München / Remote – freimoser.de · LinkedIn. Kostenlos, ohne Konto, Quellcode im GitHub-Repository.