翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
HealthLake の FHIR R4 検索パラメータ
FHIR searchsearch インタラクションは、 GETまたは POSTリクエストを使用して実行できます。個人を特定できる情報 (PII) または保護された医療情報 (PHI) を含む検索では、PII と PHI がPOSTリクエスト本文の一部として追加され、転送中に暗号化されるため、リクエストを使用することをお勧めします。
注記
この章で説明する FHIR searchインタラクションは、医療データ交換のための HL7 FHIR R4 標準に準拠して構築されています。HL7 FHIR サービスの表現であるため、 AWS CLI および AWS SDKs では提供されません。詳細については、FHIR R4 RESTful API ドキュメントsearch
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 を除く検索パラメータ値で に固有です。比較プレフィックスは許可されています。 |
|
|
日付/DateTime |
特定の日付または時刻を検索します。想定される形式は 、 比較プレフィックスは許可されています。 |
|
|
文字列 |
大文字と小文字を区別して一連の文字を検索します。
詳細検索は |
|
|
トークン |
多くの場合、医療コード値のペアと比較して、文字列に対するclose-to-exact一致を検索します。 大文字と小文字の区別は、クエリの作成時に使用するコードシステムにリンクされます。サブsumption ベースのクエリは、大文字と小文字の区別に関連する問題を減らすのに役立ちます。わかりやすくするために、 |
|
|
複合 |
修飾子 比較プレフィックスは許可されています。 |
|
|
数量 |
数値、システム、コードを値として検索します。番号は必須ですが、システムとコードはオプションです。数量データ型に基づきます。詳細については、FHIR R4 ドキュメントの「数量 次の想定構文を使用します。 |
|
|
リファレンス |
他のリソースへの参照を検索します。 |
|
|
[URI] |
特定のリソースを明確に識別する文字列を検索します。 |
|
|
スペシャル |
統合された医療 NLP 拡張機能に基づいて検索します。 |
HealthLake でサポートされている高度な検索パラメータ
HealthLake は、次の高度な検索パラメータをサポートしています。
| 名前 | 説明 | 例 | 機能 |
|---|---|---|---|
_include |
検索リクエストで追加のリソースが返されるようにリクエストするために使用されます。ターゲットリソースインスタンスによって参照されるリソースを返します。 | Encounter?_include=Encounter:subject |
|
_revinclude |
検索リクエストで追加のリソースが返されるようにリクエストするために使用されます。プライマリリソースインスタンスを参照するリソースを返します。 | Patient?_id= |
|
_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) の総数を返します。
_total は accurate、noneパラメータ値をサポートします。 _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 |
| バンドルメッセージ | 契約患者 |
| バンドルタイプ | リソースの内容 |
| バンドルタイムスタンプ | リソースクエリ |