Archiviare i 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. Archivia i dati DICOM, FHIR e HL7v2 e visualizza i metadati DICOM.

Se ti interessa utilizzare un solo tipo di datastore, puoi saltare direttamente alla sezione della guida introduttiva dopo aver completato i passaggi descritti in Prima di iniziare e Creare 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. To initialize the gcloud CLI, run the following command:

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

    • 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.

  5. Make sure that billing is enabled for your Google Cloud project.

  6. Enable the Cloud Healthcare API:

    gcloud services enable healthcare.googleapis.com
  7. 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 PROJECT_ID with your project ID.
    • Replace USER_IDENTIFIER with the identifier for your user account. For example, user:myemail@example.com.

    • Replace ROLE with each individual role.
  8. Install the Google Cloud CLI.
  9. To initialize the gcloud CLI, run the following command:

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

    • 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.

  11. Make sure that billing is enabled for your Google Cloud project.

  12. Enable the Cloud Healthcare API:

    gcloud services enable healthcare.googleapis.com
  13. 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 PROJECT_ID with your project ID.
    • Replace USER_IDENTIFIER with the identifier for your user account. For example, user:myemail@example.com.

    • Replace ROLE with each individual role.

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 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 il seguente 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 il seguente 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 il seguente 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 lungo termine fornita 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

L'interfaccia a riga di comando gcloud 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, consulta 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 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 la sezione 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 aver 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 su come cercare o recuperare le immagini DICOM utilizzando lo standard DICOMweb nell'API Cloud Healthcare, consulta Passaggi successivi.

Memorizzare le 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 il seguente 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 il seguente 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 lungo termine fornita 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 uno o due 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 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 su come visualizzare e cercare le risorse FHIR, consulta 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 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 il seguente 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 il seguente 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 lungo termine fornita 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, pertanto 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 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 su 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 su 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 Eliminare 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 il seguente 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à in 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