Cambiar la clase de almacenamiento de DICOM

En esta página, se describe cómo cambiar la clase de almacenamiento de los datos de DICOM en la API de Cloud Healthcare.

Descripción general

La API de Cloud Healthcare ofrece las siguientes clases de almacenamiento:

  • Estándar
  • Nearline
  • Coldline
  • Archive

Estas clases de almacenamiento son similares a las de Cloud Storage.

Puedes cambiar la clase de almacenamiento de tu objeto de DICOM como una medida de ahorro de costos en situaciones como las siguientes:

  • Transferencia de una serie de imágenes de DICOM a las que se accede con poca frecuencia del almacenamiento estándar a Nearline o Coldline Storage Esto libera los buckets de Standard Storage para almacenar imágenes a las que se accede con más frecuencia.
  • Transferencia de datos del paciente de Standard Storage a Archive Storage para archivar los datos que deben retenerse por motivos legales. Archive Storage es la clase de almacenamiento de menor costo y alta durabilidad.

Métodos para cambiar la clase de almacenamiento de DICOM

De forma predeterminada, una instancia de DICOM tiene una clase de almacenamiento estándar. Puedes cambiar la clase de almacenamiento con los siguientes métodos:

  • El método import: configura la clase de almacenamiento cuando importes una instancia de DICOM desde un bucket de Cloud Storage con el campo blobStorageSettings.
  • El método storeInstances: configura la clase de almacenamiento cuando almacenas una instancia de DICOM desde una ruta local.
  • El método setBlobStorageSettings: Cambia la clase de almacenamiento de una instancia de DICOM en un almacén de DICOM a nivel de la instancia, la serie o el estudio.

Antes de comenzar

Antes de cambiar la clase de almacenamiento de tus instancias de DICOM en la API de Cloud Healthcare, revisa los siguientes detalles de precios:

Cambiar la clase de almacenamiento de una instancia de DICOM

En los siguientes ejemplos, se muestra cómo cambiar la clase de almacenamiento de una instancia de DICOM a nivel de instancia, serie o estudio.

A nivel de la instancia

Para cambiar la clase de almacenamiento de una instancia de DICOM a nivel de instancia, completa estos pasos:

REST

Usa el método projects.locations.datasets.dicomStores.studies.series.instances.setBlobStorageSettings.

  1. Cambiar la clase de almacenamiento de la instancia de DICOM a nivel de instancia

    Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

    • PROJECT_IDEl ID de tu proyecto de Google Cloud.
    • LOCATION: La ubicación del conjunto de datos
    • DATASET_ID: El conjunto de datos superior del almacén de DICOM
    • DICOM_STORE_ID: El ID del almacén de DICOM
    • STUDY_INSTANCE_UID: Es el identificador único de la instancia del estudio.
    • SERIES_INSTANCE_UID: Es el identificador único de la instancia de la serie.
    • INSTANCE_UID: Es el identificador único de la instancia.
    • STORAGE_CLASS: Es la clase de almacenamiento para el objeto de DICOM en el almacén de DICOM de STANDARD, NEARLINE, COLDLINE y ARCHIVE.

    Cuerpo JSON de la solicitud:

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

    Para enviar tu solicitud, elige una de estas opciones:

    curl

    Guarda el cuerpo de la solicitud en un archivo llamado request.json. Ejecuta el comando siguiente en la terminal para crear o reemplazar este archivo en el directorio actual:

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

    Luego, ejecuta el siguiente comando para enviar tu solicitud de 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

    Guarda el cuerpo de la solicitud en un archivo llamado request.json. Ejecuta el comando siguiente en la terminal para crear o reemplazar este archivo en el directorio actual:

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

    Luego, ejecuta el siguiente comando para enviar tu solicitud de 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
    Este es el resultado. La respuesta contiene un identificador para una operación de larga duración. Las operaciones de larga duración se muestran cuando las llamadas de métodos pueden tardar una cantidad considerable de tiempo en completarse. Toma nota del valor de OPERATION_ID. Necesitarás este valor en el siguiente paso.
  2. Obtén el estado de la operación de larga duración.

    Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

    • PROJECT_IDEl ID de tu proyecto de Google Cloud.
    • LOCATION: La ubicación del conjunto de datos
    • DATASET_ID: El conjunto de datos superior del almacén de DICOM
    • OPERATION_ID: Es el ID que muestra la operación de larga duración.

    Para enviar tu solicitud, elige una de estas opciones:

    curl

    Ejecuta el siguiente 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

    Ejecuta el siguiente 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
    Si la operación de larga duración aún está en ejecución, el servidor mostrará una respuesta con la cantidad de instancias de DICOM pendientes de cambio de clase de almacenamiento. Cuando la LRO finaliza correctamente, el servidor muestra una respuesta con el estado de la operación en formato JSON:

A nivel de la serie

Para cambiar la clase de almacenamiento de una instancia de DICOM a nivel de serie, completa estos pasos:

REST

Usa el método projects.locations.datasets.dicomStores.studies.series.setBlobStorageSettings.

  1. Cambiar la clase de almacenamiento de la instancia de DICOM a nivel de serie.

    Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

    • PROJECT_IDEl ID de tu proyecto de Google Cloud.
    • LOCATION: La ubicación del conjunto de datos
    • DATASET_ID: El conjunto de datos superior del almacén de DICOM
    • DICOM_STORE_ID: El ID del almacén de DICOM
    • STUDY_INSTANCE_UID: Es el identificador único de la instancia del estudio.
    • SERIES_INSTANCE_UID: Es el identificador único de la instancia de la serie.
    • STORAGE_CLASS: Es la clase de almacenamiento para el objeto de DICOM en el almacén de DICOM de STANDARD, NEARLINE, COLDLINE y ARCHIVE.

    Cuerpo JSON de la solicitud:

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

    Para enviar tu solicitud, elige una de estas opciones:

    curl

    Guarda el cuerpo de la solicitud en un archivo llamado request.json. Ejecuta el comando siguiente en la terminal para crear o reemplazar este archivo en el directorio actual:

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

    Luego, ejecuta el siguiente comando para enviar tu solicitud de 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

    Guarda el cuerpo de la solicitud en un archivo llamado request.json. Ejecuta el comando siguiente en la terminal para crear o reemplazar este archivo en el directorio actual:

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

    Luego, ejecuta el siguiente comando para enviar tu solicitud de 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
    Este es el resultado. La respuesta contiene un identificador para una operación de larga duración. Las operaciones de larga duración se muestran cuando las llamadas de métodos pueden tardar una cantidad considerable de tiempo en completarse. Toma nota del valor de OPERATION_ID. Necesitarás este valor en el siguiente paso.
  2. Obtén el estado de la operación de larga duración.

    Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

    • PROJECT_IDEl ID de tu proyecto de Google Cloud.
    • LOCATION: La ubicación del conjunto de datos
    • DATASET_ID: El conjunto de datos superior del almacén de DICOM
    • OPERATION_ID: Es el ID que muestra la operación de larga duración.

    Para enviar tu solicitud, elige una de estas opciones:

    curl

    Ejecuta el siguiente 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

    Ejecuta el siguiente 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
    Si la operación de larga duración aún está en ejecución, el servidor mostrará una respuesta con la cantidad de instancias de DICOM pendientes de cambio de clase de almacenamiento. Cuando la LRO finaliza correctamente, el servidor muestra una respuesta con el estado de la operación en formato JSON:

A nivel de estudio

Para cambiar la clase de almacenamiento de una instancia de DICOM a nivel de estudio, completa estos pasos:

REST

Usa el método projects.locations.datasets.dicomStores.studies.setBlobStorageSettings.

  1. Cambiar la clase de almacenamiento de la instancia de DICOM a nivel de estudio.

    Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

    • PROJECT_IDEl ID de tu proyecto de Google Cloud.
    • LOCATION: La ubicación del conjunto de datos
    • DATASET_ID: El conjunto de datos superior del almacén de DICOM
    • DICOM_STORE_ID: El ID del almacén de DICOM
    • STUDY_INSTANCE_UID: Es el identificador único de la instancia del estudio.
    • STORAGE_CLASS: Es la clase de almacenamiento para el objeto de DICOM en el almacén de DICOM de STANDARD, NEARLINE, COLDLINE y ARCHIVE.

    Cuerpo JSON de la solicitud:

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

    Para enviar tu solicitud, elige una de estas opciones:

    curl

    Guarda el cuerpo de la solicitud en un archivo llamado request.json. Ejecuta el comando siguiente en la terminal para crear o reemplazar este archivo en el directorio actual:

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

    Luego, ejecuta el siguiente comando para enviar tu solicitud de 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

    Guarda el cuerpo de la solicitud en un archivo llamado request.json. Ejecuta el comando siguiente en la terminal para crear o reemplazar este archivo en el directorio actual:

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

    Luego, ejecuta el siguiente comando para enviar tu solicitud de 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
    Este es el resultado. La respuesta contiene un identificador para una operación de larga duración. Las operaciones de larga duración se muestran cuando las llamadas de métodos pueden tardar una cantidad considerable de tiempo en completarse. Toma nota del valor de OPERATION_ID. Necesitarás este valor en el siguiente paso.
  2. Obtén el estado de la operación de larga duración.

    Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

    • PROJECT_IDEl ID de tu proyecto de Google Cloud.
    • LOCATION: La ubicación del conjunto de datos
    • DATASET_ID: El conjunto de datos superior del almacén de DICOM
    • OPERATION_ID: Es el ID que muestra la operación de larga duración.

    Para enviar tu solicitud, elige una de estas opciones:

    curl

    Ejecuta el siguiente 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

    Ejecuta el siguiente 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
    Si la operación de larga duración aún está en ejecución, el servidor mostrará una respuesta con la cantidad de instancias de DICOM pendientes de cambio de clase de almacenamiento. Cuando la LRO finaliza correctamente, el servidor muestra una respuesta con el estado de la operación en formato JSON:

Usa filtros

En la siguiente sección, se muestra cómo filtrar instancias específicas y cambiar su clase de almacenamiento a nivel de estudio, serie o instancia mediante un archivo de filtro.

Debes agregar el rol Visualizador de objetos de almacenamiento a la cuenta de servicio Agente de servicio de Healthcare, que tiene acceso al bucket en el que se almacena el archivo de filtro.

Configura un archivo de filtro

Con un archivo de filtro, puede definir la lista de archivos DICOM cuya clase de almacenamiento debe cambiarse.

Cada línea del archivo de filtro define el estudio, la serie o la instancia y usa el formato /studies/STUDY_INSTANCE_UID/series/SERIES_INSTANCE_UID/instances/INSTANCE_UID.

Puedes truncar una línea para especificar el nivel en el que funciona el filtro. Por ejemplo, puedes cambiar la clase de almacenamiento de un estudio completo si especificas /studies/STUDY_INSTANCE_UID. También puedes cambiar la clase de almacenamiento de una serie completa si especificas /studies/STUDY_INSTANCE_UID/series/SERIES_INSTANCE_UID.

Considera el siguiente archivo de 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

Este archivo de filtro genera filtrar lo siguiente:

  • El estudio completo con el UID de la instancia del estudio como 1.123.456.789
  • Dos series separadas con UIDs de instancia de serie como 123.456 y 567.890 en el estudio 1.666.333.111
  • Tres instancias individuales con IDs de instancia, como 111, 222 y 333 en el estudio 1.888.999.222 y la serie 123.456

Crea un archivo de filtro con BigQuery

Para crear un archivo de filtro con BigQuery, debes exportar los metadatos de tu almacén de DICOM a BigQuery. Los metadatos exportados te muestran los UIDs de estudio, serie y, también, instancias de los datos de DICOM en tu almacén de DICOM.

Después de exportar, completa los siguientes pasos:

  1. Realiza consultas para los UIDs de estudio, de serie y de instancia necesarios.

    Por ejemplo, después de exportar metadatos de DICOM a BigQuery, ejecuta la siguiente consulta para concatenar los UIDs de estudio, de serie y de instancia para que coincidan con los requisitos de formato de archivo de filtro:

    SELECT CONCAT
        ('/studies/', StudyInstanceUID, '/series/', SeriesInstanceUID, '/instances/', SOPInstanceUID)
    FROM
        [PROJECT_ID:BIGQUERY_DATASET.BIGQUERY_TABLE]
    
  2. Opcional: Si la consulta muestra un conjunto de resultados grande que excede el tamaño máximo de respuesta, guarda los resultados de la consulta en una tabla de destino nueva en BigQuery.

  3. Guarda los resultados de las consultas en un archivo y expórtalo a Cloud Storage. Si guardaste los resultados de tu consulta en una tabla de destino nueva en el paso 2, consulta Exporta datos de tabla para exportar el contenido de la tabla a Cloud Storage.

  4. Edita el archivo exportado según sea necesario y úsalo como archivo de filtro. La ubicación del archivo de filtro en Cloud Storage es obligatoria en el método setBlobStorageSettings.

Crear un archivo de filtro de forma manual

Para crear un archivo de filtro con contenido personalizado y subirlo a un bucket de Cloud Storage, completa estos pasos:

  1. Crea un archivo de filtro que contenga una lista de instancias cuya clase de almacenamiento deba cambiarse en tu máquina local. Usa el formato que se describe en la sección Configura un archivo de filtro.

  2. Subir el archivo de texto de filtro a una ubicación de Cloud Storage

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

    Reemplaza lo siguiente:

    • PATH_TO_FILTER_FILE: Es la ruta de acceso al archivo de filtro en tu máquina local.
    • FILTER_FILE_NAME: Es el nombre del archivo de filtro.
    • BUCKET/DIRECTORY: Es la ruta de acceso a la ubicación de Cloud Storage.

    Por ejemplo:

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

Pasa el archivo de filtro

REST

  1. Usa el método projects.locations.datasets.dicomStores.studies.setBlobStorageSettings para cambiar la clase de almacenamiento de todas las instancias del archivo de filtro a nivel de almacén de DICOM.

    Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

    • PROJECT_IDEl ID de tu proyecto de Google Cloud.
    • LOCATION: La ubicación del conjunto de datos
    • DATASET_ID: El conjunto de datos superior del almacén de DICOM
    • DICOM_STORE_ID: El ID del almacén de DICOM
    • STORAGE_CLASS: Es la clase de almacenamiento para el objeto de DICOM en el almacén de DICOM de STANDARD, NEARLINE, COLDLINE y ARCHIVE.
    • BUCKET/DIRECTORY

    Cuerpo JSON de la solicitud:

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

    Para enviar tu solicitud, elige una de estas opciones:

    curl

    Guarda el cuerpo de la solicitud en un archivo llamado request.json. Ejecuta el comando siguiente en la terminal para crear o reemplazar este archivo en el directorio actual:

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

    Luego, ejecuta el siguiente comando para enviar tu solicitud de 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

    Guarda el cuerpo de la solicitud en un archivo llamado request.json. Ejecuta el comando siguiente en la terminal para crear o reemplazar este archivo en el directorio actual:

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

    Luego, ejecuta el siguiente comando para enviar tu solicitud de 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
    Este es el resultado. La respuesta contiene un identificador para una operación de larga duración. Las operaciones de larga duración se muestran cuando las llamadas de métodos pueden tardar una cantidad considerable de tiempo en completarse. Toma nota del valor de OPERATION_ID. Necesitarás este valor en el siguiente paso.

  2. Obtén el estado de la operación de larga duración.

    Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

    • PROJECT_IDEl ID de tu proyecto de Google Cloud.
    • LOCATION: La ubicación del conjunto de datos
    • DATASET_ID: El conjunto de datos superior del almacén de DICOM
    • OPERATION_ID: Es el ID que muestra la operación de larga duración.

    Para enviar tu solicitud, elige una de estas opciones:

    curl

    Ejecuta el siguiente 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

    Ejecuta el siguiente 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
    Si la operación de larga duración aún está en ejecución, el servidor mostrará una respuesta con la cantidad de instancias de DICOM pendientes de cambio de clase de almacenamiento. Cuando la LRO finaliza correctamente, el servidor muestra una respuesta con el estado de la operación en formato JSON:

Verifica la clase de almacenamiento de una instancia de DICOM

Usa el método getStorageInfo

En los siguientes ejemplos, se indica cómo ver la clase de almacenamiento de una instancia de DICOM.

REST

Usa el método projects.locations.datasets.dicomStores.dicomWeb.studies.series.instances.getStorageInfo.

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • PROJECT_IDEl ID de tu proyecto de Google Cloud.
  • LOCATION: La ubicación del conjunto de datos
  • DATASET_ID: El conjunto de datos superior del almacén de DICOM
  • DICOM_STORE_ID: El ID del almacén de DICOM
  • STUDY_INSTANCE_UID: Es el identificador único de la instancia del estudio.
  • SERIES_INSTANCE_UID: Es el identificador único de la instancia de la serie.
  • INSTANCE_UID: Es el identificador único de la instancia.

Para enviar tu solicitud, elige una de estas opciones:

curl

Ejecuta el siguiente 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

Ejecuta el siguiente 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

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

Consulta los metadatos de DICOM exportados en BigQuery

También puedes exportar metadatos de DICOM a BigQuery y consultar el conjunto de datos de BigQuery para ver las clases de almacenamiento de las instancias de DICOM.

Por ejemplo, puedes ejecutar la siguiente consulta para ver el UID de la instancia del estudio, el UID de la instancia de serie, el UID de la instancia, el tamaño de almacenamiento de BLOB y la clase de almacenamiento de BLOB de todas las instancias en tu conjunto de datos de BigQuery:

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