翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
通知ペイロードの例
サブスクリプションの作成中に、HealthLake は設定されたチャネルにハンドシェイクバンドルを送信して、サブスクリプション設定が成功したかどうかを確認します。次のペイロードは、ハンドシェイクバンドルの例です。
{ "version": "0", "id": "<your-id>", "detail-type": "FHIR Subscription Notification", "source": "healthlake", "account": "436845984719", "time": "2025-09-04T23:43:50Z", "region": "us-east-1", "resources": [], "detail": { "subscriptionUrl": "https://healthlake.<AWS_REGION>.amazonaws.com/datastore/<DS_ID>/r4/Subscription/<SUBSCRIPTION_ID>", "notificationBundlePayload": { "resourceType": "Bundle", "id": "<BUNDLE_ID>", "type": "history", "timestamp": "2025-09-04T23:43:50.341791934Z", "status": "requested", "entry": [ { "fullUrl": "urn:uuid:<HANDSHAKE_RESOURCE_ID>", "resource": { "resourceType": "SubscriptionStatus", "id": "<HANDSHAKE_RESOURCE_ID>", "status": "requested", "type": "handshake", "eventsSinceSubscriptionStart": "0", "subscription": { "reference": "https://healthlake.<AWS_REGION>.amazonaws.com/datastore/<DS_ID>/r4/Subscription/<SUBSCRIPTION_ID>" }, "topic": "https://healthlake.<AWS_REGION>.amazonaws.com/datastore/<DS_ID>/r4/SubscriptionTopic/<TOPIC_ID>" } } ] } } }
ID のみの通知バンドルの例。
{ "version": "0", "id": "<your-id>", "detail-type": "FHIR Subscription Notification", "source": "healthlake", "account": "436845984719", "time": "2025-09-05T00:18:43Z", "region": "us-east-1", "resources": [], "detail": { "subscriptionUrl": "https://healthlake.<AWS_REGION>.amazonaws.com/datastore/<DS_ID>/r4/Subscription/<SUBSCRIPTION_ID>", "notificationBundlePayload": { "resourceType": "Bundle", "id": "c74ea02a-9c69-4e34-85d6-e72720189574", "type": "history", "timestamp": "2025-09-05T00:18:43.393688851Z", "status": "requested", "entry": [ { "fullUrl": "urn:uuid:173135e3-3c80-4b90-a10a-e01a1420fdea", "resource": { "resourceType": "SubscriptionStatus", "id": "173135e3-3c80-4b90-a10a-e01a1420fdea", "status": "active", "type": "event-notification", "eventsSinceSubscriptionStart": "-1", "subscription": { "reference": "https://healthlake.<AWS_REGION>.amazonaws.com/datastore/<DS_ID>/r4/Subscription/<SUBSCRIPTION_ID>" }, "topic": "https://healthlake.<AWS_REGION>.amazonaws.com/datastore/<DS_ID>/r4/SubscriptionTopic/<TOPIC_ID>", "notificationEvent": [ { "eventNumber": "0", "timestamp": "2025-09-05T00:18:43.393775234Z", "focus": "Encounter/c5ae898f-bd96-44dd-a509-87fdbcf23b19", "additionalContext": "Encounter/c5ae898f-bd96-44dd-a509-87fdbcf23b19/_history/1", "id": "8f4e9c1a-2b3d-4e5f-6a7b-8c9d0e1f2a3b" } ] } } ] } } }
フルリソース通知バンドルの例。
{ "version": "0", "id": "d142bed8-db3f-445f-c4db-a843ad84121a", "detail-type": "FHIR Subscription Notification", "source": "healthlake", "account": "436845984719", "time": "2025-09-05T00:18:43Z", "region": "us-east-1", "resources": [], "detail": { "subscriptionUrl": "https://healthlake.<AWS_REGION>.amazonaws.com/datastore/<DS_ID>/r4/Subscription/<SUBSCRIPTION_ID>", "notificationBundlePayload": { "resourceType": "Bundle", "id": "3d42c70f-4fa9-4b1a-98a7-43c0d0441115", "type": "history", "timestamp": "2025-09-05T00:18:43.845821667Z", "status": "requested", "entry": [ { "fullUrl": "urn:uuid:1d005a09-a15c-4010-9675-1e8043ce08a8", "resource": { "resourceType": "SubscriptionStatus", "id": "1d005a09-a15c-4010-9675-1e8043ce08a8", "status": "active", "type": "event-notification", "eventsSinceSubscriptionStart": "-1", "subscription": { "reference": "https://healthlake.<AWS_REGION>.amazonaws.com/datastore/<DS_ID>/r4/Subscription/<SUBSCRIPTION_ID>" }, "topic": "https://healthlake.<AWS_REGION>.amazonaws.com/datastore/<DS_ID>/r4/SubscriptionTopic/<TOPIC_ID>", "notificationEvent": [ { "eventNumber": "0", "timestamp": "2025-09-05T00:18:43.845970754Z", "focus": "Encounter/82776529-59a0-4d63-bedb-82f6726d65b5", "additionalContext": "Encounter/82776529-59a0-4d63-bedb-82f6726d65b5/_history/1", "id": "7a8b9c0d-1e2f-3a4b-5c6d-7e8f9a0b1c2d" } ] } }, { "fullUrl": "Encounter/82776529-59a0-4d63-bedb-82f6726d65b5", "resource": { "resourceType": "Encounter", "id": "82776529-59a0-4d63-bedb-82f6726d65b5", "status": "finished", "class": { "system": "http://terminology.hl7.org/CodeSystem/v3-ActCode", "code": "AMB", "display": "ambulatory" }, "subject": { "reference": "Patient/test-patient-id" }, "meta": { "lastUpdated": "2025-09-05T00:18:43.219652906Z", "versionId": "1" } }, "request": { "method": "CREATE", "url": "Encounter/82776529-59a0-4d63-bedb-82f6726d65b5" } } ] } } }
イベントのバージョニング
HealthLake はデフォルトで FHIR 履歴をサポートしています。
通知バンドルで受信したリソースのバージョンを確認するには:
-
full-resource: フルリソースバンドルにはリソース全体が含まれているため、バージョンはバンドル内の各リソース
entry[*]の に含まれます。 -
id-only: バンドルにはリソース情報は含まれません。HealthLake には、
entry[0].notificationEvent[*].additionalContextフィールドを通じて一致し、バンドルに含まれていたバージョンが含まれます。このフィールドは<ResourceType>/<ResourceId>/_history/<Version Id>の形式です。詳細については、id-only ペイロードの例の additionalContext フィールドを参照してください。
イベント重複検出
HealthLake の FHIR サブスクリプション機能は、少なくとも 1 つの配信を保証します。つまり、同じバンドルまたは別のバンドルのいずれかで、同じイベントが複数回受信される場合があります。重複を識別するために、HealthLake は の通知バンドル内のイベントごとに一意の ID を提供しますentry[0].notificationEvent[*].id。
この ID は、一致して配信されたイベントの特定のバージョンに固有です。たとえば、同じ Encounter が 2 回更新され、両方の更新がフィルター条件と一致した場合、同じ Encounter リファレンスを持つ 2 つの個別のイベントを受け取ります。これらは同じ を持ちますがnotificationEvent[*].focus、一意の を持ちますnotificationEvent[*].id。さらに、これらのイベントは別々のバンドルで送信することも、同じ通知バンドル内で送信することもできます。