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 para una 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 ir directamente a esa sección de la guía de inicio rápido después de completar los pasos en Antes de comenzar y Crea un conjunto de datos.

Antes de comenzar

  1. Accede a tu cuenta de Google Cloud. Si eres nuevo en Google Cloud, crea una cuenta para evaluar el rendimiento de nuestros productos en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.
  2. Instala Google Cloud CLI.
  3. Para inicializar la CLI de gcloud, ejecuta el siguiente comando:

    gcloud init
  4. Crea o selecciona un proyecto de Google Cloud.

    • Crea un proyecto de Google Cloud:

      gcloud projects create PROJECT_ID

      Reemplaza PROJECT_ID por un nombre para el proyecto de Google Cloud que estás creando.

    • Selecciona el proyecto de Google Cloud que creaste:

      gcloud config set project PROJECT_ID

      Reemplaza PROJECT_ID por el nombre del proyecto de Google Cloud.

  5. Asegúrate de que la facturación esté habilitada para tu proyecto de Google Cloud.

  6. Habilita la Cloud Healthcare API:

    gcloud services enable healthcare.googleapis.com
  7. Otorga roles a tu Cuenta de Google. Ejecuta el siguiente comando una vez para cada uno de los siguientes roles de IAM: roles/healthcare.datasetAdmin, roles/healthcare.fhirStoreAdmin, roles/healthcare.dicomStoreAdmin, roles/healthcare.hl7V2StoreAdmin

    gcloud projects add-iam-policy-binding PROJECT_ID --member="user:EMAIL_ADDRESS" --role=ROLE
    • Reemplaza PROJECT_ID con el ID del proyecto.
    • Reemplaza EMAIL_ADDRESS por tu dirección de correo electrónico.
    • Reemplaza ROLE por cada rol individual.
  8. Instala Google Cloud CLI.
  9. Para inicializar la CLI de gcloud, ejecuta el siguiente comando:

    gcloud init
  10. Crea o selecciona un proyecto de Google Cloud.

    • Crea un proyecto de Google Cloud:

      gcloud projects create PROJECT_ID

      Reemplaza PROJECT_ID por un nombre para el proyecto de Google Cloud que estás creando.

    • Selecciona el proyecto de Google Cloud que creaste:

      gcloud config set project PROJECT_ID

      Reemplaza PROJECT_ID por el nombre del proyecto de Google Cloud.

  11. Asegúrate de que la facturación esté habilitada para tu proyecto de Google Cloud.

  12. Habilita la Cloud Healthcare API:

    gcloud services enable healthcare.googleapis.com
  13. Otorga roles a tu Cuenta de Google. Ejecuta el siguiente comando una vez para cada uno de los siguientes roles de IAM: roles/healthcare.datasetAdmin, roles/healthcare.fhirStoreAdmin, roles/healthcare.dicomStoreAdmin, roles/healthcare.hl7V2StoreAdmin

    gcloud projects add-iam-policy-binding PROJECT_ID --member="user:EMAIL_ADDRESS" --role=ROLE
    • Reemplaza PROJECT_ID con el ID del proyecto.
    • Reemplaza EMAIL_ADDRESS por tu dirección de correo electrónico.
    • Reemplaza ROLE por cada rol individual.

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, de FHIR y de 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, haz 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. Importar una instancia de DICOM desde un bucket público de Cloud Storage en el 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 un almacén 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

Crear un almacén de DICOM mediante el comando gcloud healthcare dicom-stores create

Antes de usar cualquiera de los datos de comando a continuación, haz 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, haz 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: Son 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. Se muestran operaciones de larga duración cuando las llamadas a los métodos 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 las 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 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 mediante 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 la sección Atributos del módulo común de 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 la limpieza para evitar que se apliquen cargos a tu cuenta de Google Cloud por los recursos usados en esta página.

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

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 un almacén 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 versión R4 de FHIR.

gcloud

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

Antes de usar cualquiera de los datos de comando a continuación, haz 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, haz 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: Son 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. Se muestran operaciones de larga duración cuando las llamadas a los métodos pueden tardar mucho tiempo en completarse. La importación de los recursos de FHIR toma entre uno y dos minutos.
  • R4: Es 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 la Limpieza para evitar que se apliquen cargos a 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. Importar un mensaje de HL7v2 desde 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 un almacén de HL7v2

Los almacenes de HL7v2 existen dentro de los conjuntos de datos y contienen mensajes de HL7v2. En el siguiente ejemplo, se muestra cómo crear un almacén de 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, haz 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, haz 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: Son 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 de HL7v2. Se muestran operaciones de larga duración cuando las llamadas a los métodos 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 de HL7v2 a la API de Cloud Healthcare, continúa con la limpieza para evitar que se apliquen cargos a tu cuenta de Google Cloud por los recursos usados 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?.

Limpia

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.

Opcional: Revoca credenciales desde gcloud CLI.

gcloud auth revoke

Borra el proyecto

    Borra un proyecto de Google Cloud:

    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, haz 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 de FHIR si deseas obtener información sobre cómo la API de Cloud Healthcare implementa el estándar FHIR.

HL7v2