POST を使用した FHIR リソースの検索 - AWS HealthLake

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

POST を使用した FHIR リソースの検索

POST リクエストとの FHIR searchインタラクションを使用して HealthLake データストアを検索できます。を使用する場合POST、HealthLake は URL またはリクエスト本文の検索パラメータをサポートしますが、両方を 1 つのリクエストで使用することはできません。

[重要]

個人を特定できる情報 (PII) または保護された医療情報 (PHI) を含む検索の場合、PII と PHI はPOSTリクエスト本文の一部として追加され、転送中に暗号化されるため、セキュリティのベストプラクティスではリクエストの使用が要求されます。

次の手順に続いて、 との FHIR R4 searchインタラクションを使用して HealthLake データストアPOSTを検索する例を示します。この例では、JSON リクエスト本文で検索パラメータを指定する方法を示します。

で HealthLake データストアを検索するには POST

  1. HealthLake regiondatastoreIdの値を収集します。詳細については、「データストアのプロパティの取得」を参照してください。

  2. 関連するid値を検索して収集する FHIR リソースのタイプを決定します。詳細については、「リソースタイプ」を参照してください。

  3. HealthLake regionと の収集された値を使用して、リクエストの URL を作成しますdatastoreId。FHIR Resourceタイプと_searchインタラクションも含めます。次の例の URL パス全体を表示するには、コピーボタンをスクロールします。

    POST https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/Resource/_search
  4. 検索する FHIR データを指定して、リクエストの JSON 本文を作成します。この手順では、Observationリソースを検索して、一度も喫煙したことのない患者を検出します。医療コードのステータス を指定するにはNever smoker、JSON リクエスト本文value-concept=266919005で を設定します。search-observation.json という名前でファイルを保存します。

    value-concept=266919005
  5. リクエストを送信します。FHIR searchインタラクションは、AWS 署名バージョン 4 または SMART on FHIR 認可のいずれかでGETリクエストを使用します。

    注記

    POST リクエスト本文の検索パラメータを使用してリクエストを行う場合は、 ヘッダーContent-Type: application/x-www-form-urlencodedの一部として を使用します。

    次のcurl例では、 Observationリソースタイプに対して POST ベースの検索リクエストを作成します。リクエストはvalue-concept検索パラメータを使用して、値 266919005を示す医療コードを検索しますNever smoker。例全体を表示するには、コピーボタンをスクロールします。

    SigV4

    SigV4 認可

    curl --request POST \ 'https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/Observation/_search' \ --aws-sigv4 'aws:amz:region:healthlake' \ --user "$AWS_ACCESS_KEY_ID:$AWS_SECRET_ACCESS_KEY" \ --header "x-amz-security-token:$AWS_SESSION_TOKEN" \ --header "Content-Type: application/x-www-form-urlencoded" --header "Accept: application/json" --data @search-observation.json
    SMART on FHIR

    IdentityProviderConfiguration データ型の FHIR 認可の SMART の例。

    { "AuthorizationStrategy": "SMART_ON_FHIR", "FineGrainedAuthorizationEnabled": true, "IdpLambdaArn": "arn:aws:lambda:your-region:your-account-id:function:your-lambda-name", "Metadata": "{\"issuer\":\"https://ehr.example.com\", \"jwks_uri\":\"https://ehr.example.com/.well-known/jwks.json\",\"authorization_endpoint\":\"https://ehr.example.com/auth/authorize\",\"token_endpoint\":\"https://ehr.token.com/auth/token\",\"token_endpoint_auth_methods_supported\":[\"client_secret_basic\",\"foo\"],\"grant_types_supported\":[\"client_credential\",\"foo\"],\"registration_endpoint\":\"https://ehr.example.com/auth/register\",\"scopes_supported\":[\"openId\",\"profile\",\"launch\"],\"response_types_supported\":[\"code\"],\"management_endpoint\":\"https://ehr.example.com/user/manage\",\"introspection_endpoint\":\"https://ehr.example.com/user/introspect\",\"revocation_endpoint\":\"https://ehr.example.com/user/revoke\",\"code_challenge_methods_supported\":[\"S256\"],\"capabilities\":[\"launch-ehr\",\"sso-openid-connect\",\"client-public\",\"permission-v2\"]}" }

    発信者は認可 Lambda でアクセス許可を割り当てることができます。詳細については、「OAuth 2.0 スコープ」を参照してください。

例: POST で検索する

次のタブでは、 で特定の FHIR リソースタイプを検索するための例を示しますPOST。この例では、URLs でリクエストを指定する方法を示します。

注記

HealthLake コンソールは SigV4 認可のみをサポートします。SMART on FHIR 認可は、 AWS CLI および AWS SDKs。

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

Patient (age)

age は FHIR で定義されたリソースタイプではありませんが、Patientリソースタイプの 要素としてキャプチャされます。次の例を使用して、Patientリソースタイプに対して POSTベースの検索リクエストを行います。次の検索例では、eq検索コンパレータを使用して 1997 年生まれの個人を検索します。

POST https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/Patient/_search

検索で 1997 年を指定するには、リクエスト本文に次の要素を追加します。

birthdate=eq1997
Condition

以下を使用して、Conditionリソースタイプに対してPOSTリクエストを行います。この検索では、医療コード を含む HealthLake データストア内の場所を検索します72892002

リクエスト URL とリクエスト本文を指定する必要があります。リクエスト URL の例を次に示します。

POST https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/Condition/_search

検索する医療コードを指定するには、次の JSON 要素をリクエスト本文に追加します。

code=72892002
DocumentReference

DocumentReference リソースタイプでPOSTリクエストを行うときに HealthLake の統合自然言語処理 (NLP) の結果を表示するには、次のようにリクエストをフォーマットします。

POST https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/DocumentReference/_search

参照するDocumentReference検索パラメータを指定するには、「」を参照してください検索パラメータタイプ。次のクエリ文字列は、複数の検索パラメータを使用して、統合された NLP 結果の生成に使用される Amazon Comprehend Medical API オペレーションを検索します。

_lastUpdated=le2021-12-19&infer-icd10cm-entity-text-concept-score;=streptococcal|0.6&infer-rxnorm-entity-text-concept-score=Amoxicillin|0.8
Location

次の例を使用して、 Locationリソースタイプに対してPOSTリクエストを行います。検索では、住所の一部としてボストンという都市名を含む HealthLake データストア内の場所を検索します。

リクエスト URL とリクエスト本文を指定する必要があります。リクエスト URL の例を次に示します。

POST https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/Location/_search

検索Bostonで を指定するには、リクエスト本文に次の要素を追加します。

address=Boston
Observation

次の例を使用して、Observationリソースタイプに対して POSTベースの検索リクエストを行います。検索では、value-concept検索パラメータを使用して、 266919005を示す医療コードを検索しますNever smoker

POST https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/Observation/_search

ステータスを指定するには、JSON Never smoker の本文value-concept=266919005に を設定します。

value-concept=266919005