Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Ejemplo de cargas útiles de notificación
Mientras se crea una suscripción, envía un paquete de apretón de manos al canal que hayas configurado para HealthLake comprobar si la suscripción se ha configurado correctamente. La siguiente carga útil es un ejemplo del paquete de apretón de manos.
{ "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>" } } ] } } }
Ejemplo de paquete de notificaciones solo con 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" } ] } } ] } } }
Ejemplo de paquete de notificaciones con todos los recursos.
{ "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" } } ] } } }
Control de versiones de eventos
HealthLake admite el historial del FHIR de forma predeterminada.
Para saber qué versión del recurso recibió en su paquete de notificaciones:
-
recurso completo: dado que los paquetes de recursos completos incluyen todo el recurso, la versión se incluirá en el paquete
entry[*]para cada recurso del paquete. -
Solo id: los paquetes no incluirán ninguna información sobre los recursos. HealthLakeincluye la versión coincidente e incluida en el paquete a través del
entry[0].notificationEvent[*].additionalContextcampo. Este campo tiene el formato<ResourceType>/<ResourceId>/_history/<Version Id>. Para obtener más información, consulta el campo AdditionalContext en el ejemplo de carga útil solo para ID.
Detección de duplicación de eventos
HealthLakeLa función de suscripción al FHIR garantiza al menos una entrega. Esto significa que puedes recibir el mismo evento varias veces, ya sea en el mismo paquete o en un paquete diferente. Para identificar los duplicados, HealthLake proporciona un identificador único para cada evento del paquete de notificaciones. entry[0].notificationEvent[*].id
Este identificador es exclusivo de la versión específica del evento que se comparó y se entregó. Por ejemplo, si el mismo encuentro se actualiza dos veces y ambas actualizaciones coinciden con los criterios del filtro, recibirás dos eventos distintos con la misma referencia de encuentro. Tendrán lo mismonotificationEvent[*].focus, pero tendrán uno úniconotificationEvent[*].id. Además, estos eventos pueden enviarse en paquetes separados o dentro del mismo paquete de notificaciones.