Importa FHIR (Fast Healthcare Interoperability Resources) in BigQuery

1. Introduzione

1f4764c4ca4c50d9.png

Ultimo aggiornamento: 2020-05-16

Questo codelab mostra un pattern di importazione dati per importare i dati sanitari in formato FHIR R4 (risorse standard) in BigQuery utilizzando le API FHIR di Cloud Healthcare. Dati di test sanitari realistici sono stati generati e resi disponibili nel bucket Google Cloud Storage (gs://hcls_testing_data_fhir_10_patients/) per te.

In questo lab di codice imparerai:

  • Come importare risorse FHIR R4 da GCS nel datastore FHIR di Cloud Healthcare.
  • Come esportare i dati FHIR dal datastore FHIR a un set di dati in BigQuery.

Cosa ti serve per eseguire questa demo?

  • Devi accedere a un progetto della piattaforma Google Cloud.
  • Devi assegnare un ruolo di proprietario al progetto Google Cloud.
  • Risorse FHIR R4 in formato NDJSON (content-structure=RESOURCE)

Se non disponi di un progetto Google Cloud, segui questi passaggi per crearne uno.

Le risorse FHIR R4 in formato NDJSON sono state precaricate nel bucket GCS nelle seguenti posizioni:

  • gs://hcls_testing_data_fhir_10_patients/fhir_r4_ndjson/ - Risorse regolari

Tutte le risorse citate hanno un nuovo formato file JSON delimitatore di riga (NDJSON), ma una struttura di contenuti diversa:

  • Risorse normali in formato ndjson: ogni riga del file contiene una risorsa FHIR principale in formato JSON (come Paziente, Osservazione e così via). Ogni file ndjson contiene risorse FHIR dello stesso tipo di risorsa. Ad esempio, Patient.ndjson conterrà una o più risorse FHIR di resourceType = " Patient" e Observation.ndjson conterrà una o più risorse FHIR di resourceType = "Observation".

Se hai bisogno di un nuovo set di dati, puoi sempre generarlo utilizzando SyntheaTM. Quindi, caricalo in GCS anziché utilizzare il bucket fornito nel codelab.

2. Configurazione del progetto

Segui questi passaggi per abilitare l'API Healthcare e concedere le autorizzazioni necessarie:

Inizializzare le variabili shell per il tuo ambiente

Per trovare i valori di PROJECT_NUMBER e PROJECT_ID, consulta Identificazione dei progetti.

<!-- 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>

Abilita API Healthcare

I seguenti passaggi abiliteranno le API Healthcare nel tuo progetto Google Cloud. Aggiungerà l'account di servizio dell'API Healthcare al progetto.

  1. Vai alla libreria API della console Google Cloud.
  2. Seleziona il tuo progetto dall'elenco di progetti.
  3. Nella libreria API, seleziona l'API che vuoi abilitare. Se hai bisogno di aiuto per trovare l'API, utilizza il campo di ricerca e i filtri.
  4. Nella pagina dell'API, fai clic su ABILITA.

Accedere al set di dati sintetico

  1. Dall'indirizzo email che utilizzi per accedere alla console Cloud, invia un'email all'indirizzo hcls-solutions-external+subscribe@google.com richiedendo di partecipare.
  2. Riceverai un'email con istruzioni su come confermare l'azione.
  3. Utilizza l'opzione per rispondere all'email per unirti al gruppo.
  4. NON fare clic sul pulsante 525a0fa752e0acae.png. Non funziona.
  5. Una volta ricevuta l'email di conferma, potrai procedere al passaggio successivo nel codelab.

Crea un bucket Google Cloud Storage nel tuo progetto Google Cloud

gsutil mb gs://$BUCKET_NAME

Copia dati sintetici nel tuo progetto Google Cloud

gsutil -m cp gs://$SRC_BUCKET_NAME/fhir_r4_ndjson/**.ndjson \
gs://$BUCKET_NAME/fhir_r4_ndjson/

Concedi autorizzazioni

Prima di importare risorse FHIR da Cloud Storage ed esportarle in BigQuery, devi concedere autorizzazioni aggiuntive all'account di servizio dell'agente di servizio Cloud Healthcare . Per ulteriori informazioni, consulta le autorizzazioni Cloud Storage del datastore FHIR e BigQuery del datastore FHIR.

Concedi l'autorizzazione di amministratore dello spazio di archiviazione

gcloud projects add-iam-policy-binding $PROJECT_ID \
  --member=serviceAccount:service-$PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com \
  --role=roles/storage.objectViewer

Concedi le autorizzazioni di amministratore 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. Configurazione dell'ambiente

Segui questi passaggi per importare i dati dai file NDJSON nel set di dati per il settore sanitario in BigQuery utilizzando le API FHIR di Cloud Healthcare:

Crea set di dati Healthcare e datastore FHIR

Crea il set di dati Healthcare utilizzando le API Cloud Healthcare

gcloud beta healthcare datasets create $DATASET_ID --location=us-central1

Crea datastore FHIR nel set di dati utilizzando le API Cloud Healthcare

gcloud beta healthcare fhir-stores create $FHIR_STORE \
  --dataset=$DATASET_ID --location=us-central1 --version=r4

4. importa i dati nel datastore FHIR

Importa i dati di test da Google Cloud Storage nel datastore FHIR.

Utilizzeremo i file precaricati dal bucket GCS. Questi file contengono risorse normali FHIR R4 in formato NDJSON. In risposta, riceverai OPERATION_NUMBER, che può essere utilizzato nella fase di convalida.

Importa risorse normali dal bucket GCS nel tuo progetto Google Cloud

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

Convalida

Operazione di convalida completata. Il completamento dell'operazione potrebbe richiedere alcuni minuti, quindi potrebbe essere necessario ripetere questo comando alcune volte con un po' di ritardo.

gcloud beta healthcare operations describe OPERATION_NUMBER \
  --dataset=$DATASET_ID --location=us-central1

5. Esporta i dati dal datastore FHIR a BigQuery

Crea un set di dati BigQuery

bq mk --location=us --dataset $PROJECT_ID:$BQ_DATASET

Esporta i dati sanitari dall'archivio FHIR a un set di dati 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

In risposta, riceverai OPERATION_NUMBER, che può essere utilizzato nella fase di convalida.

Convalida

Operazione di convalida completata correttamente

gcloud beta healthcare operations describe OPERATION_NUMBER \
  --dataset=$DATASET_ID --location=us-central1

Verificare se il set di dati BigQuery ha tutte e 16 le tabelle

bq ls $PROJECT_ID:$BQ_DATASET

6. Esegui la pulizia

Per evitare che al tuo account Google Cloud Platform vengano addebitati costi relativi alle risorse utilizzate in questo tutorial, puoi eseguire la pulizia delle risorse che hai creato su Google Cloud, in modo che non occupino la tua quota e non ti verranno addebitati ulteriori costi in futuro. Le seguenti sezioni descrivono come eliminare o disattivare queste risorse.

Eliminare il progetto

Il modo più semplice per eliminare la fatturazione è quello di eliminare il progetto che hai creato per il tutorial.

Per eliminare il progetto:

  1. Nella console Google Cloud, vai alla pagina Progetti. VAI ALLA PAGINA PROGETTI
  2. Nell'elenco dei progetti, seleziona il progetto che vuoi eliminare e fai clic su Elimina.
  3. Nella finestra di dialogo, digita l'ID progetto, quindi fai clic su Chiudi per eliminare il progetto.

Se devi conservare il progetto, puoi eliminare il set di dati sanitari di Cloud e BigQuery seguendo le istruzioni riportate di seguito.

Elimina il set di dati dell'API Cloud Healthcare

Segui i passaggi per eliminare il set di dati dell'API Healthcare utilizzando la console di Google Cloud e gcloud CLI.

Comando dell'interfaccia a riga di comando rapida:

gcloud beta healthcare datasets delete $DATASET_ID --location=us-central1

Eliminare il set di dati BigQuery

Segui i passaggi per eliminare il set di dati BigQuery utilizzando interfacce diverse.

Comando dell'interfaccia a riga di comando rapida:

bq rm -r -f $PROJECT_ID:$DATASET_ID

7. Complimenti

Complimenti, hai completato il codelab per importare i dati sanitari in BigQuery utilizzando le API Cloud Healthcare.

Hai importato dati sintetici conformi a FHIR R4 da Google Cloud Storage nelle API FHIR di Cloud Healthcare.

Hai esportato i dati dalle API FHIR di Cloud Healthcare a BigQuery.

Ora conosci i passaggi chiave necessari per iniziare il tuo percorso di analisi dei dati sanitari con BigQuery su Google Cloud Platform.