Démarrage rapide avec l'outil de ligne de commande gcloud

Cette page explique comment utiliser l'API Cloud Healthcare avec l'outil de ligne de commande gcloud pour effectuer les tâches suivantes:

  1. Créez un ensemble de données pour l'API Cloud Healthcare.
  2. Créez l'un des datastores suivants dans l'ensemble de données :
    • Magasin DICOM (Digital Imaging and Communications in Medicine)
    • Magasin FHIR (Fast Healthcare Interoperability Resources)
    • Magasin HL7v2 Health Level Seven International
  3. Stockez et inspectez un type particulier de données médicales dans le magasin DICOM, FHIR ou HL7v2.

Avant de commencer

  1. Connectez-vous à votre compte Google Cloud. Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de nos produits en conditions réelles. Les nouveaux clients bénéficient également de 300 $ de crédits gratuits pour exécuter, tester et déployer des charges de travail.
  2. Dans Google Cloud Console, sur la page de sélection du projet, sélectionnez ou créez un projet Google Cloud.

    Accéder au sélecteur de projet

  3. Assurez-vous que la facturation est activée pour votre projet Cloud. Découvrez comment vérifier que la facturation est activée pour votre projet.

  4. Activez Cloud Healthcare API.

    Activer l'API

  5. Installez gsutil, un outil permettant d'accéder à Cloud Storage à partir de la ligne de commande à l'aide du protocole HTTPS.
  6. Selon votre utilisation de l'outil de ligne de commande gcloud, effectuez l'une des opérations suivantes :
    • Si vous utilisez Cloud Shell, ouvrez Google Cloud Console, puis cliquez sur le bouton Activer Cloud Shell en haut de la fenêtre de la console.

      Accéder à Google Cloud Console

      Une session Cloud Shell s'ouvre dans un nouveau cadre en bas de la console et affiche une invite de ligne de commande. L'initialisation de la session Shell peut prendre quelques secondes.

    • Si vous utilisez une machine virtuelle Compute Engine, ouvrez la fenêtre de terminal de la machine virtuelle.
    • Si vous utilisez l'outil gcloud sur votre ordinateur, installez et initialisez le SDK Cloud.

Créer un ensemble de données

Les ensembles de données sont les conteneurs de base dans lesquels sont stockées les données médicales dans Google Cloud. Pour utiliser l'API Cloud Healthcare, vous devez créer au moins un ensemble de données.

Pour créer un ensemble de données, utilisez la commande gcloud healthcare datasets create:

gcloud healthcare datasets create DATASET_ID \
    --location=LOCATION

Remplacez l'élément suivant :

  • DATASET_ID: identifiant de l'ensemble de données. L'ID de l'ensemble de données doit être unique au sein de l'emplacement. L'ID de l'ensemble de données peut être une chaîne Unicode de 1 à 256 caractères, composée de chiffres, lettres, traits de soulignement, tirets et points.
  • LOCATION: emplacement Google Cloud dans lequel créer l'ensemble de données. Utiliser us-central1, us-west2, us-east4, europe-west2, europe-west4, europe-west6, northamerica-northeast1, southamerica-east1, asia-east2, asia-northeast1, asia-southeast1, australia-southeast1 ou us. Pour utiliser la région par défaut pour le projet, omettez l'option --location.

Le résultat est le suivant :

Created dataset [DATASET_ID].

Stocker et afficher des données DICOM, FHIR et HL7v2

Pour suivre ce guide de démarrage rapide, choisissez l'une des sections suivantes:

Stocker et afficher des instances DICOM

Cette section explique comment effectuer les tâches suivantes:

  1. Créer un magasin DICOM.
  2. Importer une instance DICOM depuis Cloud Storage dans le magasin DICOM.
  3. (Facultatif) Affichez les métadonnées de l'instance DICOM.

L'API Cloud Healthcare met en œuvre la norme DICOMweb pour stocker des données d'imagerie médicale et y accéder.

  1. Les magasins DICOM existent dans des ensembles de données et contiennent des instances DICOM. Pour créer un magasin DICOM, utilisez la commande gcloud healthcare dicom-stores create:

    gcloud healthcare dicom-stores create DICOM_STORE_ID \
     --dataset=DATASET_ID \
     --location=LOCATION
    

    Remplacez l'élément suivant :

    • DICOM_STORE_ID: identifiant du magasin DICOM. L'ID de magasin DICOM doit être unique dans l'ensemble de données. L'ID de magasin DICOM peut être une chaîne Unicode comprise entre 1 et 256 caractères, composée de chiffres, lettres, traits de soulignement, tirets et points.
    • DATASET_ID: nom de l'ensemble de données parent du magasin DICOM.
    • LOCATION: emplacement de l'ensemble de données parent.

    Le résultat est le suivant :

    Created dicomStore [DICOM_STORE_ID].
    
  2. Des exemples de données DICOM sont disponibles dans le bucket Cloud Storage gs://gcs-public-data--healthcare-nih-chest-xray.

    Importez l'instance DICOM gs://gcs-public-data--healthcare-nih-chest-xray/dicom/00000001_000.dcm à l'aide de la commande gcloud healthcare dicom-stores import:

    gcloud healthcare dicom-stores import gcs DICOM_STORE_ID \
     --dataset=DATASET_ID \
     --location=LOCATION \
     --gcs-uri=gs://gcs-public-data--healthcare-nih-chest-xray/dicom/00000001_000.dcm
    

    Remplacez l'élément suivant :

    • DICOM_STORE_ID: l'identifiant du magasin DICOM.
    • DATASET_ID: nom de l'ensemble de données parent du magasin DICOM.
    • LOCATION: emplacement de l'ensemble de données parent.

    Le résultat est le suivant :

    Request issued for: [DICOM_STORE_ID]
    Waiting for operation [projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID] to complete...done.
    name: projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID
    
  3. (Facultatif) L'outil gcloud n'est pas compatible avec les transactions DICOMweb, telles que l'affichage ou la récupération d'instances. Vous pouvez utiliser l'outil de ligne de commande DICOMweb de Google. L'outil de ligne de commande DICOMweb s'exécute sous Python. Pour en savoir plus sur la configuration de Python sur Google Cloud, consultez la page Configurer un environnement de développement Python.

    Après avoir configuré Python, vous pouvez installer l'outil à l'aide de PIP :

    pip install https://github.com/GoogleCloudPlatform/healthcare-api-dicomweb-cli/archive/v1.0.zip
    

    Pour afficher les métadonnées de l'instance, exécutez la commande suivante à l'aide de l'outil de ligne de commande DICOMweb:

    dcmweb \
      https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/dicomStores/DICOM_STORE_ID/dicomWeb \
      search instances
    

    Le résultat est le suivant :

    [
      {
        "00080016": {
          "Value": [
            "1.2.840.10008.5.1.4.1.1.7"
          ],
          "vr": "UI"
        },
        "00080018": {
          "Value": [
            "1.3.6.1.4.1.11129.5.5.153751009835107614666834563294684339746480"
          ],
          "vr": "UI"
        },
        "00080060": {
          "Value": [
            "DX"
          ],
          "vr": "CS"
        },
        "00100020": {
          "Value": [
            "1"
          ],
          "vr": "LO"
        },
        "00100040": {
          "Value": [
            "M"
          ],
          "vr": "CS"
        },
        "0020000D": {
          "Value": [
            "1.3.6.1.4.1.11129.5.5.111396399361969898205364400549799252857604"
          ],
          "vr": "UI"
        },
        "0020000E": {
          "Value": [
            "1.3.6.1.4.1.11129.5.5.195628213694300498946760767481291263511724"
          ],
          "vr": "UI"
        },
        "00280010": {
          "Value": [
            1024
          ],
          "vr": "US"
        },
        "00280011": {
          "Value": [
            1024
          ],
          "vr": "US"
        },
        "00280100": {
          "Value": [
            8
          ],
          "vr": "US"
        }
      }
    ]
    

Maintenant que vous avez stocké une instance DICOM dans l'API Cloud Healthcare, passez à la section Étapes suivantes pour plus d'informations sur les étapes suivantes, par exemple pour rechercher ou récupérer des images DICOM.

Stockage et affichage de ressources FHIR

Cette section explique comment effectuer les tâches suivantes:

  1. Créez un magasin FHIR.
  2. Créez un bucket Cloud Storage et copiez un fichier de ressources FHIR dans le bucket.
  3. Importez la ressource FHIR du bucket Cloud Storage dans le magasin FHIR.

Pour suivre ce guide de démarrage rapide, procédez comme suit:

  1. Les magasins FHIR existent dans des ensembles de données et contiennent des ressources FHIR. Pour créer un magasin FHIR, utilisez la commande gcloud healthcare fhir-stores create:

    gcloud healthcare fhir-stores create FHIR_STORE_ID \
     --dataset=DATASET_ID \
     --location=LOCATION \
     --version=STU3
    

    Remplacez l'élément suivant :

    • FHIR_STORE_ID: identifiant du magasin FHIR. L'ID de magasin FHIR doit être unique dans l'ensemble de données. L'ID de magasin FHIR peut être une chaîne Unicode comprise entre 1 et 256 caractères, composée de chiffres, lettres, traits de soulignement, tirets et points.
    • DATASET_ID: nom de l'ensemble de données parent du magasin FHIR.
    • LOCATION: emplacement de l'ensemble de données parent.
    • Les options disponibles pour la version du magasin FHIR sont DSTU2, STU3 ou R4. Pour ce guide de démarrage rapide, utilisez STU3.

    Le résultat est le suivant :

    Created fhirStore [FHIR_STORE_ID].
    
  2. Enregistrez l'exemple de fichier de ressource FHIR JSON sur votre ordinateur. Le fichier contient les données de base d'une ressource Patient et d'un en-tête du patient.

  3. Si vous ne disposez pas déjà d'un bucket Cloud Storage pour stocker l'exemple de fichier FHIR, créez un bucket à l'aide de la commande gsutil mb:

    gsutil mb gs://BUCKET
    

    Remplacez la variable BUCKET par votre propre nom de bucket unique.

    Le résultat est le suivant :

    Creating gs://BUCKET/...
    

    Si le nom du bucket que vous avez choisi est déjà utilisé, par vous ou une tierce personne, la commande renvoie le message suivant:

    Creating gs://BUCKET/...
    ServiceException: 409 Bucket BUCKET already exists.
    

    Si le nom du bucket est déjà utilisé, réessayez avec un autre nom.

  4. Copiez l'exemple de fichier de ressources FHIR JSON dans le bucket à l'aide de la commande gsutil cp:

    gsutil cp resources.ndjson gs://BUCKET
    

    Le résultat est le suivant :

    Copying file://resources.ndjson [Content-Type=application/octet-stream]...
    / [1 files][  860.0 B/  860.0 B]
    Operation completed over 1 objects/860.0 B.
    
  5. Après avoir copié le fichier de ressources FHIR dans le bucket, importez la ressource FHIR à l'aide de la commande gcloud healthcare fhir-stores import:

    gcloud healthcare fhir-stores import gcs FHIR_STORE_ID \
     --dataset=DATASET_ID \
     --location=LOCATION \
     --gcs-uri=gs://BUCKET/resources.ndjson \
     --content-structure=RESOURCE
    

    Remplacez l'élément suivant :

    • FHIR_STORE_ID: identifiant du magasin FHIR.
    • DATASET_ID: nom de l'ensemble de données parent du magasin FHIR.
    • LOCATION: emplacement de l'ensemble de données parent.
    • BUCKET: nom du bucket Cloud Storage contenant le fichier de ressources FHIR.

    Le résultat est le suivant :

    Request issued for: [FHIR_STORE_ID]
    Waiting for operation [projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID] to complete...done.
    name: projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID
    version: STU3
    

Maintenant que vous avez stocké une ressource FHIR dans l'API Cloud Healthcare, passez à la section Étapes suivantes pour obtenir des informations sur les étapes suivantes, telles que l'affichage et la recherche de ressources FHIR dans le Magasin FHIR.

Stocker et afficher des messages HL7v2

Cette section explique comment effectuer les tâches suivantes:

  1. Créer un magasin HL7v2.
  2. Créez un bucket Cloud Storage et copiez un message HL7v2 dans le bucket.
  3. Importez le message HL7v2 du bucket Cloud Storage dans le magasin HL7v2.

La mise en œuvre de HL7v2 dans l'API Cloud Healthcare est conforme à la norme HL7v2.

  1. Les magasins HL7v2 existent dans des ensembles de données et contiennent des messages HL7v2. Pour créer un magasin HL7v2, utilisez la commande gcloud healthcare hl7V2-stores create:

    gcloud healthcare hl7V2-stores create HL7V2_STORE_ID \
     --dataset=DATASET_ID \
     --location=LOCATION
    

    Remplacez l'élément suivant :

    • HL7V2_STORE_ID: identifiant du magasin HL7v2. L'ID de magasin HL7v2 doit être unique dans l'ensemble de données. L'ID de magasin HL7v2 peut être une chaîne Unicode de 1 à 256 caractères composée de chiffres, de lettres, de traits de soulignement, de tirets et de points.
    • DATASET_ID: nom de l'ensemble de données parent du magasin HL7v2.
    • LOCATION: emplacement de l'ensemble de données parent.

    Le résultat est le suivant :

    Created hl7v2Store [HL7V2_STORE_ID].
    
  2. Enregistrez l'exemple de fichier de message HL7v2 sur votre machine. Le message contient les informations de base suivantes, où elles sont encodées en base64 dans le champ data de l'exemple de fichier:

    MSH|^~\&|A|SEND_FACILITY|A|A|20180101000000||TYPE^A|20180101000000|T|0.0|||AA||00|ASCII
    EVN|A00|20180101040000
    PID||14^111^^^^MRN|11111111^^^^MRN~1111111111^^^^ORGNMBR
    
  3. Si vous ne possédez pas déjà un bucket Cloud Storage que vous souhaitez utiliser pour stocker l'exemple de message HL7v2, créez-en un à l'aide de la commande gsutil mb:

    gsutil mb gs://BUCKET
    

    Remplacez la variable BUCKET par votre propre nom de bucket unique.

    Le résultat est le suivant :

    Creating gs://BUCKET/...
    

    Si le nom du bucket que vous avez choisi est déjà utilisé, par vous ou une tierce personne, la commande renvoie les éléments suivants:

    Creating gs://BUCKET/...
    ServiceException: 409 Bucket BUCKET already exists.
    

    Si le nom du bucket est déjà utilisé, réessayez avec un autre nom.

  4. Copiez l'exemple de message HL7v2 dans le bucket à l'aide de la commande gsutil cp:

    gsutil cp hl7v2-sample-import.ndjson gs://BUCKET
    

    Le résultat est le suivant :

    Copying file://hl7v2-sample-import.ndjson [Content-Type=application/octet-stream]...
    / [1 files][  241.0 B/  241.0 B]
    Operation completed over 1 objects/241.0 B.
    
  5. Après avoir copié le fichier HL7v2 dans le bucket, importez le message HL7v2 à l'aide de la commande gcloud beta healthcare hl7V2-stores import:

    gcloud beta healthcare hl7v2-stores import gcs HL7V2_STORE_ID \
     --dataset=DATASET_ID \
     --location=LOCATION \
     --gcs-uri=gs://BUCKET/hl7v2-sample-import.ndjson
    

    Remplacez l'élément suivant :

    • HL7V2_STORE_ID: identifiant du magasin HL7v2.
    • DATASET_ID: nom de l'ensemble de données parent du magasin HL7v2.
    • LOCATION: emplacement de l'ensemble de données parent.
    • BUCKET: nom du bucket Cloud Storage contenant le fichier HL7v2.

    Le résultat est le suivant :

    Request issued for: [HL7V2_STORE_ID]
    Waiting for operation [projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID] to complete...done.
    name: projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID
    

Maintenant que vous avez stocké un message HL7v2 dans l'API Cloud Healthcare, passez à la section Étapes suivantes pour plus d'informations sur les étapes suivantes, par exemple pour afficher le contenu du message HL7v2 dans dans son magasin.

Nettoyer

Pour éviter que les ressources utilisées dans ce tutoriel soient facturées sur votre compte Google Cloud, vous pouvez nettoyer les ressources créées sur Google Cloud.

Si vous avez créé un projet pour ce tutoriel, suivez les étapes décrites dans la section Supprimer le projet. Sinon, suivez la procédure décrite dans la section Supprimer l'ensemble de données.

Supprimer le projet

  1. Dans Cloud Console, accédez à la page Gérer les ressources.

    Accéder à la page Gérer les ressources

  2. Dans la liste des projets, sélectionnez le projet que vous souhaitez supprimer, puis cliquez sur Supprimer.
  3. Dans la boîte de dialogue, saisissez l'ID du projet, puis cliquez sur Arrêter pour supprimer le projet.

Supprimer l'ensemble de données

Si vous n'avez plus besoin de l'ensemble de données créé dans ce guide de démarrage rapide, vous pouvez le supprimer. La suppression d'un ensemble de données entraîne la suppression définitive de l'ensemble de données et des datastores FHIR, HL7v2 ou DICOM qu'il contient.

  1. Pour supprimer un ensemble de données, utilisez la commande gcloud healthcare datasets delete:

    gcloud healthcare datasets delete DATASET_ID \
    --location=LOCATION \
    --project=PROJECT_ID
    
  2. Pour confirmer, saisissez Y.

Le résultat est le suivant :

Deleted dataset [DATASET_ID].

Comment ça s'est passé ?

Étape suivante

Consultez les sections suivantes pour obtenir des informations générales sur l'API Cloud Healthcare et sur l'exécution de tâches à l'aide de Cloud Console ou de curl et de Windows PowerShell.

DICOM

Consultez le guide DICOM pour passer en revue les sujets suivants:

Consultez la instruction de conformité DICOM pour en savoir plus sur la manière dont l'API Cloud Healthcare met en œuvre la norme DICOMweb.

FHIR

Consultez le guide FHIR pour passer en revue les sujets tels que:

Consultez la Déclaration de conformité FHIR pour en savoir plus sur la manière dont l'API Cloud Healthcare met en œuvre la norme FHIR.

HL7v2

Consultez le guide HL7v2 pour passer en revue les sujets suivants: