1. Introdução
Última atualização:16/05/2020
Este codelab demonstra um padrão de ingestão de dados para ingerir dados de saúde formatados no FHIR R4 (recursos regulares) no BigQuery usando as APIs FHIR do Cloud Healthcare. Dados realistas de testes de assistência médica foram gerados e disponibilizados para você no bucket do Google Cloud Storage (gs://hcls_testing_data_fhir_10_patients/).
Neste codelab, você vai aprender:
- Como importar recursos FHIR R4 do GCS para o armazenamento FHIR do Cloud Healthcare.
- Como exportar dados FHIR do armazenamento FHIR para um conjunto de dados no BigQuery.
O que é necessário para executar esta demonstração?
- Você precisa ter acesso a um projeto do GCP.
- Você precisa ter o papel de proprietário no projeto do GCP.
- Recursos FHIR R4 no formato NDJSON (content-structure=RESOURCE)
Se você não tiver um projeto do GCP, siga estas etapas para criar um.
Os recursos FHIR R4 no formato NDJSON foram pré-carregados no bucket do GCS nos seguintes locais:
- gs://hcls_testing_data_fhir_10_patients/fhir_r4_ndjson/: recursos regulares
Todos os recursos acima têm o formato de arquivo New line delimiter JSON (NDJSON), mas com uma estrutura de conteúdo diferente:
- Recursos regulares no formato ndjson: cada linha do arquivo contém um recurso FHIR principal no formato JSON (como Patient, Observation etc.). Cada arquivo ndjson contém recursos FHIR do mesmo tipo. Por exemplo, Patient.ndjson vai conter um ou mais recursos FHIR do resourceType = ‘ Patient' e Observation.ndjson conterá um ou mais recursos FHIR de resourceType = ‘ Observation'.
Se você precisar de um novo conjunto de dados, poderá gerá-lo usando o SyntheaTM. Em seguida, faça upload dele para o GCS em vez de usar o bucket fornecido no codelab.
2. Configuração do projeto
Siga estas etapas para ativar a API Healthcare e conceder as permissões necessárias:
Inicializar variáveis de shell para seu ambiente
Para encontrar o PROJECT_NUMBER e o PROJECT_ID, consulte Como identificar projetos.
<!-- CODELAB: Initialize shell variables --> export PROJECT_ID=<PROJECT_ID> export PROJECT_NUMBER=<PROJECT_NUMBER> export SRC_BUCKET_NAME=hcls_testing_data_fhir_10_patients export BUCKET_NAME=<BUCKET_NAME> export DATASET_ID=<DATASET_ID> export FHIR_STORE=<FHIR_STORE> export BQ_DATASET=<BQ_DATASET>
Ativar a API Healthcare
As etapas a seguir ativarão as APIs Healthcare no projeto do GCP. Isso vai adicionar uma conta de serviço da API Healthcare ao projeto.
- Acesse a Biblioteca de APIs do Console do GCP.
- Selecione um projeto na lista.
- Na Biblioteca de APIs, selecione a API que você quer ativar. Se precisar de ajuda para encontrar a API, use o campo de pesquisa e os filtros.
- Na página da API, clique em ATIVAR.
Acessar o conjunto de dados sintético
- No endereço de e-mail que você está usando para fazer login no console do Cloud, envie um e-mail para hcls-solutions-external+subscribe@google.com pedindo para participar.
- Você vai receber um e-mail com instruções para confirmar a ação.
- Use a opção de responder ao e-mail para participar do grupo.
- NÃO clique no botão . Não funciona.
- Depois de receber o e-mail de confirmação, prossiga para a próxima etapa do codelab.
Crie um bucket do Google Cloud Storage no seu projeto do GCP
gsutil mb gs://$BUCKET_NAME
Copiar dados sintéticos para o projeto do GCP
gsutil -m cp gs://$SRC_BUCKET_NAME/fhir_r4_ndjson/**.ndjson \ gs://$BUCKET_NAME/fhir_r4_ndjson/
Conceder permissões
Antes de importar recursos FHIR do Cloud Storage e exportar para o BigQuery, você precisa conceder permissões adicionais à conta de serviço do agente de serviço do Cloud Healthcare . Para mais informações, consulte as permissões de armazenamento de FHIR do Cloud Storage e de armazenamento de FHIR do BigQuery.
Conceder permissão de administrador do Storage
gcloud projects add-iam-policy-binding $PROJECT_ID \ --member=serviceAccount:service-$PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com \ --role=roles/storage.objectViewer
Conceder permissões de administrador do BigQuery
gcloud projects add-iam-policy-binding $PROJECT_ID \ --member=serviceAccount:service-$PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com \ --role=roles/bigquery.admin
3. Configuração do ambiente
Siga estas etapas para ingerir dados de arquivos NDJSON no conjunto de dados de saúde no BigQuery usando as APIs FHIR do Cloud Healthcare:
Criar conjunto de dados de saúde e armazenamento FHIR
criar um conjunto de dados de saúde usando as APIs Cloud Healthcare;
gcloud beta healthcare datasets create $DATASET_ID --location=us-central1
Crie um armazenamento de FHIR no conjunto de dados usando as APIs Cloud Healthcare.
gcloud beta healthcare fhir-stores create $FHIR_STORE \ --dataset=$DATASET_ID --location=us-central1 --version=r4
4. Importar dados para o armazenamento FHIR
Importe dados de teste do Google Cloud Storage para o armazenamento FHIR.
Usaremos arquivos pré-carregados do bucket do GCS. Esses arquivos contêm recursos regulares FHIR R4 no formato NDJSON. Como resposta, você receberá OPERATION_NUMBER, que pode ser usado na etapa de validação.
Importar recursos regulares do bucket do GCS no seu projeto do GCP
gcloud beta healthcare fhir-stores import gcs $FHIR_STORE \ --dataset=$DATASET_ID --async \ --gcs-uri=gs://$BUCKET_NAME/fhir_r4_ndjson/**.ndjson \ --location=us-central1 --content-structure=RESOURCE
Validar
A operação de validação foi concluída com sucesso. A operação pode levar alguns minutos para terminar, então talvez seja necessário repetir esse comando algumas vezes com algum atraso.
gcloud beta healthcare operations describe OPERATION_NUMBER \ --dataset=$DATASET_ID --location=us-central1
5. Exportar dados do armazenamento FHIR para o BigQuery
Crie um conjunto de dados do BigQuery
bq mk --location=us --dataset $PROJECT_ID:$BQ_DATASET
Exportar dados de saúde do armazenamento FHIR para o conjunto de dados do BigQuery
gcloud beta healthcare fhir-stores export bq $FHIR_STORE \ --dataset=$DATASET_ID --location=us-central1 --async \ --bq-dataset=bq://$PROJECT_ID.$BQ_DATASET \ --schema-type=analytics
Como resposta, você receberá OPERATION_NUMBER, que pode ser usado na etapa de validação.
Validar
A operação de validação foi concluída
gcloud beta healthcare operations describe OPERATION_NUMBER \ --dataset=$DATASET_ID --location=us-central1
Validar se o conjunto de dados do BigQuery tem todas as 16 tabelas
bq ls $PROJECT_ID:$BQ_DATASET
6. Limpar
Para evitar cobranças na sua conta do Google Cloud Platform pelos recursos usados neste tutorial, limpe os recursos criados no GCP para que eles não ocupem sua cota e você não seja cobrado por eles no futuro. As próximas seções descrevem como excluir ou desativar esses recursos.
Excluir o projeto
O jeito mais fácil de evitar cobranças é excluindo o projeto que você criou para este tutorial.
Para excluir o projeto:
- No Console do GCP, acesse a página Projetos. ACESSAR A PÁGINA "PROJETOS"
- Na lista de projetos, selecione um e clique em Excluir.
- Na caixa de diálogo, digite o ID do projeto e clique em Encerrar para excluí-lo.
Se você precisar manter o projeto, exclua os conjuntos de dados do Cloud Healthcare e BigQuery usando as instruções a seguir.
Exclua o conjunto de dados da API Cloud Healthcare
Siga as etapas para excluir o conjunto de dados da API Healthcare usando o Console do GCP e a gcloud CLI.
Comando rápido da CLI:
gcloud beta healthcare datasets delete $DATASET_ID --location=us-central1
Excluir o conjunto de dados do BigQuery
Siga as etapas para excluir o conjunto de dados do BigQuery usando interfaces diferentes.
Comando rápido da CLI:
bq rm -r -f $PROJECT_ID:$DATASET_ID
7. Parabéns
Parabéns, você concluiu o codelab para ingerir dados de saúde no BigQuery usando as APIs Cloud Healthcare.
Você importou dados sintéticos compatíveis com FHIR R4 do Google Cloud Storage para as APIs FHIR do Cloud Healthcare.
Você exportou dados das APIs FHIR do Cloud Healthcare para o BigQuery.
Agora você sabe as principais etapas necessárias para iniciar sua jornada de análise de dados de saúde com o BigQuery no Google Cloud Platform.