Armazenar dados de saúde com a Google Cloud CLI
Nesta página, mostramos como usar a API Cloud Healthcare e a Google Cloud CLI para concluir as seguintes tarefas:
- Criar um conjunto de dados da API Cloud Healthcare;
- Criar um dos seguintes armazenamentos de dados no conjunto de dados:
- Armazenamento de imagens e comunicações digitais em medicina (DICOM, na sigla em inglês)
- Armazenamento de recursos de interoperabilidade rápida de saúde (FHIR, na sigla em inglês)
- Armazenamento de Health Level Seven International Version 2 (HL7v2)
- Armazenar dados DICOM, FHIR e HL7v2 e visualizar metadados DICOM.
Se você tem interesse apenas em trabalhar com um tipo de repositório de dados, pule diretamente para a respectiva seção do guia de início rápido após concluir as etapas em Antes de começar e Criar um conjunto de dados.
Antes de começar
- Faça login na sua conta do Google Cloud . Se você começou a usar o Google Cloud, crie uma conta para avaliar o desempenho de nossos produtos em situações reais. Clientes novos também recebem US$ 300 em créditos para executar, testar e implantar cargas de trabalho.
-
Instale a CLI do Google Cloud.
-
Ao usar um provedor de identidade (IdP) externo, primeiro faça login na gcloud CLI com sua identidade federada.
-
Para inicializar a gcloud CLI, execute o seguinte comando:
gcloud init -
Crie ou selecione um Google Cloud projeto.
Funções necessárias para selecionar ou criar um projeto
- Selecionar um projeto: não é necessário um papel específico do IAM para selecionar um projeto. Você pode escolher qualquer projeto em que tenha recebido um papel.
-
Criar um projeto: para criar um projeto, é necessário ter o papel de Criador de projetos
(
roles/resourcemanager.projectCreator), que contém a permissãoresourcemanager.projects.create. Saiba como conceder papéis.
-
Crie um projeto do Google Cloud :
gcloud projects create PROJECT_ID
Substitua
PROJECT_IDpor um nome para o projeto Google Cloud que você está criando. -
Selecione o projeto Google Cloud que você criou:
gcloud config set project PROJECT_ID
Substitua
PROJECT_IDpelo nome do projeto do Google Cloud .
-
Verifique se o faturamento está ativado para o projeto do Google Cloud .
Ative a API Cloud Healthcare:
Funções necessárias para ativar APIs
Para ativar as APIs, é necessário ter o papel do IAM de administrador do Service Usage (
roles/serviceusage.serviceUsageAdmin), que contém a permissãoserviceusage.services.enable. Saiba como conceder papéis.gcloud services enable healthcare.googleapis.com
-
Atribua papéis à sua conta de usuário. Execute o seguinte comando uma vez para cada um dos seguintes papéis do IAM:
roles/healthcare.datasetAdmin, roles/healthcare.fhirStoreAdmin, roles/healthcare.dicomStoreAdmin, roles/healthcare.hl7V2StoreAdmingcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_IDENTIFIER" --role=ROLE
Substitua:
PROJECT_ID: o ID do projeto.USER_IDENTIFIER: o identificador da sua conta de usuário . Por exemplo,myemail@example.com.ROLE: o papel do IAM concedido à sua conta de usuário.
-
Instale a CLI do Google Cloud.
-
Ao usar um provedor de identidade (IdP) externo, primeiro faça login na gcloud CLI com sua identidade federada.
-
Para inicializar a gcloud CLI, execute o seguinte comando:
gcloud init -
Crie ou selecione um Google Cloud projeto.
Funções necessárias para selecionar ou criar um projeto
- Selecionar um projeto: não é necessário um papel específico do IAM para selecionar um projeto. Você pode escolher qualquer projeto em que tenha recebido um papel.
-
Criar um projeto: para criar um projeto, é necessário ter o papel de Criador de projetos
(
roles/resourcemanager.projectCreator), que contém a permissãoresourcemanager.projects.create. Saiba como conceder papéis.
-
Crie um projeto do Google Cloud :
gcloud projects create PROJECT_ID
Substitua
PROJECT_IDpor um nome para o projeto Google Cloud que você está criando. -
Selecione o projeto Google Cloud que você criou:
gcloud config set project PROJECT_ID
Substitua
PROJECT_IDpelo nome do projeto do Google Cloud .
-
Verifique se o faturamento está ativado para o projeto do Google Cloud .
Ative a API Cloud Healthcare:
Funções necessárias para ativar APIs
Para ativar as APIs, é necessário ter o papel do IAM de administrador do Service Usage (
roles/serviceusage.serviceUsageAdmin), que contém a permissãoserviceusage.services.enable. Saiba como conceder papéis.gcloud services enable healthcare.googleapis.com
-
Atribua papéis à sua conta de usuário. Execute o seguinte comando uma vez para cada um dos seguintes papéis do IAM:
roles/healthcare.datasetAdmin, roles/healthcare.fhirStoreAdmin, roles/healthcare.dicomStoreAdmin, roles/healthcare.hl7V2StoreAdmingcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_IDENTIFIER" --role=ROLE
Substitua:
PROJECT_ID: o ID do projeto.USER_IDENTIFIER: o identificador da sua conta de usuário . Por exemplo,myemail@example.com.ROLE: o papel do IAM concedido à sua conta de usuário.
crie um conjunto de dados
Conjuntos de dados contêm armazenamentos de dados com dados de saúde. Para usar a API Cloud Healthcare, você precisa criar pelo menos um conjunto de dados.
O exemplo a seguir mostra como criar um conjunto de dados chamado my-dataset na região us-central1. Você vai usar o conjunto de dados ao longo deste guia de início rápido para
criar armazenamentos DICOM, FHIR e HL7v2.
gcloud
Crie um conjunto de dados usando o comando
gcloud healthcare datasets create.
Antes de usar os dados do comando abaixo, faça estas substituições:
PROJECT_ID: o ID do projeto Google Cloud que você criou ou selecionou em Antes de começar
Execute o seguinte comando:
Linux, macOS ou 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
Você receberá uma resposta semelhante a esta:
Resposta
Create request issued for: [my-dataset] Created dataset [my-dataset].
Para concluir este guia de início rápido, escolha uma das seguintes seções:
Armazenar e visualizar uma instância DICOM
Neste documento, mostramos como concluir as seguintes tarefas:
- Crie um armazenamento DICOM.
- Importar uma instância DICOM de um bucket público do Cloud Storage para o repositório DICOM.
- Visualizar os metadados da instância DICOM.
A API Cloud Healthcare implementa o padrão DICOMweb para armazenar e acessar dados de diagnóstico médico por imagem.
Criar um armazenamento DICOM
Os armazenamentos DICOM existem dentro de conjuntos de dados e contêm instâncias DICOM. O exemplo a seguir mostra como criar um armazenamento DICOM chamado my-dicom-store.
gcloud
Crie um armazenamento DICOM usando o comando gcloud healthcare dicom-stores create.
Antes de usar os dados do comando abaixo, faça estas substituições:
PROJECT_ID: o ID do projeto Google Cloud que você criou ou selecionou em Antes de começar
Execute o seguinte comando:
Linux, macOS ou 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
Você receberá uma resposta semelhante a esta:
Resposta
Created dicomStore [my-dicom-store].
Importar uma instância de DICOM
Os dados de DICOM de amostra estão disponíveis no bucket gs://gcs-public-data--healthcare-nih-chest-xray
do Cloud Storage:
gcloud
Importe a instância gs://gcs-public-data--healthcare-nih-chest-xray/dicom/00000001_000.dcm usando o
comando gcloud healthcare dicom-stores import.
Antes de usar os dados do comando abaixo, faça estas substituições:
PROJECT_ID: o ID do projeto Google Cloud que você criou ou selecionou em Antes de começar
Execute o seguinte comando:
Linux, macOS ou 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
Nesta saída:
PROJECT_ID,us-central1,my-dataset,my-dicom-store: os valores que você forneceu ao executar o comandoOPERATION_ID: um identificador para a operação de longa duração fornecida pela API Cloud Healthcare ao importar uma instância DICOM. Operações de longa duração são retornadas quando as chamadas de método podem demorar muito para serem concluídas. A importação de uma instância DICOM geralmente é uma operação rápida, então a saída é retornada quase imediatamente.
Resposta
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 metadados da instância DICOM
A CLI gcloud não é compatível com transações DICOMweb, como visualização ou recuperação de instâncias. Em vez disso, use a ferramenta de linha de comando DICOMweb do Google, que é executada em Python. Para informações sobre como configurar o Python em Google Cloud, consulte Como configurar um ambiente de desenvolvimento em Python.
Siga estas etapas para conferir os metadados da instância DICOM usando a ferramenta de linha de comando DICOMweb:
Instale a ferramenta de linha de comando DICOMweb usando o Pip:
pip install https://github.com/GoogleCloudPlatform/healthcare-api-dicomweb-cli/archive/v1.0.zipAtualize a variável
PATHpara incluir o local de instalaçãodcmweb:export PATH="$HOME/bin:$PATH"Confira os metadados da instância DICOM:
dcmweb \ https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/datasets/my-dataset/dicomStores/my-dicom-store/dicomWeb \ search instances
Substitua
PROJECT_IDpelo ID do projeto Google Cloud que você criou ou selecionou em Antes de começar.A saída é esta: Consulte Atributos do módulo comum de SOP para ver os campos na saída.
[ { "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" } } ]
Depois de importar a instância DICOM para a API Cloud Healthcare e visualizar os metadados dela, continue em Limpar para evitar cobranças na sua conta Google Cloud pelos recursos usados nesta página.
Para mais informações sobre as próximas etapas, por exemplo, como pesquisar ou recuperar imagens DICOM usando o padrão DICOMweb na API Cloud Healthcare, consulte A seguir.
Armazenar recursos FHIR
Neste documento, mostramos como concluir as seguintes tarefas:
- Crie um armazenamento de FHIR.
- Importe recursos FHIR de um bucket público do Cloud Storage para o repositório FHIR.
Criar um armazenamento de FHIR
Os armazenamentos de FHIR existem dentro de conjuntos de dados e contêm recursos de FHIR. O exemplo a seguir mostra como criar um armazenamento FHIR chamado my-fhir-store que usa a versão R4 do FHIR.
gcloud
Crie um armazenamento FHIR usando o comando gcloud healthcare fhir-stores create.
Antes de usar os dados do comando abaixo, faça estas substituições:
PROJECT_ID: o ID do projeto Google Cloud que você criou ou selecionou em Antes de começar
Execute o seguinte comando:
Linux, macOS ou 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
Você receberá uma resposta semelhante a esta:
Resposta
Created fhirStore [my-fhir-store].
Importar recursos de FHIR
Os dados FHIR de amostra estão disponíveis no bucket gs://gcp-public-data--synthea-fhir-data-10-patients
do Cloud Storage:
gcloud
Importe os recursos do FHIR em gs://gcp-public-data--synthea-fhir-data-10-patients
usando o comando gcloud healthcare fhir-stores import.
Antes de usar os dados do comando abaixo, faça estas substituições:
PROJECT_ID: o ID do projeto Google Cloud que você criou ou selecionou em Antes de começar
Execute o seguinte comando:
Linux, macOS ou 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
Nesta saída:
PROJECT_ID,us-central1,my-dataset,my-fhir-store: os valores que você forneceu ao executar o comandoOPERATION_ID: um identificador para a operação de longa duração fornecida pela API Cloud Healthcare ao importar um recurso FHIR. Operações de longa duração são retornadas quando as chamadas de método podem demorar muito para serem concluídas. A importação dos recursos do FHIR leva de um a dois minutos.R4: a versão do repositório de FHIR
Resposta
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
Depois de importar os recursos FHIR para a API Cloud Healthcare, continue em Limpar para evitar cobranças na sua conta do Google Cloud pelos recursos usados nesta página.
Para saber mais sobre as próximas etapas, como visualizar e pesquisar recursos FHIR, consulte A seguir.
Armazenar uma mensagem HL7v2
Neste documento, mostramos como concluir as seguintes tarefas:
- Criar uma loja HL7v2.
- Importe uma mensagem HL7v2 de um bucket público do Cloud Storage para o repositório HL7v2.
A implementação do HL7v2 na API Cloud Healthcare está alinhada com o padrão HL7v2.
Criar um armazenamento de HL7v2
Os armazenamentos HL7v2 existem dentro de conjuntos de dados e contêm mensagens HL7v2. O exemplo a seguir mostra como criar um armazenamento HL7v2 chamado my-hl7v2-store.
gcloud
Crie um armazenamento HL7v2 usando o comando gcloud healthcare hl7v2-stores create.
Antes de usar os dados do comando abaixo, faça estas substituições:
PROJECT_ID: o ID do projeto Google Cloud que você criou ou selecionou em Antes de começar
Execute o seguinte comando:
Linux, macOS ou 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
Você receberá uma resposta semelhante a esta:
Resposta
Created hl7v2Store [my-hl7v2-store].
Importar mensagens de HL7v2
gcloud
Importe a mensagem HL7v2 gs://cloud-samples-data/healthcare/hl7v2/messages.ndjson usando o comando gcloud healthcare hl7v2-stores import.
Antes de usar os dados do comando abaixo, faça estas substituições:
PROJECT_ID: o ID do projeto Google Cloud que você criou ou selecionou em Antes de começar
Execute o seguinte comando:
Linux, macOS ou 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
Nesta saída:
PROJECT_ID,us-central1,my-dataset,my-hl7v2-store: os valores que você forneceu ao executar o comandoOPERATION_ID: um identificador para a operação de longa duração fornecida pela API Cloud Healthcare ao importar uma mensagem HL7v2. Operações de longa duração são retornadas quando as chamadas de método podem demorar muito para serem concluídas. A importação de uma mensagem HL7v2 geralmente é uma operação rápida, então a saída é retornada quase imediatamente.
Resposta
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
Depois de importar a mensagem HL7v2 para a API Cloud Healthcare, continue em liberar memória para evitar cobranças na sua conta do Google Cloud pelos recursos usados nesta página.
Para saber mais sobre como prosseguir e ver o conteúdo de uma mensagem HL7v2, consulte A seguir.
Limpar
Para evitar cobranças na conta do Google Cloud pelos recursos usados nesta página, exclua o projeto do Google Cloud e os recursos.
Se você criou um novo projeto para este guia de início rápido, siga as etapas em Excluir o projeto. Caso contrário, siga as etapas em Excluir o conjunto de dados.
Opcional: revogar credenciais da CLI gcloud.
gcloud auth revoke
Excluir o projeto
Excluir um projeto do Google Cloud :
gcloud projects delete PROJECT_ID
Excluir o conjunto de dados
Se você não precisar mais do conjunto de dados criado neste guia de início rápido, poderá excluí-lo. Excluir um conjunto de dados exclui permanentemente o conjunto de dados e todos os armazenamentos FHIR, HL7v2 ou DICOM que ele contém.
gcloud
Exclua um conjunto de dados usando o comando
gcloud healthcare datasets delete.
Antes de usar os dados do comando abaixo, faça estas substituições:
PROJECT_ID: o ID do projeto Google Cloud que você criou ou selecionou em Antes de começar
Execute o seguinte comando:
Linux, macOS ou 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
Resposta
You are about to delete dataset [my-dataset] Do you want to continue (Y/n)? Y Deleted dataset [my-dataset].
Como foi?
A seguir
Consulte as seções a seguir para informações gerais sobre a API Cloud Healthcare e como realizar as tarefas deste guia de início rápido usando outra interface:
- Leia uma visão geral dos conceitos da API Cloud Healthcare
- Armazenar dados de saúde com
curlou PowerShell - Armazenar dados de saúde com bibliotecas de cliente
- Armazenar dados de saúde com a CLI gcloud
DICOM
- Criar e gerenciar armazenamentos DICOM
- Conectar um PACS à API Cloud Healthcare
- Usar o padrão DICOMweb
- Importar e exportar dados DICOM usando o Cloud Storage
Consulte a instrução de conformidade DICOM para ver informações sobre como a API Cloud Healthcare implementa o padrão DICOMweb.
FHIR
- Criar e gerenciar armazenamentos FHIR
- Criar e gerenciar recursos FHIR
- Importar e exportar dados FHIR usando o Cloud Storage
Consulte a Declaração de conformidade FHIR para ver informações sobre como a API Cloud Healthcare implementa o padrão FHIR.