Stay organized with collections
Save and categorize content based on your preferences.
This page provides an overview of using Pub/Sub to receive
notifications when clinical events occur in a Cloud Healthcare API data
store.
To learn how to set up and use Pub/Sub messages, see
Configuring Pub/Sub notifications.
Overview
You can receive notifications using
Pub/Sub when any of the following clinical events occur:
You import a DICOM instance into a DICOM store using the dicomStores.import method.
A FHIR resource is created, patched, updated, or deleted in a FHIR store. However,
notifications are not sent when a FHIR resource is imported from Cloud Storage.
An HL7v2 message is ingested or created in an HL7v2 store.
Information about each event is added to the corresponding data store's
Pub/Sub topic in the form of a message.
You can publish messages to any Pub/Sub topic in any project
for which you have sufficient permissions. After the Pub/Sub
topic receives the message, the message will be forwarded to any number of
subscribers to the topic.
The following diagram shows the flow of notifications that occur when an HL7v2
message is ingested or created:
The Cloud Healthcare API ingests an HL7v2 message from a care system.
The message is stored in an HL7v2 store.
The HL7v2 store creates and sends a Pub/Sub message to the
store's Pub/Sub topics that have a filter that matches the HL7v2 message.
Pub/Sub forwards the Pub/Sub message to the
topics' subscriptions.
The subscribers receive a notification, in the form of a
Pub/Sub message, from their subscription. Each subscription
can have one or more subscribers for increased parallelism.
Notification format
Notifications sent to a Pub/Sub topic consist of two parts:
Attributes: A set of key:value pairs describing the event. These values
can be used to filter which events a client receives by filtering messages
from a subscription.
Data: A string that contains an identifier for the relevant FHIR resource,
DICOM instance, or HL7v2 message.
DICOM instance data
When a DICOM instance is stored in a DICOM store, the following identifier
is always included in the data field of the Pub/Sub
message:
Notifications for a stored DICOM instance do not contain
any attribute values.
HL7v2 message data and attributes
When an HL7v2 message is created or ingested into an HL7v2 store, the following
identifier is always included in the data field of the Pub/Sub
message:
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-25 UTC."],[[["\u003cp\u003ePub/Sub notifications are sent when clinical events occur, such as storing a DICOM instance, creating or updating a FHIR resource, or ingesting an HL7v2 message.\u003c/p\u003e\n"],["\u003cp\u003eEach event notification includes information about the event added to the data store's Pub/Sub topic in the form of a message, forwarded to subscribers.\u003c/p\u003e\n"],["\u003cp\u003eNotifications consist of attributes, key-value pairs describing the event, and data, an identifier for the relevant FHIR resource, DICOM instance, or HL7v2 message.\u003c/p\u003e\n"],["\u003cp\u003eFor DICOM instance notifications, only the data field is populated with the instance identifier; no attribute values are sent.\u003c/p\u003e\n"],["\u003cp\u003eHL7v2 message notifications include the message's identifier in the data field and attributes like \u003ccode\u003emsgType\u003c/code\u003e that describe the type of message.\u003c/p\u003e\n"]]],[],null,["# Pub/Sub notifications\n\nThis page provides an overview of using Pub/Sub to receive\nnotifications when clinical events occur in a Cloud Healthcare API data\nstore.\nTo learn how to set up and use Pub/Sub messages, see\n[Configuring Pub/Sub notifications](/healthcare-api/docs/how-tos/pubsub).\n\nOverview\n--------\n\nYou can receive notifications using\n[Pub/Sub](/pubsub) when any of the following clinical events occur:\n\n- You store a DICOM instance in a DICOM store using the [`dicomStores.dicomWeb.studies.storeInstances`](/healthcare-api/docs/reference/rest/v1/projects.locations.datasets.dicomStores.studies/storeInstances) method.\n- You import a DICOM instance into a DICOM store using the [`dicomStores.import`](/healthcare-api/docs/reference/rest/v1/projects.locations.datasets.dicomStores/import) method.\n- A FHIR resource is created, patched, updated, or deleted in a FHIR store. However, notifications are not sent when a FHIR resource is [imported from Cloud Storage](/healthcare-api/docs/how-tos/fhir-import-export#importing_fhir_resources).\n- An HL7v2 message is ingested or created in an HL7v2 store.\n\nInformation about each event is added to the corresponding data store's\nPub/Sub topic in the form of a message.\n\nYou can publish messages to any Pub/Sub topic in any project\nfor which you have sufficient permissions. After the Pub/Sub\ntopic receives the message, the message will be forwarded to any number of\nsubscribers to the topic.\n\nDICOM notifications\n-------------------\n\nFor information on using Pub/Sub notifications with DICOM data, see\n[DICOM Pub/Sub notifications](/healthcare-api/docs/dicom-pubsub).\n\nFHIR notifications\n------------------\n\nFor information on using Pub/Sub notifications with FHIR data,\nsee [FHIR Pub/Sub notifications](/healthcare-api/docs/fhir-pubsub).\n\nHL7v2 notifications\n-------------------\n\nThe following diagram shows the flow of notifications that occur when an HL7v2\nmessage is ingested or created:\n\n1. The Cloud Healthcare API ingests an HL7v2 message from a care system.\n2. The message is stored in an HL7v2 store.\n3. The HL7v2 store creates and sends a Pub/Sub message to the store's Pub/Sub topics that have a filter that matches the HL7v2 message.\n4. Pub/Sub forwards the Pub/Sub message to the topics' subscriptions.\n5. The subscribers receive a notification, in the form of a Pub/Sub message, from their subscription. Each subscription can have one or more subscribers for increased parallelism.\n\nNotification format\n-------------------\n\nNotifications sent to a Pub/Sub topic consist of two parts:\n\n- **Attributes** : A set of key:value pairs describing the event. These values can be used to filter which events a client receives by [filtering messages\n from a subscription](/pubsub/docs/subscription-message-filter).\n- **Data**: A string that contains an identifier for the relevant FHIR resource, DICOM instance, or HL7v2 message.\n\n### DICOM instance data\n\nWhen a DICOM instance is stored in a DICOM store, the following identifier\nis always included in the `data` field of the Pub/Sub\nmessage: \n\n```bash\nprojects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/dicomStores/DICOM_STORE_ID/dicomWeb/studies/STUDY_UID/series/SERIES_UID/instances/INSTANCE_UID\n```\n\nNotifications for a stored DICOM instance do not contain\nany `attribute` values.\n\n### HL7v2 message data and attributes\n\nWhen an HL7v2 message is created or ingested into an HL7v2 store, the following\nidentifier is always included in the `data` field of the Pub/Sub\nmessage: \n\n```bash\nprojects/PROJECT_ID/locations/us-central1/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID/messages/HL7V2_MESSAGE_ID\n```\n\nThe following set of key:value pairs is always included in the Pub/Sub\nmessage's `attributes` field:\n\nWhat's next\n-----------\n\n- Read the [Pub/Sub documentation](/pubsub/docs).\n- For an in-depth explanation of Pub/Sub, see [What is Cloud Pub/Sub?](/pubsub/docs/overview)"]]