Modifica classe di archiviazione DICOM

Questa pagina descrive come modificare la classe di archiviazione per i dati DICOM nell'API Cloud Healthcare.

Panoramica

L'API Cloud Healthcare offre le seguenti classi di archiviazione:

  • Standard
  • Nearline
  • Coldline
  • Archivia

Queste classi di archiviazione sono simili a quelle di Cloud Storage.

Puoi modificare la classe di archiviazione dell'oggetto DICOM come misura per risparmiare sui costi in scenari come i seguenti:

  • Spostamento di una serie di immagini DICOM a cui si accede raramente da Standard Storage a Nearline o Coldline Storage. In questo modo, i bucket di archiviazione standard vengono liberati per archiviare le immagini a cui si accede con maggiore frequenza.
  • Spostamento dei dati dei pazienti da archiviazione standard a archiviazione di archiviazione fino ad archiviare i dati che devono essere conservati per motivi legali. Archive Storage è la classe di archiviazione con il costo più basso e un'elevata durabilità.

Metodi per modificare la classe di archiviazione DICOM

Per impostazione predefinita, un'istanza DICOM ha una classe di archiviazione standard. Puoi modificare la classe di archiviazione utilizzando i seguenti metodi:

  • Il metodo import: imposta la classe di archiviazione quando importi un'istanza DICOM da un bucket Cloud Storage con il campo blobStorageSettings.
  • Il metodo storeInstances: imposta la classe di archiviazione quando archivi un'istanza DICOM da un percorso locale
  • Metodo setBlobStorageSettings: modifica la classe di archiviazione di un'istanza DICOM in un archivio DICOM a livello di istanza, serie o studio

Prima di iniziare

Prima di modificare la classe di archiviazione delle istanze DICOM nell'API Cloud Healthcare, rivedi i seguenti dettagli dei prezzi:

Modifica la classe di archiviazione di un'istanza DICOM

Gli esempi riportati di seguito mostrano come modificare la classe di archiviazione di un'istanza DICOM a livello di istanza, serie o studio.

A livello di istanza

Per modificare la classe di archiviazione di un'istanza DICOM a livello di istanza, completa questi passaggi:

REST

Utilizza il metodo projects.locations.datasets.dicomStores.studies.series.instances.setBlobStorageSettings.

  1. Modificare la classe di archiviazione dell'istanza DICOM a livello di istanza.

    Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

    • PROJECT_ID: l'ID del tuo progetto Google Cloud
    • LOCATION: la posizione del set di dati
    • DATASET_ID: set di dati padre dell'archivio DICOM
    • DICOM_STORE_ID: l'ID datastore DICOM
    • STUDY_INSTANCE_UID: l'identificatore univoco dell'istanza di studio
    • SERIES_INSTANCE_UID: l'identificatore univoco dell'istanza della serie
    • INSTANCE_UID: l'identificatore univoco dell'istanza
    • STORAGE_CLASS: la classe di archiviazione per l'oggetto DICOM nell'archivio DICOM da STANDARD, NEARLINE, COLDLINE e ARCHIVE

    Corpo JSON della richiesta:

    {
      "blobStorageSettings": {
        "blob_storage_class": "STORAGE_CLASS"
      }
    }
    

    Per inviare la richiesta, scegli una delle seguenti opzioni:

    curl

    Salva il corpo della richiesta in un file denominato request.json. Esegui questo comando nel terminale per creare o sovrascrivere questo file nella directory attuale:

    cat > request.json << 'EOF'
    {
      "blobStorageSettings": {
        "blob_storage_class": "STORAGE_CLASS"
      }
    }
    EOF

    Quindi, esegui questo comando per inviare la richiesta REST:

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -d @request.json \
    "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/dicomStores/DICOM_STORE_ID/dicomWeb/studies/STUDY_INSTANCE_UID/series/SERIES_INSTANCE_UID/instance/INSTANCE_UID:setBlobStorageSettings"

    PowerShell

    Salva il corpo della richiesta in un file denominato request.json. Esegui questo comando nel terminale per creare o sovrascrivere questo file nella directory attuale:

    @'
    {
      "blobStorageSettings": {
        "blob_storage_class": "STORAGE_CLASS"
      }
    }
    '@  | Out-File -FilePath request.json -Encoding utf8

    Quindi, esegui questo comando per inviare la richiesta REST:

    $cred = gcloud auth print-access-token
    $headers = @{ "Authorization" = "Bearer $cred" }

    Invoke-WebRequest `
    -Method POST `
    -Headers $headers `
    -ContentType: "application/json" `
    -InFile request.json `
    -Uri "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/dicomStores/DICOM_STORE_ID/dicomWeb/studies/STUDY_INSTANCE_UID/series/SERIES_INSTANCE_UID/instance/INSTANCE_UID:setBlobStorageSettings" | Select-Object -Expand Content
    L'output è il seguente. La risposta contiene un identificatore per un'operazione a lunga esecuzione. Le operazioni a lunga esecuzione vengono restituite quando il completamento delle chiamate ai metodi può richiedere molto tempo. Prendi nota del valore di OPERATION_ID. Questo valore ti servirà nel passaggio successivo.
  2. Visualizza lo stato dell'operazione a lunga esecuzione.

    Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

    • PROJECT_ID: l'ID del tuo progetto Google Cloud
    • LOCATION: la posizione del set di dati
    • DATASET_ID: set di dati padre dell'archivio DICOM
    • OPERATION_ID: l'ID restituito dall'operazione a lunga esecuzione

    Per inviare la richiesta, scegli una delle seguenti opzioni:

    curl

    Esegui questo comando:

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID"

    PowerShell

    Esegui questo comando:

    $cred = gcloud auth print-access-token
    $headers = @{ "Authorization" = "Bearer $cred" }

    Invoke-WebRequest `
    -Method GET `
    -Headers $headers `
    -Uri "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID" | Select-Object -Expand Content
    Se l'operazione a lunga esecuzione è ancora in esecuzione, il server restituisce una risposta con il numero di istanze DICOM in attesa di modifica della classe di archiviazione. Una volta completato correttamente l'LRO, il server restituisce una risposta con lo stato dell'operazione in formato JSON:

A livello di serie

Per modificare la classe di archiviazione di un'istanza DICOM a livello di serie, completa questi passaggi:

REST

Utilizza il metodo projects.locations.datasets.dicomStores.studies.series.setBlobStorageSettings.

  1. Modificare la classe di archiviazione dell'istanza DICOM a livello di serie.

    Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

    • PROJECT_ID: l'ID del tuo progetto Google Cloud
    • LOCATION: la posizione del set di dati
    • DATASET_ID: set di dati padre dell'archivio DICOM
    • DICOM_STORE_ID: l'ID datastore DICOM
    • STUDY_INSTANCE_UID: l'identificatore univoco dell'istanza di studio
    • SERIES_INSTANCE_UID: l'identificatore univoco dell'istanza della serie
    • STORAGE_CLASS: la classe di archiviazione per l'oggetto DICOM nell'archivio DICOM da STANDARD, NEARLINE, COLDLINE e ARCHIVE

    Corpo JSON della richiesta:

    {
      "blobStorageSettings": {
        "blob_storage_class": "STORAGE_CLASS"
      }
    }
    

    Per inviare la richiesta, scegli una delle seguenti opzioni:

    curl

    Salva il corpo della richiesta in un file denominato request.json. Esegui questo comando nel terminale per creare o sovrascrivere questo file nella directory attuale:

    cat > request.json << 'EOF'
    {
      "blobStorageSettings": {
        "blob_storage_class": "STORAGE_CLASS"
      }
    }
    EOF

    Quindi, esegui questo comando per inviare la richiesta REST:

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -d @request.json \
    "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/dicomStores/DICOM_STORE_ID/dicomWeb/studies/STUDY_INSTANCE_UID/series/SERIES_INSTANCE_UID:setBlobStorageSettings"

    PowerShell

    Salva il corpo della richiesta in un file denominato request.json. Esegui questo comando nel terminale per creare o sovrascrivere questo file nella directory attuale:

    @'
    {
      "blobStorageSettings": {
        "blob_storage_class": "STORAGE_CLASS"
      }
    }
    '@  | Out-File -FilePath request.json -Encoding utf8

    Quindi, esegui questo comando per inviare la richiesta REST:

    $cred = gcloud auth print-access-token
    $headers = @{ "Authorization" = "Bearer $cred" }

    Invoke-WebRequest `
    -Method POST `
    -Headers $headers `
    -ContentType: "application/json" `
    -InFile request.json `
    -Uri "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/dicomStores/DICOM_STORE_ID/dicomWeb/studies/STUDY_INSTANCE_UID/series/SERIES_INSTANCE_UID:setBlobStorageSettings" | Select-Object -Expand Content
    L'output è il seguente. La risposta contiene un identificatore per un'operazione a lunga esecuzione. Le operazioni a lunga esecuzione vengono restituite quando il completamento delle chiamate ai metodi può richiedere molto tempo. Prendi nota del valore di OPERATION_ID. Questo valore ti servirà nel passaggio successivo.
  2. Visualizza lo stato dell'operazione a lunga esecuzione.

    Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

    • PROJECT_ID: l'ID del tuo progetto Google Cloud
    • LOCATION: la posizione del set di dati
    • DATASET_ID: set di dati padre dell'archivio DICOM
    • OPERATION_ID: l'ID restituito dall'operazione a lunga esecuzione

    Per inviare la richiesta, scegli una delle seguenti opzioni:

    curl

    Esegui questo comando:

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID"

    PowerShell

    Esegui questo comando:

    $cred = gcloud auth print-access-token
    $headers = @{ "Authorization" = "Bearer $cred" }

    Invoke-WebRequest `
    -Method GET `
    -Headers $headers `
    -Uri "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID" | Select-Object -Expand Content
    Se l'operazione a lunga esecuzione è ancora in esecuzione, il server restituisce una risposta con il numero di istanze DICOM in attesa di modifica della classe di archiviazione. Una volta completato correttamente l'LRO, il server restituisce una risposta con lo stato dell'operazione in formato JSON:

A livello di studio

Per modificare la classe di archiviazione di un'istanza DICOM a livello di studio, completa questi passaggi:

REST

Utilizza il metodo projects.locations.datasets.dicomStores.studies.setBlobStorageSettings.

  1. Modificare la classe di archiviazione dell'istanza DICOM a livello di studio.

    Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

    • PROJECT_ID: l'ID del tuo progetto Google Cloud
    • LOCATION: la posizione del set di dati
    • DATASET_ID: set di dati padre dell'archivio DICOM
    • DICOM_STORE_ID: l'ID datastore DICOM
    • STUDY_INSTANCE_UID: l'identificatore univoco dell'istanza di studio
    • STORAGE_CLASS: la classe di archiviazione per l'oggetto DICOM nell'archivio DICOM da STANDARD, NEARLINE, COLDLINE e ARCHIVE

    Corpo JSON della richiesta:

    {
      "blobStorageSettings": {
        "blob_storage_class": "STORAGE_CLASS"
      }
    }
    

    Per inviare la richiesta, scegli una delle seguenti opzioni:

    curl

    Salva il corpo della richiesta in un file denominato request.json. Esegui questo comando nel terminale per creare o sovrascrivere questo file nella directory attuale:

    cat > request.json << 'EOF'
    {
      "blobStorageSettings": {
        "blob_storage_class": "STORAGE_CLASS"
      }
    }
    EOF

    Quindi, esegui questo comando per inviare la richiesta REST:

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -d @request.json \
    "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/dicomStores/DICOM_STORE_ID/dicomWeb/studies/STUDY_INSTANCE_UID:setBlobStorageSettings"

    PowerShell

    Salva il corpo della richiesta in un file denominato request.json. Esegui questo comando nel terminale per creare o sovrascrivere questo file nella directory attuale:

    @'
    {
      "blobStorageSettings": {
        "blob_storage_class": "STORAGE_CLASS"
      }
    }
    '@  | Out-File -FilePath request.json -Encoding utf8

    Quindi, esegui questo comando per inviare la richiesta REST:

    $cred = gcloud auth print-access-token
    $headers = @{ "Authorization" = "Bearer $cred" }

    Invoke-WebRequest `
    -Method POST `
    -Headers $headers `
    -ContentType: "application/json" `
    -InFile request.json `
    -Uri "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/dicomStores/DICOM_STORE_ID/dicomWeb/studies/STUDY_INSTANCE_UID:setBlobStorageSettings" | Select-Object -Expand Content
    L'output è il seguente. La risposta contiene un identificatore per un'operazione a lunga esecuzione. Le operazioni a lunga esecuzione vengono restituite quando il completamento delle chiamate ai metodi può richiedere molto tempo. Prendi nota del valore di OPERATION_ID. Questo valore ti servirà nel passaggio successivo.
  2. Visualizza lo stato dell'operazione a lunga esecuzione.

    Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

    • PROJECT_ID: l'ID del tuo progetto Google Cloud
    • LOCATION: la posizione del set di dati
    • DATASET_ID: set di dati padre dell'archivio DICOM
    • OPERATION_ID: l'ID restituito dall'operazione a lunga esecuzione

    Per inviare la richiesta, scegli una delle seguenti opzioni:

    curl

    Esegui questo comando:

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID"

    PowerShell

    Esegui questo comando:

    $cred = gcloud auth print-access-token
    $headers = @{ "Authorization" = "Bearer $cred" }

    Invoke-WebRequest `
    -Method GET `
    -Headers $headers `
    -Uri "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID" | Select-Object -Expand Content
    Se l'operazione a lunga esecuzione è ancora in esecuzione, il server restituisce una risposta con il numero di istanze DICOM in attesa di modifica della classe di archiviazione. Una volta completato correttamente l'LRO, il server restituisce una risposta con lo stato dell'operazione in formato JSON:

Utilizza i filtri

La seguente sezione mostra come filtrare istanze specifiche e modificarne la classe di archiviazione a livello di studio, serie o istanza utilizzando un file filtro.

Devi aggiungere il ruolo Visualizzatore oggetti Storage all'account di servizio Agente di servizio sanitario, che ha accesso al bucket in cui è archiviato il file del filtro.

Configurare un file di filtro

Utilizzando un file filtro puoi definire l'elenco dei file DICOM la cui classe di archiviazione deve essere modificata.

Ogni riga nel file di filtro definisce lo studio, la serie o l'istanza e utilizza il formato /studies/STUDY_INSTANCE_UID/series/SERIES_INSTANCE_UID/instances/INSTANCE_UID.

Puoi troncare una riga per specificare il livello a cui funziona il filtro. Ad esempio, puoi modificare la classe di archiviazione di un intero studio specificando /studies/STUDY_INSTANCE_UID oppure modificare la classe di archiviazione di un'intera serie specificando /studies/STUDY_INSTANCE_UID/series/SERIES_INSTANCE_UID.

Considera il seguente file filtro:

/studies/1.123.456.789
/studies/1.666.333.111/series/123.456
/studies/1.666.333.111/series/567.890
/studies/1.888.999.222/series/123.456/instances/111
/studies/1.888.999.222/series/123.456/instances/222
/studies/1.888.999.222/series/123.456/instances/333

Questo file di filtro restituisce i risultati seguenti:

  • L'intero studio con l'UID dell'istanza di studio 1.123.456.789
  • Due serie separate con UID delle istanze di serie come 123.456 e 567.890 nello studio 1.666.333.111
  • Tre singole istanze con ID istanza come 111, 222 e 333 nello studio 1.888.999.222 e nella serie 123.456

Creare un file di filtro utilizzando BigQuery

Per creare un file filtro utilizzando BigQuery, devi esportare in BigQuery i metadati dell'archivio DICOM. I metadati esportati mostrano gli UID di studio, serie e istanza dei dati DICOM nel tuo archivio DICOM.

Dopo l'esportazione, completa i seguenti passaggi:

  1. Query per gli UID dello studio, della serie e dell'istanza richiesti.

    Ad esempio, dopo aver esportato i metadati DICOM in BigQuery, esegui la seguente query per concatenare gli UID di studio, serie e istanza in modo che corrispondano ai requisiti del formato file del filtro:

    SELECT CONCAT
        ('/studies/', StudyInstanceUID, '/series/', SeriesInstanceUID, '/instances/', SOPInstanceUID)
    FROM
        [PROJECT_ID:BIGQUERY_DATASET.BIGQUERY_TABLE]
    
  2. (Facoltativo) Se la query restituisce un set di risultati di grandi dimensioni che supera le dimensioni massime della risposta, salva i risultati della query in una nuova tabella di destinazione in BigQuery.

  3. Salva i risultati della query in un file ed esportalo in Cloud Storage. Se hai salvato i risultati della query in una nuova tabella di destinazione nel passaggio 2, consulta Esportazione dei dati della tabella per esportare i contenuti della tabella in Cloud Storage.

  4. Modifica il file esportato in base alle esigenze e utilizzalo come file del filtro. La posizione del file del filtro in Cloud Storage è obbligatoria nel metodo setBlobStorageSettings.

Creare manualmente un file di filtro

Per creare un file di filtro con contenuti personalizzati e caricarlo in un bucket Cloud Storage, completa questi passaggi:

  1. Crea un file filtro contenente un elenco di istanze la cui classe di archiviazione deve essere modificata sulla macchina locale. Utilizza il formato descritto nella sezione Configurare il file dei filtri.

  2. Carica il file di testo del filtro in un percorso di Cloud Storage.

    gsutil cp PATH_TO_FILTER_FILE/FILTER_FILE_NAME.txt gs://BUCKET/DIRECTORY
    

    Sostituisci quanto segue:

    • PATH_TO_FILTER_FILE: il percorso del file del filtro sulla macchina locale
    • FILTER_FILE_NAME: il nome del file del filtro
    • BUCKET/DIRECTORY: il percorso della località di Cloud Storage

    Ad esempio:

    gsutil cp my-local-folder/archive-filters.txt gs://my-bucket/my-directory
    

Supera il file del filtro

REST

  1. Utilizza il metodo projects.locations.datasets.dicomStores.studies.setBlobStorageSettings per modificare la classe di archiviazione di tutte le istanze nel file di filtro a livello di archivio DICOM.

    Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

    • PROJECT_ID: l'ID del tuo progetto Google Cloud
    • LOCATION: la posizione del set di dati
    • DATASET_ID: set di dati padre dell'archivio DICOM
    • DICOM_STORE_ID: l'ID datastore DICOM
    • STORAGE_CLASS: la classe di archiviazione per l'oggetto DICOM nell'archivio DICOM da STANDARD, NEARLINE, COLDLINE e ARCHIVE
    • BUCKET/DIRECTORY

    Corpo JSON della richiesta:

    {
      "filter_config": {
        "resource_paths_gcs_uri": "gs://BUCKET/DIRECTORY"
      },
      "blobStorageSettings": {
        "blob_storage_class": "STORAGE_CLASS"
      }
    }
    

    Per inviare la richiesta, scegli una delle seguenti opzioni:

    curl

    Salva il corpo della richiesta in un file denominato request.json. Esegui questo comando nel terminale per creare o sovrascrivere questo file nella directory attuale:

    cat > request.json << 'EOF'
    {
      "filter_config": {
        "resource_paths_gcs_uri": "gs://BUCKET/DIRECTORY"
      },
      "blobStorageSettings": {
        "blob_storage_class": "STORAGE_CLASS"
      }
    }
    EOF

    Quindi, esegui questo comando per inviare la richiesta REST:

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -d @request.json \
    "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/dicomStores/DICOM_STORE_ID:setBlobStorageSettings"

    PowerShell

    Salva il corpo della richiesta in un file denominato request.json. Esegui questo comando nel terminale per creare o sovrascrivere questo file nella directory attuale:

    @'
    {
      "filter_config": {
        "resource_paths_gcs_uri": "gs://BUCKET/DIRECTORY"
      },
      "blobStorageSettings": {
        "blob_storage_class": "STORAGE_CLASS"
      }
    }
    '@  | Out-File -FilePath request.json -Encoding utf8

    Quindi, esegui questo comando per inviare la richiesta REST:

    $cred = gcloud auth print-access-token
    $headers = @{ "Authorization" = "Bearer $cred" }

    Invoke-WebRequest `
    -Method POST `
    -Headers $headers `
    -ContentType: "application/json" `
    -InFile request.json `
    -Uri "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/dicomStores/DICOM_STORE_ID:setBlobStorageSettings" | Select-Object -Expand Content
    L'output è il seguente. La risposta contiene un identificatore per un'operazione a lunga esecuzione. Le operazioni a lunga esecuzione vengono restituite quando il completamento delle chiamate ai metodi può richiedere molto tempo. Prendi nota del valore di OPERATION_ID. Questo valore ti servirà nel passaggio successivo.

  2. Visualizza lo stato dell'operazione a lunga esecuzione.

    Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

    • PROJECT_ID: l'ID del tuo progetto Google Cloud
    • LOCATION: la posizione del set di dati
    • DATASET_ID: set di dati padre dell'archivio DICOM
    • OPERATION_ID: l'ID restituito dall'operazione a lunga esecuzione

    Per inviare la richiesta, scegli una delle seguenti opzioni:

    curl

    Esegui questo comando:

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID"

    PowerShell

    Esegui questo comando:

    $cred = gcloud auth print-access-token
    $headers = @{ "Authorization" = "Bearer $cred" }

    Invoke-WebRequest `
    -Method GET `
    -Headers $headers `
    -Uri "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID" | Select-Object -Expand Content
    Se l'operazione a lunga esecuzione è ancora in esecuzione, il server restituisce una risposta con il numero di istanze DICOM in attesa di modifica della classe di archiviazione. Una volta completato correttamente l'LRO, il server restituisce una risposta con lo stato dell'operazione in formato JSON:

Controlla la classe di archiviazione di un'istanza DICOM

Usa il metodo getStorageInfo

Gli esempi riportati di seguito mostrano come visualizzare la classe di archiviazione di un'istanza DICOM.

REST

Utilizza il metodo projects.locations.datasets.dicomStores.dicomWeb.studies.series.instances.getStorageInfo.

Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

  • PROJECT_ID: l'ID del tuo progetto Google Cloud
  • LOCATION: la posizione del set di dati
  • DATASET_ID: set di dati padre dell'archivio DICOM
  • DICOM_STORE_ID: l'ID datastore DICOM
  • STUDY_INSTANCE_UID: l'identificatore univoco dell'istanza di studio
  • SERIES_INSTANCE_UID: l'identificatore univoco dell'istanza della serie
  • INSTANCE_UID: l'identificatore univoco dell'istanza

Per inviare la richiesta, scegli una delle seguenti opzioni:

curl

Esegui questo comando:

curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/dicomStores/DICOM_STORE_ID/dicomWeb/studies/STUDY_INSTANCE_UID/series/SERIES_INSTANCE_UID/instances/INSTANCE_UID:getStorageInfo"

PowerShell

Esegui questo comando:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/dicomStores/DICOM_STORE_ID/dicomWeb/studies/STUDY_INSTANCE_UID/series/SERIES_INSTANCE_UID/instances/INSTANCE_UID:getStorageInfo" | Select-Object -Expand Content

Dovresti ricevere una risposta JSON simile alla seguente:

Query sui metadati DICOM esportati in BigQuery

Puoi anche esportare i metadati DICOM in BigQuery ed eseguire query sul set di dati BigQuery per visualizzare le classi di archiviazione delle istanze DICOM.

Ad esempio, puoi eseguire questa query per visualizzare l'UID dell'istanza di studio, l'UID dell'istanza della serie, l'UID dell'istanza, le dimensioni dell'archiviazione dei BLOB e la classe di archiviazione dei BLOB di tutte le istanze nel set di dati BigQuery:

SELECT StudyInstanceUID,SeriesInstanceUID,SOPInstanceUID,BlobStorageSize,StorageClass FROM PROJECT_ID:BIGQUERY_DATASET.BIGQUERY_TABLE LIMIT 1000