Almacena datos de atención médica con Google Cloud CLI

En esta página, se muestra cómo usar la API de Cloud Healthcare y Google Cloud CLI para completar las siguientes tareas:

  1. Crear un conjunto de datos de la API de Cloud Healthcare
  2. Crear uno de los siguientes almacenes de datos dentro del conjunto de datos:
    • Almacén de Imágenes y comunicaciones digitales en medicina (DICOM)
    • Almacén de recursos de interoperabilidad de atención médica rápida (FHIR)
    • Almacén Health Level Seven International, versión 2 (HL7v2)
  3. Almacena datos de DICOM, FHIR y HL7v2 y visualiza metadatos de DICOM.

Si solo te interesa trabajar con un tipo de almacén de datos, puedes pasar directamente a esa sección de la guía de inicio rápido una vez que completes los pasos de la sección Antes de comenzar y Crear un conjunto de datos.

Antes de comenzar

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. Install the Google Cloud CLI.
  3. To initialize the gcloud CLI, run the following command:

    gcloud init
  4. Create or select a Google Cloud project.

    • Create a Google Cloud project:

      gcloud projects create PROJECT_ID

      Replace PROJECT_ID with a name for the Google Cloud project you are creating.

    • Select the Google Cloud project that you created:

      gcloud config set project PROJECT_ID

      Replace PROJECT_ID with your Google Cloud project name.

  5. Make sure that billing is enabled for your Google Cloud project.

  6. Enable the Cloud Healthcare API:

    gcloud services enable healthcare.googleapis.com
  7. Grant roles to your user account. Run the following command once for each of the following IAM roles: roles/healthcare.datasetAdmin, roles/healthcare.fhirStoreAdmin, roles/healthcare.dicomStoreAdmin, roles/healthcare.hl7V2StoreAdmin

    gcloud projects add-iam-policy-binding PROJECT_ID --member="USER_IDENTIFIER" --role=ROLE
    • Replace PROJECT_ID with your project ID.
    • Replace USER_IDENTIFIER with the identifier for your user account. For example, user:myemail@example.com.

    • Replace ROLE with each individual role.
  8. Install the Google Cloud CLI.
  9. To initialize the gcloud CLI, run the following command:

    gcloud init
  10. Create or select a Google Cloud project.

    • Create a Google Cloud project:

      gcloud projects create PROJECT_ID

      Replace PROJECT_ID with a name for the Google Cloud project you are creating.

    • Select the Google Cloud project that you created:

      gcloud config set project PROJECT_ID

      Replace PROJECT_ID with your Google Cloud project name.

  11. Make sure that billing is enabled for your Google Cloud project.

  12. Enable the Cloud Healthcare API:

    gcloud services enable healthcare.googleapis.com
  13. Grant roles to your user account. Run the following command once for each of the following IAM roles: roles/healthcare.datasetAdmin, roles/healthcare.fhirStoreAdmin, roles/healthcare.dicomStoreAdmin, roles/healthcare.hl7V2StoreAdmin

    gcloud projects add-iam-policy-binding PROJECT_ID --member="USER_IDENTIFIER" --role=ROLE
    • Replace PROJECT_ID with your project ID.
    • Replace USER_IDENTIFIER with the identifier for your user account. For example, user:myemail@example.com.

    • Replace ROLE with each individual role.

Cree un conjunto de datos

Los conjuntos de datos contienen almacenes de datos y estos contienen datos de atención médica. Para usar la API de Cloud Healthcare, debes crear al menos un conjunto de datos.

En el siguiente ejemplo, se muestra cómo crear un conjunto de datos llamado my-dataset en la región us-central1. En esta guía de inicio rápido, usarás el conjunto de datos para crear almacenes de DICOM, FHIR y HL7v2.

gcloud

Crea un conjunto de datos con el comando gcloud healthcare datasets create.

Antes de usar cualquiera de los datos de comando a continuación, realiza los siguientes reemplazos:

  • PROJECT_ID: Es el ID del proyecto de Google Cloud que creaste o seleccionaste en Antes de comenzar

Ejecuta el siguiente comando:

Linux, macOS o Cloud Shell

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

Windows (PowerShell)

gcloud healthcare datasets create my-dataset `
  --project=PROJECT_ID `
  --location=us-central1

Windows (cmd.exe)

gcloud healthcare datasets create my-dataset ^
  --project=PROJECT_ID ^
  --location=us-central1

Deberías recibir una respuesta similar a la que figura a continuación:

Respuesta

Create request issued for: [my-dataset]
Created dataset [my-dataset].

Para completar esta guía de inicio rápido, elige una de las siguientes secciones:

Almacena y visualiza una instancia de DICOM

En esta sección, se muestra cómo completar las siguientes tareas:

  1. Crea un almacén de DICOM.
  2. Importa una instancia de DICOM desde un bucket público de Cloud Storage al almacén de DICOM.
  3. Ver los metadatos de la instancia de DICOM.

La API de Cloud Healthcare implementa el estándar DICOMweb para almacenar y acceder a datos de imágenes médicas.

Crea una tienda de DICOM

Los almacenes de DICOM existen dentro de conjuntos de datos y contienen instancias de DICOM. En el siguiente ejemplo, se muestra cómo crear un almacén de DICOM llamado my-dicom-store.

gcloud

Crea un almacén de DICOM con el comando gcloud healthcare dicom-stores create.

Antes de usar cualquiera de los datos de comando a continuación, realiza los siguientes reemplazos:

  • PROJECT_ID: Es el ID del proyecto de Google Cloud que creaste o seleccionaste en Antes de comenzar

Ejecuta el siguiente comando:

Linux, macOS o Cloud Shell

gcloud healthcare dicom-stores create my-dicom-store \
  --project=PROJECT_ID \
  --dataset=my-dataset \
  --location=us-central1

Windows (PowerShell)

gcloud healthcare dicom-stores create my-dicom-store `
  --project=PROJECT_ID `
  --dataset=my-dataset `
  --location=us-central1

Windows (cmd.exe)

gcloud healthcare dicom-stores create my-dicom-store ^
  --project=PROJECT_ID ^
  --dataset=my-dataset ^
  --location=us-central1

Deberías recibir una respuesta similar a la que figura a continuación:

Respuesta

Created dicomStore [my-dicom-store].

Importa una instancia de DICOM

En el bucket gs://gcs-public-data--healthcare-nih-chest-xray de Cloud Storage hay datos de DICOM de muestra disponibles.

gcloud

Importa la instancia gs://gcs-public-data--healthcare-nih-chest-xray/dicom/00000001_000.dcm con el comando gcloud healthcare dicom-stores import.

Antes de usar cualquiera de los datos de comando a continuación, realiza los siguientes reemplazos:

  • PROJECT_ID: Es el ID del proyecto de Google Cloud que creaste o seleccionaste en Antes de comenzar

Ejecuta el siguiente comando:

Linux, macOS o Cloud Shell

gcloud healthcare dicom-stores import gcs my-dicom-store \
  --project=PROJECT_ID \
  --dataset=my-dataset \
  --location=us-central1 \
  --gcs-uri=gs://gcs-public-data--healthcare-nih-chest-xray/dicom/00000001_000.dcm

Windows (PowerShell)

gcloud healthcare dicom-stores import gcs my-dicom-store `
  --project=PROJECT_ID `
  --dataset=my-dataset `
  --location=us-central1 `
  --gcs-uri=gs://gcs-public-data--healthcare-nih-chest-xray/dicom/00000001_000.dcm

Windows (cmd.exe)

gcloud healthcare dicom-stores import gcs my-dicom-store ^
  --project=PROJECT_ID ^
  --dataset=my-dataset ^
  --location=us-central1 ^
  --gcs-uri=gs://gcs-public-data--healthcare-nih-chest-xray/dicom/00000001_000.dcm

En este resultado, se ilustra lo siguiente:

  • PROJECT_ID, us-central1, my-dataset, my-dicom-store: Los valores que proporcionaste cuando ejecutaste el comando
  • OPERATION_ID: Es un identificador para la operación de larga duración que proporciona la API de Cloud Healthcare cuando importas una instancia de DICOM. Las operaciones de larga duración se muestran cuando las llamadas a un método pueden tardar mucho tiempo en completarse. Importar una instancia de DICOM suele ser una operación rápida, por lo que el resultado se muestra casi de inmediato.

Respuesta

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/dicomStores/my-dicom-store

Visualiza los metadatos de la instancia de DICOM

Gcloud CLI no admite transacciones de DICOMweb, como la visualización o la recuperación de instancias. En su lugar, puedes usar la herramienta de línea de comandos de DICOMweb de Google, que se ejecuta con Python. Para obtener información sobre cómo configurar Python en Google Cloud, consulta Configura un entorno de desarrollo de Python.

Completa los siguientes pasos para ver los metadatos de la instancia de DICOM con la herramienta de línea de comandos de DICOMweb:

  1. Instala la herramienta de línea de comandos de DICOMweb con Pip:

    pip install https://github.com/GoogleCloudPlatform/healthcare-api-dicomweb-cli/archive/v1.0.zip
    
  2. Actualiza la variable PATH para incluir la ubicación de instalación de dcmweb:

    export PATH="$HOME/bin:$PATH"
    
  3. Visualiza los metadatos de la instancia de DICOM:

    dcmweb \
      https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/datasets/my-dataset/dicomStores/my-dicom-store/dicomWeb \
      search instances

    Reemplaza PROJECT_ID por el ID del proyecto de Google Cloud que creaste o seleccionaste en Antes de comenzar.

    Este es el resultado. Consulta Atributos del módulo común de la SOP para ver los campos del resultado.

    [
      {
        "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"
        }
      }
    ]
    

Después de importar la instancia de DICOM a la API de Cloud Healthcare y ver sus metadatos, continúa con Realiza una limpieza para evitar incurrir en cargos en tu cuenta de Google Cloud por los recursos que se usaron en esta página.

Para obtener información sobre los próximos pasos, como cómo buscar o recuperar imágenes de DICOM con el estándar DICOMweb en la API de Cloud Healthcare, consulta ¿Qué sigue?.

Almacena recursos de FHIR

En esta sección, se muestra cómo completar las siguientes tareas:

  1. Crea un almacén de FHIR.
  2. Importa recursos de FHIR desde un bucket público de Cloud Storage al almacén de FHIR.

Crea una tienda de FHIR

Los almacenes de FHIR existen dentro de los conjuntos de datos y contienen recursos de FHIR. En el siguiente ejemplo, se muestra cómo crear un almacén de FHIR llamado my-fhir-store que use la versión R4 de FHIR.

gcloud

Crea un almacén de FHIR con el comando gcloud healthcare fhir-stores create.

Antes de usar cualquiera de los datos de comando a continuación, realiza los siguientes reemplazos:

  • PROJECT_ID: Es el ID del proyecto de Google Cloud que creaste o seleccionaste en Antes de comenzar

Ejecuta el siguiente comando:

Linux, macOS o Cloud Shell

gcloud healthcare fhir-stores create my-fhir-store \
  --project=PROJECT_ID \
  --dataset=my-dataset \
  --location=us-central1 \
  --version=R4

Windows (PowerShell)

gcloud healthcare fhir-stores create my-fhir-store `
  --project=PROJECT_ID `
  --dataset=my-dataset `
  --location=us-central1 `
  --version=R4

Windows (cmd.exe)

gcloud healthcare fhir-stores create my-fhir-store ^
  --project=PROJECT_ID ^
  --dataset=my-dataset ^
  --location=us-central1 ^
  --version=R4

Deberías recibir una respuesta similar a la que figura a continuación:

Respuesta

Created fhirStore [my-fhir-store].

Importa recursos de FHIR

En el bucket gs://gcp-public-data--synthea-fhir-data-10-patients de Cloud Storage hay datos de FHIR de muestra disponibles.

gcloud

Importa los recursos de FHIR en gs://gcp-public-data--synthea-fhir-data-10-patients con el comando gcloud healthcare fhir-stores import.

Antes de usar cualquiera de los datos de comando a continuación, realiza los siguientes reemplazos:

  • PROJECT_ID: Es el ID del proyecto de Google Cloud que creaste o seleccionaste en Antes de comenzar

Ejecuta el siguiente comando:

Linux, macOS o Cloud Shell

gcloud healthcare fhir-stores import gcs my-fhir-store \
  --project=PROJECT_ID \
  --dataset=my-dataset \
  --location=us-central1 \
  --gcs-uri=gs://gcp-public-data--synthea-fhir-data-10-patients/fhir_r4_ndjson/*.ndjson \
  --content-structure=RESOURCE

Windows (PowerShell)

gcloud healthcare fhir-stores import gcs my-fhir-store `
  --project=PROJECT_ID `
  --dataset=my-dataset `
  --location=us-central1 `
  --gcs-uri=gs://gcp-public-data--synthea-fhir-data-10-patients/fhir_r4_ndjson/*.ndjson `
  --content-structure=RESOURCE

Windows (cmd.exe)

gcloud healthcare fhir-stores import gcs my-fhir-store ^
  --project=PROJECT_ID ^
  --dataset=my-dataset ^
  --location=us-central1 ^
  --gcs-uri=gs://gcp-public-data--synthea-fhir-data-10-patients/fhir_r4_ndjson/*.ndjson ^
  --content-structure=RESOURCE

En este resultado, se ilustra lo siguiente:

  • PROJECT_ID, us-central1, my-dataset, my-fhir-store: Los valores que proporcionaste cuando ejecutaste el comando
  • OPERATION_ID: Es un identificador para la operación de larga duración que proporciona la API de Cloud Healthcare cuando importas un recurso de FHIR. Las operaciones de larga duración se muestran cuando las llamadas a un método pueden tardar mucho tiempo en completarse. La importación de los recursos de FHIR tarda entre uno y dos minutos.
  • R4: La versión del almacén de FHIR

Respuesta

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/fhirStores/my-fhir-store
version: R4

Después de importar los recursos de FHIR a la API de Cloud Healthcare, continúa con Realiza una limpieza para evitar que se generen cargos en tu cuenta de Google Cloud por los recursos que se usaron en esta página.

Para obtener información sobre los siguientes pasos, como cómo ver y buscar recursos de FHIR, consulta ¿Qué sigue?.

Almacena un mensaje de HL7v2

En esta sección, se muestra cómo completar las siguientes tareas:

  1. Crea una tienda de HL7v2
  2. Importa un mensaje HL7v2 de un bucket público de Cloud Storage al almacén de HL7v2.

La implementación de HL7v2 en la API de Cloud Healthcare se alinea con el estándar HL7v2.

Crea una tienda de HL7v2

Los almacenes de HL7v2 existen dentro de los conjuntos de datos y contienen mensajes de HL7v2. En la siguiente muestra, se muestra cómo crear un almacén HL7v2 llamado my-hl7v2-store.

gcloud

Crea un almacén de HL7v2 con el comando gcloud healthcare hl7v2-stores create.

Antes de usar cualquiera de los datos de comando a continuación, realiza los siguientes reemplazos:

  • PROJECT_ID: Es el ID del proyecto de Google Cloud que creaste o seleccionaste en Antes de comenzar

Ejecuta el siguiente comando:

Linux, macOS o Cloud Shell

gcloud healthcare hl7v2-stores create my-hl7v2-store \
  --project=PROJECT_ID \
  --dataset=my-dataset \
  --location=us-central1

Windows (PowerShell)

gcloud healthcare hl7v2-stores create my-hl7v2-store `
  --project=PROJECT_ID `
  --dataset=my-dataset `
  --location=us-central1

Windows (cmd.exe)

gcloud healthcare hl7v2-stores create my-hl7v2-store ^
  --project=PROJECT_ID ^
  --dataset=my-dataset ^
  --location=us-central1

Deberías recibir una respuesta similar a la que figura a continuación:

Respuesta

Created hl7v2Store [my-hl7v2-store].

Importa mensajes de HL7v2

gcloud

Importa el mensaje HL7v2 gs://cloud-samples-data/healthcare/hl7v2/messages.ndjson con el comando gcloud healthcare hl7v2-stores import.

Antes de usar cualquiera de los datos de comando a continuación, realiza los siguientes reemplazos:

  • PROJECT_ID: Es el ID del proyecto de Google Cloud que creaste o seleccionaste en Antes de comenzar

Ejecuta el siguiente comando:

Linux, macOS o Cloud Shell

gcloud healthcare hl7v2-stores import gcs my-hl7v2-store \
  --project=PROJECT_ID \
  --dataset=my-dataset \
  --location=us-central1 \
  --gcs-uri=gs://cloud-samples-data/healthcare/hl7v2/messages.ndjson

Windows (PowerShell)

gcloud healthcare hl7v2-stores import gcs my-hl7v2-store `
  --project=PROJECT_ID `
  --dataset=my-dataset `
  --location=us-central1 `
  --gcs-uri=gs://cloud-samples-data/healthcare/hl7v2/messages.ndjson

Windows (cmd.exe)

gcloud healthcare hl7v2-stores import gcs my-hl7v2-store ^
  --project=PROJECT_ID ^
  --dataset=my-dataset ^
  --location=us-central1 ^
  --gcs-uri=gs://cloud-samples-data/healthcare/hl7v2/messages.ndjson

En este resultado, se ilustra lo siguiente:

  • PROJECT_ID, us-central1, my-dataset, my-hl7v2-store: Los valores que proporcionaste cuando ejecutaste el comando
  • OPERATION_ID: Es un identificador para la operación de larga duración que proporciona la API de Cloud Healthcare cuando importas un mensaje HL7v2. Las operaciones de larga duración se muestran cuando las llamadas a un método pueden tardar mucho tiempo en completarse. Importar un mensaje HL7v2 suele ser una operación rápida, por lo que el resultado se muestra casi de inmediato.

Respuesta

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

Después de importar el mensaje HL7v2 a la API de Cloud Healthcare, continúa con Realiza una limpieza para evitar incurrir en cargos en tu cuenta de Google Cloud por los recursos que se usaron en esta página.

Para obtener información sobre los siguientes pasos, como cómo ver el contenido de un mensaje de HL7v2, consulta ¿Qué sigue?.

Realiza una limpieza

Para evitar que se apliquen cargos a tu cuenta de Google Cloud por los recursos que se usaron en esta página, borra el proyecto de Cloud que tiene los recursos.

Si creaste un proyecto nuevo para esta guía de inicio rápido, sigue los pasos en Borra el proyecto. De lo contrario, sigue los pasos en Borra el conjunto de datos.

Optional: Revoke credentials from the gcloud CLI.

gcloud auth revoke

Borra el proyecto

    Delete a Google Cloud project:

    gcloud projects delete PROJECT_ID

Borra el conjunto de datos

Si ya no necesitas el conjunto de datos que creaste en esta guía de inicio rápido, puedes borrarlo. Si borras un conjunto de datos, se borrará de forma permanente y todas las tiendas de FHIR, HL7v2 o DICOM que contenga.

gcloud

Borra un conjunto de datos con el comando gcloud healthcare datasets delete.

Antes de usar cualquiera de los datos de comando a continuación, realiza los siguientes reemplazos:

  • PROJECT_ID: Es el ID del proyecto de Google Cloud que creaste o seleccionaste en Antes de comenzar

Ejecuta el siguiente comando:

Linux, macOS o Cloud Shell

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

Windows (PowerShell)

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

Windows (cmd.exe)

gcloud healthcare datasets delete my-dataset ^
  --project=PROJECT_ID ^
  --location=us-central1
Para confirmar, escribe Y. Deberías recibir una respuesta similar a la que figura a continuación.

Respuesta

You are about to delete dataset [my-dataset]

Do you want to continue (Y/n)?  Y

Deleted dataset [my-dataset].

¿Cómo fue?

¿Qué sigue?

Consulta las siguientes secciones para obtener información general sobre la API de Cloud Healthcare y cómo realizar las tareas de esta guía de inicio rápido con otra interfaz:

DICOM

Consulta la declaración de conformidad de DICOM si deseas obtener información sobre cómo la API de Cloud Healthcare implementa el estándar DICOMweb.

FHIR

Consulta la declaración de conformidad FHIR si deseas obtener información sobre cómo la API de Cloud Healthcare implementa el estándar FHIR.

HL7v2