HealthLake の FHIR R4 検索パラメータ - AWS HealthLake

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

HealthLake の FHIR R4 検索パラメータ

FHIR searchインタラクションを使用して、一部のフィルター条件に基づいて HealthLake データストア内の一連の FHIR リソースを検索します。search インタラクションは、 GETまたは POSTリクエストを使用して実行できます。個人を特定できる情報 (PII) または保護された医療情報 (PHI) を含む検索では、PII と PHI がPOSTリクエスト本文の一部として追加され、転送中に暗号化されるため、リクエストを使用することをお勧めします。

注記

この章で説明する FHIR searchインタラクションは、医療データ交換のための HL7 FHIR R4 標準に準拠して構築されています。HL7 FHIR サービスの表現であるため、 AWS CLI および AWS SDKs では提供されません。詳細については、FHIR R4 RESTful API ドキュメントsearchの「」を参照してください。 R4 RESTful

Amazon Athena を使用して SQL で HealthLake データストアをクエリすることもできます。詳細については、「統合」を参照してください。

HealthLake は、以下の FHIR R4 検索パラメータのサブセットをサポートしています。詳細については、「HealthLake の FHIR R4 検索パラメータ」を参照してください。

サポートされている検索パラメータタイプ

次の表は、HealthLake でサポートされている検索パラメータタイプを示しています。

サポートされている検索パラメータタイプ
検索パラメータ 説明
_id リソース ID (完全な URL ではない)
_lastUpdated 最終更新日。サーバーには境界の精度に関する裁量があります。
_tag リソースタグで検索します。
プロファイル プロファイルでタグ付けされたすべてのリソースを検索します。
セキュリティ このリソースに適用されたセキュリティラベルを検索します。
_ソース リソースのソースを検索します。
テキスト リソースの説明を検索します。
createdAt カスタム拡張機能 createdAt で検索します。
注記

次の検索パラメータは、2023 年 12 月 9 日以降に作成されたデータストアでのみサポートされています: _security、_source、_text、createdAt。

次の表は、特定のリソースタイプの指定されたデータ型に基づいてクエリ文字列を変更する方法の例を示しています。わかりやすくするために、例列の特殊文字はエンコードされていません。クエリを成功させるには、クエリ文字列が適切にエンコードされていることを確認します。

検索パラメータの例
検索パラメータタイプ 詳細

数値

指定されたリソース内の数値を検索します。有効数字が観察されます。有効桁数は、先頭の 0 を除く検索パラメータ値で に固有です。比較プレフィックスは許可されています。

[parameter]=100

[parameter]=1e2

[parameter]=lt100

日付/DateTime

特定の日付または時刻を検索します。想定される形式は yyyy-mm-ddThh:mm:ss[Z|(+|-)hh:mm]ですが、異なる場合があります。

datedateTimeinstantPeriodおよび のデータ型を受け入れますTiming。検索でこれらのデータ型を使用する詳細については、FHIR R4 RESTful API ドキュメント「日付」を参照してください。

比較プレフィックスは許可されています。

[parameter]=eq2013-01-14

[parameter]=gt2013-01-14T10:00

[parameter]=ne2013-01-14

文字列

大文字と小文字を区別して一連の文字を検索します。

HumanName と の両方Addressのタイプをサポートします。詳細については、FHIR R4 ドキュメントHumanName データ型エントリとAddressデータ型エントリを参照してください。

詳細検索は:text修飾子を使用してサポートされています。

[base]/Patient?given=eve

[base]/Patient?given:contains=eve

トークン

多くの場合、医療コード値のペアと比較して、文字列に対するclose-to-exact一致を検索します。

大文字と小文字の区別は、クエリの作成時に使用するコードシステムにリンクされます。サブsumption ベースのクエリは、大文字と小文字の区別に関連する問題を減らすのに役立ちます。わかりやすくするために、 |はエンコードされていません。

[parameter]=[system]|[code]: ここでは、コーディングシステム[system]を参照し、その特定のシステム内で見つかったコード値[code]を参照します。

[parameter]=[code]: ここで、入力はコードまたはシステムのいずれかに一致します。

[parameter]=|[code]: ここで、入力はコードと一致し、システムプロパティには識別子がありません。

複合

修飾子$,オペレーションを使用して、単一のリソースタイプ内の複数のパラメータを検索します。

比較プレフィックスは許可されています。

/Patient?language=FR,NL&language=EN

Observation?component-code-value-quantity=http://loinc.org|8480-6$lt60

[base]/Group?characteristic-value=gender$mixed

数量

数値、システム、コードを値として検索します。番号は必須ですが、システムとコードはオプションです。数量データ型に基づきます。詳細については、FHIR R4 ドキュメント「数量」を参照してください。

次の想定構文を使用します。 [parameter]=[prefix][number]|[system]|[code]

[base]/Observation?value-quantity=5.4|http://unitsofmeasure.org|mg

[base]/Observation?value-quantity=5.4|http://unitsofmeasure.org|mg

[base]/Observation?value-quantity=5.4|http://unitsofmeasure.org|mg

[base]/Observation?value-quantity=le5.4|http://unitsofmeasure.org|mg

リファレンス

他のリソースへの参照を検索します。

[base]/Observation?subject=Patient/23

test

[URI]

特定のリソースを明確に識別する文字列を検索します。

[base]/ValueSet?url=http://acme.org/fhir/ValueSet/123

スペシャル

統合された医療 NLP 拡張機能に基づいて検索します。

HealthLake でサポートされている高度な検索パラメータ

HealthLake は、次の高度な検索パラメータをサポートしています。

名前 説明 機能
_include 検索リクエストで追加のリソースが返されるようにリクエストするために使用されます。ターゲットリソースインスタンスによって参照されるリソースを返します。 Encounter?_include=Encounter:subject
_revinclude 検索リクエストで追加のリソースが返されるようにリクエストするために使用されます。プライマリリソースインスタンスを参照するリソースを返します。 Patient?_id=patient-identifier&_revinclude=Encounter:patient
_summary 概要は、リソースのサブセットをリクエストするために使用できます。 Patient?_summary=text 次の概要パラメータがサポートされています: _summary=true_summary=false_summary=text_summary=data
_elements 検索結果のリソースの一部として返される特定の要素のセットをリクエストします。 Patient?_elements=identifier,active,link
_total 検索パラメータに一致するリソースの数を返します。 Patient?_total=accurate _total=accurate、 をサポートします_total=none
_sort カンマ区切りリストを使用して、返された検索結果のソート順を示します。- プレフィックスは、カンマ区切りリストの任意のソートルールで、降順を示すために使用できます。 Observation?_sort=status,-date タイプが のフィールドによるソートをサポートしますNumber, String, Quantity, Token, URI, Reference。によるソートDateは、2023 年 12 月 9 日以降に作成されたデータストアでのみサポートされています。最大 5 つのソートルールをサポートします。
_count 検索バンドルのページごとに返されるリソースの数を制御します。 Patient?_count=100 最大ページサイズは 100 です。
chaining 参照されるリソースの要素を検索します。. は、連鎖検索を、参照されるリソース内の 要素に送信します。 DiagnosticReport?subject:Patient.name=peter
reverse chaining (_has) リソースを参照するリソースの要素に基づいてリソースを検索します。 Patient?_has:Observation:patient:code=1234-5

_include

検索クエリ_includeで を使用すると、追加の指定された FHIR リソースも返されます。を使用して_include、前方にリンクされたリソースを含めます。

例 – を使用して_include、せきの診断を受けた患者または患者のグループを検索するには

診断コードを指定するConditionリソースタイプを検索し、その診断subjectの も返すように_include指定します。Condition リソースタイプでは、患者リソースタイプまたはグループリソースタイプのいずれかsubjectを指します。

わかりやすくするために、この例の特殊文字はエンコードされていません。クエリを成功させるには、クエリ文字列が適切にエンコードされていることを確認します。

GET https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/ Condition?code=49727002&_include=Condition:subject

_revinclude

検索クエリ_revincludeで を使用すると、指定された追加の FHIR リソースも返されます。を使用して_revinclude、後方にリンクされたリソースを含めます。

例 – を使用して_revinclude、特定の患者にリンクされた関連する Encounter および Observation リソースタイプを含めるには

この検索を行うには、まず_id検索パラメータで識別子を指定Patientして個人を定義します。次に、 構造Encounter:patientと を使用して追加の FHIR リソースを指定しますObservation:patient

わかりやすくするために、この例の特殊文字はエンコードされていません。クエリを成功させるには、クエリ文字列が適切にエンコードされていることを確認します。

GET https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/ Patient?_id=patient-identifier&_revinclude=Encounter:patient&_revinclude=Observation:patient

_summary

検索クエリ_summaryで を使用すると、ユーザーは FHIR リソースのサブセットをリクエストできます。次のいずれかの値を含めることができます: true, text, data, false。その他の値は無効として扱われます。返されたリソースは meta.tag 'SUBSETTED'で とマークされ、リソースが不完全であることを示します。

  • true: リソースの基本定義で「概要」としてマークされているサポートされているすべての要素を返します (複数可)。

  • text: 「text」、「id」、「meta」要素のみ、および最上位の必須要素のみを返します。

  • data: 「text」要素を除くすべての部分を返します。

  • false: リソースのすべての部分を返します (複数可)

単一の検索リクエストでは、 を _includeまたは _revinclude 検索パラメータと組み合わせる_summary=textことはできません。

例 – データストア内の患者リソースの「テキスト」要素を取得します。
GET https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/Patient?_summary=text

_elements

検索クエリ_elementsで を使用すると、特定の FHIR リソース要素をリクエストできます。返されたリソースは meta.tag 'SUBSETTED'で とマークされ、リソースが不完全であることを示します。

_elements パラメータは、リソースのルートレベルで定義された要素など、基本要素名のカンマ区切りリストで構成されます。リストされている要素のみが返されます。_elements パラメータ値に無効な要素が含まれている場合、サーバーはそれらを無視し、必須要素と有効な要素を返します。

_elements は、含まれるリソース (検索モードが である返されたリソースinclude) には適用されません。

単一の検索リクエストでは、 を検索_summaryパラメータと組み合わせる_elementsことはできません。

例 – HealthLake データストアで患者リソースの「識別子」、「アクティブ」、「リンク」要素を取得します。
GET https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/Patient?_elements=identifier,active,link

_total

検索クエリ_totalで を使用すると、リクエストされた検索パラメータに一致するリソースの数が返されます。HealthLake は、検索レスポンスBundle.totalの で一致したリソース (検索モードが である返されたリソースmatch) の総数を返します。

_totalaccuratenoneパラメータ値をサポートします。 _total=estimateはサポートされていません。その他の値は無効として扱われます。 _totalは、含まれるリソース (検索モードが である返されたリソースinclude) には適用されません。

例 – データストア内の患者リソースの総数を取得します。
GET https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/Patient?_total=accurate

_sort

検索クエリ_sortで を使用すると、結果が特定の順序で配置されます。結果は、ソートルールのカンマ区切りリストに基づいて優先順位が付けられます。ソートルールは有効な検索パラメータである必要があります。その他の値は無効として扱われます。

1 つの検索リクエストで、最大 5 つのソート検索パラメータを使用できます。オプションで、-プレフィックスを使用して降順を指定できます。サーバーはデフォルトで昇順でソートされます。

サポートされているソート検索パラメータタイプは、 ですNumber, String, Date, Quantity, Token, URI, Reference。検索パラメータがネストされた要素を参照している場合、この検索パラメータはソートではサポートされていません。例えば、リソースタイプの「名前」を検索する 患者 は HumanName データ型の Patient.name 要素を参照し、ネストされたと見なされます。したがって、患者リソースを「名前」でソートすることはサポートされていません。

例 – データストアで患者リソースを取得し、生年月日で昇順にソートします。
GET https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/Patient?_sort=birthdate

_count

パラメータ_countは、1 ページに返されるリソースの数に関するサーバーへの指示として定義されます。

最大ページサイズは 100 です。100 を超える値は無効です。 _count=0はサポートされていません。

例 – 患者リソースを検索し、検索ページサイズを 25 に設定します。
GET https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/Patient?_count=25

Chaining and Reverse Chaining(_has)

FHIR での連鎖と逆連鎖は、相互接続されたデータを取得するためのより効率的でコンパクトな方法を提供し、複数の個別のクエリの必要性を減らし、デベロッパーやユーザーにとってデータの取得をより便利にします。

いずれかのレベルの再帰が 100 を超える結果を返した場合、HealthLake はデータストアが過負荷になり、複数のページ分割が発生するのを防ぐために 4xx を返します。

例 – 連鎖 - 患者名がペターである患者を参照するすべての DiagnosticReport を取得します。
GET https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/DiagnosticReport?subject:Patient.name=peter
例 – リバースチェイニング - 患者リソースを取得します。ここで、患者リソースは少なくとも 1 つのオブザベーションによって参照されます。オブザベーションのコードは 1234 で、オブザベーションは患者検索パラメータ内の患者リソースを参照します。

GET https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/Patient?_has:Observation:patient:code=1234

サポートされている検索修飾子

検索修飾子は文字列ベースのフィールドで使用されます。HealthLake のすべての検索修飾子は、ブールベースのロジックを使用します。たとえば、大きな文字列フィールドを検索結果に含めるために小さな文字列を含めるように:contains指定できます。

サポートされている検索修飾子
検索修飾子 タイプ
: 欠落 を除くすべてのパラメータ Composite
:exact 文字列
:contains 文字列
:not トークン
:text トークン
:identifier リファレンス
:以下 [URI]

サポートされている検索コンパレータ

検索コンパレータを使用して、検索内の一致の性質を制御できます。数値、日付、数量フィールドを検索するときにコンパレータを使用できます。次の表に、HealthLake でサポートされている検索コンパレータとその定義を示します。

サポートされている検索コンパレータ

検索コンパレータ

説明

eq リソースの パラメータの値は、指定された値と等しくなります。
ne リソースの パラメータの値が、指定された値と等しくありません。
gt リソースの パラメータの値が、指定された値を超えています。
lt リソースの パラメータの値が、指定された値より小さい。
g リソースの パラメータの値は、指定された値以上です。
le リソースの パラメータの値は、指定された値以下です。
sa リソースの パラメータの値は、指定された値の後に開始されます。
EBS リソースの パラメータの値は、指定された値より前に終了します。

HealthLake でサポートされていない FHIR 検索パラメータ

HealthLake は、次の表に示すものを除き、すべての FHIR 検索パラメータをサポートします。FHIR 検索パラメータの完全なリストについては、FHIR 検索パラメータレジストリを参照してください。

サポートされていない検索パラメータ
バンドル構成 Location-near
バンドル識別子 Consent-source-reference
バンドルメッセージ 契約患者
バンドルタイプ リソースの内容
バンドルタイムスタンプ リソースクエリ