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 descritti in Prima di iniziare e Crea un set di dati.

Prima di iniziare

  1. Accedi al tuo account Google Cloud . Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti senza costi per l'esecuzione, il test e il deployment dei workload.
  2. Installa 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. Crea o seleziona un Google Cloud progetto.

    Ruoli richiesti per selezionare o creare un progetto

    • Seleziona un progetto: la selezione di un progetto non richiede un ruolo IAM specifico. Puoi selezionare qualsiasi progetto per il quale ti è stato concesso un ruolo.
    • Crea un progetto: per creare un progetto, devi disporre del ruolo Autore progetto (roles/resourcemanager.projectCreator), che contiene l'autorizzazione resourcemanager.projects.create. Scopri come concedere i ruoli.
    • Creare un progetto Google Cloud :

      gcloud projects create PROJECT_ID

      Sostituisci PROJECT_ID con un nome per il progetto Google Cloud che stai creando.

    • Seleziona il progetto Google Cloud che hai creato:

      gcloud config set project PROJECT_ID

      Sostituisci PROJECT_ID con il nome del progetto Google Cloud .

  6. Verifica che la fatturazione sia abilitata per il tuo progetto Google Cloud .

  7. Abilita l'API Cloud Healthcare:

    Ruoli richiesti per abilitare le API

    Per abilitare le API, devi disporre del ruolo IAM Amministratore utilizzo dei servizi (roles/serviceusage.serviceUsageAdmin), che include l'autorizzazione serviceusage.services.enable. Scopri come concedere i ruoli.

    gcloud services enable healthcare.googleapis.com
  8. Concedi ruoli al tuo account utente. Esegui il seguente comando una volta per ciascuno dei seguenti ruoli IAM: 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

    Sostituisci quanto segue:

    • PROJECT_ID: il tuo ID progetto.
    • USER_IDENTIFIER: l'identificatore del tuo account utente . Ad esempio: myemail@example.com.
    • ROLE: il ruolo IAM che concedi al tuo account utente.
  9. Installa 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. Crea o seleziona un Google Cloud progetto.

    Ruoli richiesti per selezionare o creare un progetto

    • Seleziona un progetto: la selezione di un progetto non richiede un ruolo IAM specifico. Puoi selezionare qualsiasi progetto per il quale ti è stato concesso un ruolo.
    • Crea un progetto: per creare un progetto, devi disporre del ruolo Autore progetto (roles/resourcemanager.projectCreator), che contiene l'autorizzazione resourcemanager.projects.create. Scopri come concedere i ruoli.
    • Creare un progetto Google Cloud :

      gcloud projects create PROJECT_ID

      Sostituisci PROJECT_ID con un nome per il progetto Google Cloud che stai creando.

    • Seleziona il progetto Google Cloud che hai creato:

      gcloud config set project PROJECT_ID

      Sostituisci PROJECT_ID con il nome del progetto Google Cloud .

  13. Verifica che la fatturazione sia abilitata per il tuo progetto Google Cloud .

  14. Abilita l'API Cloud Healthcare:

    Ruoli richiesti per abilitare le API

    Per abilitare le API, devi disporre del ruolo IAM Amministratore utilizzo dei servizi (roles/serviceusage.serviceUsageAdmin), che include l'autorizzazione serviceusage.services.enable. Scopri come concedere i ruoli.

    gcloud services enable healthcare.googleapis.com
  15. Concedi ruoli al tuo account utente. Esegui il seguente comando una volta per ciascuno dei seguenti ruoli IAM: 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

    Sostituisci quanto segue:

    • PROJECT_ID: il tuo ID progetto.
    • USER_IDENTIFIER: l'identificatore del tuo account utente . Ad esempio: myemail@example.com.
    • ROLE: il ruolo IAM che concedi al tuo account utente.

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 seguente 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 a lunga esecuzione 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 di 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, continua a liberare spazio 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 la sezione 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 nel datastore 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 a lunga esecuzione 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 dell'archivio 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 a lunga esecuzione 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 a liberare spazio 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 la sezione 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.

(Facoltativo) Revoca le credenziali da gcloud CLI.

gcloud auth revoke

Elimina il progetto

    Elimina un progetto Google Cloud :

    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