1. Introduzione

Ultimo aggiornamento: 16/05/2020
Questo codelab mostra un pattern di importazione dei dati per importare dati sanitari formattati FHIR R4 (risorse regolari) in BigQuery utilizzando le API Cloud Healthcare FHIR. Sono stati generati e resi disponibili dati di test sanitari realistici nel bucket Google Cloud Storage (gs://hcls_testing_data_fhir_10_patients/).
In questo codelab imparerai:
- Come importare le risorse FHIR R4 da GCS nel datastore FHIR di Cloud Healthcare.
- Come esportare i dati FHIR da FHIR Store a un set di dati in BigQuery.
Cosa serve per eseguire questa demo?
- Devi avere accesso a un progetto Google Cloud.
- Devi avere il ruolo di Proprietario per il progetto Google Cloud.
- Risorse FHIR R4 in formato NDJSON (content-structure=RESOURCE)
Se non hai un progetto Google Cloud, segui questi passaggi per crearne uno nuovo.
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 riportate sopra hanno il formato file JSON delimitato da un carattere di nuova riga (NDJSON), ma una struttura dei contenuti diversa:
- Risorse regolari in formato ndjson: ogni riga del file contiene una risorsa FHIR di base in formato JSON (ad esempio Patient, Observation e così via). Ogni file ndjson contiene risorse FHIR dello stesso tipo. 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 su GCS anziché utilizzare il bucket fornito in codelab.
2. Configurazione del progetto
Segui questi passaggi per abilitare l'API Healthcare e concedere le autorizzazioni richieste:
Inizializzare le variabili della shell per l'ambiente
Per trovare 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 l'API Healthcare
I passaggi seguenti consentono di attivare le API Healthcare nel tuo progetto GCP. Verrà aggiunto l'service account dell'API Healthcare al progetto.
- Vai alla libreria API della console GCP.
- Dall'elenco dei progetti, seleziona il tuo progetto.
- 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.
- Nella pagina dell'API, fai clic su ABILITA.
Ottenere l'accesso al set di dati sintetici
- Dall'indirizzo email che utilizzi per accedere a Cloud Console, invia un'email a hcls-solutions-external+subscribe@google.com richiedendo di partecipare.
- Riceverai un'email con le istruzioni su come confermare l'azione.
- Utilizza l'opzione per rispondere all'email per iscriverti al gruppo.
- NON fare clic sul pulsante
. Non funziona. - Una volta ricevuta l'email di conferma, puoi procedere al passaggio successivo del codelab.
Crea un bucket Google Cloud Storage nel tuo progetto GCP
gsutil mb gs://$BUCKET_NAME
Copia i 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 le autorizzazioni
Prima di importare le 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 per gli archivi FHIR e BigQuery per gli archivi FHIR.
Concedere l'autorizzazione di amministratore Storage
gcloud projects add-iam-policy-binding $PROJECT_ID \ --member=serviceAccount:service-$PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com \ --role=roles/storage.objectViewer
Concedere le autorizzazioni BigQuery Admin
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 sanitari in BigQuery utilizzando le API Cloud Healthcare FHIR:
Crea il set di dati sanitari e l'archivio FHIR
Crea un set di dati sanitari utilizzando le API Cloud Healthcare
gcloud beta healthcare datasets create $DATASET_ID --location=us-central1
Crea l'archivio 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 a FHIR Store.
Utilizzeremo i file precaricati dal bucket GCS. Questi file contengono risorse regolari FHIR R4 in formato NDJSON. Come risposta, riceverai OPERATION_NUMBER, che può essere utilizzato nel passaggio di convalida.
Importa risorse regolari dal bucket GCS nel progetto 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
Convalida
L'operazione di convalida è stata completata correttamente. L'operazione potrebbe richiedere alcuni minuti, quindi potresti dover ripetere questo comando più volte con un po' di ritardo.
gcloud beta healthcare operations describe OPERATION_NUMBER \ --dataset=$DATASET_ID --location=us-central1
5. Esportare i dati da FHIR Store a BigQuery
Crea un set di dati BigQuery
bq mk --location=us --dataset $PROJECT_ID:$BQ_DATASET
Esportare i dati sanitari da FHIR Store al 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
Come risposta, riceverai OPERATION_NUMBER, che può essere utilizzato nel passaggio di convalida.
Convalida
Validate operation finished successfully
gcloud beta healthcare operations describe OPERATION_NUMBER \ --dataset=$DATASET_ID --location=us-central1
Verifica che il set di dati BigQuery contenga tutte le 16 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 eliminare le risorse che hai creato su GCP in modo che non occupino la tua quota e non ti vengano addebitate in futuro. Le sezioni seguenti descrivono come eliminare o disattivare queste risorse.
Elimina il progetto
Il modo più semplice per eliminare la fatturazione è eliminare il progetto creato per il tutorial.
Per eliminare il progetto:
- Nella console di GCP, vai alla pagina Progetti. VAI ALLA PAGINA PROGETTI
- Nell'elenco dei progetti, seleziona quello da eliminare e fai clic su Elimina.
- 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 Cloud Healthcare e il set di dati BigQuery seguendo le istruzioni riportate di seguito.
Eliminare il set di dati dell'API Cloud Healthcare
Segui i passaggi per eliminare il set di dati dell'API Healthcare utilizzando sia la console GCP che gcloud CLI.
Comando rapido dell'interfaccia a riga di comando:
gcloud beta healthcare datasets delete $DATASET_ID --location=us-central1
Elimina il set di dati BigQuery
Segui i passaggi per eliminare il set di dati BigQuery utilizzando interfacce diverse.
Comando rapido dell'interfaccia a riga di comando:
bq rm -r -f $PROJECT_ID:$DATASET_ID
7. Complimenti
Congratulazioni, hai completato il codelab per importare dati sanitari in BigQuery utilizzando le API Cloud Healthcare.
Hai importato dati sintetici conformi a FHIR R4 da Google Cloud Storage nelle API Cloud Healthcare FHIR.
Hai esportato i dati dalle API Cloud Healthcare FHIR a BigQuery.
Ora conosci i passaggi chiave necessari per iniziare il tuo percorso di analisi dei dati sanitari con BigQuery su Google Cloud.