Archivia i dati sanitari con Google Cloud CLI

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

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

Se ti interessa lavorare con un solo tipo di datastore, puoi passare direttamente a quella sezione della guida rapida dopo aver completato i passaggi descritti in Prima di iniziare e Creare 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 gratuiti per l'esecuzione, il test e il deployment dei carichi di lavoro.
  2. Installa Google Cloud CLI.
  3. Per initialize gcloud CLI, esegui questo comando:

    gcloud init
  4. Crea o seleziona un progetto Google Cloud.

    • Crea un progetto Google Cloud:

      gcloud projects create PROJECT_ID
    • Seleziona il progetto Google Cloud che hai creato:

      gcloud config set project PROJECT_ID
  5. Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.

  6. Attiva Cloud Healthcare API.

    gcloud services enable healthcare.googleapis.com
  7. Concedi i ruoli al tuo Account Google. Esegui questo 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:EMAIL_ADDRESS" --role=ROLE
    • Sostituisci PROJECT_ID con l'ID progetto.
    • Sostituisci EMAIL_ADDRESS con il tuo indirizzo email.
    • Sostituisci ROLE con ogni singolo ruolo.
  8. Installa Google Cloud CLI.
  9. Per initialize gcloud CLI, esegui questo comando:

    gcloud init
  10. Crea o seleziona un progetto Google Cloud.

    • Crea un progetto Google Cloud:

      gcloud projects create PROJECT_ID
    • Seleziona il progetto Google Cloud che hai creato:

      gcloud config set project PROJECT_ID
  11. Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.

  12. Attiva Cloud Healthcare API.

    gcloud services enable healthcare.googleapis.com
  13. Concedi i ruoli al tuo Account Google. Esegui questo 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:EMAIL_ADDRESS" --role=ROLE
    • Sostituisci PROJECT_ID con l'ID progetto.
    • Sostituisci EMAIL_ADDRESS con il tuo indirizzo email.
    • Sostituisci ROLE con ogni singolo ruolo.

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.

Il seguente esempio mostra come creare un set di dati denominato my-dataset nella regione us-central1. Userai 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 uno qualsiasi dei dati del comando riportati di seguito, apporta le seguenti sostituzioni:

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

Esegui questo comando seguente:

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:

Archivia e visualizza un'istanza DICOM

Questa sezione mostra come completare le seguenti attività:

  1. Creare 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 esistono all'interno del set di dati e contengono istanze DICOM. Il seguente esempio 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 uno qualsiasi dei dati del comando riportati di seguito, apporta le seguenti sostituzioni:

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

Esegui questo comando seguente:

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 uno qualsiasi dei dati del comando riportati di seguito, apporta le seguenti sostituzioni:

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

Esegui questo comando seguente:

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 il completamento delle chiamate ai metodi potrebbe richiedere molto tempo. L'importazione di un'istanza DICOM è di solito 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

Visualizza i metadati dell'istanza DICOM

L'interfaccia a riga di comando gcloud non supporta le transazioni DICOMweb, come la visualizzazione o il recupero di istanze. Puoi invece utilizzare lo strumento a riga di comando DICOMweb di Google, eseguito tramite 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 il percorso 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. Per i campi nell'output, consulta Attributi del modulo comune SOP.

    [
      {
        "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 alla sezione 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 su come cercare o recuperare le immagini DICOM utilizzando lo standard DICOMweb nell'API Cloud Healthcare, vedi Passaggi successivi.

Archivia risorse FHIR

Questa sezione mostra come completare le seguenti attività:

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

Crea un archivio FHIR

Gli archivi FHIR esistono all'interno dei set di dati e contengono risorse FHIR. Il seguente esempio mostra come creare un archivio FHIR denominato my-fhir-store che utilizza la versione FHIR R4.

gcloud

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

Prima di utilizzare uno qualsiasi dei dati del comando riportati di seguito, apporta le seguenti sostituzioni:

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

Esegui questo comando seguente:

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 uno qualsiasi dei dati del comando riportati di seguito, apporta le seguenti sostituzioni:

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

Esegui questo comando seguente:

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 il completamento delle chiamate ai metodi potrebbe richiedere molto tempo. 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, vai alla sezione 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 su come visualizzare e cercare le risorse FHIR, vedi Passaggi successivi.

Archivia 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 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. Il seguente esempio 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 uno qualsiasi dei dati del comando riportati di seguito, apporta le seguenti sostituzioni:

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

Esegui questo comando seguente:

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 uno qualsiasi dei dati del comando riportati di seguito, apporta le seguenti sostituzioni:

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

Esegui questo comando seguente:

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 il completamento delle chiamate ai metodi potrebbe richiedere molto tempo. L'importazione di un messaggio HL7v2 è di solito 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, vai a Pulisci 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 su come visualizzare i contenuti di un messaggio HL7v2, vedi 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 Eliminare il progetto. In caso contrario, segui i passaggi descritti in Eliminare il set di dati.

Facoltativo: revoca le credenziali dallgcloud 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 elimina definitivamente il set di dati e tutti gli archivi FHIR, HL7v2 o DICOM che contiene.

gcloud

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

Prima di utilizzare uno qualsiasi dei dati del comando riportati di seguito, apporta le seguenti sostituzioni:

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

Esegui questo comando seguente:

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 sezioni seguenti 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