|
6 Min. Lesezeit
|

SQL on FHIR: Funktionsweise, Vorteile und Anwendungsfälle

Diesen Artikel zusammenfassen mit:
ChatGPTPerplexityClaudeGrok

Demo der ELT-Implementierung für PostgreSQL mit Aidbox, dem Open-Source-ViewDefinition Builder und Grafana.

Eines steht fest: FHIR hat sich fest etabliert, und immer mehr Gesundheitsdaten werden im FHIR-Format gespeichert. Doch wie lassen sich aus diesen Daten am effizientesten Erkenntnisse gewinnen?

In diesem Blogbeitrag zeigen wir, wie die Lücke zwischen FHIR und SQL mithilfe der neuen SQL on FHIR-v2-Spezifikation geschlossen werden kann – sodass FHIR-Daten nicht nur interoperabel, sondern auch abfragbar und analysierbar werden.

In diesem Artikel erfahren Sie:

  • Was ist SQL on FHIR?
  • Wie wird es in der Praxis eingesetzt?
  • Wie wird sich diese Technologie weiterentwickeln?

Warum SQL on FHIR?

FHIR verfügt über eine integrierte Such-API, die jedoch für komplexe Abfragen auf FHIR-Daten nicht ausreicht. Es fehlen wesentliche Funktionen wie Aggregationen, Joins und andere Datenbankwerkzeuge, die möglicherweise benötigt werden.

Die größte Herausforderung besteht darin, dass FHIR-Daten verschachtelt sind – ein deutlicher Unterschied zum traditionellen flachen relationalen Datenbankansatz. Diese Diskrepanz erschwert die direkte Ausführung standardmäßiger SQL-Abfragen erheblich. Man könnte es mit dem Versuch vergleichen, einen eckigen Zapfen in ein rundes Loch zu stecken.

Natürlich gibt es fortschrittliche Datenbanktechnologien wie JSONB in PostgreSQL oder Parquet in Spark SQL, die mit verschachtelten Datenstrukturen umgehen können. Sowohl Nutzerinnen und Nutzer als auch Tools sind jedoch an die für SQL typischen flachen Tabellen gewöhnt.

Als Workaround müssen Entwicklerinnen und Entwickler möglicherweise abgeflachte Views der Daten erstellen oder spezifische Datenbankfunktionen nutzen, die verschachtelte Datenstrukturen unterstützen.

Genau hier kommt SQL on FHIR ins Spiel.

Zwei Welten verbinden, um FHIR-Daten zu erschließen

Die SQL on FHIR-Spezifikation schlägt vor, abgeflachte Views von FHIR-Daten auf standardisierte Weise zu definieren, damit sie zwischen Systemen portabel sind. Das bedeutet, dass Sie problemlos Standard-SQL-Abfragen auf diesen abgeflachten Views ausführen können. Kurz gesagt: Es erschließt die Daten für das SQL-Ökosystem – ähnlich einem Werkzeugkasten, der sowohl für runde als auch für eckige Zapfen geeignet ist.

Die SQL on FHIR-Engine in Aidbox befindet sich derzeit in der Vorschauphase, steht aber zum Testen und für Feedback zur Verfügung. Mehr erfahren

Was ist eine abgeflachte View?

Im SQL-Kontext ist eine abgeflachte View eine Tabelle, die Daten in einer vereinfachten, einschichtigen Struktur darstellt. Entwicklerinnen, Entwickler und Data Engineers können abgeflachte Views mithilfe einer Teilmenge standardisierter FHIRPath-Ausdrücke definieren. Dies ermöglicht es den Nutzerinnen und Nutzern, mit Daten in einem vertrauteren Format zu arbeiten.

Nutzen Sie unseren kostenlosen Online-ViewDefinition Builder, um im JSON-Format gespeicherte FHIR-Daten in ein tabellarisches, flaches Format für eine komfortable Datenanalyse umzuwandeln. Zum ViewDefinition Builder

Wie bereits erwähnt, sind verschachtelte FHIR-Daten in einer hierarchischen Struktur organisiert, bei der Informationen in andere Informationen eingebettet sind und so Ebenen zusammenhängender Daten entstehen.

So ist eine Patient-Ressource in FHIR aufgebaut: Schauen wir uns an, wie komplexe FHIR-Daten in ein tabellenähnliches Format „übersetzt" werden können. Dazu müssen wir eine abgeflachte View Definition für eine Patient-Ressource erstellen. In unserem Fall enthält die View die Parameter Patienten-ID, Geburtsdatum, Geschlecht, Ethnie und Name.

  • Geben Sie in der Zeile „from" den Ressourcentyp an, den Sie abflachen möchten.
  • Verwenden Sie die Zeile „select", um Spalten zusammen mit den zugehörigen FHIRPath-Extraktionsausdrücken zu definieren.

Als Ergebnis erhalten wir die folgende flache Tabelle: Betrachten wir nun eine weitere FHIR-Ressource – Condition: Flachen wir die Condition-Ressource genauso ab wie die Patient-Ressource. Die View enthält die Parameter ID, Patienten-ID, Code, Status, Verifizierungsstatus und Erfassungsdatum: Als Ergebnis erhalten wir die folgende flache Tabelle:

Starten Sie mit dem Aidbox FHIR Server für Datenspeicherung, Integrationen, Gesundheitsanalysen und mehr, oder beauftragen Sie unser Team, um Ihre Softwareentwicklungsprojekte zu unterstützen.

Standardisierte SQL on FHIR-Daten

Sobald wir flache Tabellen haben, können wir komplexe Abfragen ausführen, die es uns ermöglichen, Daten auf verschiedene Arten zu verknüpfen, zu filtern, zu sortieren und zu aggregieren. Darüber hinaus können Sie Unterabfragen, Fensterfunktionen und andere erweiterte Funktionen verwenden, um genau die Informationen zu extrahieren, die Sie benötigen.

Nutzen wir beispielsweise die zuvor abgeflachte Condition-View und suchen mithilfe einer einfachen SQL-Abfrage alle Patientinnen und Patienten mit einer Prädiabetes-Diagnose: Als Ergebnis erhalten wir die folgende flache Tabelle: Jetzt verwenden wir sowohl die Patient- als auch die Condition-View, um noch mehr Erkenntnisse zu gewinnen. Zählen wir, wie viele Männer und Frauen eine Prädiabetes-Diagnose haben: Das ist das Ergebnis: Ermitteln wir nun die Dauer der Erkrankung: Die resultierende flache Tabelle sieht wie folgt aus: SQL Flat table with condition duration Berechnen wir jetzt die durchschnittliche Prädiabetes-Dauer für Männer und Frauen: JSON to count average prediabetes duration Als Ergebnis erhalten wir die durchschnittliche Erkrankungsdauer für jedes Geschlecht: SQL average condition duration

Zusammenfassung

SQL on FHIR ist ein leistungsstarker Ansatz, der die Stärken von SQL und FHIR vereint. Er ermöglicht es, mit komplexen Gesundheitsdaten, die in FHIR-Ressourcen gespeichert sind, unter Verwendung vertrauter SQL-Abfragetools und -Frameworks zu arbeiten.

Hier eine kurze Zusammenfassung der Vorteile:

  • Fundierte Entscheidungen: SQL on FHIR ist hervorragend geeignet, um aussagekräftige Erkenntnisse aus komplexen FHIR-Datensätzen zu gewinnen.
  • Vertrautes Terrain: Wer SQL kennt, findet sich schnell zurecht.
  • Portabilität: SQL on FHIR verwendet FHIRPath zur Definition von Views, die systemübergreifend genutzt werden können. Die FHIR-Community kann flache Views und Abfragen definieren, die in jedem SQL-basierten Ökosystem ausgeführt werden können.

Insgesamt schließt SQL on FHIR die Lücke zwischen verschachtelten FHIR-Daten und SQL und bietet einen optimierten Weg, Gesundheitsdaten effektiv zu verwalten und zu nutzen.

Hinweis

Es ist wichtig zu beachten, dass SQL on FHIR die FHIR-APIs nicht ersetzt, die für den Datenaustausch zwischen Gesundheitssystemen und die Implementierung von Interoperabilitätsstandards unverzichtbar sind. SQL on FHIR ergänzt diese Funktionen, indem es eine effektivere Möglichkeit bietet, mit Gesundheitsdaten im FHIR-Format für Analyse-, Forschungs- und Berichtszwecke zu interagieren. Es ist wie ein Universalschlüssel, der viele Türen öffnen kann und die Arbeit mit FHIR-Daten über verschiedene Technologien hinweg erleichtert.

Um zu erkunden, wie SQL on FHIR in Ihren Projekten eingesetzt werden kann, empfiehlt sich die kostenlose Version von Aidbox. Sie bietet eine umfassende Umgebung zum Testen und Experimentieren mit diesen Funktionen und stellt alle notwendigen Tools ohne Funktionseinschränkungen bereit.

Die nahe Zukunft

Der SQL on FHIR-Entwurf wird im September 2023 beim HL7 FHIR Connectathon 34 in Phoenix, Arizona vorgestellt.

SQL on FHIR v2 ist eine offene Initiative und heißt das Engagement interessierter Parteien willkommen. Schließen Sie sich der SQL on FHIR-Arbeitsgruppe an, beteiligen Sie sich an Diskussionen und tragen Sie zur Weiterentwicklung dieser Lösung bei.

Health Samurai treibt die SQL on FHIR-Arbeitsgruppe aktiv voran, der auch Google, CSIRO, Microsoft, Philips, NCQA, CQLab, Center Square Solutions und Vermonster angehören. Die Arbeitsgruppe konzentriert sich auf frühe Implementierungen, um eine standardisierte Lösung ohne Herstellerabhängigkeit zu entwickeln.

Die SQL on FHIR-Engine von Health Samurai steht zur Vorschau und zum Testen zur Verfügung. Wenn Sie Fragen haben oder konkrete Anwendungsfälle im Sinn haben, teilen Sie diese gerne mit. Vereinbaren Sie einen Termin, um die Lösung in Aktion zu erleben.

Diesen Artikel teilen
Comments
Comments
Sign in
Loading comments...
Subscribe to our blog

Get the latest articles on FHIR, interoperability, and healthcare IT.