翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
SQL を使用した HealthLake データのクエリ
FHIR データを HealthLake データストアにインポートすると、ネストされた JSON FHIR データは同時に ETL プロセスを実行し、Amazon S3 の Apache Iceberg オープンテーブル形式で保存されます。HealthLake データストアの各 FHIR リソースタイプはテーブルに変換され、Amazon Athena を使用してクエリできます。テーブルは個別にクエリすることも、SQL ベースのクエリを使用してグループとしてクエリすることもできます。データストアの構造により、データは複数の異なるデータ型として Athena にインポートされます。これらのデータ型にアクセスできる SQL クエリの作成の詳細については、「Amazon Athena ユーザーガイド」の「複雑な型とネストされた構造を持つ配列のクエリ」を参照してください。 Amazon Athena
注記
このトピックのすべての例では、Synthea を使用して作成された架空のデータを使用します。Synthea データでプリロードされたデータストアの作成の詳細については、「」を参照してくださいHealthLake データストアの作成。
リソースタイプの各要素について、FHIR 仕様は基数を定義します。要素の基数により、この要素を表示できる回数の下限と上限が定義されます。SQL クエリを作成するときは、これを考慮する必要があります。たとえば、リソースタイプ: 患者
-
要素: Name FHIR 仕様はカーディナリティを に設定します
0..*。要素は配列としてキャプチャされます。
[{ 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 }]Athena では、リソースタイプがどのように取り込まれたかを確認するには、テーブルとビューでリソースタイプを検索します。この配列の要素にアクセスするには、ドット表記を使用できます。
givenと の値にアクセスする簡単な例を次に示しますfamily。SELECT name[1].given as FirstName, name[1].family as LastName FROM Patient -
要素: MaritalStatus FHIR 仕様では、基数を に設定します
0..1。この要素は JSON としてキャプチャされます。
{ 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 }Athena では、リソースタイプがどのように取り込まれたかを確認するには、テーブルとビューでリソースタイプを検索します。JSON のキーと値のペアにアクセスするには、ドット表記を使用できます。配列ではないため、配列インデックスは必要ありません。の値にアクセスする簡単な例を次に示します
text。SELECT maritalstatus.text as MaritalStatus FROM Patient
JSON へのアクセスと検索の詳細については、Athena ユーザーガイドの「JSON のクエリ」を参照してください。
Athena データ操作言語 (DML) クエリステートメントは Trino に基づいています。Athena は Trino のすべての機能をサポートしているわけではなく、大きな違いがあります。詳細については、Amazon Athena ユーザーガイド」の「DML クエリ、関数、演算子」を参照してください。
さらに、Athena は HealthLake データストアのクエリを作成するときに発生する可能性のある複数のデータ型をサポートしています。Athena のデータ型の詳細については、Amazon Athena ユーザーガイド」の「Amazon Athena のデータ型」を参照してください。 Amazon Athena
Athena での SQL クエリの仕組みの詳細については、Amazon Athena ユーザーガイド」の「Amazon Athena の SQL リファレンス」を参照してください。 Amazon Athena
各タブには、Athena を使用して指定されたリソースタイプと関連する要素を検索する方法の例が表示されます。