FHIR リソース履歴の読み取り - AWS HealthLake

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

FHIR リソース履歴の読み取り

FHIR historyインタラクションは、HealthLake データストア内の特定の FHIR リソースの履歴を取得します。このインタラクションを使用して、FHIR リソースの内容が時間の経過とともにどのように変化したかを判断できます。また、監査ログと連携して、変更前後のリソースの状態を確認するのにも役立ちます。FHIR インタラクション createupdate、および deleteでは、リソースの履歴バージョンが保存されます。詳細については、FHIR R4 RESTful API ドキュメントhistoryの「」を参照してください。 R4 RESTful

注記

特定の FHIR リソースタイプhistoryに対して をオプトアウトできます。オプトアウトするには、 を使用してケースを作成しますAWS Support Center Console。ケースを作成するには、 にログイン AWS アカウント し、ケースの作成を選択します。

FHIR リソース履歴を読み取るには

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

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

  3. HealthLake regionと の収集された値を使用して、リクエストの URL を作成しますdatastoreId。また、FHIR Resourceタイプ、関連付けられた id、およびオプションの検索パラメータを含めます。次の例の URL パス全体を表示するには、コピーボタンにスクロールします。

    GET https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/Resource/id/_history{?[parameters]}
    HealthLake が FHIR historyインタラクションでサポートする検索パラメータ
    パラメータ 説明
    _count : integer ページ上の検索結果の最大数。サーバーは、リクエストされた数またはデータストアでデフォルトで許可される検索結果の最大数のいずれか低い方を返します。
    _since : instant 特定の時点以降に作成されたリソースバージョンのみを含めます。
    _at : date(Time) 日時値で指定された期間のある時点で最新であったリソースバージョンのみを含めます。詳細については、HL7 FHIR RESTful API date ドキュメントの「」を参照してください。 HL7 RESTful
  4. リクエストを送信します。FHIR historyインタラクションは、AWS 署名バージョン 4 または SMART on FHIR 認可のいずれかのGETリクエストを使用します。次のcurl例では、 _count検索パラメータを使用して、HealthLake の FHIR Patientリソースの 1 ページあたり 100 件の履歴検索結果を返します。例全体を表示するには、コピーボタンをスクロールします。

    SigV4

    SigV4 認可

    curl --request GET \ 'https://healthlake.region.amazonaws.com/datastore/datastore-id/r4/Patient/id/_history?_count=100' \ --aws-sigv4 'aws:amz:region:healthlake' \ --user "$AWS_ACCESS_KEY_ID:$AWS_SECRET_ACCESS_KEY" \ --header "x-amz-security-token:$AWS_SESSION_TOKEN" \ --header 'Accept: application/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 スコープ」を参照してください。

    history インタラクションの戻りコンテンツは FHIR リソース に含まれBundle、タイプは に設定されますhistory。これには、指定されたバージョン履歴が含まれ、最後に最も古いバージョンでソートされ、削除されたリソースが含まれます。詳細については、FHIR R4 ドキュメントResource Bundleの「」を参照してください。

バージョン固有の FHIR リソース履歴の読み取り

FHIR vreadインタラクションは、HealthLake データストア内のリソースのバージョン固有の読み取りを実行します。このインタラクションを使用すると、FHIR リソースのコンテンツは、過去の特定の時点と同じように表示できます。

注記

なしで FHIR historyインタラクションを使用する場合vread、HealthLake は常にリソースのメタデータの最新バージョンを返します。

HealthLake は、サポートされている各リソースの でのバージョニングのサポートCapabilityStatement.rest.resource.versioningを宣言します。すべての HealthLake データストアには、すべてのリソースに Resource.meta.versionId (vid) が含まれます。

FHIR historyインタラクションが有効になっている場合 (10/25/2024 以降に作成されたデータストアの場合はデフォルトで、古いデータストアの場合はリクエストによって)、Bundleレスポンスvidには location要素の一部として が含まれます。次の例では、 は数値 としてvid表示されます1。完全な例を表示するには、「バンドル/バンドルレスポンス (JSON) の例」を参照してください。

"response" : { "status" : "201 Created", "location" : "Patient/12423/_history/1", ...}
バージョン固有の FHIR リソース履歴を読み取るには

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

  2. 関連する とidvid値を読み取って収集する FHIR Resourceタイプを決定します。詳細については、「リソースタイプ」を参照してください。

  3. HealthLake と FHIR 用に収集された値を使用して、リクエストの URL を作成します。次の例の URL パス全体を表示するには、コピーボタンをスクロールします。

    GET https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/Resource/id/_history/vid
  4. リクエストを送信します。FHIR historyインタラクションは、AWS 署名バージョン 4 または SMART on FHIR 認可のいずれかのGETリクエストを使用します。次のvreadインタラクションは、 で指定されたPatientリソースメタデータのバージョンについて、FHIR リソースに指定されたコンテンツを含む単一のインスタンスを返しますvid。次の例の URL パス全体を表示するには、コピーボタンをスクロールします。

    SigV4

    SigV4 認可

    curl --request GET \ 'https://healthlake.region.amazonaws.com/datastore/datastore-id/r4/Patient/id/_history/vid' \ --aws-sigv4 'aws:amz:region:healthlake' \ --user "$AWS_ACCESS_KEY_ID:$AWS_SECRET_ACCESS_KEY" \ --header "x-amz-security-token:$AWS_SESSION_TOKEN" \ --header 'Accept: application/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 スコープ」を参照してください。