本页面介绍了如何创建、修改、查看和删除 Health Level Seven Version 2.x (HL7v2) 存储区。HL7v2 存储区用于存储 HL7v2 消息,这些消息用于在系统之间传输临床数据。
创建 HL7v2 存储区
您需要先创建数据集,然后才能创建 HL7v2 存储区。
以下示例展示了如何创建 HL7v2 存储区。
控制台
如需创建 HL7v2 存储区,请执行以下操作:
- 在控制台中,转到“数据集”页面。
- 选择想要创建 HL7v2 存储区的数据集。
- 点击创建数据存储区。
- 选择 HL7v2 作为数据存储区类型。
- 输入您选择的名称,该名称在您的数据集中必须是独一无二的。如果名称不是唯一的,则创建数据存储区会失败。
- 点击下一步。
- 要允许不含标头的消息,请点击允许 null 消息标头 (MSH)。
- 如需设置自定义细分终止符,请点击设置自定义细分终止符,然后在文本框中输入终止符。
- 如需拒绝与已注入/创建的消息具有相同原始字节的所有消息,请点击拒绝重复消息。
- 点击下一步。
-
如果要为数据存储区配置 Pub/Sub 主题,请点击接收 Cloud Pub/Sub 通知并选择主题名称。指定 Pub/Sub 主题时,请输入主题的限定 URI,如以下示例所示:
projects/PROJECT_ID/topics/PUBSUB_TOPIC
- 点击下一步。
- 如需向存储区添加一个或多个标签,请点击添加标签以整理您的数据存储区,然后输入键值对标签。如需详细了解资源标签,请参阅使用资源标签。
- 点击创建。
新的数据存储区会显示在列表中。
gcloud
如要在数据集中创建 HL7v2 存储区,请运行 gcloud healthcare hl7v2-stores create
命令。
- HL7v2 存储区 ID 在数据集中必须具有唯一性。它可以是 1 到 256 个字符的任意 Unicode 字符串,由数字、字母、下划线、短划线和句点组成。
- 要向 Pub/Sub 主题通知 HL7v2 存储区的更改,请使用
--pubsub-topic
参数指定现有 Pub/Sub 主题名称。
projects/PROJECT_ID/topics/PUBSUB_TOPIC
以下示例展示了如何创建 HL7v2 存储区:
gcloud healthcare hl7v2-stores create HL7V2_STORE_ID \ --dataset=DATASET_ID \ --location=LOCATION
如果请求成功,命令提示符将显示以下内容:
Created hl7v2Store [HL7V2_STORE_ID].
API
如需创建 HL7v2 存储区,请使用 projects.locations.datasets.hl7V2Stores.create
方法。
curl
如要创建 HL7v2 存储区,请发出 POST
请求并指定以下信息:
- 父数据集的名称
- HL7v2 存储区的名称。在其父数据集中,该 HL7v2 存储区名称必须唯一。它可以是 1 到 256 个字符的任意 Unicode 字符串,由数字、字母、下划线、短划线和句点组成。
- 访问令牌
- (可选)Cloud Healthcare API 将向其发送 HL7v2 存储区更改通知的现有 Pub/Sub 主题。如需了解如何配置 Pub/Sub 主题,请参阅修改 HL7v2 存储区。
- (可选)现有 Pub/Sub 主题和过滤条件的列表。Cloud Healthcare API 可以向多个主题发送通知,并且您可以使用过滤条件来限制要发送哪些通知。如需详细了解如何配置 Pub/Sub 主题和过滤条件,请参阅修改 HL7v2 存储区。
以下示例展示了使用 curl
的 POST
请求。
curl -X POST \ --data "" \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores?hl7V2StoreId=HL7V2_STORE_ID"
如果请求成功,服务器将以 JSON 格式返回响应:
{ "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID" }
PowerShell
如要创建 HL7v2 存储区,请发出 POST
请求并指定以下信息:
- 父数据集的名称
- HL7v2 存储区的名称。在其父数据集中,该 HL7v2 存储区名称必须唯一。它可以是 1 到 256 个字符的任意 Unicode 字符串,由数字、字母、下划线、短划线和句点组成。
- 访问令牌
- (可选)Cloud Healthcare API 将向其发送 HL7v2 存储区更改通知的现有 Pub/Sub 主题。如需了解如何配置 Pub/Sub 主题,请参阅修改 HL7v2 存储区。
- (可选)现有 Pub/Sub 主题和过滤条件的列表。Cloud Healthcare API 可以向多个主题发送通知,并且您可以使用过滤条件来限制要发送哪些通知。如需详细了解如何配置 Pub/Sub 主题和过滤条件,请参阅修改 HL7v2 存储区。
以下示例展示了使用 Windows PowerShell 的 POST
请求。
$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } Invoke-WebRequest ` -Method Post ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores?hl7V2StoreId=HL7V2_STORE_ID" | Select-Object -Expand Content
如果请求成功,服务器将以 JSON 格式返回响应:
{ "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID" }
Go
Java
Node.js
Python
修改 HL7v2 存储区
以下示例展示了如何对 HL7v2 存储区进行以下更改:
指定 Pub/Sub 主题时,请输入主题的限定 URI,如以下示例所示:projects/PROJECT_ID/topics/PUBSUB_TOPIC要使通知正常工作,必须向 Cloud Healthcare Service Agent 服务帐号授予其他权限。如需了解详情,请参阅 DICOM、FHIR 和 HL7v2 存储区 Pub/Sub 权限。
控制台
如需修改 HL7v2 存储区,请完成以下步骤:
- 在控制台中,转到数据集页面。
- 选择包含您要修改的 HL7v2 存储区的数据集。
- 在数据存储区列表中,点击要修改的数据存储区。
- 如需修改 HL7v2 存储区的配置,请点击 HL7v2 存储区配置。
如需详细了解 HL7v2 存储区的配置选项,请参阅创建 HL7v2 存储区。 - 如果要为数据存储区配置 Pub/Sub 主题,请点击添加 Pub/Sub 主题并选择主题名称。指定 Pub/Sub 主题时,请输入主题的限定 URI,如以下示例所示:
projects/PROJECT_ID/topics/PUBSUB_TOPIC
- 如果您已添加 Pub/Sub 主题,请点击完成。
- 要为存储区添加一个或多个标签,请点击标签旁边的修改图标,接着点击添加标签,然后输入键值对标签。如需详细了解资源标签,请参阅使用资源标签。
- 如果您已添加标签,请点击保存。
gcloud
gcloud CLI 不支持修改 Pub/Sub 主题或标签。请改用 curl
、Windows PowerShell 或您的首选语言。
API
如要修改 HL7v2 存储区,请使用 projects.locations.datasets.hl7V2Stores.patch
方法。
curl
如要修改 HL7v2 存储区,请发出 PATCH
请求并指定以下信息:
- 父数据集的名称
- HL7v2 存储区的名称
要更新的元数据。此示例包括 Pub/Sub 主题的合格 URI、这些主题的过滤条件,以及一组定义为以逗号分隔的键值对列表的标签。
如需查看有效过滤条件值的示例,请参阅
filter
。更新掩码
访问令牌
以下示例展示了使用 curl
的 PATCH
请求。
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ --data "{ 'notificationConfigs': [ { 'pubsubTopic': 'projects/PROJECT_ID/topics/PUBSUB_TOPIC1', 'filter' : 'FILTER1' }, { 'pubsubTopic': 'projects/PROJECT_ID/topics/PUBSUB_TOPIC2', 'filter': 'FILTER2' }, ], 'labels': { 'KEY1':'VALUE1','KEY2':'VALUE2' } }" "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID?updateMask=notificationConfigs,labels"
如需详细了解如何定义过滤条件和过滤条件语法,请参阅 Hl7V2NotificationConfig
。
如果请求成功,服务器将以 JSON 格式返回响应:
{ "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID", "parserConfig": {}, "labels": { "KEY1": "VALUE1", "KEY2": "VALUE2" }, "notificationConfigs": [ { "pubsubTopic": "projects/PROJECT_ID/topics/PUBSUB_TOPIC1", "filter": "FILTER1" }, { "pubsubTopic": "projects/PROJECT_ID/topics/PUBSUB_TOPIC2", "filter": "FILTER2" } ] }
PowerShell
如要修改 HL7v2 存储区,请发出 PATCH
请求并指定以下信息:
- 父数据集的名称
- HL7v2 存储区的名称
要更新的元数据。此示例包括 Pub/Sub 主题的合格 URI、这些主题的过滤条件,以及一组定义为以逗号分隔的键值对列表的标签。
如需查看有效过滤条件值的示例,请参阅
filter
。更新掩码
访问令牌
以下示例展示了使用 Windows PowerShell 的 PATCH
请求。
$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } Invoke-WebRequest ` -Method Patch ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -Body "{ 'notificationConfigs': [ { 'pubsubTopic': 'projects/PROJECT_ID/topics/PUBSUB_TOPIC1', 'filter': 'FILTER1' }, { 'pubsubTopic': 'projects/PROJECT_ID/topics/PUBSUB_TOPIC2', 'filter': 'FILTER2' }, ], 'labels': { 'KEY1':'VALUE1','KEY2':'VALUE2' } }" ` -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
如果请求成功,服务器将以 JSON 格式返回响应:
{ "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID", "parserConfig": {}, "labels": { "KEY1": "VALUE1", "KEY2": "VALUE2" }, "notificationConfigs": [ { "pubsubTopic": "projects/PROJECT_ID/topics/PUBSUB_TOPIC1", "filter": "FILTER1" }, { "pubsubTopic": "projects/PROJECT_ID/topics/PUBSUB_TOPIC2", "filter": "FILTER2" } ] }
Go
Java
Node.js
Python
获取 HL7v2 存储区详情
以下示例展示了如何获取有关 HL7v2 存储区的详细信息。
控制台
如要查看 HL7v2 存储区的详细信息,请执行以下操作:
- 在控制台中,转到数据集页面。
- 选择包含您要查看的 HL7v2 存储区的数据集。
- 点击 HL7v2 存储区的名称。
gcloud
如要查看有关 HL7v2 存储区的详细信息,请运行 gcloud healthcare hl7v2-stores describe
命令。
以下示例展示了如何获取有关 HL7v2 存储区的详细信息。
gcloud healthcare hl7v2-stores describe HL7V2_STORE_ID \ --dataset=DATASET_ID \ --location=LOCATION
如果请求成功,命令提示符将显示 HL7v2 存储区详情:
name: projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7v2-stores/HL7V2_STORE_ID
API
如需获取有关 HL7v2 存储区的详细信息,请使用 projects.locations.datasets.hl7V2Stores.get
方法。
curl
如要获取有关 HL7v2 存储区的详细信息,请发出 GET
请求并指定以下信息:
- 父数据集的名称
- HL7v2 存储区的名称
- 访问令牌
以下示例展示了使用 curl
的 GET
请求。
curl -X GET \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID"
如果请求成功,服务器将以 JSON 格式返回响应:
{ "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID" }
如果您在 Hl7V2Store
资源中配置了任何字段,它们也会出现在响应中。
PowerShell
如要获取有关 HL7v2 存储区的详细信息,请发出 GET
请求并指定以下信息:
- 父数据集的名称
- HL7v2 存储区的名称
- 访问令牌
以下示例展示了使用 Windows PowerShell 的 GET
请求。
$cred = gcloud auth application-default 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
如果请求成功,服务器将以 JSON 格式返回响应:
{ "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID" }
如果您在 Hl7V2Store
资源中配置了任何字段,它们也会出现在响应中。
Go
Java
Node.js
Python
在数据集中列出 HL7v2 存储区
以下示例展示了如何列出数据集中的 HL7v2 存储区。
控制台
如需查看数据集中的数据存储区,请执行以下操作:
- 在控制台中,转到“数据集”页面。
- 点击要查看其数据存储的数据集的 ID。
gcloud
如要列出数据集中的 HL7v2 存储区,请运行 gcloud healthcare hl7v2-stores list
命令。
gcloud healthcare hl7v2-stores list --dataset=DATASET_ID
如果请求成功,命令提示符将列出 HL7v2 存储区:
ID LOCATION TOPIC HL7V2_STORE_ID LOCATION projects/PROJECT_ID/topics/PUBSUB_TOPIC
API
如要列出数据集中的 HL7v2 存储区,请使用 projects.locations.datasets.hl7V2Stores.list
方法。
curl
如需列出数据集中的 HL7v2 存储区,请发出 GET
请求并指定以下信息:
- 父数据集的名称
- 访问令牌
以下示例展示了使用 curl
的 GET
请求。
curl -X GET \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores"
如果请求成功,服务器将以 JSON 格式返回响应:
{ "hl7V2Stores": [ { "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID" }, { ... } ] }
如果您在 Hl7V2Store
资源中配置了任何字段,它们也会出现在响应中。
PowerShell
如需列出数据集中的 HL7v2 存储区,请发出 GET
请求并指定以下信息:
- 父数据集的名称
- 访问令牌
以下示例展示了使用 Windows PowerShell 的 GET
请求。
$cred = gcloud auth application-default 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
如果请求成功,服务器将以 JSON 格式返回响应:
{ "hl7V2Stores": [ { "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID" }, { ... } ] }
如果您在 Hl7V2Store
资源中配置了任何字段,它们也会出现在响应中。
Go
Java
Node.js
Python
删除 HL7v2 存储区
以下示例展示了如何删除 HL7v2 存储区。
控制台
如需删除数据存储区,请执行以下操作:
- 在控制台中,转到数据集页面。
- 选择包含您要删除的数据存储区的数据集。
- 从要删除的数据存储区的操作下拉列表中选择删除。
- 输入数据存储区名称,然后点击删除以确认删除。
gcloud
如要删除 HL7v2 存储区,请运行 gcloud healthcare hl7v2-stores delete
命令:
运行
delete
命令。gcloud healthcare hl7v2-stores delete HL7V2_STORE_ID \ --dataset=DATASET_ID \ --location=LOCATION
要确认,请键入 Y。
如果请求成功,命令提示符将显示以下内容:
Deleted hl7v2Store [HL7V2_STORE_ID]
API
如要删除 HL7v2 存储区,请使用 projects.locations.datasets.hl7V2Stores.delete
方法。
curl
如要删除 HL7v2 存储区,请发出 DELETE
请求并指定以下信息:
- 父数据集的名称
- 要删除的 HL7v2 存储区的名称
- 访问令牌
以下示例展示了使用 curl
的 DELETE
请求。
curl -X DELETE \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID"
如果请求成功,服务器将以 JSON 格式返回空白正文响应:
{}
PowerShell
如要删除 HL7v2 存储区,请发出 DELETE
请求并指定以下信息:
- 父数据集的名称
- 要删除的 HL7v2 存储区的名称
- 访问令牌
以下示例展示了使用 Windows PowerShell 的 DELETE
请求。
$cred = gcloud auth application-default 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
如果请求成功,服务器将以 JSON 格式返回空响应正文:
{}