Usar transformación de datos DICOM en soluciones de datos sanitarios
Nota
Este contenido se está actualizando actualmente.
La capacidad de transformación de datos DICOM en soluciones de datos de atención médica le permite ingerir, almacenar y analizar datos de imágenes y comunicaciones digitales en medicina (DICOM) de varias fuentes. Para obtener más información sobre la capacidad y comprender cómo implementarla y configurarla, consulte:
- Información general de la transformación de datos DICOM
- Transformación de metadatos DICOM
- Implementar y configurar la transformación de datos DICOM
La transformación de datos DICOM es una capacidad opcional con soluciones de datos de atención sanitaria en Microsoft Fabric.
Requisitos previos
Antes de ejecutar la canalización de transformación de datos DICOM, asegúrese de completar los requisitos previos, el proceso de implementación y los pasos de configuración que se explican en Implementar y configurar la transformación de datos DICOM.
Opciones de ingesta de datos
Este artículo proporciona orientación paso a paso sobre cómo usar la capacidad de ingesta de DICOM para ingerir, transformar y unificar el conjunto de datos de imágenes DICOM. La capacidad admite las siguientes dos opciones de ejecución:
Opción 1: Ingesta de un extremo a otro de archivos DICOM. Los archivos DICOM, ya sea en formato nativo (DCM) o comprimido (ZIP), se ingieren en el almacén de lago. Esta opción se denomina opción de Ingesta.
Opción 2: Integración de un extremo a otro con el servicio DICOM. La ingesta se facilita a través de la integración nativa con el servicio DICOM en Azure Health Data Services. En esta opción, los archivos DCM se transfieren primero desde el servicio DICOM de Azure Health Data Services a Data Lake Storage Gen2. A continuación, la canalización sigue la ejecución de Bring Your Own Storage. Esta opción se denomina Azure Health Data Services (AHDS).
Opción 1: Ingesta de un extremo a otro de archivos DICOM.
En esta opción, ingerimos los datos de imágenes de los archivos DICOM en los almacenes de lago de soluciones de datos de atención sanitaria mediante la canalización de datos prediseñados. Puede usar el conjunto de datos de ejemplo de imágenes que tiene archivos tanto ZIP como DCM nativos. La ejecución de un extremo a otro consta de los siguientes pasos consecutivos:
- Ingerir archivos DICOM en OneLake
- Organizar archivos DICOM en OneLake
- Extraer metadatos DICOM en el almacén de lago de bronce
- Convertir metadatos DICOM al formato FHIR (Fast Health Interoperability Resources)
- Ingerir datos en la tabla delta de ImagingStudy en el almacén de lago bronce
- Aplanar y transformar datos en la tabla delta de ImagingStudy en el almacén de lago plata
- Convertir e ingerir datos en la tabla Image_Occurrence en el almacén de lago oro (opcional)
Ingerir archivos DICOM en OneLake
La carpeta Ingesta del almacén de lago bronce representa una carpeta de colocación (cola). Puede colocar los archivos DICOM dentro de esta carpeta. Luego, los archivos se mueven a una estructura de carpetas organizada dentro del almacén de lago bronce.
Vaya a la carpeta Ingest\Imaging\DICOM\DICOM-HDS en el almacén de lago bronce.
Seleccione ... (puntos suspensivos) >Cargar>Cargar archivos.
Seleccione y cargue el conjunto de datos de imágenes desde la carpeta SampleData. El paso Implementar datos de ejemplo debería implementar automáticamente los datos de ejemplo en esta carpeta.
No hay limitación en el número de archivos DCM ni en el número, la profundidad y el anidamiento de subcarpetas dentro de los archivos ZIP ingeridos. Para obtener información sobre la limitación del tamaño de archivo, consulte Tamaño de archivo de ingesta.
Organizar archivos DICOM en OneLake
Una vez que los datos de ejemplo se mueven a las carpetas del almacén de lago bronce, la canalización organiza los archivos para su procesamiento. Utiliza el módulo ImagingRawDataMovementService de la biblioteca de soluciones de datos de atención sanitaria para mover los archivos de imágenes a una estructura de carpetas optimizada para su posterior procesamiento:
Transfiera archivos de la carpeta Ingesta a una nueva estructura de carpetas optimizada
Files\Process\Imaging\DICOM\yyyy\mm\dd
dentro del almacén de lago bronce. Esta estructura de carpetas escalable y compatible con el lago de datos sigue las Prácticas recomendadas para la estructura de directorios de Azure Data Lake Storage. En el caso de los archivos de origen en formato ZIP con varios archivos DCM, el cuaderno extrae y mueve cada archivo DCM a la estructura de carpetas optimizada, independientemente de la jerarquía de carpetas original dentro de los archivos ZIP de origen.Agregue un prefijo de marca de tiempo Unix a los nombres de archivo. La marca de tiempo se genera en el nivel de milisegundos para garantizar la unicidad de todos los nombres de archivo. Esta característica es útil para entornos con varios sistemas de Sistema de comunicación y archivado de imágenes (PACS) y Archivado neutro de proveedor (VNA), donde no se garantiza la unicidad del nombre de archivo.
Si se produce un error en un movimiento de fecha, los archivos con errores (con el prefijo de marca de tiempo Unix) se guardan en la carpeta Con error dentro de la siguiente estructura de carpetas optimizada:
Files\Failed\Imaging\DICOM\DICOM-HDS\yyyy\mm\dd\
Extraer metadatos DICOM en el almacén de lago de bronce
En este paso se usa el cuaderno healthcare#_msft_imaging_dicom_extract_bronze_ingestion para realizar un seguimiento y procesar los archivos recién movidos en la carpeta Proceso mediante el streaming estructurado en Spark. El cuaderno usa el módulo MetadataExtractionOrchestrator de la biblioteca de soluciones de datos de atención sanitaria para realizar las siguientes acciones:
Extraiga las etiquetas DICOM (elementos de datos DICOM) disponibles en los archivos DCM de la carpeta Proceso e ingiéralos en la tabla delta dicomimagingmetastore del almacén de lago bronce. Para obtener más información sobre este proceso de transformación, vaya a Asignación de transformación para metadatos DICOM a la tabla delta bronce.
En el caso de errores de extracción de datos, el cuaderno guarda el archivo con errores con el prefijo de marca de tiempo Unix en la carpeta Con error del almacén de lago bronce dentro de la siguiente estructura de carpetas optimizada
Files\Failed\Imaging\DICOM\DICOM-HDS\yyyy\mm\dd\
.La extracción de datos puede fallar por varios motivos:
- El análisis de archivos falla debido a errores desconocidos o inesperados.
- Los archivos DCM tienen contenido no válido que no cumple con el formato estándar DICOM.
Convertir metadatos DICOM al formato FHIR
Después de ingerir los archivos y rellenar la tabla delta dicomimagingmetastore con las etiquetas DICOM, el siguiente paso es convertir los metadatos DICOM al formato FHIR.
El cuaderno healthcare#_msft_imaging_dicom_fhir_conversion usa el streaming estructurado en Spark para realizar un seguimiento y procesar tablas delta modificadas recientemente en el almacén de lago bronce, incluido dicomimagingmetastore. Utiliza el módulo MetadataToFhirConvertor de la biblioteca de soluciones de datos de atención sanitaria para convertir los metadatos DICOM de la tabla delta bronce dicomimagingmetastore. El proceso de conversión implica transformar los metadatos de la tabla dicomimagingmetastore en ImagingStudy de FHIR en el formato recurso FHIR R4.3 y guardar los resultados como archivos NDJSON. Para obtener más información sobre la transformación, vaya a Asignación de transformación para metadatos DICOM a la tabla delta bronce.
El cuaderno convierte los metadatos DICOM en ImagingStudy de FHIR y escribe los archivos NDJSON en otra estructura de carpetas optimizada para archivos FHIR en el almacén de lago bronce. La estructura de carpetas es Files\Process\Clinical\FHIR NDJSON\yyyy\mm\dd\ImagingStudy
. El cuaderno genera solo un archivo NDJSON para todos los metadatos DICOM procesados en una sola ejecución del cuaderno. Si no encuentra las nuevas carpetas, actualice la interfaz de usuario de Fabric y el explorador de archivos de OneLake.
Ingerir datos en la tabla delta de ImagingStudy del almacén de lago bronce
Tras ingerir los datos DICOM y convertirlos al formato FHIR, la canalización ejecuta una canalización de ingesta de datos FHIR sencilla, similar a la ingesta de cualquier otro recurso FHIR. Este paso convierte los datos del archivo NDJSON ImagingStudy de FHIR en una tabla delta ImagingStudy en el almacén de lago bronce. Esta tabla delta mantiene el estado sin procesar del origen de datos.
La ejecución agrupa los datos de nivel de instancia del mismo estudio en un registro de estudio DICOM. Para obtener más información sobre este patrón de agrupación, consulte Patrón de grupo en el almacén de lago bronce.
Ingerir datos en la tabla delta de ImagingStudy del almacén de lago plata
En este paso, la canalización de datos ejecuta el cuaderno healthcare#_msft_bronze_silver_flatten para realizar un seguimiento y procesar los registros recién agregados en el almacén de lago bronce. El cuaderno aplana y transforma los datos de la tabla delta ImagingStudy en el almacén de lago bronce a la tabla delta ImagingStudy en el almacén de lago plata, de acuerdo con el formato recurso FHIR (R4.3).
El cuaderno actualiza o inserta los registros de ImagingStudy desde el almacén de lago bronce al plata. Para obtener más información sobre el patrón upsert, vaya a Patrón Upsert en el almacén de lago plata del almacén de lago plata. La asignación de transformación para la tabla delta de bronce a plata explica este proceso de transformación con detalle.
Una vez que el cuaderno complete la ejecución, podrá ver nueve registros en la tabla delta ImagingStudy en el almacén de lago plata.
Convertir e ingerir datos en el almacén de lago oro
Importante
Siga este paso de ejecución opcional solo si ha implementado y configurado la capacidad de transformaciones de OMOP en soluciones de datos de atención sanitaria. De lo contrario, puede omitir este paso.
Para el último paso, siga esta guía para convertir e ingerir datos en la tabla delta Image_Occurrence del almacén de lago oro:
En el entorno de soluciones de datos de atención sanitaria, vaya al cuaderno healthcare#_msft_omop_silver_gold_transformation y ábralo.
Este cuaderno usa las API de OMOP de soluciones de datos de atención sanitaria para transformar los recursos de almacén de lago plata en las tablas delta del Common Data Model de OMOP en el almacén de lago oro. De manera predeterminada, no es necesario realizar ningún cambio en la configuración del cuaderno.
Seleccione Ejecutar todo para ejecutar el cuaderno.
El cuaderno implementa el enfoque de seguimiento de OMOP para realizar un seguimiento y procesar registros recién insertados o actualizados en la tabla delta ImagingStudy en el almacén de lago plata. Convierte los datos de las tablas delta de FHIR en el almacén de datos plata (incluida la tabla ImagingStudy) en las tablas delta de OMOP respectivas del almacén de lago oro (incluida la tabla Image_Occurrence). Para obtener más información sobre esta transformación, vaya a Asignación de transformación para tabla delta de plata a oro.
Consulte Asignación de FHIR a OMOP para los detalles de asignación para todas las tablas de OMOP admitidas.
Una vez que el cuaderno completa la ejecución en función del conjunto de datos de ejemplo de imágenes, puede consultar y encontrar 24 registros en la tabla delta Image_Occurrence del almacén de lago oro. Cada registro representa un objeto de serie en la jerarquía DICOM.
Opción 2: Integración de un extremo a otro con el servicio DICOM
Importante
Siga esta canalización de ejecución solo si usa el servicio DICOM de Azure Health Data Services y ha implementado la API de DICOM. De lo contrario, puede omitir esta opción.
Revise y complete el procedimiento de implementación en Implementar la API de DICOM en Azure Health Data Services.
Después de implementar el servicio DICOM de Azure, ingiera archivos DCM a través de la API de Store (STOW-RS).
En función del idioma que prefiera, cargue los archivos de datos de ejemplo mediante una de las siguientes opciones:
- Usar las API estándar de DICOMweb con C#
- Usar las API estándar de DICOMweb con cURL
- Usar las API estándar de DICOMweb con Python
Si usa Python, puede:
- Crear un archivo .PY.
- Siga las instrucciones y el fragmento de código en Usar las API estándar de DICOMweb con Python.
- Cargue un archivo DCM desde una ubicación de máquina local al servidor DICOM.
- Utilice la API de Recuperar (WADO-RS) para comprobar una operación de carga de archivos correcta.
También puede comprobar la carga de archivos correcta mediante los siguientes pasos:
- En el portal de Azure, seleccione la cuenta de almacenamiento de Azure vinculada al servicio DICOM.
- Vaya a Contenedores y siga la ruta
[ContainerName]/AHDS/[AzureHealthDataServicesWorkspaceName]/dicom/[DICOMServiceName]
. - Compruebe si puede ver el archivo DCM cargado aquí.
Después de cargar correctamente los datos en el servicio DICOM y de verificar el archivo en su ubicación de Data Lake Storage Gen2, continúe con el siguiente paso.
Cree un acceso directo para el archivo DICOM desde su ubicación en la ubicación Azure Data Lake Storage Gen2. Si no usa un servicio DICOM de Azure Health Data Services, asegúrese de usar el acceso directo creado en Configurar la ingesta de Azure Data Lake Storage. Para mantener la coherencia, se recomienda utilizar la siguiente estructura de carpetas para crear el acceso directo:
Files\External\Imaging\DICOM\[Namespace]\[BYOSShortcutName]
Nota
Para obtener más información sobre las limitaciones de integración con el servicio DICOM de Azure Health Data Services, consulte Integración con el servicio DICOM.