Automatice la eliminación de PHI de los datos de salud mediante el procesamiento de lenguaje natural

Automatice la eliminación de PHI de los datos de salud mediante el procesamiento de lenguaje natural

  • Big Data
  • junio 22, 2022
  • No Comment
  • 16
  • 19 minutes read


Estándar mínimo necesario y PHI en investigación en salud

Según la Ley de Portabilidad y Responsabilidad de Seguros Médicos (HIPAA), el estándar mínimo requerido, las entidades cubiertas por HIPAA (como los sistemas de atención médica y las aseguradoras) deben hacer esfuerzos razonables para garantizar que el acceso a la información médica protegida (PHI) se limite al mínimo necesario. información para lograr el propósito previsto de un uso, divulgación o solicitud en particular.

En Europa, el RGPD establece requisitos de anonimización y pseudoanonimización que las empresas deben cumplir antes de poder analizar o compartir datos médicos. En algunos casos, estos requisitos van más allá de las regulaciones de los EE. UU. y también exigen que las empresas eliminen la identidad de género, la raza, la religión y la afiliación sindical. Casi todos los países tienen protecciones legales similares para la información personal y médica confidencial.

Los retos de trabajar con datos personales de salud

Los estándares mínimos necesarios como estos pueden crear obstáculos para el avance de la investigación en salud a nivel de la población. Porque gran parte del valor de los datos de salud radica en el texto semiestructurado y las imágenes no estructuradas, que a menudo contienen información de salud de identificación personal que es difícil de eliminar. Tal PHI dificulta que los médicos, investigadores y científicos de datos dentro de una organización anoten, entrenen y desarrollen modelos que puedan, por ejemplo, predecir la progresión de la enfermedad.

Aparte del cumplimiento, otra razón importante para anonimizar la PHI y los datos médicos antes del análisis, particularmente para proyectos de ciencia de datos, es evitar sesgos y aprender de correlaciones falsas. La eliminación de campos de datos como las direcciones de los pacientes, los apellidos, el origen étnico, la ocupación, los nombres de los hospitales y los nombres de los médicos evita que los algoritmos de aprendizaje automático se basen en estos campos al hacer predicciones o recomendaciones.

Automatización de la eliminación de PHI con Databricks y John Snow Labs

John Snow Labs, el líder en procesamiento de lenguaje natural (NLP) en el cuidado de la salud, y Databricks están colaborando para ayudar a las organizaciones a procesar y transformar sus datos de texto a escala con un conjunto de plantillas de notebook Solution Accelerator para analizar casos de uso comunes de NLP. Puede obtener más información sobre nuestra asociación en nuestro blog anterior, Aplicación del procesamiento del lenguaje natural al texto de salud a escala.

Para ayudar a las organizaciones a automatizar la eliminación de datos confidenciales de los pacientes, hemos desarrollado un acelerador de solución de eliminación de PHI conjunto, construido en Databrick’s Lakehouse for Healthcare and Life Sciences. John Snow Labs proporciona dos extensiones comerciales además de la biblioteca Spark NLP de código abierto, ambas útiles para tareas de desidentificación y anonimización, que se utilizan en este acelerador:

  • Spark NLP for Healthcare es la biblioteca de NLP más utilizada del mundo para las industrias de la salud y las ciencias de la vida. Optimizado para ejecutarse en Databricks, Spark NLP for Healthcare extrae, clasifica y estructura sin problemas datos clínicos y biomédicos textuales con precisión de última generación a escala.
  • Spark OCR proporciona algoritmos y modelos de nivel de producción, entrenables y escalables para una variedad de tareas de imágenes visuales, incluida la comprensión de documentos, la comprensión de formularios y la extracción de información. Amplía la capacidad de las bibliotecas principales para analizar texto digital para leer y escribir documentos PDF y DOCX, así como para extraer texto de imágenes, ya sea dentro de dichos archivos o de JPG, TIFF, DICOM y formatos similares.

A continuación se muestra un recorrido general de nuestro acelerador de soluciones.

Eliminación de PHI en acción

En este acelerador de soluciones, le mostraremos cómo eliminar la PHI de los documentos médicos para que puedan compartirse o analizarse sin comprometer la identidad de un paciente. Aquí hay una descripción general del flujo de trabajo:

  • Cree una canalización de OCR para procesar documentos PDF
  • Detecte y extraiga unidades PHI de texto no estructurado con modelos NLP
  • Utilice la ofuscación para ofuscar datos como el texto PHI
  • Use la redacción para desidentificar la PHI en la vista de documento visual

Puede acceder a los cuadernos para obtener un recorrido completo de la solución.

Flujo de trabajo integral para automatizar la eliminación de PHI de documentos e imágenes mediante la plataforma Databricks Lakehouse.

Analizando los archivos por OCR

Como primer paso, cargamos todos los archivos PDF desde nuestro almacenamiento en la nube, asignamos a cada uno una identificación única y almacenamos los DataFrames resultantes en la capa de bronce de Lakehouse. Tenga en cuenta que el contenido del PDF sin procesar se almacena en una columna binaria y se puede acceder a él en los pasos posteriores.

Ejemplo de una tabla Delta Bronze que asigna a cada archivo PDF una identificación única creada como parte de la solución de desidentificación de PHI de Databricks-John Snow Labs.

En el siguiente paso, extraeremos el texto sin formato de cada archivo. Dado que los archivos PDF pueden tener más de una página, es más eficiente convertir primero cada página en una imagen (usando PdfToImage()) y luego extraer el texto de la imagen, usando ImageToText() en cada imagen.

# Transform PDF document to images per page
pdf_to_image = PdfToImage()
     .setInputCol("content")
     .setOutputCol("image")

# Run OCR
ocr = ImageToText()
     .setInputCol("image")
     .setOutputCol("text")
     .setConfidenceThreshold(65)
     .setIgnoreResolution(False)

ocr_pipeline = PipelineModel(stages=[
   pdf_to_image,
   ocr
])

Similar a SparkNLP, Transform es un paso estandarizado en Spark OCR para coincidir con todos los Transformers relacionados con Spark y se puede realizar en una línea de código.

ocr_result_df = ocr_pipeline.transform(pdfs_df)

Tenga en cuenta que puede ver cada imagen individual directamente en el cuaderno como se muestra a continuación:

Después de aplicar esta canalización, almacenamos el texto extraído y la imagen sin procesar en un DataFrame. Tenga en cuenta que el enlace entre la imagen, el texto extraído y el PDF original se conserva en nuestro almacenamiento en la nube a través de la ruta al archivo PDF (y la identificación única).

Los documentos escaneados suelen ser de baja calidad (debido a imágenes distorsionadas, mala resolución, etc.), lo que da como resultado un texto menos preciso y una mala calidad de los datos. Para solucionar este problema, podemos usar métodos de preprocesamiento de imágenes integrados en sparkOCR para mejorar la calidad del texto extraído.

Corrección de sesgo y procesamiento de imágenes.

En el siguiente paso, procesamos imágenes para aumentar la confianza. Spark tiene OCR ImageSkewCorrector que detecta la inclinación de la imagen y la rota. La aplicación de esta herramienta dentro de la canalización de OCR ayuda a ajustar las imágenes en consecuencia. Luego, aplicando esos también ImageAdaptiveThresholding podemos calcular una imagen de máscara de umbral basada en un vecindario de píxeles local y aplicarla a la imagen. Otro método de procesamiento de imágenes que podemos agregar a la canalización es el uso de operaciones morfológicas. nosotros podemos usar ImagenMorfologíaOperación erosión (eliminación de píxeles en los límites del objeto), dilatación (Agregar píxeles a los límites de los objetos en una imagen), Apertura (Elimine objetos pequeños y líneas finas de una imagen mientras conserva la forma y el tamaño de los objetos más grandes en la imagen) y cerca (lo contrario de agujero y útil para rellenar pequeños agujeros en una imagen).

Eliminación de objetos de fondo ImageRemoveObjects se puede usar y agregar ImageLayoutAnalyzer a la canalización para analizar la imagen y determinar las áreas de texto. El código para nuestra canalización de OCR completamente desarrollada se puede encontrar en el cuaderno Accelerator.

Veamos la imagen original y la imagen corregida.

La aplicación de enderezamiento dentro de la canalización de OCR ayuda a enderezar un documento mal girado.

Después del procesamiento de imágenes, tenemos una imagen más limpia con una mayor confiabilidad del 97 %.

Después del procesamiento de imágenes, la solución de desidentificación de PHI de Databricks-John Snow Labs produce una imagen más limpia con una mayor confianza o precisión del modelo del 97 %.

Después de corregir la inclinación de la imagen y el ruido de fondo y extraer el texto corregido de las imágenes, escribimos el DataFrame resultante en la capa Silver en Delta.

Extraer y ofuscar entidades PHI

Una vez que hayamos terminado de usar Spark OCR para procesar nuestros documentos, podemos usar una canalización clínica de Reconocimiento de entidades con nombre (NER) para reconocer y extraer entidades de interés (como nombre, lugar de nacimiento, etc.) en nuestro documento. Cubrimos este proceso con más detalle en una publicación de blog anterior sobre cómo extraer información sobre oncología de los informes de laboratorio.

Sin embargo, a menudo hay unidades de PHI en las notas clínicas que se pueden usar para identificar a un individuo y vincularlo con las unidades clínicas identificadas (p. ej., el estado de la enfermedad). Por lo tanto, es importante identificar la PHI dentro del texto y ofuscar estas entidades.

Hay dos pasos en este proceso: extraer las unidades de PHI y luego ocultarlas; Al mismo tiempo, garantiza que el conjunto de datos resultante contenga información valiosa para el análisis posterior.

Similar al NER clínico, usamos un modelo NER médico (ner_deid_generic_augmented) para detectar PHI, y luego usamos el «método falso» para ofuscar esas entidades. Nuestro proceso completo de extracción de PHI también se puede encontrar en Accelerator Notebook.

La canalización reconoce entidades PHI que luego podemos visualizar utilizando NerVisualizer como se muestra a continuación.

La solución de desidentificación de PHI de Databricks-John Snow Labs reconoce las entidades de PHI que se pueden visualizar con NerVisualizer.

Ahora, para construir una tubería de desidentificación de extremo a extremo, simplemente agregamos el paso de ofuscación a la tubería de extracción de PHI, que reemplaza la PHI con datos falsos.

obfuscation = DeIdentification()
    .setInputCols (["sentence", "token", "ner_chunk"]) 
    .setOutputCol("deidentified") 
    .setMode("obfuscate")
    .setObfuscateRefSource("faker")
    .setObfuscateDate (True)

obfuscation_pipeline = Pipeline(stages=[
    deid_pipeline,
    obfuscation
])

En el siguiente ejemplo, redactamos el lugar de nacimiento del paciente y lo reemplazamos con un lugar incorrecto:

Además de la ofuscación, SparkNLP for Healthcare proporciona modelos previamente entrenados para la redacción. Aquí hay una captura de pantalla que muestra el resultado de estas canalizaciones de redacción.

Con la solución de desidentificación de PHI de Databricks-John Snow Labs, las imágenes en PDF se actualizan con una línea negra para redactar la PHI.
Las imágenes PDF se actualizan con una línea negra para redactar las entidades PHI

SparkNLP y Spark OCR funcionan bien juntos para desidentificar PHI a escala. En muchos escenarios, las regulaciones estatales y de la industria prohíben la distribución o el uso compartido del archivo de texto original. Como se muestra, podemos crear una canalización de producción escalable y automatizada para clasificar texto en archivos PDF, ofuscar o redactar unidades PHI y escribir los datos resultantes en Lakehouse. Luego, los equipos de datos pueden compartir convenientemente estos datos «limpiados» e información anónima con analistas, científicos de datos o usuarios comerciales posteriores sin comprometer la privacidad de un paciente. A continuación se muestra un diagrama de resumen de este flujo de datos en Databricks.

Diagrama de flujo de datos para ofuscar PHI con Spark OCR y SparkNLP en Databricks.
Diagrama de flujo de datos para ofuscar PHI con Spark OCR y SparkNLP en Databricks.

Comience a construir su tubería de eliminación de PHI

Con este acelerador de soluciones, Databricks y John Snow Labs facilitan la automatización de la anonimización y ofuscación de datos confidenciales en documentos PDF médicos.

Para usar este acelerador de soluciones, puede obtener una vista previa de los cuadernos en línea e importarlos directamente a su cuenta de Databricks. Los cuadernos contienen instrucciones para instalar las bibliotecas y claves de licencia de NLP de John Snow Labs asociadas.

También puede visitar nuestra página Lakehouse for Healthcare and Life Sciences para obtener más información sobre todas nuestras soluciones.



Related post

Los concesionarios Ford ahora pueden traer a los mejores expertos en poco tiempo

Los concesionarios Ford ahora pueden traer a los mejores…

Si bien los fabricantes de automóviles y los concesionarios hacen todo lo posible para garantizar que los técnicos sepan cómo trabajar…
Los datos «falsos» ayudan a los robots a aprender más rápido (con video)

Los datos «falsos» ayudan a los robots a aprender…

29 de junio de 2022 (Noticias de Nanowerk) En un paso hacia los robots que pueden aprender sobre la marcha como…
La demanda de los auriculares Valve Index VR sigue siendo fuerte 3 años después del lanzamiento

La demanda de los auriculares Valve Index VR sigue…

Artículo original (26 de enero de 2021): Desde la perspectiva de las unidades, es poco probable que el Valve Index de…

Leave a Reply

Tu dirección de correo electrónico no será publicada.