Armazene dados de cuidados de saúde com a CLI do Google Cloud

Esta página mostra como usar a Cloud Healthcare API e a Google Cloud CLI para concluir as seguintes tarefas:

  1. Crie um conjunto de dados da Cloud Healthcare API.
  2. Crie um dos seguintes arquivos de dados no conjunto de dados:
    • Armazenamento de imagens digitais e comunicações em medicina (DICOM)
    • Armazenamento de Fast Healthcare Interoperability Resources (FHIR)
    • Armazenamento da versão 2 (HL7v2) da Health Level Seven International
  3. Armazene dados DICOM, FHIR e HL7v2, e veja metadados DICOM.

Se só tiver interesse em trabalhar com um tipo de arquivo de dados, pode avançar diretamente para essa secção do início rápido depois de concluir os passos em Antes de começar e Criar um conjunto de dados.

Antes de começar

  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. Se estiver a usar um fornecedor de identidade (IdP) externo, tem primeiro de iniciar sessão na CLI gcloud com a sua identidade federada.

  4. Para inicializar a CLI gcloud, execute o seguinte comando:

    gcloud init
  5. 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 the resourcemanager.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.

  6. Verify that billing is enabled for your Google Cloud project.

  7. 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 the serviceusage.services.enable permission. Learn how to grant roles.

    gcloud services enable healthcare.googleapis.com
  8. 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.
  9. Install the Google Cloud CLI.

  10. Se estiver a usar um fornecedor de identidade (IdP) externo, tem primeiro de iniciar sessão na CLI gcloud com a sua identidade federada.

  11. Para inicializar a CLI gcloud, execute o seguinte comando:

    gcloud init
  12. 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 the resourcemanager.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.

  13. Verify that billing is enabled for your Google Cloud project.

  14. 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 the serviceusage.services.enable permission. Learn how to grant roles.

    gcloud services enable healthcare.googleapis.com
  15. 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.
  16. Crie um conjunto de dados

    Os conjuntos de dados contêm arquivos de dados e os arquivos de dados contêm dados de cuidados de saúde. Para usar a Cloud Healthcare API, tem de criar, pelo menos, um conjunto de dados.

    O exemplo seguinte mostra como criar um conjunto de dados denominado my-dataset na região us-central1. Vai usar o conjunto de dados ao longo deste início rápido para criar armazenamentos DICOM, armazenamentos FHIR e armazenamentos HL7v2.

    gcloud

    Crie um conjunto de dados com o comando gcloud healthcare datasets create.

    Antes de usar qualquer um dos dados de comandos abaixo, faça as seguintes substituições:

    • PROJECT_ID: o ID do Google Cloud projeto que 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

    Deve receber uma resposta semelhante à seguinte:

    Resposta

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

    Para concluir este início rápido, escolha uma das seguintes secções:

    Armazene e veja uma instância DICOM

    Esta secção mostra como concluir as seguintes tarefas:

    1. Crie um arquivo DICOM.
    2. Importe uma instância DICOM de um contentor público do Cloud Storage para a loja DICOM.
    3. Ver os metadados da instância DICOM.

    A Cloud Healthcare API implementa a norma DICOMweb para armazenar e aceder a dados de imagens médicas.

    Crie um arquivo DICOM

    Os arquivos DICOM existem em conjuntos de dados e contêm instâncias DICOM. O exemplo seguinte mostra como criar um arquivo DICOM denominado my-dicom-store.

    gcloud

    Crie um arquivo DICOM com o comando gcloud healthcare dicom-stores create.

    Antes de usar qualquer um dos dados de comandos abaixo, faça as seguintes substituições:

    • PROJECT_ID: o ID do Google Cloud projeto que 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

    Deve receber uma resposta semelhante à seguinte:

    Resposta

    Created dicomStore [my-dicom-store].

    Importe uma instância DICOM

    Os dados DICOM de exemplo estão disponíveis no gs://gcs-public-data--healthcare-nih-chest-xraycontentor do Cloud Storage.

    gcloud

    Importe a instância gs://gcs-public-data--healthcare-nih-chest-xray/dicom/00000001_000.dcm através do comando gcloud healthcare dicom-stores import.

    Antes de usar qualquer um dos dados de comandos abaixo, faça as seguintes substituições:

    • PROJECT_ID: o ID do Google Cloud projeto que 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

    Neste resultado:

    • PROJECT_ID, us-central1, my-dataset, my-dicom-store: os valores que forneceu quando executou o comando
    • OPERATION_ID: um identificador da operação de longa duração fornecida pela Cloud Healthcare API quando importa uma instância DICOM. As operações de longa duração são devolvidas quando as chamadas de métodos podem demorar muito tempo a serem concluídas. Normalmente, a importação de uma instância DICOM é uma operação rápida, pelo que o resultado é devolvido quase de imediato.

    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
    

    Veja os metadados da instância DICOM

    A CLI gcloud não suporta transações DICOMweb, como ver ou obter instâncias. Em alternativa, pode usar a ferramenta de linha de comandos DICOMweb da Google, que é executada através do Python. Para obter informações sobre como configurar o Python no Google Cloud, consulte o artigo Configurar um ambiente de desenvolvimento Python.

    Conclua os passos seguintes para ver os metadados da instância DICOM através da ferramenta de linha de comandos DICOMweb:

    1. Instale a ferramenta de linha de comandos DICOMweb através do Pip:

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

      export PATH="$HOME/bin:$PATH"
      
    3. Veja 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 Google Cloud projeto que criou ou selecionou em Antes de começar.

      O resultado é o seguinte. Consulte os atributos do módulo comum da 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 Cloud Healthcare API e ver os respetivos metadados, continue para a secção Limpar para evitar incorrer em custos na sua conta pelos recursos usados nesta página. Google Cloud

    Para obter informações sobre os passos seguintes, como pesquisar ou obter imagens DICOM através da norma DICOMweb na Cloud Healthcare API, consulte a secção Passos seguintes.

    Armazene recursos FHIR

    Esta secção mostra como concluir as seguintes tarefas:

    1. Crie uma loja FHIR.
    2. Importe recursos FHIR de um contentor público do Cloud Storage para a loja FHIR.

    Crie um FHIR store

    Os FHIR stores existem em conjuntos de dados e contêm recursos FHIR. O exemplo seguinte mostra como criar uma loja FHIR denominada my-fhir-store que usa a versão R4 do FHIR.

    gcloud

    Crie uma loja FHIR com o comando gcloud healthcare fhir-stores create.

    Antes de usar qualquer um dos dados de comandos abaixo, faça as seguintes substituições:

    • PROJECT_ID: o ID do Google Cloud projeto que 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

    Deve receber uma resposta semelhante à seguinte:

    Resposta

    Created fhirStore [my-fhir-store].

    Importe recursos FHIR

    Os dados FHIR de amostra estão disponíveis no contentor do gs://gcp-public-data--synthea-fhir-data-10-patients 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 qualquer um dos dados de comandos abaixo, faça as seguintes substituições:

    • PROJECT_ID: o ID do Google Cloud projeto que 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

    Neste resultado:

    • PROJECT_ID, us-central1, my-dataset, my-fhir-store: os valores que forneceu quando executou o comando
    • OPERATION_ID: um identificador da operação de longa duração fornecida pela Cloud Healthcare API quando importa um recurso FHIR. As operações de longa duração são devolvidas quando as chamadas de métodos podem demorar muito tempo a serem concluídas. A importação dos recursos FHIR demora cerca de 1 a 2 minutos.
    • R4: a versão da loja 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 Cloud Healthcare API, continue a limpar para evitar incorrer em custos na sua Google Cloud conta pelos recursos usados nesta página.

    Para ver informações sobre os passos seguintes, como ver e pesquisar recursos FHIR, consulte o artigo O que se segue.

    Armazene uma mensagem HL7v2

    Esta secção mostra como concluir as seguintes tarefas:

    1. Crie um armazenamento de HL7v2.
    2. Importe uma mensagem HL7v2 de um contentor público do Cloud Storage para o armazenamento HL7v2.

    A implementação de HL7v2 na Cloud Healthcare API está alinhada com a norma HL7v2.

    Crie um armazenamento de HL7v2

    Os armazenamentos de HL7v2 existem em conjuntos de dados e contêm mensagens HL7v2. O exemplo seguinte mostra como criar um armazenamento de HL7v2 denominado my-hl7v2-store.

    gcloud

    Crie um armazenamento de HL7v2 com o comando gcloud healthcare hl7v2-stores create.

    Antes de usar qualquer um dos dados de comandos abaixo, faça as seguintes substituições:

    • PROJECT_ID: o ID do Google Cloud projeto que 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

    Deve receber uma resposta semelhante à seguinte:

    Resposta

    Created hl7v2Store [my-hl7v2-store].

    Importe mensagens HL7v2

    gcloud

    Importe a mensagem HL7v2 gs://cloud-samples-data/healthcare/hl7v2/messages.ndjson através do comando gcloud healthcare hl7v2-stores import.

    Antes de usar qualquer um dos dados de comandos abaixo, faça as seguintes substituições:

    • PROJECT_ID: o ID do Google Cloud projeto que 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

    Neste resultado:

    • PROJECT_ID, us-central1, my-dataset, my-hl7v2-store: os valores que forneceu quando executou o comando
    • OPERATION_ID: um identificador para a operação de longa duração fornecida pela Cloud Healthcare API quando importa uma mensagem HL7v2. As operações de longa duração são devolvidas quando as chamadas de métodos podem demorar muito tempo a serem concluídas. Normalmente, a importação de uma mensagem HL7v2 é uma operação rápida, pelo que o resultado é devolvido 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 Cloud Healthcare API, continue a limpar para evitar incorrer em custos na sua Google Cloud conta pelos recursos usados nesta página.

    Para ver informações sobre os passos seguintes, como ver o conteúdo de uma mensagem HL7v2, consulte a secção O que se segue.

    Limpar

    Para evitar incorrer em custos na sua Google Cloud conta pelos recursos usados nesta página, elimine o Google Cloud projeto com os recursos.

    Se criou um novo projeto para este início rápido, siga os passos em Elimine o projeto. Caso contrário, siga os passos em Elimine o conjunto de dados.

    Optional: Revoke credentials from the gcloud CLI.

    gcloud auth revoke

    Elimine o projeto

      Delete a Google Cloud project:

      gcloud projects delete PROJECT_ID

    Elimine o conjunto de dados

    Se já não precisar do conjunto de dados criado neste início rápido, pode eliminá-lo. A eliminação de um conjunto de dados elimina permanentemente o conjunto de dados e quaisquer armazenamentos FHIR, HL7v2 ou DICOM que contenha.

    gcloud

    Elimine um conjunto de dados através do comando gcloud healthcare datasets delete.

    Antes de usar qualquer um dos dados de comandos abaixo, faça as seguintes substituições:

    • PROJECT_ID: o ID do Google Cloud projeto que 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, escreva Y. Deve 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 correu?

    O que se segue?

    Consulte as secções seguintes para ver informações gerais sobre a Cloud Healthcare API e como realizar as tarefas neste início rápido através de outra interface:

    DICOM

    Consulte a declaração de conformidade com o DICOM para obter informações sobre como a Cloud Healthcare API implementa a norma DICOMweb.

    FHIR

    Consulte a declaração de conformidade com a FHIR para obter informações sobre como a Cloud Healthcare API implementa a norma FHIR.

    HL7v2