本页介绍了如何创建、修改、查看和删除 Health Level Seven Version 2.x (HL7v2) 存储区。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 Add label(添加标签)。如需详细了解资源标签,请参阅使用资源标签。
点击创建。系统会显示 Dataset 页面,并且 HL7v2 存储区会显示在 Data stores 表中。
gcloud
如需创建 HL7v2 存储区,请运行 gcloud healthcare hl7v2-stores create
命令。
在使用下面的命令数据之前,请先进行以下替换:
PROJECT_ID
:您的 Google Cloud 项目的 IDLOCATION
:数据集位置DATASET_ID
:HL7v2 存储区的父数据集HL7V2_STORE_ID
:HL7v2 存储区的标识符,应遵循 HL7v2 存储区字符和大小要求
执行以下命令:
Linux、macOS 或 Cloud Shell
gcloud healthcare hl7v2-stores create HL7V2_STORE_ID \ --dataset=DATASET_ID \ --location=LOCATION \ --parser-version=v3
Windows (PowerShell)
gcloud healthcare hl7v2-stores create HL7V2_STORE_ID ` --dataset=DATASET_ID ` --location=LOCATION ` --parser-version=v3
Windows (cmd.exe)
gcloud healthcare hl7v2-stores create HL7V2_STORE_ID ^ --dataset=DATASET_ID ^ --location=LOCATION ^ --parser-version=v3
您应该会收到类似如下所示的响应:
响应
Created hl7V2Store [HL7V2_STORE_ID].
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
复制请求正文并打开方法参考页面。APIs Explorer 面板会在页面右侧打开。您可以与此工具进行交互以发送请求。 将请求正文粘贴到此工具中,填写任何其他必填字段,然后点击执行。
您应该收到类似以下内容的 JSON 响应:
Go
Java
Node.js
Python
使用 Pub/Sub 主题和过滤条件
将 Pub/Sub 和过滤条件与 HL7v2 存储区搭配使用是一种常见的用例,尤其是在通过 TCP/IP 连接传输 HL7v2 消息时。
本页中的部分示例展示了如何配置现有 Pub/Sub 主题,以便 Cloud Healthcare API 向其发送 HL7v2 存储区中的临床事件通知。通过指定现有 Pub/Sub 主题和过滤条件的列表,Cloud Healthcare API 可以向多个主题发送通知,并且您可以使用过滤条件来限制要发送哪些通知。如需详细了解如何配置 Pub/Sub 主题和过滤条件,请参阅 HL7v2 通知和查看 HL7v2 通知。
修改 HL7v2 存储区
以下示例展示了如何修改 Cloud Healthcare API 用于发送 HL7v2 存储区更改通知的 Pub/Sub 主题和过滤条件列表。
其中还展示了如何修改 HL7v2 存储区的标签。
指定 Pub/Sub 主题时,请输入主题的限定 URI,如以下示例所示:projects/PROJECT_ID/topics/PUBSUB_TOPIC
控制台
如需修改 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
复制请求正文并打开方法参考页面。APIs Explorer 面板会在页面右侧打开。您可以与此工具进行交互以发送请求。 将请求正文粘贴到此工具中,填写任何其他必填字段,然后点击执行。
您应该收到类似以下内容的 JSON 响应:
Go
Java
Node.js
Python
获取 HL7v2 存储区详情
以下示例展示了如何获取有关 HL7v2 存储区的详细信息。
控制台
如要查看 HL7v2 存储区的详细信息,请执行以下操作:
- 在 Google Cloud 控制台中,进入数据集页面。
- 选择包含您要查看的 HL7v2 存储区的数据集。
- 点击 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
打开方法参考页面。APIs 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
打开方法参考页面。APIs 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
打开方法参考页面。APIs Explorer 面板会在页面右侧打开。您可以与此工具进行交互以发送请求。 填写所有必填字段,然后点击执行。