Armazene 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:

  1. Criar um conjunto de dados da API Cloud Healthcare;
  2. 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)
  3. Armazenar dados DICOM, FHIR e HL7v2 e visualizar metadados DICOM.

Se você só tem interesse em trabalhar com um tipo de repositório de dados, pule diretamente para essa seção do guia de início rápido depois de concluir as etapas em Antes de começar e Criar um conjunto de dados.

Antes de começar

  1. Faça login na sua conta do Google Cloud. Se você começou a usar o Google Cloud agora, 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.
  2. Instale a CLI do Google Cloud.
  3. Para inicializar a CLI gcloud, execute o seguinte comando:

    gcloud init
  4. Crie ou selecione um projeto do Google Cloud.

    • Crie um projeto do Google Cloud:

      gcloud projects create PROJECT_ID

      Substitua PROJECT_ID por um nome para o projeto do Google Cloud que você está criando.

    • Selecione o projeto do Google Cloud que você criou:

      gcloud config set project PROJECT_ID

      Substitua PROJECT_ID pelo nome do projeto do Google Cloud.

  5. Verifique se a cobrança está ativada para o seu projeto do Google Cloud.

  6. Ative Cloud Healthcare API:

    gcloud services enable healthcare.googleapis.com
  7. Atribua os papéis à sua Conta do Google. Execute uma vez o seguinte comando para cada um dos seguintes papéis do 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
    • Substitua PROJECT_ID pela ID do seu projeto.
    • Substitua EMAIL_ADDRESS pelo seu endereço de e-mail.
    • Substitua ROLE por cada papel individual.
  8. Instale a CLI do Google Cloud.
  9. Para inicializar a CLI gcloud, execute o seguinte comando:

    gcloud init
  10. Crie ou selecione um projeto do Google Cloud.

    • Crie um projeto do Google Cloud:

      gcloud projects create PROJECT_ID

      Substitua PROJECT_ID por um nome para o projeto do Google Cloud que você está criando.

    • Selecione o projeto do Google Cloud que você criou:

      gcloud config set project PROJECT_ID

      Substitua PROJECT_ID pelo nome do projeto do Google Cloud.

  11. Verifique se a cobrança está ativada para o seu projeto do Google Cloud.

  12. Ative Cloud Healthcare API:

    gcloud services enable healthcare.googleapis.com
  13. Atribua os papéis à sua Conta do Google. Execute uma vez o seguinte comando para cada um dos seguintes papéis do 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
    • Substitua PROJECT_ID pela ID do seu projeto.
    • Substitua EMAIL_ADDRESS pelo seu endereço de e-mail.
    • Substitua ROLE por cada papel individual.

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. Use o conjunto de dados em todo este guia de início rápido para criar armazenamentos DICOM, armazenamentos FHIR e armazenamentos 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 do 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:

  1. Crie um armazenamento DICOM.
  2. Importar uma instância DICOM de um bucket público do Cloud Storage para o repositório DICOM.
  3. 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 dos conjuntos de dados e contêm instâncias DICOM. O exemplo a seguir mostra como criar um repositório 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 do 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 do 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 comando
  • OPERATION_ID: um identificador para a operação de longa duração fornecido pela API Cloud Healthcare quando você importa uma instância DICOM. Operações de longa duração são retornadas quando as chamadas de método podem levar muito tempo para serem concluídas. A importação de uma instância DICOM geralmente é uma operação rápida, portanto, 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 as transações DODICOMweb, como visualização ou recuperação de instâncias. Em vez disso, é possível usar a ferramenta de linha de comandoDICOMweb do Google, que é executada usando o Python. Para informações sobre como configurar o Python no Google Cloud, consulte Como configurar um ambiente de desenvolvimento do Python.

Conclua as etapas a seguir para visualizar os metadados da instância DICOM usando a ferramenta de linha de comando DICOMweb:

  1. Instale a ferramenta de linha de comando DICOMweb usando Pip:

    pip install https://github.com/GoogleCloudPlatform/healthcare-api-dicomweb-cli/archive/v1.0.zip
    
  2. Atualize a variável PATH para incluir o local de instalação dcmweb:

    export PATH="$HOME/bin:$PATH"
    
  3. Visualize 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_ID pelo ID do projeto do 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, siga para Limpeza para evitar cobranças na sua conta do Google Cloud pelos recursos usados nesta página.

Para 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 Próximas etapas.

Armazenar recursos FHIR

Neste documento, mostramos como concluir as seguintes tarefas:

  1. Crie um armazenamento de FHIR.
  2. Importar recursos FHIR de um bucket público do Cloud Storage para o armazenamento FHIR.

Criar um armazenamento de FHIR

Os armazenamentos FHIR existem dentro dos conjuntos de dados e contêm recursos 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 do 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 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 do 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 comando
  • OPERATION_ID: um identificador para a operação de longa duração fornecido pela API Cloud Healthcare quando você importa um recurso FHIR. Operações de longa duração são retornadas quando as chamadas de método podem levar muito tempo para serem concluídas. A importação dos recursos FHIR leva cerca de um a dois minutos.
  • R4: a versão do armazenamento 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 para Limpeza para evitar cobranças na sua conta do Google Cloud pelos recursos usados nesta página.

Para informações sobre as próximas etapas, por exemplo, como visualizar e pesquisar recursos FHIR, consulte Próximas etapas.

Armazenar uma mensagem HL7v2

Neste documento, mostramos como concluir as seguintes tarefas:

  1. Criar uma loja HL7v2.
  2. Importe uma mensagem HL7v2 de um bucket público do Cloud Storage para o armazenamento de HL7v2.

A implementação de HL7v2 na API Cloud Healthcare está alinhada ao padrão HL7v2.

Criar um armazenamento de HL7v2

Os armazenamentos de HL7v2 existem nos conjuntos de dados e contêm mensagens de HL7v2. O exemplo a seguir mostra como criar um armazenamento HL7v2 chamado my-hl7v2-store.

gcloud

Crie um armazenamento de 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 do 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 de 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 do 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 comando
  • OPERATION_ID: um identificador para a operação de longa duração fornecido pela API Cloud Healthcare quando você importa uma mensagem HL7v2. Operações de longa duração são retornadas quando as chamadas de método podem levar muito tempo para serem concluídas. A importação de uma mensagem HL7v2 costuma ser uma operação rápida, portanto, 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 de HL7v2 para a API Cloud Healthcare, siga para a Limpeza para evitar cobranças na sua conta do Google Cloud pelos recursos usados nesta página.

Para informações sobre as próximas etapas, por exemplo, como visualizar o conteúdo de uma mensagem HL7v2, consulte Próximas etapas.

Limpar

Para evitar cobranças na sua conta do Google Cloud pelos recursos usados nesta página, exclua o projeto do Google Cloud com esses 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

    Exclua 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 do 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
Para confirmar, digite Y. Você vai receber uma resposta semelhante à seguinte.

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 executar as tarefas neste guia de início rápido usando outra interface:

DICOM

Consulte a instrução de conformidade DICOM para ver informações sobre como a API Cloud Healthcare implementa o padrão DICOMweb.

FHIR

Consulte a Declaração de conformidade FHIR para ver informações sobre como a API Cloud Healthcare implementa o padrão FHIR.

HL7v2