1. Introduction

Dernière mise à jour : 16/05/2020
Cet atelier de programmation présente un modèle d'ingestion de données permettant d'ingérer des données de santé au format FHIR R4 (ressources régulières) dans BigQuery à l'aide des API Cloud Healthcare FHIR. Des données de test réalistes pour le secteur de la santé ont été générées et mises à votre disposition dans le bucket Google Cloud Storage (gs://hcls_testing_data_fhir_10_patients/).
Dans cet atelier de programmation, vous allez apprendre à :
- Comment importer des ressources FHIR R4 depuis GCS dans le magasin FHIR Cloud Healthcare.
- Découvrez comment exporter des données FHIR depuis un magasin FHIR vers un ensemble de données dans BigQuery.
De quoi avez-vous besoin pour exécuter cette démo ?
- Vous devez avoir accès à un projet GCP.
- Vous devez détenir le rôle de propriétaire pour le projet GCP.
- Ressources FHIR R4 au format NDJSON (content-structure=RESOURCE)
Si vous n'avez pas de projet GCP, suivez ces étapes pour en créer un.
Les ressources FHIR R4 au format NDJSON ont été préchargées dans le bucket GCS aux emplacements suivants :
- gs://hcls_testing_data_fhir_10_patients/fhir_r4_ndjson/ : ressources standards
Toutes les ressources ci-dessus sont au format de fichier JSON délimité par un retour à la ligne (NDJSON), mais leur structure de contenu est différente :
- Ressources standards au format ndjson : chaque ligne du fichier contient une ressource FHIR de base au format JSON (comme Patient, Observation, etc.). Chaque fichier ndjson contient des ressources FHIR du même type. Par exemple, Patient.ndjson contiendra une ou plusieurs ressources FHIR de type resourceType = Patient, et Observation.ndjson contiendra une ou plusieurs ressources FHIR de type resourceType = Observation.
Si vous avez besoin d'un nouvel ensemble de données, vous pouvez toujours le générer à l'aide de SyntheaTM. Ensuite, importez-le dans GCS au lieu d'utiliser le bucket fourni dans l'atelier de programmation.
2. Configuration du projet
Pour activer l'API Healthcare et accorder les autorisations requises, procédez comme suit :
Initialiser les variables shell pour votre environnement
Pour trouver les valeurs PROJECT_NUMBER et PROJECT_ID, consultez Identifier des projets.
<!-- 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>
Activer l'API Healthcare
Les étapes suivantes vous permettront d'activer les API Healthcare dans votre projet GCP. Il ajoutera le compte de service de l'API Healthcare au projet.
- Accédez à la bibliothèque d'API de la console GCP.
- Dans la liste des projets, sélectionnez un projet.
- Dans la bibliothèque d'API, sélectionnez l'API que vous souhaitez activer. Si vous avez besoin d'aide pour trouver l'API, utilisez le champ de recherche et les filtres.
- Sur la page de l'API, cliquez sur ACTIVER.
Accéder à l'ensemble de données synthétiques
- Depuis l'adresse e-mail que vous utilisez pour vous connecter à la console Cloud, envoyez un e-mail à hcls-solutions-external+subscribe@google.com pour demander à rejoindre le groupe.
- Vous recevrez un e-mail contenant des instructions pour confirmer l'action.
- Utilisez l'option permettant de répondre à l'e-mail pour rejoindre le groupe.
- NE cliquez PAS sur le bouton
. Cela ne fonctionne pas. - Une fois que vous aurez reçu l'e-mail de confirmation, vous pourrez passer à l'étape suivante de l'atelier de programmation.
Créer un bucket Google Cloud Storage dans votre projet GCP
gsutil mb gs://$BUCKET_NAME
Copier des données synthétiques dans votre projet GCP
gsutil -m cp gs://$SRC_BUCKET_NAME/fhir_r4_ndjson/**.ndjson \ gs://$BUCKET_NAME/fhir_r4_ndjson/
Accorder des autorisations
Avant d'importer des ressources FHIR depuis Cloud Storage et de les exporter vers BigQuery, vous devez accorder des autorisations supplémentaires au compte de service Agent de service Cloud Healthcare . Pour en savoir plus, consultez les autorisations Cloud Storage pour les datastores FHIR et BigQuery pour les datastores FHIR.
Accorder l'autorisation d'administrateur de l'espace de stockage
gcloud projects add-iam-policy-binding $PROJECT_ID \ --member=serviceAccount:service-$PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com \ --role=roles/storage.objectViewer
Accorder des autorisations d'administrateur 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. Configuration de l'environnement
Procédez comme suit pour ingérer des données à partir de fichiers NDJSON dans un ensemble de données de santé dans BigQuery à l'aide des API Cloud Healthcare FHIR :
Créer un ensemble de données et un magasin FHIR pour le secteur de la santé
Créer un ensemble de données de santé à l'aide des API Cloud Healthcare
gcloud beta healthcare datasets create $DATASET_ID --location=us-central1
Créer un magasin FHIR dans un ensemble de données à l'aide des API Cloud Healthcare
gcloud beta healthcare fhir-stores create $FHIR_STORE \ --dataset=$DATASET_ID --location=us-central1 --version=r4
4. Importer des données dans un magasin FHIR
Importez des données de test depuis Google Cloud Storage vers le magasin FHIR.
Nous utiliserons des fichiers préchargés à partir du bucket GCS. Ces fichiers contiennent des ressources FHIR R4 standards au format NDJSON. En réponse, vous recevrez OPERATION_NUMBER, qui pourra être utilisé lors de l'étape de validation.
Importer des ressources standards depuis le bucket GCS de votre projet 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
Valider
L'opération de validation s'est terminée avec succès. L'opération peut prendre quelques minutes. Vous devrez peut-être répéter cette commande plusieurs fois avec un certain délai.
gcloud beta healthcare operations describe OPERATION_NUMBER \ --dataset=$DATASET_ID --location=us-central1
5. Exporter des données d'un magasin FHIR vers BigQuery
Créer un ensemble de données BigQuery
bq mk --location=us --dataset $PROJECT_ID:$BQ_DATASET
Exporter des données de santé d'un store FHIR vers un ensemble de données 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
En réponse, vous recevrez OPERATION_NUMBER, qui pourra être utilisé lors de l'étape de validation.
Valider
L'opération de validation s'est terminée avec succès.
gcloud beta healthcare operations describe OPERATION_NUMBER \ --dataset=$DATASET_ID --location=us-central1
Valider si l'ensemble de données BigQuery contient les 16 tables
bq ls $PROJECT_ID:$BQ_DATASET
6. Effectuer un nettoyage
Pour éviter que les ressources utilisées dans ce tutoriel soient facturées sur votre compte Google Cloud Platform, vous pouvez nettoyer les ressources que vous avez créées sur GCP afin qu'elles ne soient plus comptabilisées dans votre quota et qu'elles ne vous soient plus facturées. Dans les sections suivantes, nous allons voir comment supprimer ou désactiver ces ressources.
Supprimer le projet
Le moyen le plus simple d'empêcher la facturation est de supprimer le projet que vous avez créé pour ce tutoriel.
Pour supprimer le projet :
- Dans la console GCP, accédez à la page Projets. ACCÉDER À LA PAGE "PROJETS"
- Dans la liste des projets, sélectionnez celui que vous souhaitez supprimer, puis cliquez sur Supprimer.
- Dans la boîte de dialogue, saisissez l'ID du projet, puis cliquez sur Arrêter pour supprimer le projet.
Si vous devez conserver le projet, vous pouvez supprimer l'ensemble de données Cloud Healthcare et l'ensemble de données BigQuery en suivant les instructions ci-dessous.
Supprimer l'ensemble de données de l'API Cloud Healthcare
Suivez les étapes pour supprimer un ensemble de données de l'API Healthcare à l'aide de la console GCP et de gcloud CLI.
Commande CLI rapide :
gcloud beta healthcare datasets delete $DATASET_ID --location=us-central1
Supprimer l'ensemble de données BigQuery
Suivez les étapes pour supprimer l'ensemble de données BigQuery à l'aide de différentes interfaces.
Commande CLI rapide :
bq rm -r -f $PROJECT_ID:$DATASET_ID
7. Félicitations
Félicitations, vous avez terminé l'atelier de programmation sur l'ingestion de données de santé dans BigQuery à l'aide des API Cloud Healthcare.
Vous avez importé des données synthétiques conformes à FHIR R4 depuis Google Cloud Storage vers les API Cloud Healthcare FHIR.
Vous avez exporté des données depuis les API Cloud Healthcare FHIR vers BigQuery.
Vous connaissez maintenant les étapes clés nécessaires pour commencer votre parcours d'analyse des données de santé avec BigQuery sur Google Cloud Platform.