1. Introduzione
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.
- Vai alla libreria API della console Google Cloud.
- Seleziona il tuo progetto dall'elenco di progetti.
- 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.
Accedere al set di dati sintetico
- Dall'indirizzo email che utilizzi per accedere alla console Cloud, invia un'email all'indirizzo hcls-solutions-external+subscribe@google.com richiedendo di partecipare.
- Riceverai un'email con istruzioni su come confermare l'azione.
- Utilizza l'opzione per rispondere all'email per unirti al gruppo.
- NON fare clic sul pulsante . Non funziona.
- 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:
- Nella console Google Cloud, vai alla pagina Progetti. VAI ALLA PAGINA PROGETTI
- Nell'elenco dei progetti, seleziona il progetto che vuoi 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 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.