使用 Google Cloud CLI 存储医疗保健数据
本页面介绍如何使用 Cloud Healthcare API 和 Google Cloud CLI 来完成以下任务:
- 创建 Cloud Healthcare API 数据集。
- 在数据集内创建以下数据存储区之一:
- 医学数字图像和通信 (DICOM) 存储区
- 快速医疗互操作性资源 (FHIR) 存储区
- Health Level Seven International 版本 2 (HL7v2) 存储区
- 存储 DICOM、FHIR 和 HL7v2 数据,并查看 DICOM 元数据。
准备工作
- 登录您的 Google Cloud 帐号。如果您是 Google Cloud 新手,请创建一个帐号来评估我们的产品在实际场景中的表现。新客户还可获享 $300 赠金,用于运行、测试和部署工作负载。
-
在 Google Cloud Console 中的项目选择器页面上,选择或创建一个 Google Cloud 项目。
-
确保您的 Cloud 项目已启用结算功能。了解如何检查项目是否已启用结算功能。
-
启用所需的 API。
-
在 Google Cloud Console 中的项目选择器页面上,选择或创建一个 Google Cloud 项目。
-
确保您的 Cloud 项目已启用结算功能。了解如何检查项目是否已启用结算功能。
-
启用所需的 API。
-
启用 Cloud Healthcare API。
根据您使用 Google Cloud CLI 的方式,完成以下任一步骤:
如果您使用的是 Cloud Shell,请转到 Google Cloud Console,然后点击控制台窗口中的激活 Cloud Shell 按钮。
一个 Cloud Shell 会话随即会在控制台中的新框架内打开,并显示命令行提示符。该 Shell 会话可能需要几分钟的时间来进行初始化。
如果您使用的是 Compute Engine 虚拟机,请打开虚拟机的终端窗口。
如果您要在计算机上使用 gcloud CLI,请安装并初始化 gcloud CLI。
创建数据集
数据集包含数据存储区,数据存储区包含医疗保健数据。 要使用 Cloud Healthcare API,您必须至少创建一个数据集。
使用 gcloud healthcare datasets create
命令创建数据集:
gcloud healthcare datasets create my-dataset \ --location=us-central1 \ --project=PROJECT_ID
将 PROJECT_ID 替换为您在准备工作中创建或选择的 Google Cloud 项目的 ID。
输出如下所示:
Created dataset [my-dataset].
如需完成本快速入门,请从以下部分中选择一个:
存储和查看 DICOM 实例
本部分介绍了如何完成以下任务:
- 创建 DICOM 存储区。
- 将 DICOM 实例从 Cloud Storage 导入 DICOM 存储区。
- 查看 DICOM 实例的元数据。
Cloud Healthcare API 实现了 DICOMweb 标准,用于存储和访问医学成像数据。
创建 DICOM 存储区
DICOM 存储区位于数据集内,包含 DICOM 实例。
使用 gcloud healthcare dicom-stores create
命令创建 DICOM 存储区:
gcloud healthcare dicom-stores create my-dicom-store \ --dataset=my-dataset \ --location=us-central1
输出如下所示:
Created dicomStore [my-dicom-store].
导入 DICOM 实例
使用 gcloud healthcare dicom-stores import
命令导入 gs://gcs-public-data--healthcare-nih-chest-xray/dicom/00000001_000.dcm
DICOM 实例:
gcloud healthcare dicom-stores import gcs my-dicom-store \ --dataset=my-dataset \ --location=us-central1 \ --gcs-uri=gs://gcs-public-data--healthcare-nih-chest-xray/dicom/00000001_000.dcm
输出如下所示:
Request issued for: [my-dicom-store] Waiting for operation [projects/PROJECT_ID/locations/us-central1/datasets/my-dataset/operations/OPERATION_ID] to complete...done. name: projects/PROJECT_ID/locations/us-central1/datasets/my-dataset
在此输出中:
- PROJECT_ID、
us-central1
、my-dataset
:运行命令时提供的值 - OPERATION_ID:Cloud Healthcare API 提供的长时间运行的操作的标识符
查看 DICOM 实例元数据
gcloud CLI 不支持 DICOMweb 事务,例如查看或检索实例。您可以改用 Google 的 DICOMweb 命令行工具。DICOMweb 命令行工具使用 Python 运行。如需了解如何在 Google Cloud 上设置 Python,请参阅设置 Python 开发环境。
查看 DICOM 实例元数据:
设置 Python 之后,使用 Pip 安装 DICOMweb 命令行工具:
pip install https://github.com/GoogleCloudPlatform/healthcare-api-dicomweb-cli/archive/v1.0.zip
更新
PATH
变量以包括dcmweb
安装位置:export PATH="$HOME/bin:$PATH"
查看 DICOM 实例的元数据:
dcmweb \ https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/datasets/my-dataset/dicomStores/my-dicom-store/dicomWeb \ search instances
将 PROJECT_ID 替换为您在准备工作中创建或选择的 Google Cloud 项目的 ID。
输出如下所示:
[ { "00080016": { "Value": [ "1.2.840.10008.5.1.4.1.1.7" ], "vr": "UI" }, "00080018": { "Value": [ "1.3.6.1.4.1.11129.5.5.153751009835107614666834563294684339746480" ], "vr": "UI" }, "00080060": { "Value": [ "DX" ], "vr": "CS" }, "00100020": { "Value": [ "1" ], "vr": "LO" }, "00100040": { "Value": [ "M" ], "vr": "CS" }, "0020000D": { "Value": [ "1.3.6.1.4.1.11129.5.5.111396399361969898205364400549799252857604" ], "vr": "UI" }, "0020000E": { "Value": [ "1.3.6.1.4.1.11129.5.5.195628213694300498946760767481291263511724" ], "vr": "UI" }, "00280010": { "Value": [ 1024 ], "vr": "US" }, "00280011": { "Value": [ 1024 ], "vr": "US" }, "00280100": { "Value": [ 8 ], "vr": "US" } } ]
现在,您已将 DICOM 实例导入 Cloud Healthcare API 并查看其元数据,请继续清理,以避免因本此页面中使用的资源导致您的 Google Cloud 帐号产生费用。
如需了解后续步骤(例如如何搜索或检索 DICOM 映像),请参阅后续步骤。
存储 FHIR 资源
本部分介绍了如何完成以下任务:
- 创建 FHIR 存储区。
- 将 FHIR 资源从 Cloud Storage 存储桶导入 FHIR 存储区。
创建 FHIR 存储区
FHIR 存储区位于数据集内,包含 FHIR 资源。
使用 gcloud healthcare fhir-stores create
命令创建 FHIR 存储区:
gcloud healthcare fhir-stores create my-fhir-store \ --dataset=my-dataset \ --location=us-central1 \ --version=R4
输出如下所示:
Created fhirStore [my-fhir-store].
导入 FHIR 资源
使用 gcloud healthcare fhir-stores import
命令将 gs://gcp-public-data--synthea-fhir-data-10-patients
存储桶中的 FHIR 资源导入 FHIR 存储区:
gcloud healthcare fhir-stores import gcs my-fhir-store \ --dataset=my-dataset \ --location=us-central1 \ --gcs-uri=gs://gcp-public-data--synthea-fhir-data-10-patients/fhir_r4_ndjson/*.ndjson \ --content-structure=RESOURCE
输出如下所示:
Request issued for: [my-fhir-store] Waiting for operation [projects/PROJECT_ID/locations/us-central1/datasets/my-dataset/operations/OPERATION_ID] to complete...done. name: projects/PROJECT_ID/locations/us-central1/datasets/my-dataset version: R4
在此输出中:
- PROJECT_ID、
us-central1
、my-dataset
:运行命令时提供的值 - OPERATION_ID:Cloud Healthcare API 提供的长时间运行的操作的标识符
现在,您已将 FHIR 资源导入 Cloud Healthcare API,请继续清理,以避免因本页面中使用的资源导致您的 Google Cloud 帐号产生费用。
如需了解后续步骤(例如如何查看和搜索 FHIR 资源),请参阅后续步骤。
存储 HL7v2 消息
本部分介绍了如何完成以下任务:
- 创建 HL7v2 存储区
- 创建 Cloud Storage 存储分区并将 HL7v2 消息复制到其中。
- 将 Cloud Storage 存储桶中的 HL7v2 消息导入 HL7v2 存储区。
Cloud Healthcare API 中的 HL7v2 实现符合 HL7v2 标准。
创建 HL7v2 存储区
HL7v2 存储区位于数据集内,其中包含 HL7v2 消息。
使用 gcloud healthcare hl7v2-stores create
命令创建 HL7v2 存储区:
gcloud healthcare hl7v2-stores create my-hl7v2-store \ --dataset=my-dataset \ --location=us-central1
输出如下所示:
Created hl7v2Store [my-hl7v2-store].
导入 HL7v2 消息
使用 gcloud healthcare hl7v2-stores import
命令将 gs://cloud-samples-data/healthcare/hl7v2/messages.ndjson 中的 HL7v2 消息导入您的 HL7v2 存储区:
gcloud beta healthcare hl7v2-stores import gcs my-hl7v2-store \ --dataset=my-dataset \ --location=us-central1 \ --gcs-uri=gs://cloud-samples-data/healthcare/hl7v2/messages.ndjson
输出如下所示:
Request issued for: [my-hl7v2-store] Waiting for operation [projects/PROJECT_ID/locations/us-central1/datasets/my-dataset/operations/OPERATION_ID] to complete...done. name: projects/PROJECT_ID/locations/us-central1/datasets/my-dataset/hl7V2Stores/my-hl7v2-store
在此输出中:
- PROJECT_ID、
us-central1
、my-dataset
、my-hl7v2-store
:运行命令时您提供的值 - OPERATION_ID:Cloud Healthcare API 提供的长时间运行的操作的标识符
现在,您已将 HL7v2 消息导入 Cloud Healthcare API,接下来请继续清理,以避免因本页面中使用的资源导致您的 Google Cloud 帐号产生费用。
如需了解后续步骤(例如如何查看 HL7v2 消息的内容),请参阅后续步骤。
清理
为避免因本页中使用的资源导致您的 Google Cloud 帐号产生费用,请按照以下步骤操作。
如果您为此快速入门创建了新项目,请按照删除项目中的步骤操作。否则,请按照删除数据集中的步骤操作。
删除项目
- 在控制台中,打开管理资源页面。
- 在项目列表中,选择要删除的项目,然后点击删除。
- 在对话框中输入项目 ID,然后点击关闭以删除项目。
删除数据集
如果您不再需要在本快速入门中创建的数据集,可以将其删除。删除数据集会永久删除该数据集以及其中包含的任何 FHIR、HL7v2 或 DICOM 存储区。
如需删除数据集,请使用
gcloud healthcare datasets delete
命令:gcloud healthcare datasets delete my-dataset \ --location=us-central1 \ --project=PROJECT_ID
将 PROJECT_ID 替换为您在准备工作中创建或选择的 Google Cloud 项目的 ID。
要确认,请键入 Y。
输出如下所示:
Deleted dataset [my-dataset].
结果怎么样?
后续步骤
请参阅以下部分,了解 Cloud Healthcare API 的一般信息,以及如何使用控制台或 curl
和 Windows PowerShell 执行任务。
- 查看 Cloud Healthcare API 命令的 gcloud CLI 参考文档
- 阅读 Cloud Healthcare API 概念概览
- 将 Cloud Healthcare API 与
curl
和 Windows PowerShell 搭配使用 - 在 Google Cloud Console 中使用 Cloud Healthcare API
DICOM
继续阅读 DICOM 指南,了解相关主题(例如以下主题):
如需了解 Cloud Healthcare API 如何实现 DICOMweb 标准,请参阅 DICOM 一致性声明。
FHIR
继续阅读 FHIR 指南,了解相关主题,例如:
如需了解 Cloud Healthcare API 如何实现 FHIR 标准,请参阅 FHIR 一致性声明。
HL7v2
继续阅读 HL7v2 指南,了解相关主题,例如: