Course
Índice
Uso de Python para el diagnóstico por imagen
- Detección y clasificación de tumores
- Detección de anomalías cardiovasculares
- Detectar fracturas y otras lesiones
- Detección de cánceres comunes
Uso del Procesamiento del Lenguaje Natural (PLN) en la Sanidad
- Utilizar la PNL para crear un sistema de apoyo a las decisiones clínicas (SAD)
- Utilizar la PNL para mejorar las Capacidades de Fenotipado
- Predecir el inicio de la psicosis
- Identificación y estratificación del riesgo de los pacientes con cirrosis
- Identificación de casos de cáncer notificables
- Aplicación de la PNL al Análisis Predictivo
Utilizar Python para Predecir y Analizar Enfermedades Complejas
Utilizar Python para mejorar la experiencia del paciente
Mejorar el funcionamiento de los hospitales
Descubrimiento de fármacos
Futuro del uso de Python en Sanidad
Conclusión
Introducción
En el mundo moderno, los ordenadores y los teléfonos inteligentes se han apoderado de muchos aspectos de nuestras vidas, y el sector sanitario no es una excepción. Los profesionales de la salud están migrando cada vez más los datos sanitarios y asistenciales del papel a formatos electrónicos, y los centros sanitarios están generando cantidades ingentes de datos como consecuencia de ello. Python es un lenguaje de programación esencial que los científicos de datos utilizan para crear soluciones a múltiples retos en la atención sanitaria, y ofrece un conjunto diverso de herramientas para generar perspectivas significativas a partir de los datos para los profesionales sanitarios. Los médicos pueden utilizar aplicaciones basadas en Python para hacer mejores pronósticos y mejorar la calidad de la asistencia sanitaria. En el sector sanitario, los científicos de datos utilizan Python principalmente para crear algoritmos de aprendizaje automático y aplicaciones de software para:
- Realización de diagnósticos médicos
- Mejorar la eficiencia de las operaciones hospitalarias
- Estudios genómicos
- Descubrimiento de fármacos
- Análisis predictivo
Las principales aplicaciones de Python en la sanidad se basan en algoritmos de aprendizaje automático (AM) y de procesamiento del lenguaje natural (PLN). Estas aplicaciones incluyen el diagnóstico por imagen, el procesamiento del lenguaje natural de documentos médicos y la predicción de enfermedades mediante la genética humana. Estas aplicaciones son esenciales para el sector sanitario: procesan y analizan los datos para convertirlos en información comprensible, significativa y fiable para los pacientes y el personal sanitario. La siguiente sección ofrece detalles sobre cómo los científicos de datos y los profesionales sanitarios utilizan el ML y el NLP en Python para resolver los retos sanitarios y mejorar los resultados de salud de los pacientes.
Uso de Python para el diagnóstico por imagen
Uno de los avances tecnológicos más prometedores en la atención sanitaria es el uso del ML para analizar múltiples imágenes, como la resonancia magnética (RM), la tomografía computerizada (TC) y las imágenes con tensor de difusión (DTI), para proporcionar diagnósticos. Mientras que el cerebro humano puede tener dificultades para analizar varias imágenes simultáneamente, las soluciones de aprendizaje automático son buenas para procesar varias piezas de información y producir un único resultado de diagnóstico. Sarker (2021) ofrece ejemplos de aplicaciones reales del aprendizaje automático en la dirección de la asistencia sanitaria y la investigación. También hay que tener en cuenta que la precisión del uso de Python en el aprendizaje automático para el análisis de imágenes es de aproximadamente el 92%. Esta cifra está ligeramente por debajo de la precisión del 96% para los médicos superiores. Sin embargo, cuando los patólogos examinan los modelos de aprendizaje automático, la tasa de precisión puede aumentar hasta el 99,5%.
Detección y clasificación de tumores
Una de las aplicaciones más comunes de las tecnologías de aprendizaje automático en sanidad es la detección de tumores mediante detección automatizada por ordenador (DAO). Estas técnicas aplican CNNs para calcular la probabilidad de que una lesión sea realmente una lesión. Por ejemplo, en mamografía, las herramientas de IA pueden proporcionar una "segunda" opinión a muchos radiólogos. Esto mejora significativamente la precisión de los cribados sin aumentar el coste relacionado con el uso de un humano para dar una "segunda opinión".
Los médicos han tenido problemas con la detección y clasificación del glioblastoma, un tipo de tumor cerebral. La dificultad reside en la naturaleza invasiva y omnipresente de estos tumores. A diferencia de otros tumores cerebrales, estos tumores son difíciles de localizar y evaluar cómo responden al tratamiento. El aprendizaje profundo ayuda a automatizar la evaluación de las imágenes por resonancia magnética de los glioblastomas.
Detección de anomalías cardiovasculares
El uso de Python para automatizar la detección de anomalías cardíacas a partir de imágenes, como las radiografías de tórax, puede acelerar la toma de decisiones y reducir los errores de diagnóstico. Cuando un paciente presenta síntomas como dificultad respiratoria, los médicos suelen solicitar una radiografía de tórax para detectar cardiomegalia. Las herramientas de IA creadas con Python pueden ayudar a automatizar tareas de evaluación como la medición del diámetro de la arteria pulmonar y la medición del ángulo de la carina. Por ejemplo, la figura siguiente muestra cómo los científicos de datos utilizan el ML para predecir enfermedades cardiovasculares utilizando las características clínicas de los pacientes (como el sexo, el hábito de fumar y el riesgo de hipertensión, entre otros factores). El modelo tenía una precisión de aproximadamente el 76% (Weng et al., 2017).
Fuente: Weng et al. (2017)
Los algoritmos de ML pueden evaluar las imágenes y autogenerar informes, ahorrando tiempo a los profesionales humanos a la hora de clasificar las anomalías de las mediciones normales.
Detectar fracturas y otras lesiones
Los científicos de datos pueden utilizar herramientas basadas en ML para identificar luxaciones, fracturas y lesiones de tejidos blandos difíciles de ver, lo que permite a los cirujanos tomar decisiones de tratamiento más seguras. Utilizar algoritmos imparciales para analizar las imágenes puede ayudar a los médicos a tener en cuenta todas las lesiones y ofrecer los mejores tratamientos. Las herramientas de IA pueden ayudar a realizar un análisis exhaustivo de las imágenes médicas y generar informes precisos en el momento oportuno, minimizando el riesgo para el paciente, los falsos negativos y el riesgo legal para los médicos.
Detección de afecciones y complicaciones torácicas
Las afecciones torácicas, como la neumonía, requieren reacciones rápidas de los profesionales sanitarios. Los médicos utilizan imágenes radiológicas para diagnosticar la neumonía y distinguirla de otras afecciones pulmonares, como la COVID-19. However, as Hasan et al. (2021) demuestran, los radiólogos no siempre pueden estar disponibles para analizar las imágenes y redactar informes para los médicos. Incluso cuando están disponibles, pueden tener dificultades para identificar la neumonía si el paciente tiene afecciones pulmonares preexistentes. Un algoritmo de IA basado en Python puede analizar radiografías y otras imágenes médicas para detectar una neumonía y, a continuación, alertar automáticamente a los profesionales sanitarios para que ofrezcan el tratamiento adecuado.
Detección de cánceres comunes
Los oncólogos utilizan la imagen médica para realizar pruebas rutinarias y preventivas de detección de cánceres, como el de colon, próstata y mama. En el cribado del cáncer de mama, los radiólogos pueden tener dificultades para clasificar de forma concluyente un tumor como benigno o maligno. Los falsos positivos podrían conducir a pruebas o tratamientos invasivos innecesarios, mientras que las neoplasias no detectadas podrían causar retrasos en el diagnóstico y resultados adversos. El uso de la IA puede ayudar a mejorar la precisión de la lectura de imágenes médicas, disminuyendo potencialmente la tasa de biopsias benignas innecesarias.
Uso del Procesamiento del Lenguaje Natural (PLN) en la Sanidad
Los científicos de datos y los profesionales sanitarios utilizan herramientas de procesamiento del lenguaje natural (PLN) para procesar y analizar una amplia gama de factores, como encuentros con pacientes, síntomas y constantes vitales, entre otros. La PNL puede proporcionar una forma más barata de escanear rápidamente documentos médicos e integrar la información resultante en una base de datos, ya que los sistemas de PNL extraen datos legibles de textos e imágenes para identificar palabras clave y términos. Hay muchas posibilidades apasionantes de aplicar la PNL a la asistencia sanitaria. Estas aplicaciones sirven principalmente para mejorar la investigación médica y la medicina. Esta sección destaca algunos usos de la PNL en la sanidad. La lista no es exhaustiva, sino un resumen de algunas aplicaciones del aprendizaje automático.
Utilizar la PNL para crear un sistema de apoyo a las decisiones clínicas (SAD)
Puedes utilizar la PNL para crear un sistema que mejore el apoyo a las decisiones clínicas (SDC) utilizando registros históricos de pacientes. Un sistema de este tipo puede ayudar a los médicos a tomar decisiones clínicas para los pacientes basándose en una base de datos de conocimientos. La base de datos puede incluir información extraída de las notas de los médicos (escritas a mano o a máquina), de los laboratorios o del audio transcrito. El sistema funciona extrayendo la información del paciente de los historiales médicos y, a continuación, asociando posibles estados de la enfermedad basándose en la información de casos anteriores y/o en la bibliografía.
Utilizar la PNL para mejorar las Capacidades de Fenotipado
Un fenotipo es una expresión observable de un rasgo específico (físico o bioquímico) en un organismo. Los clínicos utilizan el fenotipado para clasificar a los pacientes y obtener una visión más profunda de sus datos y compararlos con cohortes.
- La PNL es una valiosa herramienta para extraer y analizar datos no estructurados, que constituyen el 80% de todos los datos de pacientes disponibles.
- El PLN también permite un fenotipado más rico, porque los informes patológicos contienen mucha información sobre los pacientes.
- La PNL permite a los analistas extraer estos datos para responder a preguntas complejas y específicas, como qué mutaciones genéticas están asociadas a tipos de tejidos cancerosos.
Predecir el inicio de la psicosis
Los investigadores han publicado un informe sobre la aplicación de la PNL, mediante una técnica conocida como Análisis Semántico Latente, para predecir la aparición de psicosis utilizando archivos de audio transcritos de jóvenes con alto riesgo clínico. El modelo alcanzó una precisión del 93% en el entrenamiento y del 90% en los conjuntos de datos de prueba. El modelo funcionó bien a la hora de predecir si un paciente desarrollaría psicosis, a pesar del pequeño tamaño de la muestra, 40 participantes.
Identificación y estratificación del riesgo de los pacientes con cirrosis
Otra aplicación de la PNL en la sanidad es la identificación de pacientes con cirrosis. Otro estudio utilizó la PNL para identificar a los pacientes con cirrosis y estratificar el riesgo de los pacientes. Este estudio pudo identificar correctamente a los pacientes con cirrosis a partir de historias clínicas electrónicas, combinaciones de códigos CIE-9 y exploraciones radiológicas con una precisión del 95,71%. Esto indica que un sistema de este tipo podría identificar correctamente a los pacientes con cirrosis basándose en los datos médicos existentes en la mayoría de los hospitales.
Identificación de casos de cáncer notificables
Otro estudio utilizó PNL para identificar casos de cáncer notificables para los registros nacionales de cáncer. El objetivo era automatizar la notificación de pacientes con cáncer al Programa Nacional de Registros de Cáncer de EE.UU. El estudio utilizó PNL para analizar informes patológicos y diagnósticos, e identificar a pacientes de cáncer mediante aprendizaje automático supervisado con una precisión del 87,2%.
Aplicación de la PNL al Análisis Predictivo
Una de las ventajas más interesantes de la PNL es su capacidad para permitir el desarrollo de análisis predictivos para mejorar los resultados sanitarios de una población. Un ejemplo es el análisis de las publicaciones en las redes sociales para detectar posibles casos de suicidio e intervenir. El suicidio es una de las principales causas de muerte en Estados Unidos. En una encuesta reciente, el Instituto Nacional de Salud Mental (NIMH) demostró que unos 12 millones de adultos estadounidenses han tenido pensamientos suicidas graves. Alrededor del 10% de este grupo hizo planes e intentó suicidarse.
Fuente: NIMH (2021). Pensamientos y comportamientos suicidas entre adultos estadounidenses.
Los profesionales sanitarios quieren identificar a los individuos o cohortes de riesgo para poder intervenir. Hay varios estudios que predicen los intentos de suicidio mediante las publicaciones en las redes sociales. Un estudio utilizó datos de Twitter para desarrollar un modelo con un alto nivel de precisión (alrededor del 70%). Entre los principales hallazgos figuraba que los usuarios en riesgo inminente de suicidio publicaban menos emojis en el texto y utilizaban sobre todo emojis azules o símbolos de corazón roto. También publicaron tuits tristes o enfadados antes de intentar suicidarse. Coppersmith (2018) también predijo instancias de suicidio utilizando PNL con una precisión superior al 70% (ver figura con ROC).
Fuente: Coppersmith et al. (2018)
Las organizaciones sanitarias ya están utilizando la PNL para recoger la fruta madura del enorme árbol de la ciencia de datos. Las grandes entidades tecnológicas están creando cada vez más herramientas de PNL para la sanidad. Por ejemplo, Amazon tiene una herramienta de PNL clínica fácil de usar que ayuda a los médicos a extraer información de datos no estructurados. Pueden reclutar fácilmente pacientes para un estudio de ensayo, encontrar el diagnóstico adecuado para los pacientes y crear sistemas de alerta para la detección precoz de afecciones como la esclerosis.
Utilizar Python para Predecir y Analizar Enfermedades Complejas
Los analistas utilizan algoritmos de aprendizaje automático en Python para analizar la genética con el fin de predecir enfermedades y establecer la causa de las mismas. Conocer cómo afecta la genética al riesgo de un individuo puede ayudar en la asistencia sanitaria preventiva, lo que puede proporcionar información notable a los médicos sobre cómo personalizar los planes de asistencia sanitaria de los pacientes, para mitigar el riesgo de adquirir enfermedades más complejas.
Es difícil predecir cómo evolucionará cualquier enfermedad y muchos sistemas son ineficaces en esta tarea, ya que algunas enfermedades mutan rápida e inesperadamente. Utilizando Python, los desarrolladores pueden construir modelos eficientes de Aprendizaje Automático que pueden predecir enfermedades antes de que se agraven.
Uno de los avances clave son las técnicas de secuenciación de nueva generación (NGS) en genética humana. La NGS es parte integrante de la investigación biológica y médica. La importancia fundamental de la NGS ha propagado la demanda de procesamiento y análisis de los conjuntos de datos generados. Esto ayuda a abordar cuestiones de investigación sobre diversos temas, como la cuantificación y clasificación metagenómica, la llamada de variantes y la detección de rasgos genómicos.
En otro ejemplo, Li et al. (2018) utiliza algoritmos de aprendizaje profundo entrenados en una unidad de procesamiento gráfico (GPU) para predecir tanto la heterogeneidad como la epistasis de enfermedades complejas.
Con el aprendizaje automático, los científicos pueden encontrar patrones y tendencias de enfermedades que pueden modelar de forma más predecible. Así pues, el aprendizaje automático tiene potencial para predecir con exactitud las personas que corren riesgo de contraer determinadas enfermedades, como las cardiovasculares, el cáncer y el Alzheimer.
Por último, Google ha desarrollado un algoritmo de Aprendizaje Profundo de este tipo para detectar el cáncer en pacientes utilizando sus datos médicos. El modelo es eficaz y no sólo acelera el proceso de tratamiento, sino que también reduce el riesgo de que un paciente tenga complicaciones graves en el futuro debido a un mal diagnóstico.
Utilizar Python para mejorar la experiencia del paciente
Gestionar a los pacientes puede requerir importantes recursos. Los centros con personal limitado pueden tener dificultades para atender las citas, los tratamientos y el bienestar general de los pacientes. Desarrollar aplicaciones sanitarias en Python puede ayudar a los centros sanitarios a gestionar a los pacientes, ayudando al personal a centrarse en las actividades críticas.
Las aplicaciones Python pueden ayudar a los pacientes a programar sus citas, obtener respuestas a las preguntas más frecuentes, solicitar la reposición de medicamentos, ponerse en contacto con los servicios de urgencias y actualizar periódicamente sus datos sanitarios para su seguimiento, lo que permite al personal sanitario centrarse en tratar a los pacientes con enfermedades críticas.
Mejorar el funcionamiento de los hospitales
Los centros sanitarios pueden aprovechar Python para resolver problemas relacionados con la escasez de recursos. Los científicos de datos pueden crear modelos que optimicen la dotación de personal, de modo que los centros sanitarios puedan evitar problemas como la dotación excesiva de personal en un turno con pocos ingresos, o la falta de personal en días de mucho trabajo.
Las aplicaciones basadas en Python pueden optimizar las citas, el uso de las instalaciones de diagnóstico y el tratamiento. Los hospitales disponen de recursos limitados en las UCI y necesitan optimizar el uso de estas instalaciones. En su estudio, Wu et al. (2021) utilizaron el ML para predecir la duración de la estancia en la unidad de cuidados intensivos (UCI) entre los pacientes de la UCI. Utilizaron cuatro técnicas de ML diferentes (máquina de vectores de soporte, bosque aleatorio, aprendizaje profundo y árbol de decisión con refuerzo de gradiente). El último modelo, el árbol de decisión con refuerzo de gradiente, obtuvo el mejor rendimiento con una precisión del 74,7%. Según los analistas del sector, las aplicaciones de la IA tienen potencial para ahorrar a la economía estadounidense unos 150.000 millones de dólares anuales de aquí a 2026(Roth, 2021).
Hay conjuntos de datos de código abierto que, como científico de datos, puedes utilizar para desarrollar ML para predecir la estancia en la UCI y ayudar a los hospitales a planificar sus recursos. Consulta este enlace de Kaggle para empezar. Además, los científicos de datos pueden dar rienda suelta a la potencia de Python mediante herramientas de ML como Scikit-Learn, Keras, TensorFlow y Pytorch para mejorar la forma en que los proveedores sanitarios gestionan sus costes e instalaciones.
Descubrimiento de fármacos
El lenguaje de programación Python es uno de los principales elegidos para el descubrimiento moderno de fármacos. Prácticamente todas las ofertas de empleo publicadas en indeed. com sobre descubrimiento de fármacos exigen experiencia en Python. Por lo tanto, aprender Python ya no es una opción, sino un requisito para las carreras relacionadas con el descubrimiento de fármacos.
Un buen ejemplo de uso de Python en el descubrimiento de fármacos es PyMOL de AstraZeneca. AstraZeneca es una de las empresas que aprovechan Python para acelerar el descubrimiento de fármacos. PyMOL es una potente herramienta para visualizar las estructuras tridimensionales de dianas de enfermedades. La herramienta tiene 12 modos diferentes de visualización estereoscópica que permiten a los usuarios resaltar y diferenciar de forma competente diversas características estructurales de los objetivos. Los científicos utilizan herramientas para encontrar los lugares de unión adecuados para las moléculas de fármacos. La herramienta está diseñada para adaptarse bien a los nuevos métodos de predicción. La figura siguiente muestra cómo la herramienta peina millones de datos para ayudar a diseñar prototipos de fármacos.
Fuente: PyMOL
PyMOL permite visualizar las estructuras tridimensionales (3D) de los organismos de la enfermedad objetivo. Utilizando las visualizaciones, los científicos comprenden mejor los problemas fundamentales, de modo que pueden diseñar nuevas construcciones moleculares para abordar adecuadamente la enfermedad.
Futuro del uso de Python en la sanidad
La afluencia de grandes y complejos conjuntos de datos sanitarios, la necesidad de reducir costes y la disminución del personal sanitario están impulsando el crecimiento de las herramientas de IA/ML en el mercado. También está aumentando el número de colaboraciones y asociaciones entre profesionales humanos y herramientas basadas en la IA. El futuro parece brillante para los desarrolladores de IA/ML y PNL, y algunas empresas de nueva creación ya están desarrollando sistemas de IA con conciencia humana. Hay un aumento constante del uso de robots en la asistencia sanitaria.
Las nuevas aplicaciones de los robots en la asistencia sanitaria van desde los exoesqueletos y las prótesis hasta los nanorrobots y los robots quirúrgicos. En EE.UU., el mercado de la robótica sanitaria crecerá hasta unos 32.500 millones de dólares en 2027, con una TCAC estimada del 21,3% para el periodo 2020-2027(Xavor, 2021).
La lucha contra el COVID-19 seguirá impulsando el crecimiento del mercado, con el despliegue de tecnologías de IA para el diagnóstico por imagen, el descubrimiento de fármacos, la genómica y el análisis predictivo.
Fuente: Mercados y Mercados (2022).
EE.UU. La Biblioteca Nacional de Medicina señala que la medicina de precisión es "un enfoque emergente para el tratamiento y la prevención de enfermedades que tiene en cuenta la variabilidad individual de los genes, el entorno y el estilo de vida de cada persona".
El futuro de la asistencia sanitaria está en manos de la IA/ML, y es probable que la medicina de precisión sea uno de los beneficios más impactantes del uso de la IA/ML en la asistencia sanitaria.
El objetivo de la medicina de precisión es encontrar opciones de tratamiento precisas para un paciente basadas en su historial médico personal, información genética, elecciones de estilo de vida y pruebas patológicas que cambian dinámicamente. El objetivo subyacente es combinar las técnicas de IA más potentes (como las redes neuronales profundas, los algoritmos de búsqueda, el aprendizaje por refuerzo, los modelos probabilísticos, el aprendizaje supervisado y otros) para desarrollar herramientas de medicina de precisión. Su objetivo es crear sistemas de IA que puedan predecir la probabilidad de que los pacientes padezcan una determinada enfermedad utilizando datos de cribado precoz o de exámenes rutinarios, y Python está a la vanguardia de la búsqueda de la medicina de precisión, con desarrolladores que crean herramientas de IA para modelar por qué y en qué circunstancias es más probable que se produzcan las enfermedades. Esto es importante para preparar y orientar a los profesionales sanitarios para que intervengan incluso antes de que el individuo muestre síntomas.
Existen otras posibilidades realmente apasionantes para el uso de Python en la creación de aplicaciones de IA/ML, como los robots de cirugía digital. Imagina un quirófano donde un paciente entra para que unos robots le realicen procedimientos precisos, ¡con seguridad y precisión!
Fuente: Revisión del negocio de la robótica (2022)
Los robots inteligentes dotados de IA podrían trabajar mano a mano con los cirujanos y aprovechar las ideas y orientaciones basadas en datos distribuidos a partir de los historiales quirúrgicos y sus resultados. Las posibilidades de utilizar Python en la sanidad son infinitas, y el futuro sigue abierto para la telemedicina y la realización de cirugía a distancia para procedimientos menores.
Conclusión
La aplicación de Python en la sanidad no está exenta de desafíos. La privacidad de los datos y los retos del marco legal siguen obstaculizando su plena aplicación. También sigue siendo difícil encontrar datos que terceros proveedores puedan utilizar legalmente. Es necesario un esfuerzo masivo de racionalización de los aspectos jurídicos y políticos para hacer frente a estos retos.
Como científicos de datos y profesionales del ML, tenemos la responsabilidad de crear un futuro brillante aprovechando el poder de los algoritmos de IA para ahorrar costes y mejorar la vida de miles de millones de personas en todo el mundo.
Puedes adquirir conocimientos prácticos de Python codificando con los siguientes proyectos guiados:
Cursos para Python
Course
Introducción a la Estadística en Python
Course