Exportar metadatos DICOM a BigQuery

En esta página se explica cómo exportar metadatos DICOM a BigQuery con fines de exploración y análisis. Para obtener información sobre el esquema de BigQuery que se crea al exportar metadatos DICOM, consulta el artículo Descripción del esquema DICOM de BigQuery.

Configurar permisos de BigQuery

Antes de exportar metadatos DICOM a una tabla de BigQuery, debes conceder permisos adicionales a la cuenta de servicio del agente de servicio de Cloud Healthcare. Para obtener más información, consulta Permisos de BigQuery para almacenes DICOM.

Configurar el destino de BigQuery

Cuando definas el destino de BigQuery, usa el URI completo, como se indica a continuación:
bq://PROJECT_ID.BIGQUERY_DATASET_ID.BIGQUERY_TABLE_ID
El comportamiento de la operación de exportación puede variar en función de lo siguiente:
  • Indica si la tabla de destino ya existe.
  • Si ha definido el campo force (con la API) o la marca --overwrite-table (con Google Cloud CLI)
  • Indica si ha definido un valor para la enumeración writeDisposition. Si usas el enum writeDisposition, no definas el campo force.
El comportamiento en cada uno de estos casos es el siguiente:
  • Si la tabla de destino ya existe y force se ha definido como true o se ha especificado la marca --overwrite-table, la operación de exportación sobrescribe la tabla.
  • Si la tabla de destino ya existe y force tiene el valor false o no se especifica la marca --overwrite-table, se produce un error.
  • Si la tabla de destino aún no existe, se creará una, independientemente de si especifica el campo force o la marca --overwrite-table.
  • El comportamiento de writeDisposition se describe en su documentación. La enumeración writeDisposition se comporta de forma similar a las opciones al usar force, con la siguiente excepción: si la tabla de destino ya existe y está vacía, la operación de exportación se completa en lugar de devolver un error.

Exportar metadatos DICOM

En los siguientes ejemplos se muestra cómo exportar metadatos DICOM a una tabla de BigQuery. En estos ejemplos, el almacén DICOM y la tabla de BigQuery están en el mismo proyecto. Para exportar metadatos DICOM a una tabla de BigQuery de otro proyecto, consulta Exportar metadatos DICOM a otro proyecto.

Consola

Para exportar metadatos DICOM a una tabla de BigQuery, sigue estos pasos:

  1. En la Google Cloud consola, ve a la página Conjuntos de datos.

    Ve a Conjuntos de datos.

  2. Haz clic en el conjunto de datos que tenga el almacén DICOM con los metadatos que quieras exportar.

  3. En la misma fila que el almacén DICOM, abre la lista Acciones y selecciona Exportar.

  4. En la página Export DICOM store (Exportar almacén DICOM) que aparece, selecciona BigQuery table (Tabla de BigQuery).

  5. En el campo Proyecto, haz clic en Buscar y selecciona tu proyecto.

  6. En la lista Conjunto de datos, selecciona el conjunto de datos de BigQuery al que vas a exportar los metadatos DICOM.

  7. En el campo Tabla, introduce un nombre para la tabla. BigQuery comprueba cada selección para asegurarse de que la tabla de destino sea válida.

  8. En la sección Disposición de escritura de la tabla de destino, seleccione una de las siguientes opciones. Estas opciones se corresponden con la enumeración WriteDisposition.

    • Exportar datos solo si la tabla de destino está vacía: equivale a WRITE_EMPTY
    • Añadir datos a la tabla de destino: equivalente a WRITE_APPEND
    • Borrar todos los datos de la tabla de destino antes de escribir las instancias: equivale a WRITE_TRUNCATE.
  9. Haz clic en Exportar para exportar los metadatos DICOM a la tabla de BigQuery.

  10. Para hacer un seguimiento del estado de la operación, haga clic en la pestaña Operaciones. Una vez que se haya completado la operación, aparecerán las siguientes indicaciones:
    • La sección Estado de la operación de larga duración tiene una marca de verificación verde en el encabezado OK.
    • La sección Resumen tiene una marca de verificación verde y un indicador OK en la misma fila que el ID de operación.
    Si se produce algún error, haz clic en Acciones y, a continuación, en Ver detalles en Cloud Logging.

gcloud

Para exportar metadatos DICOM a una tabla de BigQuery, ejecuta el comando gcloud healthcare dicom-stores export bq.

  1. Exporta los metadatos DICOM.

    Antes de usar los datos de los comandos que se indican a continuación, haz los siguientes cambios:

    • PROJECT_ID: el ID de tu Google Cloud proyecto
    • LOCATION: la ubicación del conjunto de datos
    • DATASET_ID: el conjunto de datos superior del almacén DICOM
    • DICOM_STORE_ID: el ID del almacén DICOM
    • BIGQUERY_DATASET_ID: el nombre de un conjunto de datos de BigQuery al que exportar metadatos DICOM
    • BIGQUERY_TABLE_ID: el nombre de una tabla nueva o ya creada del conjunto de datos de BigQuery. Si la operación de exportación crea una tabla, consulta los requisitos para nombrar tablas.
    • WRITE_DISPOSITION: valor de la enumeración WriteDisposition. Usa uno de los siguientes valores:
      • write-empty: solo exporta datos si la tabla de BigQuery está vacía.
      • write-truncate: borra todos los datos de la tabla de BigQuery antes de escribir las instancias DICOM.
      • write-append: añade datos a la tabla de BigQuery.

    Ejecuta el siguiente comando:

    Linux, macOS o Cloud Shell

    gcloud healthcare dicom-stores export bq DICOM_STORE_ID \
      --location=LOCATION \
      --dataset=DATASET_ID \
      --bq-table=bq://PROJECT_ID.BIGQUERY_DATASET_ID.BIGQUERY_TABLE_ID \
      --write-disposition=WRITE_DISPOSITION

    Windows (PowerShell)

    gcloud healthcare dicom-stores export bq DICOM_STORE_ID `
      --location=LOCATION `
      --dataset=DATASET_ID `
      --bq-table=bq://PROJECT_ID.BIGQUERY_DATASET_ID.BIGQUERY_TABLE_ID `
      --write-disposition=WRITE_DISPOSITION

    Windows (cmd.exe)

    gcloud healthcare dicom-stores export bq DICOM_STORE_ID ^
      --location=LOCATION ^
      --dataset=DATASET_ID ^
      --bq-table=bq://PROJECT_ID.BIGQUERY_DATASET_ID.BIGQUERY_TABLE_ID ^
      --write-disposition=WRITE_DISPOSITION
    Esta es la respuesta: La respuesta contiene un identificador de una operación de larga duración. Las operaciones de larga duración se devuelven cuando las llamadas a métodos pueden tardar mucho tiempo en completarse. El comando sondea la operación de larga duración y, a continuación, imprime el nombre de la operación en el campo name cuando finaliza la exportación. Anota el valor de OPERATION_ID. Necesitarás este valor en el siguiente paso.

    Respuesta

    Request issued for: [DICOM_STORE_ID]
    Waiting for operation [projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID] to complete...⠏
    name: projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID
    

  2. Para ver más detalles sobre la operación, ejecuta el comando gcloud healthcare operations describe y proporciona el OPERATION_ID de la respuesta:

    Antes de usar los datos de los comandos que se indican a continuación, haz los siguientes cambios:

    • PROJECT_ID: el ID de tu Google Cloud proyecto
    • DATASET_ID: el ID del conjunto de datos
    • LOCATION: la ubicación del conjunto de datos
    • OPERATION_ID: el ID devuelto por la operación de larga duración

    Ejecuta el siguiente comando:

    Linux, macOS o Cloud Shell

    gcloud healthcare operations describe OPERATION_ID \
        --project=PROJECT_ID \
        --dataset=DATASET_ID \
        --location=LOCATION

    Windows (PowerShell)

    gcloud healthcare operations describe OPERATION_ID `
        --project=PROJECT_ID `
        --dataset=DATASET_ID `
        --location=LOCATION

    Windows (cmd.exe)

    gcloud healthcare operations describe OPERATION_ID ^
        --project=PROJECT_ID ^
        --dataset=DATASET_ID ^
        --location=LOCATION

    Deberías recibir una respuesta similar a la siguiente:

    Respuesta

    done: true
    // If there were any errors, an `error` field displays instead of a `response` field.
    // See Troubleshooting long-running operations for a list of response codes.
    error: ERROR
      code: ERROR_CODE
      message: DESCRIPTION
    metadata:
      '@type': 'type.googleapis.com/google.cloud.healthcare.v1.OperationMetadata'
      apiMethodName: 'google.cloud.healthcare.v1.dicom.DicomService.ExportDicomData_bq'
      counter:
        success: 'SUCCESS_COUNT'
        // If there were any failures, they display in the `failure` field.
        failure: 'FAILURE_COUNT'
      createTime: 'YYYY-MM-DDTHH:MM:SS+ZZ:ZZ'
      endTime: 'YYYY-MM-DDTHH:MM:SS+ZZ:ZZ'
      logsUrl: https://console.cloud.google.com/CLOUD_LOGGING_URL
    name: projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID
    // The `response` field only displays if there were no errors.
    response:
      '@type': 'type.googleapis.com/google.protobuf.Empty'
    

REST

Para exportar metadatos DICOM a una tabla de BigQuery, usa el método projects.locations.datasets.dicomStores.export.

  1. Exporta los metadatos DICOM.

    Antes de usar los datos de la solicitud, haz las siguientes sustituciones:

    • PROJECT_ID: el ID de tu Google Cloud proyecto
    • LOCATION: la ubicación del conjunto de datos
    • DATASET_ID: el conjunto de datos superior del almacén DICOM
    • DICOM_STORE_ID: el ID del almacén DICOM
    • BIGQUERY_DATASET_ID: el nombre de un conjunto de datos de BigQuery al que exportar metadatos DICOM
    • BIGQUERY_TABLE_ID: el nombre de una tabla nueva o ya creada del conjunto de datos de BigQuery. Si la operación de exportación crea una tabla, consulta los requisitos para nombrar tablas.
    • WRITE_DISPOSITION: valor de la enumeración WriteDisposition. Usa uno de los siguientes valores:
      • WRITE_EMPTY: solo exporta datos si la tabla de BigQuery está vacía.
      • WRITE_TRUNCATE: borra todos los datos de la tabla de BigQuery antes de escribir las instancias DICOM.
      • WRITE_APPEND: añade datos a la tabla de BigQuery.

    Cuerpo JSON de la solicitud:

    {
      "bigqueryDestination": {
          "tableUri": "bq://PROJECT_ID.BIGQUERY_DATASET_ID.BIGQUERY_TABLE_ID",
          "writeDisposition": "WRITE_DISPOSITION"
      }
    }
    

    Para enviar tu solicitud, elige una de estas opciones:

    curl

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

    cat > request.json << 'EOF'
    {
      "bigqueryDestination": {
          "tableUri": "bq://PROJECT_ID.BIGQUERY_DATASET_ID.BIGQUERY_TABLE_ID",
          "writeDisposition": "WRITE_DISPOSITION"
      }
    }
    EOF

    A continuación, ejecuta el siguiente comando para enviar tu solicitud REST:

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

    PowerShell

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

    @'
    {
      "bigqueryDestination": {
          "tableUri": "bq://PROJECT_ID.BIGQUERY_DATASET_ID.BIGQUERY_TABLE_ID",
          "writeDisposition": "WRITE_DISPOSITION"
      }
    }
    '@  | Out-File -FilePath request.json -Encoding utf8

    A continuación, ejecuta el siguiente comando para enviar tu solicitud REST:

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

    Invoke-WebRequest `
    -Method POST `
    -Headers $headers `
    -ContentType: "application/json; charset=utf-8" `
    -InFile request.json `
    -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/dicomStores/DICOM_STORE_ID:export" | Select-Object -Expand Content

    Explorador de APIs

    Copia el cuerpo de la solicitud y abre la página de referencia del método. El panel Explorador de APIs se abre en la parte derecha de la página. Puedes interactuar con esta herramienta para enviar solicitudes. Pega el cuerpo de la solicitud en esta herramienta, rellena los campos obligatorios y haz clic en Ejecutar.

    El resultado es el siguiente. La respuesta contiene un identificador de una operación de larga duración. Las operaciones de larga duración se devuelven cuando las llamadas a métodos pueden tardar más tiempo en completarse. Anota el valor de OPERATION_ID. Necesitarás este valor en el siguiente paso.

  2. Usa el método projects.locations.datasets.operations.get para obtener el estado de la operación de larga duración.

    Antes de usar los datos de la solicitud, haz las siguientes sustituciones:

    • PROJECT_ID: el ID de tu Google Cloud proyecto
    • DATASET_ID: el ID del conjunto de datos
    • LOCATION: la ubicación del conjunto de datos
    • OPERATION_ID: el ID devuelto por la operación de larga duración

    Para enviar tu solicitud, elige una de estas opciones:

    curl

    Ejecuta el comando siguiente:

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

    PowerShell

    Ejecuta el comando siguiente:

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

    Invoke-WebRequest `
    -Method GET `
    -Headers $headers `
    -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID" | Select-Object -Expand Content

    Explorador de APIs

    Abre la página de referencia del método. El panel Explorador de APIs se abre en la parte derecha de la página. Puedes interactuar con esta herramienta para enviar solicitudes. Rellena los campos obligatorios y haz clic en Ejecutar.

    El resultado es el siguiente. Cuando la respuesta contiene "done": true, la operación de larga duración ha finalizado.

Exportar metadatos DICOM a otro proyecto

Para exportar metadatos DICOM de un almacén DICOM de un proyecto a un conjunto de datos de BigQuery de otro proyecto, consulta primero el artículo Permisos para exportar metadatos DICOM a otro proyecto para obtener información sobre cómo definir permisos de IAM en el proyecto de destino.

gcloud

Para exportar metadatos DICOM de un almacén DICOM de un proyecto a una tabla de BigQuery de otro proyecto, usa el comando gcloud healthcare dicom-stores export bq.

  1. Exporta los metadatos DICOM.

    Antes de usar los datos de los comandos que se indican a continuación, haz los siguientes cambios:

    • SOURCE_PROJECT_ID: el ID del proyecto de origen Google Cloud
    • SOURCE_LOCATION: la ubicación del conjunto de datos de origen
    • SOURCE_DATASET_ID: el conjunto de datos superior del almacén DICOM de origen
    • SOURCE_DICOM_STORE_ID: el ID del almacén DICOM de origen
    • DESTINATION_PROJECT_ID: el ID del proyecto diferente
    • DESTINATION_BIGQUERY_DATASET_ID: el nombre de un conjunto de datos de BigQuery del proyecto de destino al que vas a exportar los metadatos DICOM
    • DESTINATION_BIGQUERY_TABLE_ID: el nombre de una tabla nueva o ya creada del conjunto de datos de BigQuery. Si la operación de exportación crea una tabla, consulta los requisitos para nombrar tablas.
    • WRITE_DISPOSITION: valor de la enumeración WriteDisposition. Usa uno de los siguientes valores:
      • write-empty: solo exporta datos si la tabla de BigQuery está vacía.
      • write-truncate: borra todos los datos de la tabla de BigQuery antes de escribir las instancias DICOM.
      • write-append: añade datos a la tabla de BigQuery.

    Ejecuta el siguiente comando:

    Linux, macOS o Cloud Shell

    gcloud healthcare dicom-stores export bq SOURCE_DICOM_STORE_ID \
      --project=SOURCE_PROJECT_ID \
      --location=SOURCE_LOCATION \
      --dataset=SOURCE_DATASET_ID \
      --bq-table=bq://DESTINATION_PROJECT_ID.DESTINATION_BIGQUERY_DATASET_ID.DESTINATION_BIGQUERY_TABLE_ID \
      --write-disposition=WRITE_DISPOSITION

    Windows (PowerShell)

    gcloud healthcare dicom-stores export bq SOURCE_DICOM_STORE_ID `
      --project=SOURCE_PROJECT_ID `
      --location=SOURCE_LOCATION `
      --dataset=SOURCE_DATASET_ID `
      --bq-table=bq://DESTINATION_PROJECT_ID.DESTINATION_BIGQUERY_DATASET_ID.DESTINATION_BIGQUERY_TABLE_ID `
      --write-disposition=WRITE_DISPOSITION

    Windows (cmd.exe)

    gcloud healthcare dicom-stores export bq SOURCE_DICOM_STORE_ID ^
      --project=SOURCE_PROJECT_ID ^
      --location=SOURCE_LOCATION ^
      --dataset=SOURCE_DATASET_ID ^
      --bq-table=bq://DESTINATION_PROJECT_ID.DESTINATION_BIGQUERY_DATASET_ID.DESTINATION_BIGQUERY_TABLE_ID ^
      --write-disposition=WRITE_DISPOSITION
    Esta es la respuesta: La respuesta contiene un identificador de una operación de larga duración. Las operaciones de larga duración se devuelven cuando las llamadas a métodos pueden tardar mucho tiempo en completarse. El comando sondea la operación de larga duración y, a continuación, imprime el nombre de la operación en el campo name cuando finaliza la exportación. Anota el valor de OPERATION_ID. Necesitarás este valor en el siguiente paso.

    Respuesta

    Request issued for: [SOURCE_DICOM_STORE_ID]
    Waiting for operation [projects/SOURCE_PROJECT_ID/locations/SOURCE_LOCATION/datasets/SOURCE_DATASET_ID/operations/OPERATION_ID] to complete...⠏
    name: projects/SOURCE_PROJECT_ID/locations/SOURCE_LOCATION/datasets/SOURCE_DATASET_ID/operations/OPERATION_ID
    

  2. Para ver más detalles sobre la operación, ejecuta el comando gcloud healthcare operations describe y proporciona el OPERATION_ID de la respuesta:

    Antes de usar los datos de los comandos que se indican a continuación, haz los siguientes cambios:

    • SOURCE_PROJECT_ID: el ID del proyecto de origen Google Cloud
    • SOURCE_LOCATION: la ubicación del conjunto de datos de origen
    • SOURCE_DATASET_ID: ID del conjunto de datos de origen
    • OPERATION_ID: el ID devuelto por la operación de larga duración

    Ejecuta el siguiente comando:

    Linux, macOS o Cloud Shell

    gcloud healthcare operations describe OPERATION_ID \
        --project=SOURCE_PROJECT_ID \
        --dataset=SOURCE_DATASET_ID \
        --location=SOURCE_LOCATION

    Windows (PowerShell)

    gcloud healthcare operations describe OPERATION_ID `
        --project=SOURCE_PROJECT_ID `
        --dataset=SOURCE_DATASET_ID `
        --location=SOURCE_LOCATION

    Windows (cmd.exe)

    gcloud healthcare operations describe OPERATION_ID ^
        --project=SOURCE_PROJECT_ID ^
        --dataset=SOURCE_DATASET_ID ^
        --location=SOURCE_LOCATION

    Deberías recibir una respuesta similar a la siguiente:

    Respuesta

    done: true
    // If there were any errors, an `error` field displays instead of a `response` field.
    // See Troubleshooting long-running operations for a list of response codes.
    error: ERROR
      code: ERROR_CODE
      message: DESCRIPTION
    metadata:
      '@type': 'type.googleapis.com/google.cloud.healthcare.v1.OperationMetadata'
      apiMethodName: 'google.cloud.healthcare.v1.dicom.DicomService.ExportDicomData_bq'
      counter:
        success: 'SUCCESS_COUNT'
        // If there were any failures, they display in the `failure` field.
        failure: 'FAILURE_COUNT'
      createTime: 'YYYY-MM-DDTHH:MM:SS+ZZ:ZZ'
      endTime: 'YYYY-MM-DDTHH:MM:SS+ZZ:ZZ'
      logsUrl: https://console.cloud.google.com/CLOUD_LOGGING_URL
    name: projects/SOURCE_PROJECT_ID/locations/SOURCE_LOCATION/datasets/SOURCE_DATASET_ID/operations/OPERATION_ID
    // The `response` field only displays if there were no errors.
    response:
      '@type': 'type.googleapis.com/google.protobuf.Empty'
    

REST

Para exportar metadatos DICOM de un almacén DICOM de un proyecto a una tabla de BigQuery de otro proyecto, usa el método projects.locations.datasets.dicomStores.export.

  1. Exporta los metadatos DICOM.

    Antes de usar los datos de la solicitud, haz las siguientes sustituciones:

    • SOURCE_PROJECT_ID: el ID del proyecto de origen Google Cloud
    • SOURCE_LOCATION: la ubicación del conjunto de datos de origen
    • SOURCE_DATASET_ID: el conjunto de datos superior del almacén DICOM de origen
    • SOURCE_DICOM_STORE_ID: el ID del almacén DICOM de origen
    • DESTINATION_PROJECT_ID: el ID del proyecto diferente
    • DESTINATION_BIGQUERY_DATASET_ID: el nombre de un conjunto de datos de BigQuery del proyecto de destino al que vas a exportar los metadatos DICOM
    • DESTINATION_BIGQUERY_TABLE_ID: el nombre de una tabla nueva o ya creada del conjunto de datos de BigQuery. Si la operación de exportación crea una tabla, consulta los requisitos para nombrar tablas.
    • WRITE_DISPOSITION: valor de la enumeración WriteDisposition. Usa uno de los siguientes valores:
      • WRITE_EMPTY: solo exporta datos si la tabla de BigQuery está vacía.
      • WRITE_TRUNCATE: borra todos los datos de la tabla de BigQuery antes de escribir las instancias DICOM.
      • WRITE_APPEND: añade datos a la tabla de BigQuery.

    Cuerpo JSON de la solicitud:

    {
      "bigqueryDestination": {
          "tableUri": "bq://DESTINATION_PROJECT_ID.DESTINATION_BIGQUERY_DATASET_ID.DESTINATION_BIGQUERY_TABLE_ID",
          "writeDisposition": "WRITE_DISPOSITION"
      }
    }
    

    Para enviar tu solicitud, elige una de estas opciones:

    curl

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

    cat > request.json << 'EOF'
    {
      "bigqueryDestination": {
          "tableUri": "bq://DESTINATION_PROJECT_ID.DESTINATION_BIGQUERY_DATASET_ID.DESTINATION_BIGQUERY_TABLE_ID",
          "writeDisposition": "WRITE_DISPOSITION"
      }
    }
    EOF

    A continuación, ejecuta el siguiente comando para enviar tu solicitud REST:

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    -d @request.json \
    "https://healthcare.googleapis.com/v1/projects/SOURCE_PROJECT_ID/locations/SOURCE_LOCATION/datasets/SOURCE_DATASET_ID/dicomStores/SOURCE_DICOM_STORE_ID:export"

    PowerShell

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

    @'
    {
      "bigqueryDestination": {
          "tableUri": "bq://DESTINATION_PROJECT_ID.DESTINATION_BIGQUERY_DATASET_ID.DESTINATION_BIGQUERY_TABLE_ID",
          "writeDisposition": "WRITE_DISPOSITION"
      }
    }
    '@  | Out-File -FilePath request.json -Encoding utf8

    A continuación, ejecuta el siguiente comando para enviar tu solicitud REST:

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

    Invoke-WebRequest `
    -Method POST `
    -Headers $headers `
    -ContentType: "application/json; charset=utf-8" `
    -InFile request.json `
    -Uri "https://healthcare.googleapis.com/v1/projects/SOURCE_PROJECT_ID/locations/SOURCE_LOCATION/datasets/SOURCE_DATASET_ID/dicomStores/SOURCE_DICOM_STORE_ID:export" | Select-Object -Expand Content

    Explorador de APIs

    Copia el cuerpo de la solicitud y abre la página de referencia del método. El panel Explorador de APIs se abre en la parte derecha de la página. Puedes interactuar con esta herramienta para enviar solicitudes. Pega el cuerpo de la solicitud en esta herramienta, rellena los campos obligatorios y haz clic en Ejecutar.

    El resultado es el siguiente. La respuesta contiene un identificador de una operación de larga duración. Las operaciones de larga duración se devuelven cuando las llamadas a métodos pueden tardar más tiempo en completarse. Anota el valor de OPERATION_ID. Necesitarás este valor en el siguiente paso.

  2. Usa el método projects.locations.datasets.operations.get para obtener el estado de la operación de larga duración.

    Antes de usar los datos de la solicitud, haz las siguientes sustituciones:

    • SOURCE_PROJECT_ID: el ID del proyecto de origen Google Cloud
    • SOURCE_LOCATION: la ubicación del conjunto de datos de origen
    • SOURCE_DATASET_ID: ID del conjunto de datos de origen
    • OPERATION_ID: el ID devuelto por la operación de larga duración

    Para enviar tu solicitud, elige una de estas opciones:

    curl

    Ejecuta el comando siguiente:

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://healthcare.googleapis.com/v1/projects/SOURCE_PROJECT_ID/locations/SOURCE_LOCATION/datasets/SOURCE_DATASET_ID/operations/OPERATION_ID"

    PowerShell

    Ejecuta el comando siguiente:

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

    Invoke-WebRequest `
    -Method GET `
    -Headers $headers `
    -Uri "https://healthcare.googleapis.com/v1/projects/SOURCE_PROJECT_ID/locations/SOURCE_LOCATION/datasets/SOURCE_DATASET_ID/operations/OPERATION_ID" | Select-Object -Expand Content

    Explorador de APIs

    Abre la página de referencia del método. El panel Explorador de APIs se abre en la parte derecha de la página. Puedes interactuar con esta herramienta para enviar solicitudes. Rellena los campos obligatorios y haz clic en Ejecutar.

    El resultado es el siguiente. Cuando la respuesta contiene "done": true, la operación de larga duración ha finalizado.

Exportar metadatos DICOM mediante filtros

De forma predeterminada, al exportar archivos DICOM a Cloud Storage, se exportan todos los archivos DICOM del almacén DICOM especificado. Del mismo modo, cuando exportas metadatos DICOM a BigQuery, se exportan los metadatos de todos los datos DICOM del almacén DICOM especificado.

Puedes exportar un subconjunto de datos o metadatos DICOM mediante un filtro. El filtro se define en un archivo de filtro.

Configurar archivos de filtro

Un archivo de filtro define qué archivos DICOM se exportarán a Cloud Storage o BigQuery. Puede configurar archivos de filtros en los siguientes niveles:

  • A nivel de estudio
  • A nivel de serie
  • A nivel de instancia

El archivo de filtro se compone de varias líneas, cada una de las cuales define el estudio, la serie o la instancia que quieras exportar. Cada línea usa el formato /studies/STUDY_UID[/series/SERIES_UID[/instances/INSTANCE_UID]].

Si no se especifica un estudio, una serie o una instancia en el archivo de filtro cuando se envía, no se exportará.

Solo es obligatoria la parte /studies/STUDY_UID de la ruta. Puedes exportar un estudio completo especificando /studies/STUDY_UID o una serie completa especificando /studies/STUDY_UID/series/SERIES_UID.

Veamos el siguiente archivo de filtro. El archivo de filtro dará como resultado la exportación de un estudio, dos series y tres instancias individuales:

/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

Crear un archivo de filtro con BigQuery

Normalmente, se crea un archivo de filtro exportando primero los metadatos de un almacén DICOM a BigQuery. De esta forma, puedes usar BigQuery para ver los UIDs de los estudios, las series y las instancias de los datos DICOM de tu almacén DICOM. A continuación, puedes completar los pasos siguientes:

  1. Consulta los UIDs de los estudios, las series y las instancias que te interesen. Por ejemplo, después de exportar metadatos DICOM a BigQuery, puedes ejecutar la siguiente consulta para concatenar los UIDs de estudio, serie e instancia en un formato compatible con los requisitos del archivo de filtro:
    SELECT CONCAT
        ('/studies/', StudyInstanceUID, '/series/', SeriesInstanceUID, '/instances/', SOPInstanceUID)
    FROM
        [PROJECT_ID:BIGQUERY_DATASET.BIGQUERY_TABLE]
  2. Si la consulta devuelve un conjunto de resultados grande, puedes materializar una nueva tabla guardando los resultados de la consulta en una tabla de destino de BigQuery.
  3. Si has guardado los resultados de la consulta en una tabla de destino, puedes guardar el contenido de la tabla de destino en un archivo y exportarlo a Cloud Storage. Para saber cómo hacerlo, consulta el artículo Exportar datos de una tabla. El archivo exportado es el archivo de filtro. Utiliza la ubicación del archivo de filtro en Cloud Storage cuando especifiques el filtro en la operación de exportación.

Crear un archivo de filtro manualmente

Puedes crear un archivo de filtro con contenido personalizado y subirlo a un segmento de Cloud Storage. Cuando especifiques el filtro en la operación de exportación, usa la ubicación del archivo de filtro en Cloud Storage. En el siguiente ejemplo se muestra cómo subir un archivo de filtro a un segmento de Cloud Storage mediante el comando gcloud storage cp:
gcloud storage cp FILTER_FILE gs://BUCKET

Pase en el archivo de filtro

Una vez que hayas creado un archivo de filtro, puedes llamar a la operación de exportación de DICOM y pasar el archivo de filtro mediante la API REST. En los siguientes ejemplos se muestra cómo exportar metadatos DICOM mediante un filtro.

gcloud

Para exportar metadatos DICOM a una tabla de BigQuery mediante un filtro, ejecuta el comando gcloud beta healthcare dicom-stores export bq.

  1. Exporta los metadatos DICOM.

    Antes de usar los datos de los comandos que se indican a continuación, haz los siguientes cambios:

    • PROJECT_ID: el ID de tu Google Cloud proyecto
    • LOCATION: la ubicación del conjunto de datos
    • DATASET_ID: el conjunto de datos superior del almacén DICOM
    • DICOM_STORE_ID: el ID del almacén DICOM
    • BIGQUERY_DATASET_ID: el nombre de un conjunto de datos de BigQuery al que exportar metadatos DICOM
    • BIGQUERY_TABLE_ID: el nombre de una tabla nueva o ya creada del conjunto de datos de BigQuery. Si la operación de exportación crea una tabla, consulta los requisitos para nombrar tablas.
    • BUCKET: nombre del segmento de Cloud Storage que contiene el archivo de filtro. Si el archivo de filtro está en un directorio, incluye el directorio en la ruta.
    • FILTER_FILE: la ubicación y el nombre del archivo de filtro en un segmento de Cloud Storage
    • WRITE_DISPOSITION: valor de la enumeración WriteDisposition. Usa uno de los siguientes valores:
      • write-empty: solo exporta datos si la tabla de BigQuery está vacía.
      • write-truncate: borra todos los datos de la tabla de BigQuery antes de escribir las instancias DICOM.
      • write-append: añade datos a la tabla de BigQuery.

    Ejecuta el siguiente comando:

    Linux, macOS o Cloud Shell

    gcloud beta healthcare dicom-stores export bq DICOM_STORE_ID \
      --location=LOCATION \
      --dataset=DATASET_ID \
      --bq-table=bq://PROJECT_ID.BIGQUERY_DATASET_ID.BIGQUERY_TABLE_ID \
      --filter-config-gcs-uri=gs://BUCKET/FILTER_FILE \
      --write-disposition=WRITE_DISPOSITION

    Windows (PowerShell)

    gcloud beta healthcare dicom-stores export bq DICOM_STORE_ID `
      --location=LOCATION `
      --dataset=DATASET_ID `
      --bq-table=bq://PROJECT_ID.BIGQUERY_DATASET_ID.BIGQUERY_TABLE_ID `
      --filter-config-gcs-uri=gs://BUCKET/FILTER_FILE `
      --write-disposition=WRITE_DISPOSITION

    Windows (cmd.exe)

    gcloud beta healthcare dicom-stores export bq DICOM_STORE_ID ^
      --location=LOCATION ^
      --dataset=DATASET_ID ^
      --bq-table=bq://PROJECT_ID.BIGQUERY_DATASET_ID.BIGQUERY_TABLE_ID ^
      --filter-config-gcs-uri=gs://BUCKET/FILTER_FILE ^
      --write-disposition=WRITE_DISPOSITION
    Esta es la respuesta: La respuesta contiene un identificador de una operación de larga duración. Las operaciones de larga duración se devuelven cuando las llamadas a métodos pueden tardar mucho tiempo en completarse. El comando sondea la operación de larga duración y, a continuación, imprime el nombre de la operación en el campo name cuando finaliza la exportación. Anota el valor de OPERATION_ID. Necesitarás este valor en el siguiente paso.

    Respuesta

    Request issued for: [DICOM_STORE_ID]
    Waiting for operation [projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID] to complete...⠏
    name: projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID
    

  2. Para ver más detalles sobre la operación, ejecuta el comando gcloud healthcare operations describe y proporciona el OPERATION_ID de la respuesta:

    Antes de usar los datos de los comandos que se indican a continuación, haz los siguientes cambios:

    • PROJECT_ID: el ID de tu Google Cloud proyecto
    • DATASET_ID: el ID del conjunto de datos
    • LOCATION: la ubicación del conjunto de datos
    • OPERATION_ID: el ID devuelto por la operación de larga duración

    Ejecuta el siguiente comando:

    Linux, macOS o Cloud Shell

    gcloud healthcare operations describe OPERATION_ID \
        --project=PROJECT_ID \
        --dataset=DATASET_ID \
        --location=LOCATION

    Windows (PowerShell)

    gcloud healthcare operations describe OPERATION_ID `
        --project=PROJECT_ID `
        --dataset=DATASET_ID `
        --location=LOCATION

    Windows (cmd.exe)

    gcloud healthcare operations describe OPERATION_ID ^
        --project=PROJECT_ID ^
        --dataset=DATASET_ID ^
        --location=LOCATION

    Deberías recibir una respuesta similar a la siguiente:

    Respuesta

    done: true
    // If there were any errors, an `error` field displays instead of a `response` field.
    // See Troubleshooting long-running operations for a list of response codes.
    error: ERROR
      code: ERROR_CODE
      message: DESCRIPTION
    metadata:
      '@type': 'type.googleapis.com/google.cloud.healthcare.v1.OperationMetadata'
      apiMethodName: 'google.cloud.healthcare.v1.dicom.DicomService.ExportDicomData_bq'
      counter:
        success: 'SUCCESS_COUNT'
        // If there were any failures, they display in the `failure` field.
        failure: 'FAILURE_COUNT'
      createTime: 'YYYY-MM-DDTHH:MM:SS+ZZ:ZZ'
      endTime: 'YYYY-MM-DDTHH:MM:SS+ZZ:ZZ'
      logsUrl: https://console.cloud.google.com/CLOUD_LOGGING_URL
    name: projects/SOURCE_PROJECT_ID/locations/SOURCE_LOCATION/datasets/SOURCE_DATASET_ID/operations/OPERATION_ID
    // The `response` field only displays if there were no errors.
    response:
      '@type': 'type.googleapis.com/google.protobuf.Empty'
    

REST

Para exportar metadatos DICOM a una tabla de BigQuery mediante un filtro, usa el método projects.locations.datasets.dicomStores.export.

  1. Exporta los metadatos DICOM.

    Antes de usar los datos de la solicitud, haz las siguientes sustituciones:

    • PROJECT_ID: el ID de tu Google Cloud proyecto
    • LOCATION: la ubicación del conjunto de datos
    • DATASET_ID: el conjunto de datos superior del almacén DICOM
    • DICOM_STORE_ID: el ID del almacén DICOM
    • BIGQUERY_DATASET_ID: el nombre de un conjunto de datos de BigQuery al que exportar metadatos DICOM
    • BIGQUERY_TABLE_ID: el nombre de una tabla nueva o ya creada del conjunto de datos de BigQuery. Si la operación de exportación crea una tabla, consulta los requisitos para nombrar tablas.
    • BUCKET: nombre del segmento de Cloud Storage que contiene el archivo de filtro. Si el archivo de filtro está en un directorio, incluye el directorio en la ruta.
    • FILTER_FILE: la ubicación y el nombre del archivo de filtro en un segmento de Cloud Storage
    • WRITE_DISPOSITION: valor de la enumeración WriteDisposition. Usa uno de los siguientes valores:
      • WRITE_EMPTY: solo exporta datos si la tabla de BigQuery está vacía.
      • WRITE_TRUNCATE: borra todos los datos de la tabla de BigQuery antes de escribir las instancias DICOM.
      • WRITE_APPEND: añade datos a la tabla de BigQuery.

    Cuerpo JSON de la solicitud:

    {
      "bigqueryDestination": {
          "tableUri": "bq://PROJECT_ID.BIGQUERY_DATASET_ID.BIGQUERY_TABLE_ID",
          "writeDisposition": "WRITE_DISPOSITION"
      },
      "filterConfig": {
          "resourcePathsGcsUri": "gs://BUCKET/FILTER_FILE"
      }
    }
    

    Para enviar tu solicitud, elige una de estas opciones:

    curl

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

    cat > request.json << 'EOF'
    {
      "bigqueryDestination": {
          "tableUri": "bq://PROJECT_ID.BIGQUERY_DATASET_ID.BIGQUERY_TABLE_ID",
          "writeDisposition": "WRITE_DISPOSITION"
      },
      "filterConfig": {
          "resourcePathsGcsUri": "gs://BUCKET/FILTER_FILE"
      }
    }
    EOF

    A continuación, ejecuta el siguiente comando para enviar tu solicitud REST:

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

    PowerShell

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

    @'
    {
      "bigqueryDestination": {
          "tableUri": "bq://PROJECT_ID.BIGQUERY_DATASET_ID.BIGQUERY_TABLE_ID",
          "writeDisposition": "WRITE_DISPOSITION"
      },
      "filterConfig": {
          "resourcePathsGcsUri": "gs://BUCKET/FILTER_FILE"
      }
    }
    '@  | Out-File -FilePath request.json -Encoding utf8

    A continuación, ejecuta el siguiente comando para enviar tu solicitud REST:

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

    Invoke-WebRequest `
    -Method POST `
    -Headers $headers `
    -ContentType: "application/json; charset=utf-8" `
    -InFile request.json `
    -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/dicomStores/DICOM_STORE_ID:export" | Select-Object -Expand Content

    Explorador de APIs

    Copia el cuerpo de la solicitud y abre la página de referencia del método. El panel Explorador de APIs se abre en la parte derecha de la página. Puedes interactuar con esta herramienta para enviar solicitudes. Pega el cuerpo de la solicitud en esta herramienta, rellena los campos obligatorios y haz clic en Ejecutar.

    El resultado es el siguiente. La respuesta contiene un identificador de una operación de larga duración. Las operaciones de larga duración se devuelven cuando las llamadas a métodos pueden tardar más tiempo en completarse. Anota el valor de OPERATION_ID. Necesitarás este valor en el siguiente paso.

  2. Usa el método projects.locations.datasets.operations.get para obtener el estado de la operación de larga duración.

    Antes de usar los datos de la solicitud, haz las siguientes sustituciones:

    • PROJECT_ID: el ID de tu Google Cloud proyecto
    • DATASET_ID: el ID del conjunto de datos
    • LOCATION: la ubicación del conjunto de datos
    • OPERATION_ID: el ID devuelto por la operación de larga duración

    Para enviar tu solicitud, elige una de estas opciones:

    curl

    Ejecuta el comando siguiente:

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

    PowerShell

    Ejecuta el comando siguiente:

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

    Invoke-WebRequest `
    -Method GET `
    -Headers $headers `
    -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID" | Select-Object -Expand Content

    Explorador de APIs

    Abre la página de referencia del método. El panel Explorador de APIs se abre en la parte derecha de la página. Puedes interactuar con esta herramienta para enviar solicitudes. Rellena los campos obligatorios y haz clic en Ejecutar.

    El resultado es el siguiente. Cuando la respuesta contiene "done": true, la operación de larga duración ha finalizado.

Consultar y analizar datos DICOM en BigQuery

Después de exportar los metadatos DICOM a una tabla de BigQuery, puedes ejecutar consultas de ejemplo para obtener más información sobre los metadatos. En los siguientes ejemplos se muestra cómo ejecutar consultas para algunos casos prácticos habituales.

Buscar en los metadatos

Supongamos que quieres buscar en una gran cantidad de metadatos que es difícil encontrar en otros sistemas, como un sistema de archivo y comunicación de imágenes (PACS) o un archivo independiente del proveedor (VNA). La siguiente consulta muestra cómo consultar el valor PatientID de un paciente y usar la ruta de DICOMweb para recuperar instancias de imagen específicas. En el ejemplo se usa la tabla chc-nih-chest-xray.nih_chest_xray.nih_chest_xray del conjunto de datos de radiografía de tórax de NIH.

#standardSQL
SELECT CONCAT('/dicomWeb/studies/', StudyInstanceUID, '/series/', SeriesInstanceUID, '/instances/', SOPInstanceUID) as DICOMwebPath
FROM `chc-nih-chest-xray.nih_chest_xray.nih_chest_xray`
WHERE PatientID = '19045';

La consulta devuelve los estudios asociados al paciente. La siguiente respuesta usa el formato JSON:

[
  {
    "DICOMwebPath": "/dicomWeb/studies/1.3.6.1.4.1.11129.5.5.169629990647803559688464142879817265366193/series/1.3.6.1.4.1.11129.5.5.141990184899344268273968625887396932057061/instances/1.3.6.1.4.1.11129.5.5.162448513493627342869165322873398445570578"
  },
  {
    "DICOMwebPath": "/dicomWeb/studies/1.3.6.1.4.1.11129.5.5.114160532832901355654444239008681456919023/series/1.3.6.1.4.1.11129.5.5.178361108150351071908200174504411112440700/instances/1.3.6.1.4.1.11129.5.5.145959606905209488520697484018030440952428"
  },
  {
    "DICOMwebPath": "/dicomWeb/studies/1.3.6.1.4.1.11129.5.5.177801331756958922168115732894519725643007/series/1.3.6.1.4.1.11129.5.5.134128639331055702643451404466208677561042/instances/1.3.6.1.4.1.11129.5.5.148534317486838863760908141408862094292875"
  },
  {
    "DICOMwebPath": "/dicomWeb/studies/1.3.6.1.4.1.11129.5.5.119570482687494886334491471870663517807852/series/1.3.6.1.4.1.11129.5.5.148050768676645373034111775531663876425927/instances/1.3.6.1.4.1.11129.5.5.111153708388576066195389700503245704293300"
  },
  {
    "DICOMwebPath": "/dicomWeb/studies/1.3.6.1.4.1.11129.5.5.144704399171290022427247626928443085419319/series/1.3.6.1.4.1.11129.5.5.190285793344339390593165731988543561416633/instances/1.3.6.1.4.1.11129.5.5.110245902713751842026864359179754889505217"
  },
  {
    "DICOMwebPath": "/dicomWeb/studies/1.3.6.1.4.1.11129.5.5.172276126220388966649736649950361623806435/series/1.3.6.1.4.1.11129.5.5.171512371498506519035489729484464872160452/instances/1.3.6.1.4.1.11129.5.5.111721417729733087384317002785068394901165"
  }
]

Consultando los últimos estudios

Supongamos que quiere rellenar una lista de trabajo de lectura de PACS con los últimos estudios de su conjunto de datos.

La siguiente consulta muestra cómo recuperar y mostrar los estudios más recientes junto con los recuentos de instancias y los metadatos circundantes. En el ejemplo se usa la tabla bigquery-public-data.idc_v5.dicom_metadata del conjunto de datos TCIA.

#standardSQL
SELECT
  MIN(CONCAT(StudyDate, ' ', StudyTime)) as StudyDateTime, MIN(PatientID) as PatientID, StudyInstanceUID, COUNT(*) as InstanceCount
FROM
 `bigquery-public-data.idc_v5.dicom_metadata` AS dicom
GROUP BY StudyInstanceUID
ORDER BY StudyDateTime DESC
LIMIT 10;

La consulta devuelve la siguiente información:

  • Las 10 últimas investigaciones que se han introducido en el sistema y cuándo se han introducido
  • El paciente asociado a cada estudio
  • El UID del estudio
  • Número de instancias asociadas al estudio

La siguiente respuesta usa el formato JSON:

[
  {
    "StudyDateTime": "2021-07-11 00:38:22",
    "PatientID": "C3L-01924",
    "StudyInstanceUID": "1.3.6.1.4.1.5962.99.1.2466232160.763753303.1625963902816.3.0",
    "InstanceCount": "4"
  }, {
    "StudyDateTime": "2021-07-10 23:52:10",
    "PatientID": "C3L-01924",
    "StudyInstanceUID": "1.3.6.1.4.1.5962.99.1.2463459463.1074873794.1625961130119.3.0",
    "InstanceCount": "4"
  }, {
    "StudyDateTime": "2021-07-10 23:31:13",
    "PatientID": "C3L-02513",
    "StudyInstanceUID": "1.3.6.1.4.1.5962.99.1.2462202516.1453336368.1625959873172.3.0",
    "InstanceCount": "7"
  }, {
    "StudyDateTime": "2021-07-10 23:25:17",
    "PatientID": "C3L-01924",
    "StudyInstanceUID": "1.3.6.1.4.1.5962.99.1.2461846936.496969835.1625959517592.3.0",
    "InstanceCount": "4"
  }, {
    "StudyDateTime": "2021-07-10 22:35:16",
    "PatientID": "C3L-02515",
    "StudyInstanceUID": "1.3.6.1.4.1.5962.99.1.2458845347.1905567435.1625956516003.3.0",
    "InstanceCount": "6"
  }, {
    "StudyDateTime": "2021-07-10 21:49:46",
    "PatientID": "C3L-02515",
    "StudyInstanceUID": "1.3.6.1.4.1.5962.99.1.2456116127.1264613559.1625953786783.3.0",
    "InstanceCount": "7"
  }, {
    "StudyDateTime": "2021-07-10 21:46:04",
    "PatientID": "C3L-02513",
    "StudyInstanceUID": "1.3.6.1.4.1.5962.99.1.2455894080.1705479047.1625953564736.3.0",
    "InstanceCount": "6"
  }, {
    "StudyDateTime": "2021-07-10 21:13:30",
    "PatientID": "C3L-01924",
    "StudyInstanceUID": "1.3.6.1.4.1.5962.99.1.2453939652.2052768474.1625951610308.3.0",
    "InstanceCount": "4"
  }, {
    "StudyDateTime": "2021-07-10 21:10:17",
    "PatientID": "C3L-02515",
    "StudyInstanceUID": "1.3.6.1.4.1.5962.99.1.2453746219.164669562.1625951416875.3.0",
    "InstanceCount": "6"
  }, {
    "StudyDateTime": "2021-07-10 20:05:48",
    "PatientID": "C3L-02513",
    "StudyInstanceUID": "1.3.6.1.4.1.5962.99.1.2449877792.1996682667.1625947548448.3.0",
    "InstanceCount": "6"
  }
]

Limitaciones y comportamiento adicional

Si la etiqueta DICOM no tiene un tipo admitido en BigQuery (que se indica en VRs excluidos), se muestra en una columna independiente (llamada DroppedTags.TagName) de la tabla de BigQuery de destino.

Solucionar problemas con las solicitudes de exportación de DICOM

Si se producen errores durante una solicitud de exportación de metadatos DICOM a BigQuery, se registran en Cloud Logging. Para obtener más información, consulta Ver registros de errores en Cloud Logging.