快速入门:使用 Google Cloud CLI 存储医疗保健数据

使用 Google Cloud CLI 存储医疗保健数据

本页面介绍如何使用 Cloud Healthcare API 和 Google Cloud CLI 来完成以下任务:

  1. 创建 Cloud Healthcare API 数据集。
  2. 在数据集内创建以下数据存储区之一:
    • 医学数字图像和通信 (DICOM) 存储区
    • 快速医疗互操作性资源 (FHIR) 存储区
    • Health Level Seven International 版本 2 (HL7v2) 存储区
  3. 存储 DICOM、FHIR 和 HL7v2 数据,并查看 DICOM 元数据。

如果您只想使用一种数据存储区,则可在完成准备工作以及创建数据集中的步骤后,直接跳到快速入门的相应部分。

准备工作

  1. 登录您的 Google Cloud 帐号。如果您是 Google Cloud 新手,请创建一个帐号来评估我们的产品在实际场景中的表现。新客户还可获享 $300 赠金,用于运行、测试和部署工作负载。
  2. 在 Google Cloud Console 中的项目选择器页面上,选择或创建一个 Google Cloud 项目

    转到“项目选择器”

  3. 确保您的 Cloud 项目已启用结算功能。了解如何检查项目是否已启用结算功能

  4. 启用所需的 API。

    启用 API

  5. 在 Google Cloud Console 中的项目选择器页面上,选择或创建一个 Google Cloud 项目

    转到“项目选择器”

  6. 确保您的 Cloud 项目已启用结算功能。了解如何检查项目是否已启用结算功能

  7. 启用所需的 API。

    启用 API

  8. 启用 Cloud Healthcare API。

    启用 API

根据您使用 Google Cloud CLI 的方式,完成以下任一步骤:

  • 如果您使用的是 Cloud Shell,请转到 Google Cloud Console,然后点击控制台窗口中的激活 Cloud Shell 按钮。

    转到 Google Cloud Console

    一个 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 实例

本部分介绍了如何完成以下任务:

  1. 创建 DICOM 存储区。
  2. 将 DICOM 实例从 Cloud Storage 导入 DICOM 存储区。
  3. 查看 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_IDus-central1my-dataset:运行命令时提供的值
  • OPERATION_ID:Cloud Healthcare API 提供的长时间运行的操作的标识符

查看 DICOM 实例元数据

gcloud CLI 不支持 DICOMweb 事务,例如查看或检索实例。您可以改用 Google 的 DICOMweb 命令行工具。DICOMweb 命令行工具使用 Python 运行。如需了解如何在 Google Cloud 上设置 Python,请参阅设置 Python 开发环境

查看 DICOM 实例元数据:

  1. 设置 Python 之后,使用 Pip 安装 DICOMweb 命令行工具:

    pip install https://github.com/GoogleCloudPlatform/healthcare-api-dicomweb-cli/archive/v1.0.zip
    
  2. 更新 PATH 变量以包括 dcmweb 安装位置:

    export PATH="$HOME/bin:$PATH"
    
  3. 查看 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 资源

本部分介绍了如何完成以下任务:

  1. 创建 FHIR 存储区。
  2. 将 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_IDus-central1my-dataset:运行命令时提供的值
  • OPERATION_ID:Cloud Healthcare API 提供的长时间运行的操作的标识符

现在,您已将 FHIR 资源导入 Cloud Healthcare API,请继续清理,以避免因本页面中使用的资源导致您的 Google Cloud 帐号产生费用。

如需了解后续步骤(例如如何查看和搜索 FHIR 资源),请参阅后续步骤

存储 HL7v2 消息

本部分介绍了如何完成以下任务:

  1. 创建 HL7v2 存储区
  2. 创建 Cloud Storage 存储分区并将 HL7v2 消息复制到其中。
  3. 将 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_IDus-central1my-datasetmy-hl7v2-store:运行命令时您提供的值
  • OPERATION_ID:Cloud Healthcare API 提供的长时间运行的操作的标识符

现在,您已将 HL7v2 消息导入 Cloud Healthcare API,接下来请继续清理,以避免因本页面中使用的资源导致您的 Google Cloud 帐号产生费用。

如需了解后续步骤(例如如何查看 HL7v2 消息的内容),请参阅后续步骤

清理

为避免因本页中使用的资源导致您的 Google Cloud 帐号产生费用,请按照以下步骤操作。

如果您为此快速入门创建了新项目,请按照删除项目中的步骤操作。否则,请按照删除数据集中的步骤操作。

删除项目

  1. 在控制台中,打开管理资源页面。

    打开“管理资源”

  2. 在项目列表中,选择要删除的项目,然后点击删除
  3. 在对话框中输入项目 ID,然后点击关闭以删除项目。

删除数据集

如果您不再需要在本快速入门中创建的数据集,可以将其删除。删除数据集会永久删除该数据集以及其中包含的任何 FHIR、HL7v2 或 DICOM 存储区。

  1. 如需删除数据集,请使用 gcloud healthcare datasets delete 命令:

    gcloud healthcare datasets delete my-dataset \
    --location=us-central1 \
    --project=PROJECT_ID
    

    PROJECT_ID 替换为您在准备工作中创建或选择的 Google Cloud 项目的 ID。

  2. 要确认,请键入 Y

输出如下所示:

Deleted dataset [my-dataset].

结果怎么样?

后续步骤

请参阅以下部分,了解 Cloud Healthcare API 的一般信息,以及如何使用控制台或 curl 和 Windows PowerShell 执行任务。

DICOM

继续阅读 DICOM 指南,了解相关主题(例如以下主题):

如需了解 Cloud Healthcare API 如何实现 DICOMweb 标准,请参阅 DICOM 一致性声明

FHIR

继续阅读 FHIR 指南,了解相关主题,例如:

如需了解 Cloud Healthcare API 如何实现 FHIR 标准,请参阅 FHIR 一致性声明

HL7v2

继续阅读 HL7v2 指南,了解相关主题,例如: