View a markdown version of this page

Exemplo de cargas úteis de notificação - AWS HealthLake

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Exemplo de cargas úteis de notificação

Enquanto uma assinatura está sendo criada, HealthLake verifique se a configuração da assinatura foi bem-sucedida enviando um pacote de handshake para o canal configurado. A carga útil a seguir é um exemplo de um pacote de handshake.

{ "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>" } } ] } } }

Exemplo de pacote de notificação somente com identificação.

{ "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" } ] } } ] } } }

Exemplo de pacote de notificação com recursos completos.

{ "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" } } ] } } }

Controle de versão de eventos

HealthLake suporta o histórico FHIR por padrão.

Para saber qual versão do recurso você recebeu em seu pacote de notificação:

  • recurso completo: como os pacotes completos de recursos incluem o recurso inteiro, a versão será incluída no entry[*] para cada recurso que estiver no pacote.

  • id-only: os pacotes não incluirão nenhuma informação sobre recursos. HealthLakeinclui a versão que foi combinada e incluída no pacote por meio do entry[0].notificationEvent[*].additionalContext campo. Esse campo está no formato<ResourceType>/<ResourceId>/_history/<Version Id>. Para obter mais informações, consulte o campo additionalContext no exemplo de payload somente de identificação.

Detecção de duplicação de eventos

HealthLakeO recurso de assinatura FHIR da garante pelo menos uma entrega. Isso significa que você pode receber o mesmo evento várias vezes, no mesmo pacote ou em um pacote diferente. Para identificar duplicatas, HealthLake fornece uma identificação exclusiva para cada evento no pacote de notificação em. entry[0].notificationEvent[*].id

Esse ID é exclusivo para a versão específica do evento que foi correspondida e entregue. Por exemplo, se o mesmo Encontro for atualizado duas vezes e ambas corresponderem aos critérios do filtro, você receberá dois eventos separados com a mesma referência de Encontro. Eles terão o mesmonotificationEvent[*].focus, mas terão um úniconotificationEvent[*].id. Além disso, esses eventos podem ser enviados em pacotes separados ou dentro do mesmo pacote de notificação.