查看 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. 在导航菜单中,点击集成

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

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

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

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

    新创建的集成会在集成编辑器中打开。

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

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

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

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

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

  1. 点击集成编辑器中的 HL7 触发器元素以打开触发器配置窗格。
  2. 点击配置触发器
  3. 连接器事件触发器编辑器页面中,提供以下配置详细信息:
    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. 您可以在触发器配置窗格中的事件订阅详情下查看更新后的连接和事件订阅详情。

配额和限制

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

后续步骤