本页面介绍了如何创建、修改、查看和删除 Health Level Seven Version 2.x (HL7v2) 存储区。HL7v2 存储区用于存储 HL7v2 消息,这些消息用于在系统之间传输临床数据。
使用 Pub/Sub 主题和过滤器
将 Pub/Sub 和过滤器与 HL7v2 存储区一起使用是一种常见的使用场景,尤其是在通过 TCP/IP 连接传输 HL7v2 消息时。
本页面上的一些示例展示了如何配置现有 Pub/Sub 主题,Cloud Healthcare API 会向该主题发送 HL7v2 存储区中的临床事件通知。通过指定现有 Pub/Sub 主题和过滤器的列表,Cloud Healthcare API 可以向多个主题发送通知,您可以使用过滤器限制要发送的通知。如需详细了解如何配置 Pub/Sub 主题和过滤器,请参阅 HL7v2 通知和查看 HL7v2 通知。
创建 HL7v2 存储区
您需要先创建数据集,然后才能创建 HL7v2 存储区。
创建 HL7v2 存储区时,请指定 V3
解析器版本。创建 HL7v2 存储区后,您将无法更改解析器版本。
以下示例展示了如何使用 V3 解析器创建 HL7v2 存储区。
控制台
在 Google Cloud 控制台中,进入数据集页面。
选择要创建 HL7v2 存储区的数据集。系统随即会显示数据集页面。
点击 add_box 创建数据存储区。系统随即会显示创建数据存储区页面。
在类型菜单中,选择 HL7v2。
在 ID 字段中,输入 HL7v2 存储区的名称。该名称在数据集中必须是唯一的。如需了解更多命名要求,请参阅允许的字符和大小要求。
点击下一步。系统随即会显示配置您的 HL7v2 存储区部分。
进行以下设置:
- 在版本部分,保持默认的 V3 选择不变。
- 如需允许创建和提取不带标头的 HL7v2 消息,请选择允许 null 消息标头 (MSH)。
- 要设置自定义细分受众群终止符,请点击设置自自定义细分受众群终止符,然后在细分终止符字段中输入终止符。如需了解详情,请参阅设置细分终止符。
- 如需拒绝与 HL7v2 存储区中已存在的 HL7v2 消息具有相同原始字节的传入 HL7v2 消息,请选择拒绝重复消息。
点击下一步。随即将显示接收 Cloud Pub/Sub 通知部分。
如果您希望在 HL7v2 存储区中发生临床事件时接收 Pub/Sub 通知,请指定 Pub/Sub 主题。该主题必须已存在,您才能在 HL7v2 存储区中对其进行配置。
点击下一步。系统随即会显示添加标签以整理数据存储区部分。
如需向 HL7v2 存储区添加一个或多个键值对标签,请点击 add 添加标签。如需详细了解资源标签,请参阅使用资源标签。
点击创建。系统随即会显示数据集页面,数据存储区表格中会显示 HL7v2 存储区。
gcloud
在创建 HL7v2 存储区时,Google Cloud CLI 不支持设置解析器版本。可以改为使用 Google Cloud 控制台、curl
、PowerShell
或您的首选语言。
REST
如需创建 HL7v2 存储区,请使用 projects.locations.datasets.hl7V2Stores.create
方法。
在使用任何请求数据之前,请先进行以下替换:
PROJECT_ID
:您的 Google Cloud 项目的 IDLOCATION
:数据集位置DATASET_ID
:HL7v2 存储区的父数据集HL7V2_STORE_ID
:HL7v2 存储区的标识符,符合 HL7v2 存储区字符和大小要求
请求 JSON 正文:
{ "parserConfig": { "version": "V3" } }
如需发送请求,请选择以下方式之一:
curl
将请求正文保存在名为 request.json
的文件中。在终端中运行以下命令,在当前目录中创建或覆盖此文件:
cat > request.json << 'EOF' { "parserConfig": { "version": "V3" } } EOF
然后,执行以下命令以发送 REST 请求:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores?hl7V2StoreId=HL7V2_STORE_ID"
PowerShell
将请求正文保存在名为 request.json
的文件中。在终端中运行以下命令,在当前目录中创建或覆盖此文件:
@' { "parserConfig": { "version": "V3" } } '@ | Out-File -FilePath request.json -Encoding utf8
然后,执行以下命令以发送 REST 请求:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores?hl7V2StoreId=HL7V2_STORE_ID" | Select-Object -Expand Content
API Explorer
复制请求正文并打开方法参考页面。API Explorer 面板会在页面右侧打开。您可以与此工具进行交互以发送请求。将请求正文粘贴到此工具中,填写任何其他必填字段,然后点击执行。
您应该收到类似以下内容的 JSON 响应:
Go
Java
Node.js
Python
修改 HL7v2 存储区
以下示例展示了如何修改 Cloud Healthcare API 用来发送 HL7v2 存储区更改通知的 Pub/Sub 主题和过滤条件的列表。
此外,几个示例还展示了如何修改 HL7v2 存储区中的标签。
指定 Pub/Sub 主题时,请输入主题的限定 URI,如以下示例所示:projects/PROJECT_ID/topics/PUBSUB_TOPIC要使通知正常工作,必须向 Cloud Healthcare Service Agent 服务账号授予其他权限。如需了解详情,请参阅 DICOM、FHIR 和 HL7v2 存储区 Pub/Sub 权限。
控制台
如需修改 HL7v2 存储区,请完成以下步骤:
- 在 Google Cloud 控制台中,进入数据集页面。
- 选择包含您要修改的 HL7v2 存储区的数据集。
- 在数据存储区列表中,点击要修改的数据存储区。
- 如需修改 HL7v2 存储区的配置,请点击 HL7v2 存储区配置。
如需详细了解 HL7v2 存储区的配置选项,请参阅创建 HL7v2 存储区。 - 如果要为数据存储区配置 Pub/Sub 主题,请点击添加 Pub/Sub 主题并选择主题名称。指定 Pub/Sub 主题时,请输入主题的限定 URI,如以下示例所示:
projects/PROJECT_ID/topics/PUBSUB_TOPIC
- 如果您已添加 Pub/Sub 主题,请点击完成。
- 如需为商店添加一个或多个标签,请依次点击 使用资源标签。 标签和添加标签,然后输入键值对标签。 如需详细了解资源标签,请参阅
- 点击保存。
gcloud
gcloud CLI 不支持此操作。请改用 Google Cloud 控制台、curl
、PowerShell 或您偏好的语言。
REST
如要修改 HL7v2 存储区,请使用 projects.locations.datasets.hl7V2Stores.patch
方法。
在运行以下示例之前,您必须在项目中至少创建一个 Pub/Sub 主题。
在使用任何请求数据之前,请先进行以下替换:
- PROJECT_ID:您的 Google Cloud 项目的 ID
- LOCATION:数据集位置
- DATASET_ID:HL7v2 存储区的父数据集
- HL7V2_STORE_ID:HL7v2 存储区 ID
- PUBSUB_TOPIC1:数据存储区中发生事件时,系统会将消息发布到的 Pub/Sub 主题。
- FILTER1:一个字符串,用于与发布到 PUBSUB_TOPIC1 的消息匹配
如需查看有效过滤条件值的示例,请参阅
filter
。 - PUBSUB_TOPIC2:将消息发布到的 Pub/Sub 主题
- FILTER2:一个字符串,用于与发布到 PUBSUB_TOPIC2 的消息匹配
- KEY1:第一个标签键
- VALUE1:第一个标签值
- KEY2:第二个标签键
- VALUE2:第二个标签值
请求 JSON 正文:
{ 'notificationConfigs': [ { 'pubsubTopic': 'projects/PROJECT_ID/topics/PUBSUB_TOPIC1', 'filter' : 'FILTER1' }, { 'pubsubTopic': 'projects/PROJECT_ID/topics/PUBSUB_TOPIC2', 'filter': 'FILTER2' }, ], 'labels': { 'KEY1':'VALUE1', 'KEY2':'VALUE2' } }
如需发送请求,请选择以下方式之一:
curl
将请求正文保存在名为 request.json
的文件中。在终端中运行以下命令,在当前目录中创建或覆盖此文件:
cat > request.json << 'EOF' { 'notificationConfigs': [ { 'pubsubTopic': 'projects/PROJECT_ID/topics/PUBSUB_TOPIC1', 'filter' : 'FILTER1' }, { 'pubsubTopic': 'projects/PROJECT_ID/topics/PUBSUB_TOPIC2', 'filter': 'FILTER2' }, ], 'labels': { 'KEY1':'VALUE1', 'KEY2':'VALUE2' } } EOF
然后,执行以下命令以发送 REST 请求:
curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID?updateMask=notificationConfigs,labels"
PowerShell
将请求正文保存在名为 request.json
的文件中。在终端中运行以下命令,在当前目录中创建或覆盖此文件:
@' { 'notificationConfigs': [ { 'pubsubTopic': 'projects/PROJECT_ID/topics/PUBSUB_TOPIC1', 'filter' : 'FILTER1' }, { 'pubsubTopic': 'projects/PROJECT_ID/topics/PUBSUB_TOPIC2', 'filter': 'FILTER2' }, ], 'labels': { 'KEY1':'VALUE1', 'KEY2':'VALUE2' } } '@ | Out-File -FilePath request.json -Encoding utf8
然后,执行以下命令以发送 REST 请求:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method PATCH `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID?updateMask=notificationConfigs,labels" | Select-Object -Expand Content
API Explorer
复制请求正文并打开方法参考页面。API Explorer 面板会在页面右侧打开。您可以与此工具进行交互以发送请求。将请求正文粘贴到此工具中,填写任何其他必填字段,然后点击执行。
您应该收到类似以下内容的 JSON 响应:
Go
Java
Node.js
Python
获取 HL7v2 存储区详情
以下示例展示了如何获取有关 HL7v2 存储区的详细信息。
控制台
如要查看 HL7v2 存储区的详细信息,请执行以下操作:
- 在 Google Cloud 控制台中,转到数据集页面。
- 选择包含您要查看的 HL7v2 存储区的数据集。
- 点击 HL7v2 存储区的名称。
gcloud
如需获取有关 HL7v2 存储区的详细信息,请运行 gcloud healthcare hl7v2-stores describe
命令。
在使用下面的命令数据之前,请先进行以下替换:
- LOCATION:数据集位置
- DATASET_ID:HL7v2 存储区的父数据集
- HL7V2_STORE_ID:HL7v2 存储区 ID
执行以下命令:
Linux、macOS 或 Cloud Shell
gcloud healthcare hl7v2-stores describe HL7V2_STORE_ID \ --dataset=DATASET_ID \ --location=LOCATION
Windows (PowerShell)
gcloud healthcare hl7v2-stores describe HL7V2_STORE_ID ` --dataset=DATASET_ID ` --location=LOCATION
Windows (cmd.exe)
gcloud healthcare hl7v2-stores describe HL7V2_STORE_ID ^ --dataset=DATASET_ID ^ --location=LOCATION
您应该会收到类似如下所示的响应。
如果您在 Hl7V2Store
资源中配置了任何字段,那么这些字段也会显示在响应中。
... name: projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID ...
REST
若要获取有关 HL7v2 存储区的详细信息,请使用 projects.locations.datasets.hl7V2Stores.get
方法。
在使用任何请求数据之前,请先进行以下替换:
- PROJECT_ID:您的 Google Cloud 项目的 ID
- LOCATION:数据集位置
- DATASET_ID:HL7v2 存储区的父数据集
- HL7V2_STORE_ID:HL7v2 存储区 ID
如需发送请求,请选择以下方式之一:
curl
执行以下命令:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID"
PowerShell
执行以下命令:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID" | Select-Object -Expand Content
API Explorer
打开方法参考页面。API Explorer 面板会在页面右侧打开。您可以与此工具进行交互以发送请求。填写所有必填字段,然后点击执行。
您应该会收到类似如下所示的响应。
如果您在 Hl7V2Store
资源中配置了任何字段,那么这些字段也会显示在响应中。
Go
Java
Node.js
Python
在数据集中列出 HL7v2 存储区
以下示例展示了如何列出数据集中的 HL7v2 存储区。
控制台
如需查看数据集中的数据存储区,请执行以下操作:
- 在 Google Cloud 控制台中,转到“数据集”页面。
- 选择包含要查看的数据存储区的数据集。
gcloud
如需列出数据集中的 HL7v2 存储区,请运行 gcloud healthcare hl7v2-stores list
命令。
在使用下面的命令数据之前,请先进行以下替换:
- LOCATION:数据集位置
- DATASET_ID:HL7v2 存储区的父数据集
执行以下命令:
Linux、macOS 或 Cloud Shell
gcloud healthcare hl7v2-stores list --dataset=DATASET_ID \ --location=LOCATION
Windows (PowerShell)
gcloud healthcare hl7v2-stores list --dataset=DATASET_ID ` --location=LOCATION
Windows (cmd.exe)
gcloud healthcare hl7v2-stores list --dataset=DATASET_ID ^ --location=LOCATION
您应该会收到类似如下所示的响应。
如果您在 Hl7V2Store
资源中配置了任何字段,那么这些字段也会显示在响应中。
ID LOCATION TOPIC HL7V2_STORE_ID LOCATION projects/PROJECT_ID/topics/PUBSUB_TOPIC PUBSUB_TOPIC ...
REST
如要列出数据集中的 HL7v2 存储区,请使用 projects.locations.datasets.hl7V2Stores.list
方法。
在使用任何请求数据之前,请先进行以下替换:
- PROJECT_ID:您的 Google Cloud 项目的 ID
- LOCATION:数据集位置
- DATASET_ID:HL7v2 存储区的父数据集
如需发送请求,请选择以下方式之一:
curl
执行以下命令:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores"
PowerShell
执行以下命令:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores" | Select-Object -Expand Content
API Explorer
打开方法参考页面。API Explorer 面板会在页面右侧打开。您可以与此工具进行交互以发送请求。填写所有必填字段,然后点击执行。
您应该会收到类似如下所示的响应。
如果您在 Hl7V2Store
资源中配置了任何字段,那么这些字段也会显示在响应中。
Go
Java
Node.js
Python
删除 HL7v2 存储区
以下示例展示了如何删除 HL7v2 存储区。
控制台
如需删除数据存储区,请执行以下操作:
- 在 Google Cloud 控制台中,转到数据集页面。
- 选择包含您要删除的数据存储区的数据集。
- 从要删除的数据存储区的操作下拉列表中选择删除。
- 输入数据存储区名称,然后点击删除以确认删除。
gcloud
如需删除 HL7v2 存储区,请运行 gcloud healthcare hl7v2-stores delete
命令。
在使用下面的命令数据之前,请先进行以下替换:
- LOCATION:数据集位置
- DATASET_ID:HL7v2 存储区的父数据集
- HL7V2_STORE_ID:HL7v2 存储区 ID
执行以下命令:
Linux、macOS 或 Cloud Shell
gcloud healthcare hl7v2-stores delete HL7V2_STORE_ID \ --dataset=DATASET_ID \ --location=LOCATION
Windows (PowerShell)
gcloud healthcare hl7v2-stores delete HL7V2_STORE_ID ` --dataset=DATASET_ID ` --location=LOCATION
Windows (cmd.exe)
gcloud healthcare hl7v2-stores delete HL7V2_STORE_ID ^ --dataset=DATASET_ID ^ --location=LOCATION
Deleted hl7v2Store [HL7V2_STORE_ID].
REST
如需删除 HL7v2 存储区,请使用 projects.locations.datasets.hl7V2Stores.delete
方法。
在使用任何请求数据之前,请先进行以下替换:
- PROJECT_ID:您的 Google Cloud 项目的 ID
- LOCATION:数据集位置
- DATASET_ID:HL7v2 存储区的父数据集
- HL7V2_STORE_ID:HL7v2 存储区 ID
如需发送请求,请选择以下方式之一:
curl
执行以下命令:
curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID"
PowerShell
执行以下命令:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method DELETE `
-Headers $headers `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID" | Select-Object -Expand Content
API Explorer
打开方法参考页面。API Explorer 面板会在页面右侧打开。您可以与此工具进行交互以发送请求。填写所有必填字段,然后点击执行。