Archiviare dati sanitari con Google Cloud CLI

Questa pagina mostra come utilizzare l'API Cloud Healthcare e Google Cloud CLI per completare le seguenti attività:

  1. Creare un set di dati dell'API Cloud Healthcare.
  2. Crea uno dei seguenti datastore all'interno del set di dati:
    • Archivio Digital Imaging and Communications in Medicine (DICOM)
    • Archivio Fast Healthcare Interoperability Resources (FHIR)
    • Archivio Health Level Seven International Version 2 (HL7v2)
  3. Memorizza dati DICOM, FHIR e HL7v2 e visualizza i metadati DICOM.

Se ti interessa lavorare solo con un tipo di datastore, puoi passare direttamente a quella sezione della guida rapida dopo aver completato i passaggi in Prima di iniziare e Crea un set di dati.

Prima di iniziare

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. Install the Google Cloud CLI.

  3. Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.

  4. Per inizializzare gcloud CLI, esegui questo comando:

    gcloud init
  5. Create or select a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.
    • Create a Google Cloud project:

      gcloud projects create PROJECT_ID

      Replace PROJECT_ID with a name for the Google Cloud project you are creating.

    • Select the Google Cloud project that you created:

      gcloud config set project PROJECT_ID

      Replace PROJECT_ID with your Google Cloud project name.

  6. Verify that billing is enabled for your Google Cloud project.

  7. Enable the Cloud Healthcare API:

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    gcloud services enable healthcare.googleapis.com
  8. Grant roles to your user account. Run the following command once for each of the following IAM roles: roles/healthcare.datasetAdmin, roles/healthcare.fhirStoreAdmin, roles/healthcare.dicomStoreAdmin, roles/healthcare.hl7V2StoreAdmin

    gcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_IDENTIFIER" --role=ROLE

    Replace the following:

    • PROJECT_ID: your project ID.
    • USER_IDENTIFIER: the identifier for your user account—for example, myemail@example.com.
    • ROLE: the IAM role that you grant to your user account.
  9. Install the Google Cloud CLI.

  10. Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.

  11. Per inizializzare gcloud CLI, esegui questo comando:

    gcloud init
  12. Create or select a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.
    • Create a Google Cloud project:

      gcloud projects create PROJECT_ID

      Replace PROJECT_ID with a name for the Google Cloud project you are creating.

    • Select the Google Cloud project that you created:

      gcloud config set project PROJECT_ID

      Replace PROJECT_ID with your Google Cloud project name.

  13. Verify that billing is enabled for your Google Cloud project.

  14. Enable the Cloud Healthcare API:

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    gcloud services enable healthcare.googleapis.com
  15. Grant roles to your user account. Run the following command once for each of the following IAM roles: roles/healthcare.datasetAdmin, roles/healthcare.fhirStoreAdmin, roles/healthcare.dicomStoreAdmin, roles/healthcare.hl7V2StoreAdmin

    gcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_IDENTIFIER" --role=ROLE

    Replace the following:

    • PROJECT_ID: your project ID.
    • USER_IDENTIFIER: the identifier for your user account—for example, myemail@example.com.
    • ROLE: the IAM role that you grant to your user account.
  16. Crea un set di dati

    I set di dati contengono datastore, i quali a loro volta contengono dati sanitari. Per utilizzare l'API Cloud Healthcare, devi creare almeno un set di dati.

    L'esempio seguente mostra come creare un set di dati denominato my-dataset nella regione us-central1. Utilizzerai il set di dati in tutta questa guida rapida per creare archivi DICOM, FHIR e HL7v2.

    gcloud

    Crea un set di dati utilizzando il comando gcloud healthcare datasets create.

    Prima di utilizzare i dati dei comandi riportati di seguito, effettua le seguenti sostituzioni:

    • PROJECT_ID: l'ID del progetto Google Cloud che hai creato o selezionato in Prima di iniziare

    Esegui questo comando:

    Linux, macOS o Cloud Shell

    gcloud healthcare datasets create my-dataset \
      --project=PROJECT_ID \
      --location=us-central1

    Windows (PowerShell)

    gcloud healthcare datasets create my-dataset `
      --project=PROJECT_ID `
      --location=us-central1

    Windows (cmd.exe)

    gcloud healthcare datasets create my-dataset ^
      --project=PROJECT_ID ^
      --location=us-central1

    Dovresti ricevere una risposta simile alla seguente:

    Risposta

    Create request issued for: [my-dataset]
    Created dataset [my-dataset].
    

    Per completare questa guida rapida, scegli una delle seguenti sezioni:

    Archiviare e visualizzare un'istanza DICOM

    Questa sezione mostra come completare le seguenti attività:

    1. Crea un archivio DICOM.
    2. Importa un'istanza DICOM da un bucket Cloud Storage pubblico nell'archivio DICOM.
    3. Visualizza i metadati dell'istanza DICOM.

    L'API Cloud Healthcare implementa lo standard DICOMweb per archiviare e accedere ai dati di diagnostica per immagini.

    Crea un archivio DICOM

    Gli archivi DICOM si trovano all'interno di set di dati e contengono istanze DICOM. L'esempio riportato di seguito mostra come creare un archivio DICOM denominato my-dicom-store.

    gcloud

    Crea un archivio DICOM utilizzando il comando gcloud healthcare dicom-stores create.

    Prima di utilizzare i dati dei comandi riportati di seguito, effettua le seguenti sostituzioni:

    • PROJECT_ID: l'ID del progetto Google Cloud che hai creato o selezionato in Prima di iniziare

    Esegui questo comando:

    Linux, macOS o Cloud Shell

    gcloud healthcare dicom-stores create my-dicom-store \
      --project=PROJECT_ID \
      --dataset=my-dataset \
      --location=us-central1

    Windows (PowerShell)

    gcloud healthcare dicom-stores create my-dicom-store `
      --project=PROJECT_ID `
      --dataset=my-dataset `
      --location=us-central1

    Windows (cmd.exe)

    gcloud healthcare dicom-stores create my-dicom-store ^
      --project=PROJECT_ID ^
      --dataset=my-dataset ^
      --location=us-central1

    Dovresti ricevere una risposta simile alla seguente:

    Risposta

    Created dicomStore [my-dicom-store].

    Importa un'istanza DICOM

    I dati DICOM di esempio sono disponibili nel bucket Cloud Storage gs://gcs-public-data--healthcare-nih-chest-xray.

    gcloud

    Importa l'istanza gs://gcs-public-data--healthcare-nih-chest-xray/dicom/00000001_000.dcm utilizzando il comando gcloud healthcare dicom-stores import.

    Prima di utilizzare i dati dei comandi riportati di seguito, effettua le seguenti sostituzioni:

    • PROJECT_ID: l'ID del progetto Google Cloud che hai creato o selezionato in Prima di iniziare

    Esegui questo comando:

    Linux, macOS o Cloud Shell

    gcloud healthcare dicom-stores import gcs my-dicom-store \
      --project=PROJECT_ID \
      --dataset=my-dataset \
      --location=us-central1 \
      --gcs-uri=gs://gcs-public-data--healthcare-nih-chest-xray/dicom/00000001_000.dcm

    Windows (PowerShell)

    gcloud healthcare dicom-stores import gcs my-dicom-store `
      --project=PROJECT_ID `
      --dataset=my-dataset `
      --location=us-central1 `
      --gcs-uri=gs://gcs-public-data--healthcare-nih-chest-xray/dicom/00000001_000.dcm

    Windows (cmd.exe)

    gcloud healthcare dicom-stores import gcs my-dicom-store ^
      --project=PROJECT_ID ^
      --dataset=my-dataset ^
      --location=us-central1 ^
      --gcs-uri=gs://gcs-public-data--healthcare-nih-chest-xray/dicom/00000001_000.dcm

    In questo output:

    • PROJECT_ID, us-central1, my-dataset, my-dicom-store: i valori che hai fornito durante l'esecuzione del comando
    • OPERATION_ID: un identificatore per l'operazione di lunga durata fornito dall'API Cloud Healthcare quando importi un'istanza DICOM. Le operazioni a lunga esecuzione vengono restituite quando le chiamate ai metodi potrebbero richiedere molto tempo per essere completate. L'importazione di un'istanza DICOM è in genere un'operazione rapida, quindi l'output viene restituito quasi immediatamente.

    Risposta

    Request issued for: [my-dicom-store]
    Waiting for operation [projects/PROJECT_ID/locations/us-central1/datasets/my-dataset/operations/OPERATION_ID] to complete...done.
    name: projects/PROJECT_ID/locations/us-central1/datasets/my-dataset/dicomStores/my-dicom-store
    

    Visualizzare i metadati delle istanze DICOM

    gcloud CLI non supporta le transazioni DICOMweb, come la visualizzazione o il recupero delle istanze. In alternativa, puoi utilizzare lo strumento a riga di comando DICOMweb di Google, che viene eseguito utilizzando Python. Per informazioni su come configurare Python su Google Cloud, vedi Configurazione di un ambiente di sviluppo Python.

    Completa i seguenti passaggi per visualizzare i metadati dell'istanza DICOM utilizzando lo strumento a riga di comando DICOMweb:

    1. Installa lo strumento a riga di comando DICOMweb utilizzando Pip:

      pip install https://github.com/GoogleCloudPlatform/healthcare-api-dicomweb-cli/archive/v1.0.zip
      
    2. Aggiorna la variabile PATH in modo da includere la posizione di installazione di dcmweb:

      export PATH="$HOME/bin:$PATH"
      
    3. Visualizza i metadati dell'istanza DICOM:

      dcmweb \
        https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/datasets/my-dataset/dicomStores/my-dicom-store/dicomWeb \
        search instances

      Sostituisci PROJECT_ID con l'ID del progetto Google Cloud che hai creato o selezionato in Prima di iniziare.

      L'output è il seguente. Consulta Attributi del modulo comune SOP per i campi nell'output.

      [
        {
          "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"
          }
        }
      ]
      

    Dopo aver importato l'istanza DICOM nell'API Cloud Healthcare e visualizzato i relativi metadati, vai a Pulizia per evitare che al tuo account Google Cloud vengano addebitati costi per le risorse utilizzate in questa pagina.

    Per informazioni sui passaggi successivi, ad esempio come cercare o recuperare immagini DICOM utilizzando lo standard DICOMweb nell'API Cloud Healthcare, consulta Passaggi successivi.

    Archiviazione di risorse FHIR

    Questa sezione mostra come completare le seguenti attività:

    1. Crea un archivio FHIR.
    2. Importa le risorse FHIR da un bucket Cloud Storage pubblico nell'archivio FHIR.

    Crea un archivio FHIR

    Gli archivi FHIR si trovano all'interno di set di dati e contengono risorse FHIR. L'esempio riportato di seguito mostra come creare un archivio FHIR denominato my-fhir-store che utilizza la versione R4 di FHIR.

    gcloud

    Crea un archivio FHIR utilizzando il comando gcloud healthcare fhir-stores create.

    Prima di utilizzare i dati dei comandi riportati di seguito, effettua le seguenti sostituzioni:

    • PROJECT_ID: l'ID del progetto Google Cloud che hai creato o selezionato in Prima di iniziare

    Esegui questo comando:

    Linux, macOS o Cloud Shell

    gcloud healthcare fhir-stores create my-fhir-store \
      --project=PROJECT_ID \
      --dataset=my-dataset \
      --location=us-central1 \
      --version=R4

    Windows (PowerShell)

    gcloud healthcare fhir-stores create my-fhir-store `
      --project=PROJECT_ID `
      --dataset=my-dataset `
      --location=us-central1 `
      --version=R4

    Windows (cmd.exe)

    gcloud healthcare fhir-stores create my-fhir-store ^
      --project=PROJECT_ID ^
      --dataset=my-dataset ^
      --location=us-central1 ^
      --version=R4

    Dovresti ricevere una risposta simile alla seguente:

    Risposta

    Created fhirStore [my-fhir-store].

    Importa risorse FHIR

    I dati FHIR di esempio sono disponibili nel bucket Cloud Storage gs://gcp-public-data--synthea-fhir-data-10-patients.

    gcloud

    Importa le risorse FHIR in gs://gcp-public-data--synthea-fhir-data-10-patients utilizzando il comando gcloud healthcare fhir-stores import.

    Prima di utilizzare i dati dei comandi riportati di seguito, effettua le seguenti sostituzioni:

    • PROJECT_ID: l'ID del progetto Google Cloud che hai creato o selezionato in Prima di iniziare

    Esegui questo comando:

    Linux, macOS o Cloud Shell

    gcloud healthcare fhir-stores import gcs my-fhir-store \
      --project=PROJECT_ID \
      --dataset=my-dataset \
      --location=us-central1 \
      --gcs-uri=gs://gcp-public-data--synthea-fhir-data-10-patients/fhir_r4_ndjson/*.ndjson \
      --content-structure=RESOURCE

    Windows (PowerShell)

    gcloud healthcare fhir-stores import gcs my-fhir-store `
      --project=PROJECT_ID `
      --dataset=my-dataset `
      --location=us-central1 `
      --gcs-uri=gs://gcp-public-data--synthea-fhir-data-10-patients/fhir_r4_ndjson/*.ndjson `
      --content-structure=RESOURCE

    Windows (cmd.exe)

    gcloud healthcare fhir-stores import gcs my-fhir-store ^
      --project=PROJECT_ID ^
      --dataset=my-dataset ^
      --location=us-central1 ^
      --gcs-uri=gs://gcp-public-data--synthea-fhir-data-10-patients/fhir_r4_ndjson/*.ndjson ^
      --content-structure=RESOURCE

    In questo output:

    • PROJECT_ID, us-central1, my-dataset, my-fhir-store: i valori che hai fornito durante l'esecuzione del comando
    • OPERATION_ID: un identificatore per l'operazione di lunga durata fornito dall'API Cloud Healthcare quando importi una risorsa FHIR. Le operazioni a lunga esecuzione vengono restituite quando le chiamate ai metodi potrebbero richiedere molto tempo per essere completate. L'importazione delle risorse FHIR richiede circa 1-2 minuti.
    • R4: la versione del datastore FHIR

    Risposta

    Request issued for: [my-fhir-store]
    Waiting for operation [projects/PROJECT_ID/locations/us-central1/datasets/my-dataset/operations/OPERATION_ID] to complete...done.
    name: projects/PROJECT_ID/locations/us-central1/datasets/my-dataset/fhirStores/my-fhir-store
    version: R4
    

    Dopo aver importato le risorse FHIR nell'API Cloud Healthcare, continua con la pulizia per evitare che al tuo account Google Cloud vengano addebitati costi relativi alle risorse utilizzate in questa pagina.

    Per informazioni sui passaggi successivi, ad esempio come visualizzare e cercare le risorse FHIR, consulta la sezione Passaggi successivi.

    Memorizzare un messaggio HL7v2

    Questa sezione mostra come completare le seguenti attività:

    1. Crea un archivio HL7v2.
    2. Importa un messaggio HL7v2 da un bucket Cloud Storage pubblico nell'archivio HL7v2.

    L'implementazione di HL7v2 nell'API Cloud Healthcare è in linea con lo standard HL7v2.

    Crea un archivio HL7v2

    Gli archivi HL7v2 esistono all'interno di set di dati e contengono i messaggi HL7v2. L'esempio riportato di seguito mostra come creare un archivio HL7v2 denominato my-hl7v2-store.

    gcloud

    Crea un archivio HL7v2 utilizzando il comando gcloud healthcare hl7v2-stores create.

    Prima di utilizzare i dati dei comandi riportati di seguito, effettua le seguenti sostituzioni:

    • PROJECT_ID: l'ID del progetto Google Cloud che hai creato o selezionato in Prima di iniziare

    Esegui questo comando:

    Linux, macOS o Cloud Shell

    gcloud healthcare hl7v2-stores create my-hl7v2-store \
      --project=PROJECT_ID \
      --dataset=my-dataset \
      --location=us-central1

    Windows (PowerShell)

    gcloud healthcare hl7v2-stores create my-hl7v2-store `
      --project=PROJECT_ID `
      --dataset=my-dataset `
      --location=us-central1

    Windows (cmd.exe)

    gcloud healthcare hl7v2-stores create my-hl7v2-store ^
      --project=PROJECT_ID ^
      --dataset=my-dataset ^
      --location=us-central1

    Dovresti ricevere una risposta simile alla seguente:

    Risposta

    Created hl7v2Store [my-hl7v2-store].

    Importa i messaggi HL7v2

    gcloud

    Importa il messaggio HL7v2 gs://cloud-samples-data/healthcare/hl7v2/messages.ndjson utilizzando il comando gcloud healthcare hl7v2-stores import.

    Prima di utilizzare i dati dei comandi riportati di seguito, effettua le seguenti sostituzioni:

    • PROJECT_ID: l'ID del progetto Google Cloud che hai creato o selezionato in Prima di iniziare

    Esegui questo comando:

    Linux, macOS o Cloud Shell

    gcloud healthcare hl7v2-stores import gcs my-hl7v2-store \
      --project=PROJECT_ID \
      --dataset=my-dataset \
      --location=us-central1 \
      --gcs-uri=gs://cloud-samples-data/healthcare/hl7v2/messages.ndjson

    Windows (PowerShell)

    gcloud healthcare hl7v2-stores import gcs my-hl7v2-store `
      --project=PROJECT_ID `
      --dataset=my-dataset `
      --location=us-central1 `
      --gcs-uri=gs://cloud-samples-data/healthcare/hl7v2/messages.ndjson

    Windows (cmd.exe)

    gcloud healthcare hl7v2-stores import gcs my-hl7v2-store ^
      --project=PROJECT_ID ^
      --dataset=my-dataset ^
      --location=us-central1 ^
      --gcs-uri=gs://cloud-samples-data/healthcare/hl7v2/messages.ndjson

    In questo output:

    • PROJECT_ID, us-central1, my-dataset, my-hl7v2-store: i valori che hai fornito durante l'esecuzione del comando
    • OPERATION_ID: un identificatore per l'operazione di lunga durata fornito dall'API Cloud Healthcare quando importi un messaggio HL7v2. Le operazioni a lunga esecuzione vengono restituite quando le chiamate ai metodi potrebbero richiedere molto tempo per essere completate. L'importazione di un messaggio HL7v2 è in genere un'operazione rapida, quindi l'output viene restituito quasi immediatamente.

    Risposta

    Request issued for: [my-hl7v2-store]
    Waiting for operation [projects/PROJECT_ID/locations/us-central1/datasets/my-dataset/operations/OPERATION_ID] to complete...done.
    name: projects/PROJECT_ID/locations/us-central1/datasets/my-dataset/hl7V2Stores/my-hl7v2-store
    

    Dopo aver importato il messaggio HL7v2 nell'API Cloud Healthcare, continua con la pulizia per evitare che al tuo account Google Cloud vengano addebitati costi relativi alle risorse utilizzate in questa pagina.

    Per informazioni sui passaggi successivi, ad esempio come visualizzare i contenuti di un messaggio HL7v2, consulta Passaggi successivi.

    Esegui la pulizia

    Per evitare che al tuo account Google Cloud vengano addebitati costi relativi alle risorse utilizzate in questa pagina, elimina il progetto Google Cloud con le risorse.

    Se hai creato un nuovo progetto per questa guida rapida, segui i passaggi descritti in Elimina il progetto. In caso contrario, segui i passaggi descritti in Eliminare il set di dati.

    Optional: Revoke credentials from the gcloud CLI.

    gcloud auth revoke

    Elimina il progetto

      Delete a Google Cloud project:

      gcloud projects delete PROJECT_ID

    Eliminazione del set di dati

    Se non hai più bisogno del set di dati creato in questa guida di avvio rapido, puoi eliminarlo. L'eliminazione di un set di dati è definitiva ed elimina permanentemente tutti gli archivi FHIR, HL7v2 o DICOM al suo interno.

    gcloud

    Elimina un set di dati utilizzando il comando gcloud healthcare datasets delete.

    Prima di utilizzare i dati dei comandi riportati di seguito, effettua le seguenti sostituzioni:

    • PROJECT_ID: l'ID del progetto Google Cloud che hai creato o selezionato in Prima di iniziare

    Esegui questo comando:

    Linux, macOS o Cloud Shell

    gcloud healthcare datasets delete my-dataset \
      --project=PROJECT_ID \
      --location=us-central1

    Windows (PowerShell)

    gcloud healthcare datasets delete my-dataset `
      --project=PROJECT_ID `
      --location=us-central1

    Windows (cmd.exe)

    gcloud healthcare datasets delete my-dataset ^
      --project=PROJECT_ID ^
      --location=us-central1
    Per confermare, digita Y. Dovresti ricevere una risposta simile alla seguente.

    Risposta

    You are about to delete dataset [my-dataset]
    
    Do you want to continue (Y/n)?  Y
    
    Deleted dataset [my-dataset].
    

    Com'è andata?

    Passaggi successivi

    Consulta le seguenti sezioni per informazioni generali sull'API Cloud Healthcare e su come eseguire le attività di questa guida rapida utilizzando un'altra interfaccia:

    DICOM

    Leggi la dichiarazione di conformità DICOM per informazioni su come l'API Cloud Healthcare implementa lo standard DICOMweb.

    FHIR

    Leggi la dichiarazione di conformità FHIR per informazioni su come l'API Cloud Healthcare implementa lo standard FHIR.

    HL7v2