Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Esempi di payload di notifica
Durante la creazione di un abbonamento, HealthLake verifica la corretta configurazione dell'abbonamento inviando un pacchetto di handshake al canale configurato. Il payload seguente è un esempio di pacchetto 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>" } } ] } } }
Esempio di pacchetto di notifiche con solo 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" } ] } } ] } } }
Esempio di pacchetto di notifiche completo di risorse.
{ "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" } } ] } } }
Controllo delle versioni degli eventi
HealthLake supporta la cronologia FHIR per impostazione predefinita.
Per sapere quale versione della risorsa hai ricevuto nel pacchetto di notifiche:
-
risorsa completa: poiché i pacchetti completi di risorse includono l'intera risorsa, la versione verrà inclusa all'interno del pacchetto
entry[*]per ogni risorsa inclusa nel pacchetto. -
id-only: i pacchetti non includeranno alcuna informazione sulle risorse. HealthLakeinclude la versione corrispondente e inclusa nel pacchetto tramite il campo.
entry[0].notificationEvent[*].additionalContextQuesto campo è nel formato.<ResourceType>/<ResourceId>/_history/<Version Id>Per ulteriori informazioni, consulta il campo AdditionalContext nell'esempio id-only payload.
Rilevamento della duplicazione degli eventi
HealthLakela funzionalità di abbonamento FHIR garantisce almeno una consegna. Ciò significa che potresti ricevere lo stesso evento più volte, nello stesso pacchetto o in un pacchetto diverso. Per identificare i duplicati, HealthLake fornisce un ID univoco per ogni evento nel pacchetto di notifiche in. entry[0].notificationEvent[*].id
Questo ID è univoco per la versione specifica dell'evento che è stata abbinata e consegnata. Ad esempio, se lo stesso Encounter viene aggiornato due volte ed entrambi gli aggiornamenti corrispondono ai criteri del filtro, riceverai due eventi separati con lo stesso riferimento all'incontro. Avranno lo stessonotificationEvent[*].focus, ma ne avranno uno uniconotificationEvent[*].id. Inoltre, questi eventi possono essere inviati in pacchetti separati o all'interno dello stesso pacchetto di notifiche.