En esta página, se describe cómo configurar un almacén de DICOM para exportar metadatos de la instancia de DICOM a una tabla de BigQuery cada vez que se ocurre lo siguiente:
- Almacenas una instancia de DICOM con Transacción de tienda o por importar objetos de DICOM desde un bucket de Cloud Storage.
- Puedes borrar una instancia de DICOM mediante una solicitud de eliminación.
- Cambias la clase de almacenamiento de una instancia de DICOM.
La transmisión de metadatos de DICOM a una tabla de BigQuery sincroniza la tabla con tus datos de DICOM para poder ejecutar consultas complejas en la versión más reciente tu almacén de DICOM.
Antes de comenzar
Antes de configurar tu almacén de DICOM, completa los siguientes pasos:
Configura los permisos de BigQuery
Antes de transmitir metadatos de DICOM a BigQuery, debes otorgar los permisos necesarios para el agente de servicio de Cloud Healthcare cuenta de servicio. Para obtener más información, consulta Permisos de BigQuery para el almacén de DICOM.
Aprende a exportar metadatos de DICOM a BigQuery
Antes de configurar la transmisión, comprende cómo Exportar metadatos de DICOM a BigQuery.
Configura el almacén de DICOM
Para habilitar la transmisión a BigQuery, configura el objeto StreamConfig
en el almacén DICOM. En el objeto StreamConfig
, configura la
BigQueryDestination
objeto a un URI de tabla de BigQuery completamente calificado como DICOM
el destino de los metadatos de la instancia.
Puedes especificar hasta cinco destinos de BigQuery, como objetos JSON separados por comas.
Borrar instancias de DICOM en un almacén de DICOM no borra el archivo de BigQuery filas que contienen los metadatos de esas instancias.
Console
Para actualizar un almacén de DICOM a fin de habilitar la transmisión de BigQuery, realiza los siguientes pasos:
- En la consola de Google Cloud, ve a la página Conjuntos de datos.
Ir a Conjuntos de datos - Selecciona el conjunto de datos que contenga el almacén de DICOM que deseas editar.
- Selecciona el almacén de DICOM para el que agregarás una configuración de transmisión.
- En la pestaña Descripción general de la página Detalles de Datastore, haz lo siguiente: Haz clic en Agregar nueva configuración de transmisión.
- En el campo Nueva configuración de transmisión, haz clic en Explorar.
- En el panel Seleccionar tabla, selecciona una tabla de BigQuery.
- Haz clic en Seleccionar.
- Haz clic en Listo.
REST
En los siguientes ejemplos, se muestra cómo actualizar un almacén de DICOM para habilitar la transmisión de BigQuery. En estas muestras, el almacén de DICOM y la tabla de BigQuery están en el mismo proyecto. Para exportar metadatos de DICOM a otro proyecto, consulta Exporta metadatos de DICOM a un proyecto diferente.
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
- BIGQUERY_DATASET_ID: El nombre de un conjunto de datos de BigQuery existente
- BIGQUERY_TABLE_ID: Un nombre único para una tabla en el conjunto de datos de BigQuery. Consulta Nombres de las tablas para conocer los requisitos de nombres. El conjunto de datos de BigQuery debe existir, pero la API de Cloud Healthcare puede actualizar una tabla existente o crear una nueva.
Cuerpo JSON de la solicitud:
{ 'streamConfigs': [{ 'bigqueryDestination': { 'tableUri': 'bq://PROJECT_ID.BIGQUERY_DATASET_ID.BIGQUERY_TABLE_ID' } }] }
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' { 'streamConfigs': [{ 'bigqueryDestination': { 'tableUri': 'bq://PROJECT_ID.BIGQUERY_DATASET_ID.BIGQUERY_TABLE_ID' } }] } EOF
Luego, ejecuta el siguiente comando para enviar tu solicitud de REST:
curl -X PATCH \
-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?updateMask=streamConfigs"
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:
@' { 'streamConfigs': [{ 'bigqueryDestination': { 'tableUri': 'bq://PROJECT_ID.BIGQUERY_DATASET_ID.BIGQUERY_TABLE_ID' } }] } '@ | 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 PATCH `
-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?updateMask=streamConfigs" | Select-Object -Expand Content
Explorador de API
Copia el cuerpo de la solicitud y abre la página de referencia del método. El panel del Explorador de API 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, completa cualquier otro campo obligatorio y haz clic en Ejecutar.
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
Metadatos de eliminación
En versiones anteriores de la API de Cloud Healthcare, los metadatos de instancia de DICOM solo se exportaban a BigQuery cuando se insertaba una instancia de DICOM en un almacén de DICOM. Cuando se agregó la escritura de metadatos de para eliminaciones, se agregaron dos columnas nuevas, llamadas Type
y LastUpdated
, a la tabla generada que contienía los metadatos de DICOM.
Todos los metadatos de la tabla que existían antes de que se implementara la eliminación
los metadatos tienen un valor NULL
para estas columnas. Un NULL
es el valor más bajo y
aparece al final al ordenar por orden descendente.
Vista de BigQuery generada
Cuando insertas o borras una instancia de DICOM en un almacén, se configura y se actualizará la tabla de BigQuery.
Si una vista de la tabla no existe, se crea la vista. De lo contrario, se actualiza la vista.
Limitaciones y comportamientos adicionales
Es posible que falten algunas etiquetas de DICOM en los metadatos exportados. Si es así, los números faltantes
las etiquetas se agregan a una columna separada llamada DroppedTags.TagName
en el
en la tabla de BigQuery de destino.
Faltarán etiquetas por alguno de los siguientes motivos:
- La etiqueta de DICOM es una RV no compatible que aparece en la lista de VR excluidas.
- La etiqueta de DICOM supera aproximadamente 1 MB.
- Si la cantidad de columnas de la tabla de destino de BigQuery supera la
cantidad máxima de columnas.
Cuando la exportación de metadatos de DICOM a una tabla de BigQuery supera el
límite de columnas, se agregan las etiquetas de DICOM que no coinciden con una columna existente
la columna
DroppedTags.Name
Si no se puede agregar la columnaDroppedTags
, las etiquetas de DICOM se descartan sin una notificación y se muestra un registro de advertencia de red. Para obtener más información, consulta Soluciona problemas de solicitudes de transmisión de DICOM para ver registros.
Incorporar metadatos de eliminación en una tabla existente
El comportamiento de la vista generada depende de si su contiene los metadatos que se agregaron antes de los metadatos de eliminación y se introdujo la función.
Supongamos que una tabla de BigQuery contiene metadatos de DICOM de antes se admitieron los metadatos de eliminación, y ocurre lo siguiente:
- Insertas una instancia de DICOM en un almacén de DICOM.
- Borras la instancia de DICOM del almacén de DICOM.
- Edita las etiquetas de la instancia de DICOM original y, luego, inserta las la instancia de DICOM en el almacén de DICOM.
Debido a que la tabla de BigQuery contenía los metadatos originales antes
se admitían los metadatos de eliminación, la instancia de DICOM original y sus
tienen los mismos estudios, instancias y series
identificadores únicos (UID). La vista generada puede contener
ya sea la instancia de DICOM original o la más reciente. Sin
LastUpdated
, la vista no puede identificar qué instancia de DICOM es más reciente.
Para asegurarte de que estás consultando los metadatos de instancias de DICOM más recientes, realiza una de las siguientes acciones: lo siguiente:
- Consulta la tabla base en lugar de la vista. Asegúrate de que la consulta busque las etiquetas actualizadas en la instancia de DICOM editada.
Borra la tabla existente que contiene los metadatos de DICOM y, luego, vuelve a crearla mediante la exportación manual de los metadatos de DICOM a BigQuery. La tabla recreada contiene la columna
LastUpdated
.Esta opción quita los metadatos de transmisión históricos, pero garantiza que la tabla contiene la columna
LastUpdated
con valores válidos.
Solucionar problemas de solicitudes de transmisión de DICOM
Si se producen errores durante una solicitud de exportación de DICOM a BigQuery, se registran en Cloud Logging. Para obtener más información, consulta Visualiza los registros de errores en Cloud Logging.
Para filtrar los registros de errores de metadatos de transmisión de DICOM en la consola de Google Cloud, completa los siguientes pasos:
Ve a la página Explorador de registros.
En el campo Consulta, ingresa la siguiente consulta:
logName="healthcare.googleapis.com%2Fdicom_stream"
Haz clic en Ejecutar consulta.
Cualquier registro de errores se muestra en la sección Resultados de la consulta.