查看 Application Integration 支持的连接器

HL7 触发器

HL7 触发器是一种连接器事件触发器,可让您根据在 HL7 连接中订阅的 HL7 事件调用集成。

准备工作

  • 创建 Pub/Sub 主题
  • 创建 HL7 存储区
  • 如需使用最小底层协议 (MLLP) 通过 TCP/IP 连接接收 HL7 消息,您必须配置 MLLP 适配器。如果您通过 REST (Google Cloud HealthCare API) 接收 HL7 消息,则无需配置 MLLP 适配器。如需运行适配器,请执行以下操作:

    1. 在 gcloud CLI 中设置项目和区域:
      gcloud config set project PROJECT_ID \
      gcloud config set compute/region LOCATION

      如需了解详情,请参阅设置属性

    2. 创建虚拟机实例
         gcloud compute instances create VM_NAME \
             --service-account=SERVICE_ACCOUNT_EMAIL \
             --scopes=https://www.googleapis.com/auth/cloud-platform
         

      替换以下内容:

      • SERVICE_ACCOUNT_EMAIL:您创建的服务账号的电子邮件地址。
      • VM_NAME:虚拟机实例的名称。
    3. 为新创建的虚拟机实例添加标记
         gcloud compute instances add-tags INSTANCE_NAME \
         --zone ZONE \
         --tags TAGS
         

      替换以下内容:

      • INSTANCE_NAME:虚拟机实例的名称。
      • ZONE:虚拟机实例所在的可用区。
      • TAGS:要添加到虚拟机实例的标记。
    4. 添加防火墙规则,以公开 MLLP 适配器正在运行的端口。
         gcloud compute firewall-rules create FIREWALL_RULE \
         --action=ALLOW \
         --direction=INGRESS \
         --priority=1000 \
         --rules=tcp:PORT\
         --network=default \
         --source-ranges=0.0.0.0/0
      

      替换以下内容:

      • FIREWALL_RULE:防火墙规则的名称。
      • PORT:运行 MLLP 适配器的端口。
    5. 通过 SSH 连接到虚拟机实例。
         gcloud compute ssh VM_NAME --zone ZONE
       

      替换以下内容:

      • VM_NAME:虚拟机实例的名称。
      • ZONE:虚拟机实例所在的可用区。
    6. 使用以下命令在虚拟机中安装 Docker:
         sudo apt-get update && sudo apt-get install -y docker.io
         
    7. 通过运行以下命令启动 Docker 服务:
         sudo systemctl start docker
         sudo systemctl enable docker
         
    8. 在容器注册库中拉取 Docker 映像
         docker pull gcr.io/cloud-healthcare-containers/mllp-adapter:latest
         
    9. 在虚拟机实例上运行 MLLP 适配器
         docker run \
         --network=host \
         -v ~/.config:/root/.config \
         gcr.io/cloud-healthcare-containers/mllp-adapter \
         /usr/mllp_adapter/mllp_adapter \
         --hl7_v2_project_id=PROJECT_ID \
         --hl7_v2_location_id=LOCATION \
         --hl7_v2_dataset_id=DATASET_ID \
         --hl7_v2_store_id=HL7V2_STORE_ID \
         --export_stats=false \
         --receiver_ip=0.0.0.0 \
         --port=PORT \
         --api_addr_prefix=https://healthcare.googleapis.com:443/v1 \
         --logtostderr
       

      替换以下内容:

      • PROJECT_ID:Google Cloud 项目的项目 ID。
      • LOCATION:HL7 存储区的位置。
      • DATASET_ID:包含 HL7 存储区的数据集的 ID。
      • HL7V2_STORE_ID:HL7 存储区的 ID。
      • PORT:运行 MLLP 适配器的端口。
    10. 运行以下命令,确保容器正在运行:
         sudo docker ps
         
    11. 如需检查容器日志,请运行以下命令:
         sudo docker logs CONTAINER_ID
         

所需的角色

如果您打算为 HL7 触发器创建或配置新的连接,请确保您拥有项目的以下 IAM 角色:

  • Connector Admin (roles/connectors.admin)
  • 如需了解如何授予角色,请参阅管理访问权限

向您要用于 HL7 触发器的服务账号授予以下 IAM 角色或权限:

  • Application Integration Invoker (roles/integrations.integrationInvoker)
  • Healthcare HL7v2 Message Consumer (roles/healthcare.hl7V2Consumer)
  • Healthcare HL7v2 Message Ingest (roles/healthcare.hl7V2Ingest)
  • 权限 (healthcare.hl7V2Stores.update)
  • Pub/Sub Editor (roles/pubsub.editor)
  • 如需了解如何向服务账号授予角色,请参阅管理对服务账号的访问权限

添加 HL7 触发器

如需向集成添加 HL7 触发器,请执行以下步骤:

  1. 在 Google Cloud 控制台中,前往 Application Integration 页面。

    转到 Application Integration

  2. 在导航菜单中,点击集成

    系统随即会显示 Integrations List(集成列表)页面,其中列出了 Google Cloud 项目中可用的所有集成。

  3. 选择现有集成,或点击创建集成以创建新的集成。

    要创建新的集成,请执行以下操作:

    1. 创建集成窗格中输入名称和说明。
    2. 选择集成的区域。
    3. 选择用于集成的服务账号。您可以随时在集成工具栏的 Integration summary(集成摘要)窗格中更改或更新集成的服务账号详细信息。
    4. 点击创建

    这将在集成编辑器中打开集成。

  4. 集成编辑器导航栏中,点击触发器以查看可用触发器列表。
  5. 点击 HL7 触发器元素,并将其放入集成编辑器中。
  6. 如需配置 HL7 触发器,您可以使用现有的 HL7 连接(使用 REST [Cloud HealthCare API])作为 Integration Connectors 中可用的目标协议,也可以使用内嵌连接创建选项创建新的 HL7 REST(Google Cloud HealthCare API) 连接。

使用现有连接配置 HL7 触发器

您可以在 Integration Connectors 中使用 REST (Cloud HealthCare API) 作为目标协议的现有 HL7 连接来配置 HL7 触发器HL7 触发器是一种连接器事件触发器,因此您只能使用启用了事件订阅的 HL7 REST(Google Cloud HealthCare API)连接来配置该触发器。

如需了解如何使用新的 HL7 REST(Google Cloud HealthCare API) 连接配置 HL7 触发器,请参阅使用新的 HL7 REST(Google Cloud HealthCare API) 连接配置 HL7 触发器

如需使用 REST (Cloud Healthcare API) 作为目标协议的现有 HL7 连接配置 HL7 触发器,请执行以下步骤:

  1. 点击集成编辑器中的 HL7 触发器元素以打开触发器配置窗格。
  2. 点击配置触发器
  3. Connector Event Trigger Editor(连接器事件触发器编辑器)页面中,提供以下配置详细信息:
    1. 区域:选择 HL7 REST(Google Cloud HealthCare API)连接所在的区域。
    2. 连接:选择要使用的 HL7 REST(Google Cloud HealthCare API)连接。

      Application Integration 仅显示处于活动状态且已启用事件订阅的 HL7 REST(Google Cloud HealthCare API) 连接。

    3. 从下拉菜单中选择 HL7 消息内容类型:文本或字节。
    4. 输入 HL7 消息类型。例如 ADT_A01ADT_02
  4. 点击完成以完成触发器配置并关闭页面。

使用新连接配置 HL7 触发器

如需使用新的 HL7 REST(Google Cloud HealthCare API)连接配置 HL7 触发器,请执行以下步骤:

  1. 点击集成编辑器中的 HL7 触发器元素以打开触发器配置窗格。
  2. 点击配置触发器
  3. 为 HL7 触发器选择区域
  4. 点击连接,然后从下拉菜单中选择创建连接选项。
  5. 创建连接窗格中完成以下步骤:
  6. 连接详情步骤中,提供有关新的 HL7 连接的详细信息:
    1. 连接器版本:从下拉列表中选择 HL7 连接器的可用版本。
    2. 连接名称:输入 HL7 连接的名称。
    3. (可选)说明 :输入连接的说明。
    4. 您可以选择启用 Cloud Logging,然后选择日志级别。默认情况下,日志级别设置为 Error
    5. 服务账号:选择具有 HL7 连接所需 IAM 角色的服务账号。
    6. 启用事件订阅:选择此选项可为 HL7 连接启用事件订阅。
    7. (可选)输入接收超时:SO_TIMEOUT 值(以毫秒为单位)用于等待帧开始。默认值为 15000 毫秒。
    8. 目标协议:选择 HL7 REST(Google Cloud HealthCare API) 目标协议,然后指定以下内容:
      1. 项目 ID:HL7 存储区所在的 Google Cloud 项目 ID。
      2. 位置:数据集和 HL7v2 存储区的位置。
      3. 数据集 ID:包含 HL7v2 存储区的数据集的 ID。
      4. HL7 存储区 ID:存储 HL7v2 消息的 HL7v2 存储区的 ID。
    9. (可选)配置连接节点设置

      • 节点数下限:输入连接节点数下限。
      • 节点数上限:输入连接节点数上限。

      节点是处理事务的连接单元(或副本)。 连接处理越多事务就需要越多节点,相反,处理越少事务需要越少节点。 如需了解节点如何影响连接器价格,请参阅连接节点的价格。如果未输入任何值,则默认情况下,节点数下限设置为 2(以便提高可用性),节点数上限设置为 50。

    10. (可选)点击 + 添加标签,以键值对的形式向连接添加标签。
    11. (可选)如果要使用 SSL,请选择启用 SSL。此时会显示 SSL 配置详细信息。
      1. 选择信任库类型。可以为公共专用不安全连接
      2. 根据您选择的信任库选择证书。
      3. 如果您使用的是 mTLS,请在密钥库部分中选择密钥库证书。
      4. (可选)选择 TLS 版本。
      5. 输入支持的加密套件。以逗号分隔值的形式输入多个密码套件。如需了解详情,请参阅支持的密码套件
    12. 点击下一步
  7. 跳过目标账号部分。
  8. 点击下一步
  9. 身份验证部分中,您无需指定任何身份验证详细信息,因为 HL7 连接不需要任何身份验证。
  10. 事件订阅详情部分,配置与事件相关的详细信息。
    • 项目名称:Pub/Sub 实例所在的 Google Cloud 项目。
    • Pub/Sub 主题名称:要与将发送通知消息的 HL7v2 存储区关联的 Pub/Sub 主题名称。
  11. 查看:查看您的连接和身份验证详细信息。
  12. 点击创建

支持的加密套件

TLS 版本 支持的加密套件
1.2
  • TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
  • TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
  • TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
  • TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
  • TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
  • TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
  • TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
  • TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
  • TLS_DHE_RSA_WITH_AES_256_GCM_SHA384
  • TLS_DHE_RSA_WITH_AES_128_CBC_SHA
  • TLS_DHE_RSA_WITH_AES_256_CBC_SHA
  • TLS_DHE_RSA_WITH_AES_128_CBC_SHA256
  • TLS_DHE_RSA_WITH_AES_256_CBC_SHA256
1.3
  • TLS_AES_256_GCM_SHA384
  • TLS_CHACHA20_POLY1305_SHA256
  • TLS_AES_128_GCM_SHA256

触发器输出

HL7 触发器需要几分钟才能完成事件订阅配置。您可以在触发器配置窗格中的事件订阅详情下查看事件订阅的状态。

HL7 触发器使用以下状态指示事件订阅的状态:

  • Creating:表示触发器正在订阅事件订阅。
  • Active:表示触发器已成功订阅事件订阅。
  • Error:表示配置的事件订阅存在问题。

除了事件订阅状态之外,事件订阅详情部分还会显示其他详细信息,例如连接区域、连接名称和事件订阅名称。

触发器输出变量

对于每个事件,HL7 触发器会生成一个 ConnectorEventPayload 输出变量(采用 JSON 格式),您可以在下游任务中使用该变量。输出变量将包含 HL7 事件中的载荷。例如:

 {
 "messageType": "ADT_A01",
 "message": "MSH|^~\\&|SendingApp|SendingFacility|ReceivingApp|ReceivingFacility|20240209120000||ADT^A01|123456789|P|2.3|||NE|AL|||||\rEVN|A02222221|20240209120000|||\rPID|1||123456789|^^^Hospital^MR||Doe^John^^^Mr.||19800101|M|||123 Main St^^New York^NY^10001^USA||(555)555-1234|(555)555-1235\rPV1|1|I|2000^2012^01||||123^Doe^John|||SUR||||ADM|A0||\r",
 "contentType": "text/plain"
}

查看事件订阅

如需在 Integration Connectors 中查看和管理与连接关联的所有事件订阅,请执行以下操作:

  1. 前往 Integration Connectors > Connections 页面。

    前往“连接”页面

  2. 点击您要查看其订阅的连接。
  3. 点击事件订阅标签页。

    此时会显示该连接的所有事件订阅。

修改 HL7 触发器

您可以修改 HL7 触发器,以更改或更新连接配置和事件订阅详细信息。

如需修改 HL7 触发器,请执行以下步骤:

  1. 点击集成编辑器中的 HL7 触发器元素以打开触发器配置窗格。
  2. 点击配置 HL7 触发器
  3. 连接器事件触发器编辑器页面中,执行以下操作:
    1. 如需保留之前配置的事件订阅,请点击保留;否则,请点击删除
    2. 根据需要更新连接配置和事件订阅详细信息。
    3. 点击完成
  4. 您可以在触发器配置窗格中的事件订阅详情下方查看更新后的连接和事件订阅详情。

配额和限制

如需了解配额和限制,请参阅配额和限制

后续步骤