Almacenar datos sanitarios con Google Cloud CLI
En esta página se muestra cómo usar la API Cloud Healthcare y la CLI de Google Cloud para completar las siguientes tareas:
- Crea un conjunto de datos de la API Cloud Healthcare.
- Crea uno de los siguientes almacenes de datos en el conjunto de datos:
- Almacén Digital Imaging and Communications in Medicine (DICOM)
- Almacén Fast Healthcare Interoperability Resources (FHIR)
- Almacén Health Level Seven International Version 2 (HL7v2)
- Almacena datos DICOM, FHIR y HL7v2, y consulta metadatos 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 de las secciones Antes de empezar y Crear un conjunto de datos.
Antes de empezar
- 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.
-
Install the Google Cloud CLI.
-
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
-
Para inicializar gcloud CLI, ejecuta el siguiente comando:
gcloud init
-
Create or select a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
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.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Cloud Healthcare API:
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles.gcloud services enable healthcare.googleapis.com
-
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:USER_IDENTIFIER" --role=ROLE
Replace the following:
PROJECT_ID
: your project ID.USER_IDENTIFIER
: the identifier for your user account—for example,myemail@example.com
.ROLE
: the IAM role that you grant to your user account.
-
Install the Google Cloud CLI.
-
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
-
Para inicializar gcloud CLI, ejecuta el siguiente comando:
gcloud init
-
Create or select a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
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.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Cloud Healthcare API:
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles.gcloud services enable healthcare.googleapis.com
-
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:USER_IDENTIFIER" --role=ROLE
Replace the following:
PROJECT_ID
: your project ID.USER_IDENTIFIER
: the identifier for your user account—for example,myemail@example.com
.ROLE
: the IAM role that you grant to your user account.
PROJECT_ID
: el ID del proyecto que has creado o seleccionado en Antes de empezar Google Cloud- Crea un almacén DICOM.
- Importa una instancia DICOM de un segmento público de Cloud Storage al almacén DICOM.
- Consulta los metadatos de la instancia DICOM.
PROJECT_ID
: el ID del proyecto que has creado o seleccionado en Antes de empezar Google CloudPROJECT_ID
: el ID del proyecto que has creado o seleccionado en Antes de empezar Google CloudPROJECT_ID
,us-central1
,my-dataset
ymy-dicom-store
: los valores que has proporcionado al ejecutar el comandoOPERATION_ID
: identificador de la operación de larga duración proporcionada por la API Cloud Healthcare al importar una instancia DICOM. Las operaciones de larga duración se devuelven cuando las llamadas a métodos pueden tardar mucho tiempo en completarse. Importar una instancia DICOM suele ser una operación rápida, por lo que el resultado se devuelve casi inmediatamente.Instala la herramienta de línea de comandos DICOMweb con Pip:
pip install https://github.com/GoogleCloudPlatform/healthcare-api-dicomweb-cli/archive/v1.0.zip
Actualiza la variable
PATH
para incluir la ubicación de instalación dedcmweb
:export PATH="$HOME/bin:$PATH"
Para ver los metadatos de la instancia DICOM, sigue estos pasos:
dcmweb \ https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/datasets/my-dataset/dicomStores/my-dicom-store/dicomWeb \ search instances
Sustituye
PROJECT_ID
por el ID del Google Cloud proyecto que has creado o seleccionado en la sección Antes de empezar.El resultado es el siguiente. Consulta los atributos del módulo común de SOP para ver los campos de la salida.
[ { "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" } } ]
- Crea un almacén FHIR.
- Importa recursos FHIR de un segmento público de Cloud Storage al almacén FHIR.
PROJECT_ID
: el ID del proyecto que has creado o seleccionado en Antes de empezar Google CloudPROJECT_ID
: el ID del proyecto que has creado o seleccionado en Antes de empezar Google CloudPROJECT_ID
,us-central1
,my-dataset
ymy-fhir-store
: los valores que has proporcionado al ejecutar el comandoOPERATION_ID
: identificador de la operación de larga duración proporcionado por la API de Cloud Healthcare al importar un recurso FHIR. Las operaciones de larga duración se devuelven cuando las llamadas a métodos pueden tardar mucho tiempo en completarse. La importación de los recursos FHIR tarda entre uno y dos minutos.R4
: la versión del almacén FHIR- Crea un almacén HL7v2.
- Importa un mensaje HL7v2 desde un segmento público de Cloud Storage al almacén HL7v2.
PROJECT_ID
: el ID del proyecto que has creado o seleccionado en Antes de empezar Google CloudPROJECT_ID
: el ID del proyecto que has creado o seleccionado en Antes de empezar Google CloudPROJECT_ID
,us-central1
,my-dataset
ymy-hl7v2-store
: los valores que has proporcionado al ejecutar el comandoOPERATION_ID
: identificador de la operación de larga duración proporcionada por la API Cloud Healthcare al importar un mensaje HL7v2. Las operaciones de larga duración se devuelven cuando las llamadas a 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 devuelve casi inmediatamente.PROJECT_ID
: el ID del proyecto que has creado o seleccionado en Antes de empezar Google Cloud- Consulta una descripción general de los conceptos de la API de Cloud Healthcare.
- Almacenar datos sanitarios con
curl
o PowerShell - Almacenar datos sanitarios con bibliotecas de cliente
- Almacenar datos sanitarios con gcloud CLI
- Crear y gestionar almacenes DICOM
- Conectar un PACS a la API Cloud Healthcare
- Usar el estándar DICOMweb
- Importar y exportar datos DICOM mediante Cloud Storage
- Crear y gestionar almacenes FHIR
- Crear y gestionar recursos FHIR
- Importar y exportar datos FHIR mediante Cloud Storage
Crear conjunto de datos
Los conjuntos de datos contienen almacenes de datos, y estos, a su vez, contienen datos sanitarios. Para utilizar la API Cloud Healthcare, antes 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 DICOM, almacenes FHIR y almacenes HL7v2.
gcloud
Crea un conjunto de datos con el comando
gcloud healthcare datasets create
.
Antes de usar los datos de los comandos que se indican a continuación, haz los siguientes cambios:
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 siguiente:
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:
Almacenar y ver una instancia DICOM
En esta sección se explica cómo completar las siguientes tareas:
La API de Cloud Healthcare implementa el estándar DICOMweb para almacenar y acceder a datos de imágenes médicas.
Crear un almacén DICOM
Los almacenes DICOM están dentro de conjuntos de datos y contienen instancias DICOM. En el siguiente ejemplo se muestra cómo crear un almacén DICOM llamado my-dicom-store
.
gcloud
Crea un almacén DICOM con el comando gcloud healthcare dicom-stores create
.
Antes de usar los datos de los comandos que se indican a continuación, haz los siguientes cambios:
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 siguiente:
Respuesta
Created dicomStore [my-dicom-store].
Importar una instancia DICOM
Hay datos DICOM de muestra disponibles en el segmento de gs://gcs-public-data--healthcare-nih-chest-xray
Cloud Storage.
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 los datos de los comandos que se indican a continuación, haz los siguientes cambios:
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:
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
Ver metadatos de instancias DICOM
La CLI de gcloud no admite transacciones de DICOMweb, como ver o recuperar 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 el artículo Configurar un entorno de desarrollo de Python.
Sigue estos pasos para ver los metadatos de la instancia DICOM con la herramienta de línea de comandos DICOMweb:
Después de importar la instancia DICOM en la API Cloud Healthcare y ver sus metadatos, ve a la sección Limpieza para evitar que se te cobren los recursos utilizados en esta página en tu cuenta de Google Cloud .
Para obtener información sobre los pasos siguientes, como buscar o recuperar imágenes DICOM con el estándar DICOMweb en la API Cloud Healthcare, consulta la sección Pasos siguientes.
Almacenar recursos FHIR
En esta sección se explica cómo completar las siguientes tareas:
Crear un almacén FHIR
Los almacenes FHIR están dentro de conjuntos de datos y contienen recursos FHIR. En el siguiente ejemplo se muestra cómo crear un almacén FHIR llamado my-fhir-store
que usa la versión R4 de FHIR.
gcloud
Crea un almacén FHIR con el comando gcloud healthcare fhir-stores create
.
Antes de usar los datos de los comandos que se indican a continuación, haz los siguientes cambios:
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 siguiente:
Respuesta
Created fhirStore [my-fhir-store].
Importar recursos FHIR
Hay datos FHIR de muestra disponibles en el gs://gcp-public-data--synthea-fhir-data-10-patients
segmento de Cloud Storage.
gcloud
Importa los recursos FHIR de gs://gcp-public-data--synthea-fhir-data-10-patients
con el comando gcloud healthcare fhir-stores import
.
Antes de usar los datos de los comandos que se indican a continuación, haz los siguientes cambios:
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:
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 FHIR a la API Cloud Healthcare, ve a la sección Limpieza para evitar que se te cobren los recursos que has usado en esta página en tu cuenta de Google Cloud .
Para obtener información sobre los pasos siguientes, como cómo ver y buscar recursos FHIR, consulta la sección Pasos siguientes.
Almacenar un mensaje HL7v2
En esta sección se explica cómo completar las siguientes tareas:
La implementación de HL7 v. 2 en la API Cloud Healthcare se ajusta al estándar HL7 v. 2.
Crear un almacén HL7v2
Los almacenes HL7v2 están dentro de conjuntos de datos y contienen mensajes HL7v2. En el siguiente ejemplo se muestra cómo crear un almacén HL7v2 llamado my-hl7v2-store
.
gcloud
Crea un almacén HL7v2 con el comando gcloud healthcare hl7v2-stores create
.
Antes de usar los datos de los comandos que se indican a continuación, haz los siguientes cambios:
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 siguiente:
Respuesta
Created hl7v2Store [my-hl7v2-store].
Importar mensajes 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 los datos de los comandos que se indican a continuación, haz los siguientes cambios:
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:
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 en la API Cloud Healthcare, ve a la sección Limpiar para evitar que se te cobren los recursos que has usado en esta página en tu cuenta de Google Cloud .
Para obtener información sobre los pasos siguientes, como ver el contenido de un mensaje HL7v2, consulta la sección Pasos siguientes.
Limpieza
Para evitar que se apliquen cargos en tu Google Cloud cuenta por los recursos utilizados en esta página, elimina el Google Cloud proyecto con los recursos.
Si has creado un proyecto para esta guía de inicio rápido, sigue los pasos que se indican en la sección Eliminar el proyecto. De lo contrario, sigue los pasos que se indican en Eliminar el conjunto de datos.
Optional: Revoke credentials from the gcloud CLI.
gcloud auth revoke
Eliminar el proyecto
Delete a Google Cloud project:
gcloud projects delete PROJECT_ID
Eliminar el conjunto de datos
Si ya no necesitas el conjunto de datos creado en esta guía de inicio rápido, puedes eliminarlo. Si eliminas un conjunto de datos, este y todos los almacenes FHIR, HL7v2 o DICOM que contenga se eliminarán de forma permanente.
gcloud
Elimina un conjunto de datos con el comando gcloud healthcare datasets delete
.
Antes de usar los datos de los comandos que se indican a continuación, haz los siguientes cambios:
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
Respuesta
You are about to delete dataset [my-dataset] Do you want to continue (Y/n)? Y Deleted dataset [my-dataset].
¿Cómo ha ido?
Siguientes pasos
Consulta las siguientes secciones para obtener información general sobre la API 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 para obtener información sobre cómo implementa la API Cloud Healthcare el estándar DICOMweb.
FHIR
Consulta la declaración de conformidad de FHIR para obtener información sobre cómo implementa la API Cloud Healthcare el estándar FHIR.