Pub/Sub 通知

本页面简要介绍了在 Cloud Healthcare API 数据存储区中发生临床事件如何使用 Pub/Sub 接收通知。如需了解如何设置和使用 Pub/Sub 消息,请参阅配置 Pub/Sub 通知

概述

发生以下任一临床事件时,您可以使用 Pub/Sub 接收通知:

每个事件的相关信息以消息的形式添加到相应数据存储区的 Pub/Sub 主题中。

您可以向您具有足够权限的任何项目中的任何 Pub/Sub 主题发布消息。Pub/Sub 主题收到消息后,系统会将该消息转发给该主题的任意数量的订阅者。

DICOM 通知

如需了解如何使用 Pub/Sub 通知和 DICOM 数据,请参阅 DICOM Pub/Sub 通知

FHIR 通知

如需了解如何将 Pub/Sub 通知与 FHIR 数据结合使用,请参阅 FHIR Pub/Sub 通知

HL7v2 通知

下图显示了提取或创建 HL7v2 消息时的通知流程:

hl7v2_pubsub

  1. Cloud Healthcare API 会从医疗保健系统中提取 HL7v2 消息。
  2. 该消息存储在 HL7v2 存储区中。
  3. HL7v2 存储区会创建一条 Pub/Sub 消息,然后发布到该存储区中过滤条件与 HL7v2 消息匹配的 Pub/Sub 主题。
  4. Pub/Sub 将 Pub/Sub 消息转发给主题的订阅。
  5. 订阅者会收到来自订阅的通知,其采用 Pub/Sub 消息形式。每个订阅可以有一个或多个订阅者(提高并行性)。

通知格式

发送到 Pub/Sub 主题的通知由以下两部分组成:

  • 属性:描述事件的一组键值对。 这些值可用于过滤来自订阅的消息,以过滤客户端接收的事件。
  • 数据:一个字符串,包含相关 FHIR 资源、DICOM 实例或 HL7v2 消息的标识符。

DICOM 实例数据

当 DICOM 实例存储在 DICOM 存储区时,以下标识符始终包含在 Pub/Sub 消息的 data 字段中:

projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/dicomStores/DICOM_STORE_ID/dicomWeb/studies/STUDY_UID/series/SERIES_UID/instances/INSTANCE_UID

存储的 DICOM 实例的通知不包含任何 attribute 值。

HL7v2 消息数据和属性

当系统创建 HL7v2 消息或将其提取到 HL7v2 存储区时,以下标识符始终包含在 Pub/Sub 消息的 data 字段中:

projects/PROJECT_ID/locations/us-central1/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID/messages/HL7V2_MESSAGE_ID

以下一组键值对始终包含在 Pub/Sub 消息的 attributes 字段中:

属性名称 可能的值 示例 说明
msgType 任何 HL7v2 消息类型 ADT 创建或提取的 HL7v2 消息类型。

后续步骤