Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
HealthLake Daten mit SQL abfragen
Wenn Sie Ihre FHIR-Daten in den HealthLake Datenspeicher importieren, werden die verschachtelten JSON-FHIR-Daten gleichzeitig einem ETL-Prozess unterzogen und im offenen Tabellenformat von Apache Iceberg in Amazon S3 gespeichert. Jeder FHIR-Ressourcentyp aus Ihrem HealthLake Datenspeicher wird in eine Tabelle umgewandelt, in der er mit Amazon Athena abgefragt werden kann. Die Tabellen können einzeln oder als Gruppe mithilfe von Abfragen abgefragt werden. SQL-based Aufgrund der Struktur der Datenspeicher werden Ihre Daten als mehrere verschiedene Datentypen in Athena importiert. Weitere Informationen zum Erstellen von SQL-Abfragen, die auf diese Datentypen zugreifen können, finden Sie im Amazon Athena-Benutzerhandbuch unter Abfrage-Arrays mit komplexen Typen und verschachtelten Strukturen.
Anmerkung
Alle Beispiele in diesem Thema verwenden fiktionalisierte Daten, die mit Synthea erstellt wurden. Weitere Informationen zum Erstellen eines Datenspeichers, auf dem Synthea-Daten vorinstalliert sind, finden Sie unter. Einen HealthLake Datenspeicher erstellen
Für jedes Element in einem Ressourcentyp definiert die FHIR-Spezifikation eine Kardinalität. Die Kardinalität eines Elements definiert die Unter- und Obergrenze dafür, wie oft dieses Element vorkommen kann. Bei der Erstellung einer SQL-Abfrage müssen Sie dies berücksichtigen. Schauen wir uns zum Beispiel einige Elemente im Ressourcentyp: Patient
-
Element: Name Die FHIR-Spezifikation legt die Kardinalität als fest.
0..*Das Element wird als Array erfasst.
[{ id = null, extension = null, use = official, _use = null, text = null, _text = null, family = Wolf938, _family = null, given = [Noel608], _given = null, prefix = null, _prefix = null, suffix = null, _suffix = null, period = null }]Um in Athena zu sehen, wie ein Ressourcentyp aufgenommen wurde, suchen Sie unter Tabellen und Ansichten danach. Um auf Elemente in diesem Array zuzugreifen, können Sie die Punktnotation verwenden. Hier ist ein einfaches Beispiel für den Zugriff auf die Werte für
givenundfamily.SELECT name[1].given as FirstName, name[1].family as LastName FROM Patient -
Element: MaritalStatus Die FHIR-Spezifikation legt die Kardinalität als fest.
0..1Dieses Element wird als JSON erfasst.
{ id = null, extension = null, coding = [ { id = null, extension = null, system = http: //terminology.hl7.org/CodeSystem/v3-MaritalStatus, _system = null, version = null, _version = null, code = S, _code = null, display = Never Married, _display = null, userSelected = null, _userSelected = null } ], text = Never Married, _text = null }Um in Athena zu sehen, wie ein Ressourcentyp aufgenommen wurde, suchen Sie unter Tabellen und Ansichten danach. Um auf Schlüssel-Wert-Paare im JSON zuzugreifen, können Sie die Punktnotation verwenden. Da es sich nicht um ein Array handelt, ist kein Array-Index erforderlich. Hier ist ein einfaches Beispiel, das auf den Wert für zugreifen würde
text.SELECT maritalstatus.text as MaritalStatus FROM Patient
Weitere Informationen zum Zugreifen und Durchsuchen von JSON finden Sie unter Abfragen von JSON im Athena-Benutzerhandbuch.
Die Abfrageanweisungen der Athena Data Manipulation Language (DML) basieren auf Trino. Athena unterstützt nicht alle Funktionen von Trino, und es gibt erhebliche Unterschiede. Weitere Informationen finden Sie unter DML-Abfragen, Funktionen und Operatoren im Amazon Athena-Benutzerhandbuch.
Darüber hinaus unterstützt Athena mehrere Datentypen, auf die Sie stoßen können, wenn Sie Abfragen für Ihren HealthLake Datenspeicher erstellen. Weitere Informationen zu Datentypen in Athena finden Sie unter Datentypen in Amazon Athena im Amazon Athena-Benutzerhandbuch.
Weitere Informationen zur Funktionsweise von SQL-Abfragen in Athena finden Sie unter SQL-Referenz für Amazon Athena im Amazon Athena-Benutzerhandbuch.
Jede Registerkarte enthält Beispiele dafür, wie mithilfe von Athena nach den angegebenen Ressourcentypen und zugehörigen Elementen gesucht wird.