Análisis de patrones cardiacos en entornos adversos
Full text
ESCUELA DE INGENIERÍA DE TELECOMUNICACIÓN Y ELECTRÓNICA TRABAJO FIN DE GRADO ANÁLISIS DE PATRONES CARDIACOS EN ENTORNOS ADVERSOS Titulación: Grado en Ingeniería en Tecnologías de la Telecomunicación Autor: Raúl Campos Guinda Tutores: Dr. Antonio Gabriel Ravelo García Dr. Juan Luis Navarro Mesa Fecha: Julio de 2015
ESCUELA DE INGENIERÍA DE TELECOMUNICACIÓN Y ELECTRÓNICA TRABAJO FIN DE GRADO ANÁLISIS DE PATRONES CARDIACOS EN ENTORNOS ADVERSOS HOJA DE FIRMAS Alumno/a Fdo.: Raúl Campos Guinda Tutor 1 Tutor 2 Fdo.: Dr. D. Antonio G. Ravelo García. Fdo.: Dr. D. Juan Luis Navarro Mesa Fecha: Julio de 2015
ESCUELA DE INGENIERÍA DE TELECOMUNICACIÓN Y ELECTRÓNICA TRABAJO FIN DE GRADO ANÁLISIS DE PATRONES CARDIACOS EN ENTORNOS ADVERSOS HOJA DE EVALUACIÓN Calificación: ___________________________________ Presidente Fdo.: Vocal Secretario/a Fdo.: Fdo.: Fecha: Julio de 2015
A mis padres, que me han apoyado tanto en los buenos como en los malos momentos.
ÍNDICE GENERAL I Memoria ......................................................................................................................................... 1 1. Introducción .................................................................................................................................................. 3 1.1. Antecedentes ....................................................................................................................................... 3 1.2. Objetivos ............................................................................................................................................... 5 1.3. Estructura del trabajo ...................................................................................................................... 6 2. Señales fisiológicas utilizadas ................................................................................................................ 9 2.1. Introducción ........................................................................................................................................ 9 2.2. El electrocardiograma (ECG) ........................................................................................................ 9 2.3. La señal de presión sanguínea arterial (ABP) ..................................................................... 12 2.4. Fotopletismograma (PPG) ........................................................................................................... 13 2.5. Relaciones entre las señales ........................................................................................................ 16 3. Alarmas de monitorización en la UCI ................................................................................................ 19 3.1. Introducción ...................................................................................................................................... 19 3.2. Niveles de alarma ............................................................................................................................ 20 3.3. Actuación ante una alarma .......................................................................................................... 20 3.4. Tipos de alarmas .............................................................................................................................. 21 3.4.1. Alarmas electrocardiográficas .......................................................................................... 21 3.4.1.1. Arritmias cardiacas .......................................................................................................... 22 3.4.1.2. Tipos de alarmas electrocardiográficas ................................................................... 25 3.5. Los problemas de las alarmas .................................................................................................... 26 4. Sistemas de detección de la QRS en el ECG..................................................................................... 29 4.1. Algoritmos basados en filtrado digital .................................................................................... 30 4.2. Algoritmos basados en amplitud y derivadas...................................................................... 31 4.3. Método de Pan y Tompkins ......................................................................................................... 34 5. Algoritmo de detección robusta de los Latidos del Corazón .................................................. 37 5.1. Introducción ...................................................................................................................................... 37 5.2. Materiales ........................................................................................................................................... 37
RAÚL CAMPOS GUINDA TRABAJO FIN DE GRADO 1 PARTE I MEMORIA
ULPGC ESCUELA DE INGENIERÍA DE TELECOMUNICACIÓN Y ELECTRÓNICA 2
RAÚL CAMPOS GUINDA TRABAJO FIN DE GRADO 3 1. INTRODUCCIÓN La Unidad de Cuidados Intensivos cuenta con un sistema de monitorización que funciona de forma ineficiente. Por un lado, los parámetros clínicos se obtienen a través de señales de monitorización individuales, sin considerar otras que puedan aportar información útil. Por otro lado, los monitores poseen un mecanismo de alarma que actúa simplemente cuando algunos de estos parámetros clínicos alcanzan un valor umbral determinado, dando lugar a una gran tasa de alarmas falsas. En este Trabajo fin de grado (TFG) se tratará de dar solución a estos problemas en el ámbito de la actividad cardiaca utilizando el procesado digital de señales fisiológicas. El objetivo del trabajo es obtener un sistema robusto para la detección de los latidos cardiacos y otro sistema fiable que pueda reducir las falsas alarmas. 1.1. ANTECEDENTES Los pacientes atendidos en la Unidad de Cuidados Intensivos (UCI) deben permanecer constantemente monitorizados para la observación de sus variables tanto invasivas como no invasivas. Los dispositivos de monitorización muestran una serie de formas de onda sincronizadas junto con información clínica. En referencia a la actividad cardiaca, el electrocardiograma (ECG) es una de las señales más importantes que se deben de tener en cuenta, ya que muestra información directa sobre la actividad en el corazón [1]. Otras señales de importancia son la de presión sanguínea arterial (ABP), el fotopletismograma (PPG) y otras señales sustitutas de esfuerzos respiratorios. Todas estas señales pueden aportar información a la hora de detectar momentos de arritmia cardiaca, produciendo en estos casos una alarma electrocardiográfica [2, 3, 4]. En la figura 1.1 se observan los datos típicos presentados en un monitor de actividad cardiaca.
ULPGC ESCUELA DE INGENIERÍA DE TELECOMUNICACIÓN Y ELECTRÓNICA 4 Figura 1.1. Ejemplo de monitor de actividad cardiaca. En la práctica clínica, estas señales son procesadas individualmente y sus parámetros derivados son frecuentemente comparados con unos valores umbrales pre-definidos, que activan una alarma cuando son alcanzados [5]. Generalmente, estas alarmas son falsas (FAs). De hecho, sólo entre el 2% y el 9% de las alarmas encontradas son importantes para el tratamiento del paciente. Las falsas alarmas en la UCI pueden conducir a una alteración en la atención, lo que afecta tanto al paciente como al personal clínico a través de perturbaciones de ruido, desensibilización a las advertencias y desaceleración de los tiempos de respuesta [5]. Dichas alarmas producen intensidades de sonido por encima de los 80 dB que pueden conducir a la privación de sueño y estrés para los pacientes. También existen indicios de que la incidencia de rehospitalización es menor si los niveles de ruido perjudiciales disminuyen durante la estancia del paciente. Además, se ha demostrado que tales interrupciones tienen un efecto importante en la recuperación y duración de la estancia [6, 7, 8]. Actualmente, los monitores presentan una falta de consistencia en sus protocolos de operación. Por ejemplo, algunos monitores arrancan con sus alarmas encendidas a pesar de no detectar las señales fisiológicas. Otros monitores no establecen prioridad cuando ocurren varias condiciones de alarmas simultáneamente. Asimismo, se espera que el médico visualice múltiples variables buscando cambios (individuales o en combinación) y tome una decisión sobre el estado del paciente. Un sistema que incluya una estructura racional e integrada para monitorización y alarma proporcionaría al personal clínico información comprensible y, en último término, reforzaría la seguridad del paciente [Weinger 90] [6]. Una de las variables primordiales que debe ser vigilada es la tasa de latidos cardiacos. Esta variable es obtenida comúnmente a partir del ECG mediante un detector QRS (un
RAÚL CAMPOS GUINDA TRABAJO FIN DE GRADO 5 conjunto de ondas específicas del ECG), que presenta buenos resultados donde la señal es estable pero carece de rigurosidad al encontrar entornos adversos, como cambios en la actividad cardiaca (contracciones musculares, artefactos por movimiento, etc.) o presencia de ruido externo (averías temporales de las máquinas, desprendimiento de electrodos y sensores que intervienen en la detección) [1]. Por tanto, conseguir un sistema eficiente para la detección de los latidos se vuelve un verdadero desafío debido a la gran cantidad de información involucrada. Una opción es la propia detección visual, pero resulta una tarea tediosa y consumiría demasiado tiempo, ya que habría que analizar el ECG de cada paciente para conocer sus eventos cardiacos. En relación a este problema, se han realizado mejoras significativas a lo largo de los últimos años, pero la eficacia de los algoritmos de detección sigue teniendo margen de mejora [9]. La iniciativa del trabajo surge gracias a PhysioNet, un recurso para la investigación y el desarrollo biomédico, patrocinados por el Instituto Nacional de Imágenes Biomédica y Bioingeniería (NIBIB) y el Instituto Nacional de Ciencias Médicas Generales (NIGMS), dos institutos pertenecientes a los Institutos Nacionales de Salud (NIH) de EE.UU., cuyos logotipos se representan en la Figura 1.2. Figura 1.2. Institutos patrocinadores de PhysioNet Con este trabajo se pretende buscar soluciones en relación a la monitorización de señales cardiacas de los pacientes en la UCI. Para ello se utilizará el procesado digital de aquellas señales fisiológicas que puedan aportar información referente a la actividad del corazón. 1.2. OBJETIVOS Los objetivos principales que se proponen en este trabajo surgen de la necesidad de dar solución a los problemas comentados en los antecedentes. A continuación se detallan los objetivos presentados:
ULPGC ESCUELA DE INGENIERÍA DE TELECOMUNICACIÓN Y ELECTRÓNICA 6 Detección robusta de latidos cardiacos: El objetivo será realizar una implementación para mejorar el actual sistema de detección de latidos sobre el ECG. Para conseguirlo, el sistema no sólo debe centrarse en el análisis del ECG sino además, acudir a otras relacionadas que puedan aportar alguna pista sobre la localización de los latidos en zonas inestables. En este caso, analizaremos la señal ABP. Reducción de falsas alarmas: Se trata de conseguir un algoritmo que sea capaz de reducir la tasa de falsas alarmas debidas a anomalías cardiacas, analizando el fotopletismograma (PPG), de forma que se optimice el servicio en la UCI. Recopilación de Base de datos: Para lograr los objetivos anteriores, se deberá obtener y preparar diferentes bases de datos para comparar resultados y comprobar que los algoritmos propuestos en el trabajo sean funcionales. Diseño de Interfaz Gráfica: Por último, en este trabajo se realizará una interfaz gráfica para la presentación de datos del algoritmo de detección de latidos cardiacos. De forma que se puedan observar los resultados de manera intuitiva. 1.3. ESTRUCTURA DEL TRABAJO Esta memoria se divide en 8 capítulos, así como un anexo. A continuación se describe el contenido de cada uno de ellos: Capítulo 1. Introducción. En este capítulo se da pie al problema planteado y se introducen los conocimientos generales del problema y los estudios precedentes para resolverlos. También se describen los objetivos principales del trabajo. Capítulo 2. Señales fisiológicas utilizadas. Tras la introducción al problema planteado, se comienza estudiando las formas de onda fisiológicas que utilizaremos en nuestros algoritmos para entender e interpretar el comportamiento cardiaco. Capítulo 3. Alarmas de monitorización en la UCI. Después de haber estudiado las señales con las que vamos a trabajar, se estudian los distintos tipos de alarmas que pueden aparecer en la UCI, dependiendo de su gravedad y de su origen patológico. Así
RAÚL CAMPOS GUINDA TRABAJO FIN DE GRADO 7 mismo, se estudian las arritmias cardiacas o anomalías en el funcionamiento cardiaco como causas de las alarmas electrocardiográficas. Capítulo 4. Sistemas de detección del complejo QRS en el ECG, donde se explican los distintos métodos de detección existentes. Capítulo 5. Algoritmo de detección robusta de instantes R. En este capítulo se detallan las instrucciones y los métodos utilizados en la implementación del algoritmo. También se obtienen y discuten los resultados con nuestra base de datos. Capítulo 6. Algoritmo de reducción de falsas alarmas. Al igual que en el capítulo anterior, se detallan las instrucciones y los métodos utilizados en la implementación del algoritmo. También se obtienen y discuten los resultados con nuestra base de datos. Capítulo 7. Interfaz GUI. Tras la implementación de los algoritmos propuestos, se desarrolla una interfaz gráfica para presentar de una forma intuitiva la información referente al algoritmo de detección robusta de instantes R. Capítulo 8. Conclusiones. En este último capítulo se establecen las conclusiones finales en relación con los resultados obtenidos, así como una discusión final sobre los mismos. Bibliografía. En la que se detallan las principales referencias de nuestro trabajo. Anexo A. Contenido del formato digital. En él se describe la forma de presentar los archivos dentro de los CD-ROM aportados junto a esta memoria. Planos y Programas, Donde se exponen las diferentes funciones utilizadas y sus parámetros de entrada y salida. Además, se presenta un diagrama de funciones para ambos algoritmos. Pliego de Condiciones. Es el documento contractual, de carácter exhaustivo y obligatorio en el cual se establecen las condiciones del proyecto.
ULPGC ESCUELA DE INGENIERÍA DE TELECOMUNICACIÓN Y ELECTRÓNICA 8 Presupuesto. En él se detallan los recursos económicos necesarios para la realización de este Trabajo Fin de Grado.
RAÚL CAMPOS GUINDA TRABAJO FIN DE GRADO 9 2. SEÑALES FISIOLÓGICAS UTILIZADAS 2.1. INTRODUCCIÓN Para poder cumplir nuestros objetivos, es necesario entender e interpretar cada una de las señales con las que vamos a trabajar. A continuación, se analizarán las formas de onda fisiológicas relacionadas con la actividad cardiaca y posteriormente se estudiarán las relaciones existentes entre estas señales. 2.2. EL ELECTROCARDIOGRAMA (ECG) Por definición, el electrocardiograma es la representación gráfica de la actividad eléctrica del corazón, que se obtiene con un electrocardiógrafo en forma de cinta continua [10]. Es el instrumento principal de la electrofisiología cardíaca y tiene una función relevante en el cribado y diagnóstico de las enfermedades cardiovasculares, alteraciones metabólicas y la predisposición a una muerte súbita cardiaca. También es útil para conocer la duración del ciclo cardiaco. El ECG es una señal de difícil procesamiento, pues, en general, contiene gran cantidad de ruido debido a la sensibilidad de los electrodos a los movimientos del paciente [11, 9]. La forma de onda general del ECG se presenta en la Figura 2.1. Figura 2.1. Forma de onda del ECG El trazado típico de un electrocardiograma registrando un latido cardiaco normal consiste en una onda P, un complejo QRS y una onda T (Figura 2.2) [10]. La pequeña onda U
ULPGC ESCUELA DE INGENIERÍA DE TELECOMUNICACIÓN Y ELECTRÓNICA 16 Las mediciones de absorción son altamente susceptibles a cualquier cambio en el material que rodea la vasculatura arterial pulsátil, incluyendo la alteración del músculo, la piel y sangre venosa en respuesta al movimiento. La señal PPG pulsátil que se muestra en los monitores de la UCI es una cantidad adimensional calculada a partir de una relación de comparación de amplitud entre AC y DC. En la figura 2.8 se presenta la forma de onda típica de una PPG. Figura 2.8. Forma de onda típica de la señal PPG 2.5. RELACIONES ENTRE LAS SEÑALES Ahora que se conocen las señales con las que vamos a trabajar, será importante conocer las relaciones existentes entre éstas para poder mantener la sincronización temporal al trabajar con ellas. En este apartado estudiaremos las similitudes y diferencias de estas señales, así como los momentos en los que se ha producido la contracción de los músculos del corazón, ya que es el evento característico a la hora de poder obtener los instantes en los que se producen los latidos cardiacos. En primer lugar, respecto al ECG y la señal de presión sanguínea arterial, podemos contemplar sus relaciones a través de la figura 2.9, que representa los eventos del ciclo cardiaco entre estas dos señales [22].
RAÚL CAMPOS GUINDA TRABAJO FIN DE GRADO 17 Figura 2.9. Eventos cardíacos que ocurren durante un ciclo cardíaco El evento más destacable entre ambas señales es la presencia de picos con una diferencia temporal de aproximadamente unos 200ms. La sístole mecánica o contracción ventricular comienza justo después del inicio del complejo QRS, momento en el que aumenta la presión sanguínea y se libera el volumen ventricular, dando lugar a un valor máximo de presión tras un retardo de tiempo. De esta forma, podremos disponer de un recurso para localizar los instantes R a partir del valor máximo de presión de sangre arterial. Por otro lado, la forma de onda de la PPG es similar en apariencia a la de la presión sanguínea arterial, pero tiene varias diferencias morfológicas que impiden un uso sencillo de algoritmos de medición de calidad de la señal usados en la ABP. Las formas de onda de la PPG y de la ABP tienen diferentes escalas, la amplitud de la señal PPG tiene un rango de 0 a 1, mientras que la de la ABP varía de 30 a 300 mmHg. La amplitud de la PPG puede ser modulada por la actividad respiratoria, así como con la ABP. En las formas de onda procesadas, la amplitud es algo arbitraria debido a los controles de ganancia automática de los monitores electrónicos. Lo importante en la señal es que su variabilidad en el tiempo pulso a pulso sigue a la frecuencia cardiaca. Cuando la señal es de buena calidad, la amplitud varía con el volumen sistólico del corazón en forma de latidos y con la respiración (a través
ULPGC ESCUELA DE INGENIERÍA DE TELECOMUNICACIÓN Y ELECTRÓNICA 18 de la arritmia sinusal respiratoria). El inicio de cada pulso PPG sigue el inicio del complejo QRS en el electrocardiograma y el inicio del pulso correspondiente en medida radial del ABP. Finalmente, relacionamos las tres señales a partir de sus formas de onda para un mismo periodo de tiempo a través de la figura 2.10. Figura 2.10. Formas de onda del ECG, ABP y PPG para un mismo intervalo de tiempo En esta figura observamos las señales grabadas a uno de los pacientes de la base de datos "Challenge 2015 Training Set" de Physionet, estas son: dos ECG recogidas desde dos derivaciones distintas (II y V) junto con la PPG y la ABP en un intervalo de 10 segundos [23]. Los eventos de mayor importancia serán los picos visibles de cada señal, todos tienen la misma frecuencia, la cardiaca, pero tienen desfases temporales entre ellas. Definiremos el desfase temporal entre un pico del ECG y un pico del PPG pertenecientes a un mismo ciclo cardiaco como PTTPPG (tiempo de tránsito de pulso) y del mismo modo, entre un pico del ECG y un pico ABP habrá un retardo PTTABP.
RAÚL CAMPOS GUINDA TRABAJO FIN DE GRADO 19 3. ALARMAS DE MONITORIZACIÓN EN LA UCI 3.1. INTRODUCCIÓN Las alarmas de los monitores son indicadores de que algo no funciona bien y constituyen una ayuda a la vigilancia de los pacientes [24]. Un monitor toma medidas de un parámetro biológico de forma continua o intermitente. Los valores que va tomando dicho parámetro son variables y dependen de las circunstancias del paciente. Para cada parámetro biológico hay unos valores que se consideran normales, fuera de los cuales el parámetro se diagnostica como anormal. Por ejemplo, la hipertensión se define como presión arterial sistólica superior a 160 mmHg o diastólica superior a 95 mmHg (en adultos). Si la presión arterial queda por encima de dicho valor, podremos considerar al paciente como hipertenso. Una forma de vigilar dichos valores consiste en estar mirando constantemente el monitor para comprobar si se desvían de los valores normales de los parámetros, pero al final resulta poco práctico. Sería más interesante disponer de un dispositivo que nos avisara en caso de que el parámetro medido se saliera del rango de la normalidad, o más aún, si sale de un rango previamente establecido por nosotros. El método mediante el cual conseguimos este objetivo son las alarmas en los monitores. Así pues, las alarmas son unas señales visuales y/o auditivas de intensidad y color diferente que advierten de que uno de los parámetros medidos se encuentra fuera del rango que se ha preestablecido como normal. En referencia al algoritmo de reducción de falsas alarmas, también se estudiarán las arritmias cardiacas en el entorno clínico.
ULPGC ESCUELA DE INGENIERÍA DE TELECOMUNICACIÓN Y ELECTRÓNICA 20 3.2. NIVELES DE ALARMA Dependiendo de la gravedad de la situación del paciente en el momento en el que se detecta la alarma, y por tanto, de la necesidad de ser atendido inmediatamente, existen diferentes niveles de alarmas: alarmas de aviso, de advertencia y críticas. Las alarmas de aviso indican que un parámetro está fuera de rango, pero que el paciente no corre peligro. Suelen tener avisos luminosos y ruidosos poco intensos. Un ejemplo de dicho parámetro es una taquicardia ligeramente por encima de los parámetros establecidos. Las alarmas de advertencia implican una gravedad mayor, e incluyen alarmas de desaturación moderada de los pacientes, como hipertensión o hipotensión. En éstos casos es necesaria una intervención más rápida. Las alarmas críticas son alarmas que implican peligro inmediato para la vida del paciente. Ejemplos de estas alarmas son las alarmas de asistolia o fibrilación ventricular. 3.3. ACTUACIÓN ANTE UNA ALARMA Lo primero a realizar ante una alarma es observar qué parámetro ha salido del rango preestablecido, comprobar que el paciente tiene un problema y después desconectar la alarma, pues ya ha cumplido su función, que es la de advertir de que algo está sucediendo. Dejar una alarma sonando constantemente puede llegar a ser molesto. Una vez sabemos qué ha producido la alarma, se puede proceder a la actuación adecuada dependiendo de la alarma en cuestión. Lo que no se debe realizar es desconectar la alarma porque "suena" o porque "molesta" sin saber qué está pasando con el paciente. Esta es una causa de errores de tratamiento o de tardanzas en el mismo que pueden poner en peligro la vida del paciente. Si una alarma no para de sonar, lo que hay que hacer es corregir la situación del paciente o bien fijar los límites de alarma dentro de otros parámetros. Quizás el monitor esté
RAÚL CAMPOS GUINDA TRABAJO FIN DE GRADO 21 preparado para dar alarmas con frecuencias cardíacas mayores a 100 pulsaciones por minuto, pero en un neonato estas frecuencias cardíacas son normales. 3.4. TIPOS DE ALARMAS Para el manejo del paciente crítico, no solo es necesario conocer el conjunto de técnicas específicas utilizadas en cada unidad de cuidados intensivos, sino también el completo conocimiento del material utilizado, fungible y farmacológico, y sobre todo la fisiopatología de las enfermedades que se tratan en estas unidades. Dentro de estos conocimientos fisiopatológicos incorporamos el conocer los límites de las constantes vitales que generalmente están monitorizadas, entre las más importantes nos encontramos las constantes electrocardiográficas, hemodinámicas, neurológicas y respiratorias [2]. Las alarmas se pueden clasificar en cuatro grupos dependiendo de su origen patológico y guardan relación con el conocimiento de las constantes mencionadas en el párrafo anterior, esto es: alarmas electrocardiográficas, alarmas hemodinámicas, alarmas neurológicas y alarmas respiratorias. En este trabajo, las alarmas relevantes que se deben tener en cuenta son las alarmas electrocardiográficas, ya que son las que se producen debido a arritmias cardiacas. 3.4.1. ALARMAS ELECTROCARDIOGRÁFICAS Las alarmas electrocardiográficas proceden de un fallo o anomalía de la actividad cardiaca (arritmia), que puede ser detectada a través de su monitorización. En los últimos 40 años, el ECG se ha convertido en una monitorización fundamental para valorar la actividad fisiológica normal del corazón, así como su patología. A continuación, se detallan las arritmias cardiacas como causa de este tipo de alarmas.
ULPGC ESCUELA DE INGENIERÍA DE TELECOMUNICACIÓN Y ELECTRÓNICA 22 3.4.1.1. ARRITMIAS CARDIACAS Los latidos del corazón ocurren como consecuencia de unos impulsos eléctricos que hacen que las aurículas y los ventrículos se contraigan de forma adecuada, sincrónica y rítmica. La frecuencia cardiaca oscila normalmente entre 60 y 100 latidos por minuto (lpm) [25]. Toda irregularidad en el ritmo natural del corazón se denomina arritmia. Por lo general, se pueden sentir latidos irregulares o palpitaciones en algún momento de la vida, y estas palpitaciones leves e infrecuentes son inofensivas. Sin embargo, un pequeño porcentaje de la población sufre de arritmias recurrentes y precisan atención médica [26]. Las arritmias pueden dividirse en dos categorías según su origen: ventriculares y supraventiculares. Las arritmias ventriculares se producen en las dos cavidades inferiores del corazón, denominadas ventrículos. Las arritmias supraventriculares se producen en las estructuras que se encuentran encima de los ventrículos, principalmente las aurículas, que son las dos cavidades superiores del corazón. En la figura 3.1 se pueden observar las localizaciones de los ventrículos y las aurículas en el corazón. Figura 3.1. Representación del corazón, indicando la localización de los ventrículos y las aurículas. Las arritmias también pueden clasificarse según su frecuencia cardiaca. En general, un ser humano en reposo mantiene una frecuencia cardiaca de entre 60 y 100 latidos por minuto (lpm). Se considera bradicardia cuando la velocidad de los latidos es inferior a los 60 lpm, mientras que se denomina taquicardia cuando supera los 100 lpm. Existe un tercer tipo de arritmia, la fibrilación, que aparece cuando se producen latidos rápidos y no coordinados
RAÚL CAMPOS GUINDA TRABAJO FIN DE GRADO 23 debidas a contracciones de fibras musculares cardiacas individuales, este es el tipo más grave de arritmia. Por último, la ausencia de latidos cardiacos se denomina asistolia. Las arritmias aparecen pos tres motivos: cuando el impulso eléctrico no se genera adecuadamente, cuando el impulso eléctrico se origina en un sitio erróneo y/o cuando los caminos para la conducción eléctrica están alterados. Estos motivos pueden aparecer por un defecto congénito, es decir que nacen con este problema. Algunas enfermedades, entre ellas ciertos tipos de enfermedades cardiacas, la presión arterial alta y la hemocromatosis (acumulación de hierro en el organismo), pueden contribuir a las arritmias. Además, el estrés, la cafeína, el tabaco, el alcohol y algunos medicamente de venta libre para la tos y los catarros pueden afectar al ritmo natural de los latidos del corazón. En el algoritmo de reducción de falsas alarmas se considerarán los siguientes tipos específicos de arritmias: Asistolia (figura 3.2): Es una detención de las contracciones cardiacas, particularmente de las contracciones ventriculares, permaneciendo el corazón inmóvil en diástole. Esta forma de paro cardiaco se opone a la originada por el cese de los latidos por fibrilación ventricular. Se considera asistolia cuando un intervalo entre QRS consecutivos es al menos de 4 segundos. Figura 3.2. Forma de onda del ECG con Asistolia. Taquicardia extrema (figura 3.3): Se caracteriza por un incremento exagerado en la frecuencia cardiaca provocando una contracción de los ventrículos tan rápida que no alcanzan a quedar llenos de sangre en cada ciclo cardiaco lo cual produce shock y eventualmente la muerte [27]. Se considera taquicardia extrema cuando la frecuencia cardiaca es mayor a 150 pulsaciones por minuto.
ULPGC ESCUELA DE INGENIERÍA DE TELECOMUNICACIÓN Y ELECTRÓNICA 24 Figura 3.3. Comparación entre formas de onda de la ECG cuando existe Taquicardia y cuando actúa con normalidad. Bradicardia extrema (figura 3.4).: Se da cuando la frecuencia cardiaca disminuye exageradamente de forma que el volumen eyectado por el corazón sea normal pero con los latidos tan espaciados la cantidad que llega a los tejidos no es suficiente para oxigenarlos. También puede provocar shock y muerte. Esta situación se manifiesta con un mal funcionamiento del nódulo sinusal. Se considera bradicardia extrema cuando la frecuencia cardiaca es inferior a 40 pulsaciones por minuto. Figura 3.4. Forma de onda del ECG con Bradicardia Extrema. Taquicardia ventricular (figura 3.5): Es una taquicardia que se origina en las cámaras inferiores (ventrículos). Por lo general, en este tipo de taquicardia la forma de onda se presenta anormalmente redondeada. Se considera taquicardia ventricular cuando el ritmo ventricular es mayor a 100 pulsaciones por minuto y su forma de onda resulta vistosa y redondeada debido al sobreesfuerzo que el corazón lleva a cabo.
RAÚL CAMPOS GUINDA TRABAJO FIN DE GRADO 25 Figura 3.5. Forma de onda del ECG con Taquicardia Ventricular. Fibrilación ventricular (figura 3.6): Directamente relacionada con la insuficiencia cardíaca, se trata de un temblor o aleteo que puede producir eventos inesperados como embolias graves o ictus cerebral, también puede producir en algunos casos fatiga extrema. Se considera fibrilación ventricular cuando el ECG se muestra como una onda fibrilatoria (irregular) durante al menos 4 segundos consecutivos. Figura 3.6. Forma del ECG con Fibrilación Ventricular. 3.4.1.2. MENSAJES DE ALARMAS ELECTROCARDIOGRÁFICAS Los mensajes de alarmas electrocardiográficas se clasifican por orden de gravedad: Alarmas rojas Las alarmas rojas se manifiestan con un tono que se repite cada segundo y luces intermitentes. Son de prioridad máxima y aparecen con tres asteriscos en el monitor. Sus causas son problemas graves en el funcionamiento de la actividad cardiaca: Asistolia Fibrilación Taquicardia Ventricular Taquicardia Extrema
ULPGC ESCUELA DE INGENIERÍA DE TELECOMUNICACIÓN Y ELECTRÓNICA 32 que la onda R es también la de mayor amplitud en ECG normales. La derivada segunda de una señal proporciona información de las variaciones de la pendiente, por lo que también se ha aplicado en algunos casos. El hecho de aplicar umbrales sobre la amplitud de la señal, implica la necesidad de eliminar previamente las oscilaciones de la línea base (o nivel de referencia del registro). La principal contribución al desplazamiento del nivel basal es la tensión adicional generada por la interfaz entre el cuerpo y los electrodos de adquisición. El rango del mismo oscila entre los 50 mV hasta algunos voltios, dependiendo del tipo de electrodo utilizado. En 1931, Wilson definió el nivel basal del ECG como "el potencial en un instante en el que el corazón no produce corrientes eléctricas, un potencial que para nuestros propósitos puede ser considerado como cero". Según esto, el nivel de referencia (punto isoeléctrico) estará entre el final de la onda T y el principio de la P. La respiración tiene el efecto de modular en amplitud la señal cardíaca, produciendo también oscilaciones en la línea basal. En consecuencia, el primer paso para la determinación del QRS será eliminar esta oscilación o bien implementar un algoritmo de detección inmune a la misma. Existen diferentes métodos para estabilizar estas oscilaciones: Filtrado pasa-alto: elimina oscilaciones de baja frecuencia, mediante la utilización de un filtro pasa-alto con frecuencia inferior de corte igual a la mínima de la banda pasante de la señal (0.05 Hz para el ECG). Filtrado pasa-bajo: obtiene la oscilación de baja frecuencia mediante un filtro pasa-bajo con igual frecuencia de corte que en el caso anterior y la resta de la señal. La diferencia entre la señal original y la obtenida con el filtrado nos da la señal sin oscilaciones basales. Interpolación: Se determina un polinomio interpolador, (que puede ser parabólico, cúbico, etc. ) entre puntos isoeléctricos del ECG, obteniendo así una estimación de la oscilación basal. Al igual que en el caso anterior la diferencia entre esta estimación y la señal nos dará un ECG sin oscilaciones. Para aplicar este método, es necesario hallar en primer lugar los puntos isoeléctricos, por lo que tenemos un problema recursivo ya que queremos eliminar las oscilaciones de la línea base para fijar la posición de la onda R sin
RAÚL CAMPOS GUINDA TRABAJO FIN DE GRADO 33 error, pero para la determinación de estos puntos hemos de hallar en primer lugar esta onda. Además, si no estimamos la posición de estos puntos con suficiente precisión, al substraer la señal interpolada de la del ECG obtendremos como resultado una distorsión de la señal. Filtrado adaptativo: La utilización de un filtro adaptativo con un solo coeficiente, cuya entrada de referencia es un nivel constante de valor unidad, presenta un comportamiento de filtrado pasa-alto con frecuencia de corte (Fc) dada por: siendo Fm la frecuencia de muestreo y µ la constante de adaptación. En la figura 4.3 se muestra un ejemplo de la eliminación de oscilación basal con los métodos comentados. Puede observarse una deformación de la señal para algunos de ellos, lo que limita su utilización en determinadas aplicaciones. El efecto de una elección incorrecta del orden del polinomio interpolador puede verse en el caso de interpolación lineal, en el que no se consigue eliminar correctamente la oscilación basal: Figura 4.3. Eliminación de la oscilación basal utilizando diferentes métodos
ULPGC ESCUELA DE INGENIERÍA DE TELECOMUNICACIÓN Y ELECTRÓNICA 34 4.3. MÉTODO DE PAN Y TOMPKINS Los métodos para detectar el QRS más aplicados son los no-sintácticos, y de entre ellos el método de Pan y Tompkins (o Pan-Tompkins). En este caso, la detección del QRS se basa en el análisis de amplitud, pendiente y anchura de los complejos QRS. El método presenta el diagrama de bloques representado en la figura 4.4. Figura 4.4. Diagrama de bloques del algoritmo de Pan y Tompkins Las etapas del mismo son: Filtrado pasa-banda: compuesto por un pasa-alto y pasa-bajo en cascada, que atenúa las bajas frecuencias características de las ondas P y T, así como de las oscilaciones basales, y también atenúa las frecuencias altas del EMG y la interferencia de red. Derivación: destaca las pendientes rápidas de la señal, que coinciden en el caso del ECG con el QRS. Transformación no lineal: eleva al cuadrado la señal, convirtiéndola en positiva antes de la integración, y acentuando también las frecuencias altas, que corresponden al QRS. Promediación: puesto que complejos anormales con amplitudes y pendientes iguales o mayores que los QRS, como es el caso de los PVC, pueden ser detectados como QRS normales, se utiliza un promediador de ventana móvil para obtener la duración del complejo detectado, ya que los PVC suelen presentar duraciones mayores que los QRS normales.
RAÚL CAMPOS GUINDA TRABAJO FIN DE GRADO 35 La ecuación del promediador viene dada por: Donde N es el número de muestras de la ventana. La anchura de la ventana debe tomarse de manera que contenga los complejos QRS normales o anómalos, sin llegar a incluir la onda T. El algoritmo fija este valor en 150 ms. Se definen dos tipos de umbrales, que permiten diferenciar si la detección corresponde a un QRS o a ruido (onda T, EMG, etc.). Cada vez que se detecta un QRS o ruido, los correspondientes umbrales se actualizan con el nuevo valor, por lo que el algoritmo se adapta a los cambios del ECG para cada paciente en particular. Además, si se produce un fallo de detección (un QRS no es detectado porque el umbral en ese instante es demasiado alto), el algoritmo implementa una técnica de “búsqueda atrás”. Para ello, se debe mantener información de la separación normal entre pulsos consecutivos y, si se supera ésta, se vuelve a analizar el tramo anterior con un umbral menor. El algoritmo utiliza un histórico del valor promedio de los últimos 8 intervalos RR normales, y cada vez que se detecta un nuevo QRS se compara el último RR con el promedio. Si está dentro de rango, se actualiza el promedio. Si está fuera de rango, se activa la búsqueda atrás.
ULPGC ESCUELA DE INGENIERÍA DE TELECOMUNICACIÓN Y ELECTRÓNICA 36
RAÚL CAMPOS GUINDA TRABAJO FIN DE GRADO 37 5. ALGORITMO DE DETECCIÓN ROBUSTA DE LOS LATIDOS DEL CORAZÓN En este capítulo, se detallará el proceso de implementación de un algoritmo de detección robusta de los latidos del corazón en el entorno de MATLAB. 5.1. INTRODUCCIÓN El detector QRS que se usa generalmente en la UCI para la detección de latidos en un ECG funciona eficientemente cuando la señal es estable. Sin embargo, presenta varios problemas cuando se encuentra con entornos adversos como falta de calidad de la señal o ruido procedente del exterior. Por este motivo, se implementará un algoritmo que mejore este sistema de detección utilizando otras señales fisiológicas relacionadas con la actividad cardiaca, en este caso, la señal ABP. El algoritmo a implementar tendrá como parámetro de entrada la ubicación del fichero donde están ubicadas las señales multiparamétricas de un paciente específico, el algoritmo deberá crear un fichero de anotaciones con las ubicaciones de los latidos cardiacos detectados. Este fichero se creará con una función de un paquete de herramientas proporcionado por Physionet llamado WFDB (WaveForm DataBase) ToolBox a partir del vector de muestras con las localizaciones de los latidos cardiacos. En este capítulo, se explicará detalladamente el algoritmo implementado que mejora la detección de latidos de un detector QRS sobre el ECG usando la ABP. 5.2. MATERIALES PhysioNet cuenta con una enorme base de datos donde se incluyen datos clínicos, una librería con tutoriales, guías de referencia, desafíos y publicaciones, desarrollos colaborativos de
ULPGC ESCUELA DE INGENIERÍA DE TELECOMUNICACIÓN Y ELECTRÓNICA 38 información y software y herramientas en forma de software para la exploración y análisis de señales clínicas. En concreto, los dos últimos desafíos publicados por PhysioNet serán nuestra principal referencia a lo largo de este trabajo: "Detección robusta de los Latidos del corazón en Datos Multimodales" y "Reducción de las Falsas Alarmas de Arritmia en la UCI". Estos retos tienen como objetivo acelerar el desarrollo de herramientas de investigación de código abierto que puedan analizar de forma fiable, eficiente y automática los datos haciendo uso de las señales fisiológicas asociadas a cada paciente. El recurso PhysioNet cuenta con un gran archivo en crecimiento de grabaciones digitales bien caracterizados de señales fisiológicas y datos relacionados para su uso por la comunidad de investigación biomédica [30]. El llamado ‘PhysioBank’ incluye actualmente bases de datos de múltiples parámetros cardiopulmonares, neuronales, y otras señales biomédicas de sujetos sanos y pacientes con una variedad de condiciones con importantes implicaciones para la salud pública, incluyendo la muerte súbita cardiaca, insuficiencia cardiaca congestiva, epilepsia, apnea del sueño y envejecimiento. Estos datos están disponibles bajo dominio público. Para implementar el algoritmo se usará una base procedente de un desafío publicado por PhysioNet llamado ‘Detección robusta de los Latidos del corazón en Datos Multimodales’, que consta de 100 extractos de 10 minutos de grabaciones multiparamétricas de humanos adultos, tanto pacientes con una amplia gama de problemas como voluntarios sanos. Cada registro contiene de cuatro a ocho señales, la primera es la señal ECG, y las otras son una variedad de señales fisiológicas registradas simultáneamente, que pueden ser útiles para la detección robusta de latidos. Las señales se han digitalizado con tasas de entre 120 y 1000 muestras por segundo, en cualquier registro dado, sin embargo, todas las señales se muestrean a la misma frecuencia fija de 250 Hz. Muchos de estos registros se pueden procesar sin errores utilizando un simple detector QRS que actúe sobre el ECG, pero otros plantean serias dificultades a menos que se haga un buen uso de la información disponible en el resto de las señales. También se encuentra un conjunto de anotaciones con los latidos referenciados, extraídos por expertos mediante la observación de las ubicaciones de los complejos QRS de la señal ECG.
RAÚL CAMPOS GUINDA TRABAJO FIN DE GRADO 39 Una vez organizada la base de datos en sus correspondientes ficheros, se usarán las herramientas WFDB para llevar la información de las señales al entorno de MATLAB, donde se implementará el algoritmo. Por cada paciente, se creará una matriz que contiene las señales pertenecientes a dicho paciente y una estructura ("struct") con toda la información relativa a las señales y al paciente. La matriz tiene tantas filas como señales registradas de ese paciente, de forma que cada fila representa una señal fisiológica específica, estas señales están sincronizadas entre sí y pertenecen al mismo intervalo de tiempo. La estructura contiene una descripción detallada acerca de las señales que se encuentran la matriz, por ejemplo: Número de muestras en la grabación. Duración de la grabación. Nombre de la grabación. Índice de la grabación. Descripción de la señal. Frecuencia de muestreo. Nombre de archivo Tiempo de inicio Resolución de bit de la señal Valor físico para 0 ADC Nivel físico de cero de la señal Unidades clínicas En la figura 5.1 se muestra un fragmento de un conjunto de señales procedentes de un mismo intervalo de tiempo que pertenece a un paciente de esta base de datos:
ULPGC ESCUELA DE INGENIERÍA DE TELECOMUNICACIÓN Y ELECTRÓNICA 40 Figura 5.1. Muestra de la base de datos utilizada para la detección de latidos cardiacos. 5.3. MÉTODOS Antes de comenzar con la implementación del algoritmo, se debe mencionar que se usarán varias funciones procedentes de las herramientas 'WFDB ToolBox'. La información de este paquete se encuentra ubicada en una carpeta llamada 'mcode' que contiene todas sus funciones a utilizar en MATLAB. Por tanto, como usaremos algunas de estas funciones, se deberá añadir esta carpeta al entorno de MATLAB antes de la ejecución del algoritmo para que pueda ejecutarse: Una vez en MATLAB, acceder al directorio donde se ubica la carpeta 'mcode' en la carpeta de trabajo de MATLAB, 'Current Folder'.
RAÚL CAMPOS GUINDA TRABAJO FIN DE GRADO 41 Seleccionar 'mcode' con el botón secundario y elegir la opción 'Add to Path -> Selected Folder and Subfolders'. Adicionalmente, a medida que se detallan los pasos implementados en el algoritmo se mostrarán figuras que los representen. Las figuras mostradas en este capítulo pertenecen al paciente 112 de la base de datos. El algoritmo presenta el diagrama de funciones mostrado en la figura 5.2. Para implementarlo, se comienza usando el detector de instantes R para ECG que se incorpora dentro de las herramientas que nos proporciona Physionet 'WFDB ToolBox'. Para ello, primero se genera un archivo de anotaciones en formato WFDB (que contiene el vector de latidos detectados) usando la función "gqrs" y seguidamente se lee el archivo para obtener el vector en el entorno de MATLAB usando la función WFDB "rdann", este vector se llamará ‘tms_ecg’ o 'tms_final’. Por otro lado, también se ejecuta una función del WFDB que accede al archivo de anotaciones generado anteriormente y devuelve como salida un vector RR con los intervalos de tiempo entre los instantes R consecutivos, este vector se llama ‘rr_ecg’. El vector de instantes R que se consigue es el que se toma como el vector de instantes R final, sobre el cual se van realizando las modificaciones (figura 5.3). Recopilación de información a partir de las señales Procesado de la información Creación de archivo de salida Figura 5.2 Diagrama de Funciones del algoritmo de detección robusta de latidos cardiacos
ULPGC ESCUELA DE INGENIERÍA DE TELECOMUNICACIÓN Y ELECTRÓNICA 48 Para añadir una muestra en el instante adecuado, simplemente se busca el valor más cercano a la muestra de la posición que estamos buscando. Este valor se consigue usando la función 'min' de MATLAB entre la resta de la muestra mencionada con el vector 'tms_bptoecg', que como resultado nos da el valor mínimo y la posición donde se encuentra. Ya solo queda incluir esta muestra en el vector concatenando nuevamente con la función 'vertcat'. A continuación se presenta una figura de una zona irregular del ECG junto con las etiquetas de este vector final, que se toma como parámetro de salida: Figura 5.9. Intervalo irregular de una ECG con etiquetas de instantes R detectados por el algoritmo implementado En la figura 5.9, se puede ver cómo todos los instantes detectados se encuentran próximos al instante R (los mayores picos de cada latido, y por tanto, da lugar a una mejora de precisión en aquellos parámetros que provienen de los latidos cardiacos, por ejemplo, la frecuencia cardiaca. 5.4. RESULTADOS Para la obtención de resultados, se ha implementado un algoritmo de puntuación que relaciona las anotaciones de los latidos correctos, extraídos por expertos, con las anotaciones generadas por este algoritmo, dando como salida un valor de sensibilidad (Se) y el valor predictivo positivo (+P). Este algoritmo cuenta para cada paciente el número de latidos correctamente detectados (true positives, o TP), los latidos no detectados (false negatives, o FN) y las detecciones de latidos falsos (falsos positivos, o FP). La anotación generada por nuestro algoritmo deberá ser localizada dentro de un intervalo de 150ms de tiempo de la anotación de referencia.
RAÚL CAMPOS GUINDA TRABAJO FIN DE GRADO 49 La sensibilidad (Se) es el porcentaje de los latidos detectados positivos frente a los no detectados y el valor predictivo positivo (+P) es el porcentaje de verdaderos positivos detectados frente a los falsos positivos, respectivamente: En ámbitos clínicos, la sensibilidad mide la proporción de valores que son detectados correctamente. Por ejemplo, la proporción de enfermos que son identificados correctamente por la prueba. El valor predictivo positivo mide la probabilidad de que los valores detectados por el algoritmo sean realmente correctos. Por ejemplo, la proporción de individuos con una prueba positiva padecen la enfermedad. Los resultados obtenidos se presentan en la tabla 5.1. Anotaciones Algoritmo de detección robusta de instantes R Función del WFDB de detección de latidos sobre el ECG Se (%) 99.50 99.60 +P (%) 99.60 99.01 Tabla 5.1. Resultados obtenidos para el algoritmo de detección robusta de latidos cardiacos. El algoritmo que se ha implementado ha mejorado los resultados de valor predictivo positivo respecto a la función de detección QRS sobre el ECG. Sin embargo, la sensibilidad ha empeorado ligeramente en este caso. 5.5. DISCUSIÓN En general, este algoritmo ofrece buenas prestaciones. Los resultados del algoritmo muestran una mejora del valor predictivo positivo a costa de un pequeño margen de error en la sensibilidad. El algoritmo es sencillo, y los valores de las umbrales no han sido lo suficientemente testeados como para dar lugar a unos resultados óptimos. Un aumento en la predictividad y una ligera disminución en la sensibilidad significa que, por lo general, se detecta una pequeña menor cantidad de instantes R, pero los que se
ULPGC ESCUELA DE INGENIERÍA DE TELECOMUNICACIÓN Y ELECTRÓNICA 50 detectan suelen estar mejor ubicados. Consiguiendo una mayor fiabilidad en las zonas inestables, que es justamente el objetivo que se persigue al implementar este algoritmo. Estos resultados se deben a que al eliminar los latidos detectados por la función WFDB en las zonas inestables y al reemplazarlos por los latidos extraídos a partir de la ABP se consigue eliminar la mayoría de los latidos erróneos detectados. La cantidad de latidos reemplazados son ligeramente inferiores, eliminando así los latidos falsos redundantes aunque en algunos casos son colocados en valores temporales erróneos. Por otro lado, este código no tiene en cuenta los posibles latidos prematuros del corazón, como el latido prematuro supraventricular (SVPB) y la contracción ventricular prematura (PVC). Éstos eventos pueden ser detectados por la función gqrs, pero pueden confundirse como latidos en una zona irregular, dando la posibilidad de que se eliminen y queden como falsos negativos. Además, la señal BP no sufre cambios cuando estos eventos ocurres, por tanto, no podemos guiarnos de esta señal para detectarlos. El algoritmo depende en gran medida de la actuación de las funciones gqrs y wabp. Se puede asumir que aunque la función gqrs sea susceptible a falsos positivos debidos a artefactos, rara vez produce falsos negativos fuera de las zonas inestables. Por tanto, este algoritmo tiende a perder un latido cardiaco cuando la función produce falsos negativos que no estén en las zonas ruidosas. En el desafío existen un gran número de algoritmos que buscan estos mismos objetivos que provienen de los participantes. Sus resultados no pueden ser directamente comparables con los nuestros debido a que se generan a partir de un algoritmo de puntuación diferente (el que proporciona el desafío) y además, se usa sobre una base de datos más amplia y compleja. Hay que tener en cuenta que el objetivo que se persigue en el desafío es obtener un código que detecte no solo aquellos latidos naturales, si no aquellos latidos especiales que puedan aparecer, como latidos prematuros, y diferenciarlos. Los participantes del desafío han utilizado diversos métodos para ofrecer una detección de latidos cardiacos robusta. Por ejemplo, el equipo formado por Alistair E.W. Johnson, Joachim Behar, Fernando Andreotti, Gari D. Clifford y Julien Oster, ganadores del desafío, han optado por mejorar los detectores que proporciona el desafío (y se han usado en este algoritmo) a través de dos
RAÚL CAMPOS GUINDA TRABAJO FIN DE GRADO 51 enfoques diferentes. Por un lado, se basaron en calcular las medidas de calidad de la señal para el ECG y la señal ABP. Por el otro, usaron una técnica de la segunda fusión se basa en la regularidad de los intervalos de derivados entre detecciones subsiguientes realizados en el ECG, ABP, Volumen sistólico y el fotopletismograma. Sus entradas obtuvieron los resultados de 87.88% y 87.66% respectivamente, que proporcionaron la mayor puntuación final del desafío [3]. El equipo formado por Bo Yang, Soo Kng Teo, Bart Hoeben, Christopher Monterola y Yi Su obtuvieron los segundos mejores resultados en el desafío, sus métodos consisten en una mejora en la detección de latidos a partir de las rutinas gqrs y wabp de WFDB toolbox, al igual que en el algoritmo de este trabajo. Tras esta detección inicial, identifican zonas limpias de ruido en las señales ECG y BP, después, calculan el retraso entre los picos QRS y los picos BP posteriores en las zonas limpias. Finalmente, detectan latidos cardiacos aberrantes y zonas donde no hay señal BP para corregir los últimos latidos que estén mal detectados o no esté detectados. Este equipo consiguió una puntuación de 99.9% de sensibilidad y un 99.96% de valor predictivo positivo sobre la base de datos usada en el trabajo. Finalmente, sobre la base de datos final del desafío consiguieron una sensibilidad del 87.8% y un valor predictivo positivo del 85.15% [9]. En algunos algoritmos donde se usa el valor del retardo PTT, como generalmente se encuentra en torno a los 200 ms, se usa directamente ese valor, pero hay que destacar que los pacientes en la UCI a los que se les monitorizan estas señales y presentan problemas cardiacos podrían manifestar un valor fuera del estándar del PTT. Por tanto, se ha considerado necesaria una búsqueda de este valor para una mayor precisión en la detección. De hecho, en el caso del paciente 112, cuyas figuras han sido representadas en este capítulo, el PTT presenta un valor de 270 ms. El algoritmo de detección de latidos cardiacos de este TFG puede ser mejorado cuando las funciones gqrs y wabp tengan una versión perfeccionada disponible. También se podrían usar otras señales fisiológicas como el electromiograma (EMG) y el electroencefalograma (EEG), que pueden ser útiles en la predicción de picos QRS cuando las señales ECG y BP son ruidosas.
ULPGC ESCUELA DE INGENIERÍA DE TELECOMUNICACIÓN Y ELECTRÓNICA 52
RAÚL CAMPOS GUINDA TRABAJO FIN DE GRADO 53 6. ALGORITMO DE REDUCCIÓN DE FALSAS ALARMAS En este capítulo, se detallará el proceso de implementación de un algoritmo de reducción de falsas alarmas en el entorno de MATLAB. 6.1. INTRODUCCIÓN En los intentos por abordar el problema de la vigilancia, se han desarrollado dispositivos que miden las variables de paciente y, en el mejor de los casos, usan las tendencias para dar alertas de una misma señal (por ejemplo, en detección de arritmias). La tecnología de los actuales sistemas de monitorización sigue poseyendo varias deficiencias [6]. La gran mayoría de las alarmas cardiacas que aparecen en la UCI son falsas debido a falta de calidad o presencia de ruido en las señales clínicas y a una falta de eficiencia en los algoritmos de alarmas, dando lugar a una peor eficiencia en el servicio de observación de pacientes [5]. En este capítulo se desarrolla un algoritmo que consiga reducir la tasa de falsas alarmas para tratar de lidiar con este problema. En concreto, se busca un sistema que maximice la tasa de verdaderos positivos (TPR), es decir, la proporción de alarmas verdaderas correctamente identificadas. Además, será de interés detectar el mayor número posible de alarmas que sean falsas para disminuir la tasa de falsas alarmas (TNR). Para ello, contaremos con una base de datos donde cada uno de los pacientes presenta una alarma que aparece debido a una anomalía en la frecuencia cardiaca. Estas alarmas se definen como verdadera o falsa. La base de datos proporciona varias señales clínicas grabadas durante el intervalo donde transcurre la alarma, generalmente uno o dos canales de ECG, la señal ABP y la señal PPG. Inicialmente, la alarma es detectada a partir del ECG, por tanto, para poder determinar si la alarma es realmente verdadera o falsa, se deberá acudir a otra señal relacionada, que ha de ser analizada. La información que se debe detectar en esta señal será la frecuencia cardiaca para comprobar si es anormal, en cuyo caso la alarma sería verdadera.
ULPGC ESCUELA DE INGENIERÍA DE TELECOMUNICACIÓN Y ELECTRÓNICA 54 También será importante comprobar si la calidad de la señal ABP y de la señal PPG es suficientemente alta como para que puedan proporcionar una estimación fiable de la frecuencia cardiaca. En resumen, el objetivo que se quiere lograr es la implementación de un algoritmo que pueda verificar si las alarmas captadas por monitores en la UCI a partir del ECG son realmente verdaderas. Para ello, se usará la información que nos proporcionan otras señales relacionadas a la actividad cardiaca. Si la calidad de estas señales supera un cierto umbral y, además, no cumplen las condiciones estimadas de definición de la alarma captada, se puede considerar la alarma como falsa. De este modo, la tasa de falsas alarmas se reduce, consiguiendo una mayor eficiencia en la UCI. 6.2. MATERIALES Se trabajara con una base de datos que proviene del desafío de Physionet ‘Reducción de las Falsas Alarmas de Arritmia en la UCI’ y consta de una serie de datos de monitores de cabecera que conducen a un total de 750 alarmas de arritmias potencialmente mortales, registradas a partir de tres de las mayores fabricantes de monitores de cuidados intensivos. Los datos proceden de cuatro hospitales de EE.UU. y Europa, elegidas al azar (y por tanto no representan necesariamente las verdaderas estadísticas de tasas de falsas alarmas para cualquier fabricante determinado). La base de datos se ha dividido en dos subconjuntos de pacientes que se excluyen mutuamente. Todas las señales incluyen una o más alarmas que tienen por lo menos 5 minutos de separación entre ellas (por lo general, tienen un tiempo superior). Un equipo de expertos ha revisado cada alarma y lo ha etiquetado como "verdadera", "falsa" o "imposible de decir". Se prevé una alarma aproximadamente a los 5 minutos desde el comienzo de cada registro. Se debe tener en cuenta que pueden haber eventos arrítmicos adicionales en los 5 últimos minutos que preceden a las alarmas, estos hechos no han sido anotados.
RAÚL CAMPOS GUINDA TRABAJO FIN DE GRADO 55 Todas las señales se han remuestreado (utilizando filtros anti-aliasing) a 12 bits, 250 Hz y han pasado por un filtro paso de banda FIR [0,05 a 40 Hz] y se ha aplicado una red de filtros de corte aplicado para eliminar el ruido. Los marcapasos y otros artefactos de la nariz pueden estar presentes en el ECG. Los canales pulsátiles pueden ser afectados por artefactos de movimiento, desconexiones de sensores y otros eventos (tales como niveles de línea o de coagulación en el catéter). Cada grabación contiene dos derivaciones del ECG (que pueden o no ser los conductores que han activado la alarma) y una o más formas de onda pulsátiles (el fotopletismograma y/o la forma de onda de la presión arterial). Los datos se proporcionan en formato WFDB con un encabezado compatible con Octave/MATLAB. Se pueden cargar los datos directamente a través de MATLAB u Octave sin necesidad de herramientas especiales. En la figura 6.1 se muestra un fragmento de un conjunto de señales procedentes de un mismo intervalo de tiempo que pertenece a un paciente de esta base de datos. En esta figura se aprecia el ECG desde dos canales distintos, la PPG y la señal ABP. El intervalo de tiempo registrado corresponde al momento donde se localiza la alarma. Así, en el canal I del ECG se aprecia la ausencia de determinados complejos QRS, traducidos en falta de latidos cardiacos. Por otro lado, el canal V del ECG permanece ruidoso, la PPG presenta formas de onda irregulares con presencia de ruido y finalmente, la señal ABP se encuentra inalterada. El dispositivo de monitorización captó esta alarma a partir de uno de los dos canales del ECG, y el algoritmo deberá decidir si la alarma realmente es verdadera o por el contrario, falsa.
ULPGC ESCUELA DE INGENIERÍA DE TELECOMUNICACIÓN Y ELECTRÓNICA 56 Figura 6.1. Muestra de la base de datos utilizada en la detección de falsas alarmas. 6.3. MÉTODOS 6.3.1. PREPARACIÓN DEL ALGORITMO PARA LA VALIDACIÓN EN EL DESAFÍO Para la implementación de este algoritmo se considera seguir las indicaciones del desafío "Reducción de las Falsas Alarmas de Arritmia en la UCI". De esta manera se consiguen todas las herramientas necesarias para implementar el algoritmo y se tiene la posibilidad de hallar unos resultados a través del envío de entradas al desafío. Las instrucciones son, en resumen: 1. Descargar la base de datos proporcionada y una entrada básica de ejemplo: entry.zip. 2. Registrar una cuenta gratuita de PhysionNetWorks para unirse al proyecto PhysioNet/CinC Challenge 2015. 3. Desarrollar la entrada editando los siguientes archivos de entry.zip: Modificar el archivo de ejemplo de código fuente challenge.m con sus cambios y mejoras.
RAÚL CAMPOS GUINDA TRABAJO FIN DE GRADO 57 Modificar el archivo AUTHORS.txt para incluir los nombres de los miembros del equipo. Descomprimir la base de datos y mover sus archivos al directorio donde se ubica la entrada. Ejecutar el algoritmo modificado sobre la base de datos usando el código generateValitationSet.m. El código también generará una nueva versión de entry.zip. 4. Entregar el entry.zip modificado para puntuar a través del proyecto de PhysioNetWorks. 6.3.2. DESCRIPCIÓN DEL ALGORITMO IMPLEMENTADO Una ver descargados y organizados los archivos pertinentes, se procede a la implementación de código en el archivo ‘challenge.m’. El algoritmo implementado se centrará en el estudio de la señal PPG como base para la reducción de alarmas y por tanto, el procesamiento de la señal ABP permanecerá inalterado en relación con el archivo ‘challenge.m’. Se debe destacar que existe una solución con la que partimos del desafío, que detecta la calidad de la señal ABP. Esta solución no es centro de nuestro trabajo, y se utilizan como herramienta predefinida. El diagrama de funciones que sigue el algoritmo se muestra en la figura . Inicialmente, el algoritmo recoge las señales del paciente especificado (cuyo nombre forma parte de las variables de entrada) usando la función del paquete Obtención y preprocesado de señales Recopilación de información a partir de las señales Procesado de la información Toma de decisiones Escritura en archivo de salida Figura 6.2. Diagrama de funciones del algoritmo de reducción de falsas alarmas
ULPGC ESCUELA DE INGENIERÍA DE TELECOMUNICACIÓN Y ELECTRÓNICA 64 Figura 6.5. Resultados de la entrada modificada del desafío 'Physionet/CinC Challenge 2015' Los resultados se dividen en dos categorías, TPR (True Positive Rate) y TNR (True Negative Rate) que se refieren a la tasa de acierto cuando el algoritmo detecta como positiva una alarma realmente positiva y cuando el algoritmo detecta como falsa una alarma una alarma realmente falsa, respectivamente. 6.5. DISCUSIÓN Como se puede ver, se ha conseguido aumentar la sensibilidad, haciendo que las alarmas detectadas como verdaderas o falsas acierten más en la toma de decisiones. Sin embargo, la especificidad ha disminuido respecto a los resultados de la entrada sin modificar. Éste sistema ofrece buenas prestaciones respecto al actual sistema de detección de alarmas en la UCI. Ya que al analizar únicamente la señal ECG se da lugar a una gran tasa de falsas alarmas. Con éste algoritmo esta tasa se ve reducida, además, si una alarma es detectada, habrá más probabilidades de que sea verdadera. El desafío 'Physionet/CinC Challenge 2015' aún no ha finalizado, por tanto, aún no se han publicado las implementaciones que han realizado otros equipos. De forma paralela, existen otros proyectos que buscan las mismos objetivos sin formar parte de este desafío. Por ejemplo, Qiao Li y Gari D. Clifford, en el proyecto Signal quality and data fusion for false alarm reduction in the intensive care unit se busca la reducción de falsas alarmas a través de tres métodos, usando una gran base de datos proveniente de Physionet, llamada MIMIC II:
RAÚL CAMPOS GUINDA TRABAJO FIN DE GRADO 65 Basado en el PPG: desarrollando un sistema para detectar la calidad del PPG, clasificando los latidos en 4 categorías de calidad. Se define un umbral de calidad para cada tipo de alarma, si la calidad de la señal no es suficiente, se suprime la alarma. Aprendizaje automático: se usa un algoritmo de aprendizaje automático para aprender las relaciones de ruido y señal en condiciones de alarmas de taquicardias ventriculares verdaderas y falsas. Basado en tasa de latidos (HRs) y calidad (SQIs) derivadas del PPG, la señal ABP y el ECG: Este método es similar al usado en este trabajo, con el cual se han conseguido los porcentajes de supresión de FA de 72.7% en las asistolias, 95.52% para las bradicardias extremas, 46% para las taquicardias extremas y un 3.6% para las taquicardias ventriculares [28]. Por otro lado, en [21] se ha tratado de reducir la tasa de falsas alarmas del ECG usando la forma de onda del PPG. La arquitectura del algoritmo se muestra en la figura 6.6. Anagha también usa la base de datos MIMIC II, de Physionet. Figura 6.6. Supresión de alarmas falsas del ECG usando la forma de onda del PPG Antes de proceder con este método, se usa un método similar aplicado sobre la señal ABP, que no forma parte de su trabajo. Si la calidad de la señal ABP no es suficiente, se realizará este método. Para cada alarma, se analizará un fragmento de 17 segundos de la PPG, de los cuales 13 segundos pertenecen a los momentos anteriores a la alarma y 4 segundos después. Seguidamente, se comprueba la calidad del PPG a través de los parámetros Hjorth. Éstos
ULPGC ESCUELA DE INGENIERÍA DE TELECOMUNICACIÓN Y ELECTRÓNICA 66 parámetros caracterizan una señal temporal en términos de su amplitud, escala de tiempo y complejidad, proporcionando información útil a la hora de medir su calidad. Los resultados obtenidos mediante este procedimiento se muestran en la figura 6.7. Figura 6.7. Resultados de la actuación del algoritmo de supresión de falsas alarmas basadas en el PPG Como líneas futuras, el algoritmo puede ser mejorado de varias maneras. En el algoritmo no se ha investigado si existe alguna correlación entre el ruido en los canales ECG y el ruido en la forma de onda del PPG y la señal ABP. Los artefactos en ambos canales pueden deberse a la misma fuente, como el movimiento de paciente. Además, los valores umbrales de decisión usados pueden no ser los óptimos, ya que dependen de la frecuencia cardiaca del paciente.
RAÚL CAMPOS GUINDA TRABAJO FIN DE GRADO 67 7. INTERFAZ GUI En este capítulo se detallará el proceso de construcción de una interfaz gráfica creada en el entorno de MATLAB para la presentación de datos relativos a algoritmo de detección robusta de instantes R. El objetivo de crear esta interfaz es el aprendizaje de la herramienta de creación de Interfaces Gráficas (GUI Guide) para MATLAB a través de una interfaz básica de presentación de datos en pantalla. Para que esta interfaz sea de utilidad, debe contrastar los resultados obtenidos con el algoritmo implementado con las referencias que son correctas, la base de datos deberá ser completamente accesible y también se deberá mostrar información perteneciente al paciente seleccionado. Se han consultado varias guías de 'MATLAB GUIDE' para la realización de esta interfaz [31, 32, 33] 7.1. SECCIONES DE LA INTERFAZ GUI En la figura 7.1 se muestra la presentación de la interfaz gráfica implementada, seguidamente se explicarán cada una de las secciones en ella, siguiendo el orden de visualización.
ULPGC ESCUELA DE INGENIERÍA DE TELECOMUNICACIÓN Y ELECTRÓNICA 68 Figura 7.1. Vista principal de la interfaz gráfica. 7.1.1. BASE DE DATOS Esta sección consta de una 'listbox' donde se encuentran disponibles todos los pacientes de la base de datos, accesibles a través de una barra de desplazamiento. Al clicar sobre uno de los pacientes, se mostrará la información pertinente al paciente seleccionado, esto es, se actualizarán los campos de la sección de resultados, nº de latidos y figuras. 7.1.2. RESULTADOS En esta sección se mostrarán los resultados obtenidos para el paciente escogido, estos son, la sensibilidad y el valor predictivo positivo. Para comparar resultados, se mostrarán tanto los del algoritmo de detección robusta como los del detector WFDB.
RAÚL CAMPOS GUINDA TRABAJO FIN DE GRADO 69 7.1.3. FIGURAS En ellas se mostrarán las señales elegidas incluyendo los instantes detectados. Del mismo modo, para poder comparar resultados, se mostrarán 2 figuras y se podrán elegir que referencias se quieren mostrar en cada una de ellas. Al clicar en un paciente, las señales iniciales que aparecen en las figuras 1 y 2 son, respectivamente, la señal ECG con las etiquetas originales, detectadas a ojo por un grupo de expertos, y nuevamente la señal ECG pero con las etiquetas detectadas por el algoritmo de detección robusta de latidos del corazón. Adicionalmente, la interfaz cuenta con herramientas para la inspección de las señales en las figuras. Éstas se encuentran en la parte superior de la interfaz y son, de izquierda a derecha, 'pan', 'zoom in', 'zoom out' y 'data cursor': Pan: Con esta herramienta puedes ajustar el punto de vista de la figura moviéndola dentro del plano de pantalla. Cuando 'Pan' se está activada, el cursor se convierte en una mano. Conforme se arrastra el cursor, la imagen se mueve en la misma dirección en la que se arrastra. Zoom in: Esta herramienta sirve para aumentar el factor de zoom en la figura. Zoom out: Esta herramienta sirve para disminuir el factor de zoom en la figura. Ambas herramientas de zoom pueden utilizarse clicando en la figura, en la posición donde se quiere efectuar el zoom. También se puede utilizar manteniendo clic en la figura para crear un rectángulo, al soltar, se mostrará en la figura el área que delimitaba este rectángulo. Usar la rueda del ratón es otra forma adicional de utilizar esta herramienta. Data cursor: Esta herramienta te permite leer información directamente desde la gráfica mostrando los valores de los puntos que se seleccionen. Nota: Hay que tener en cuenta la diferencia de rango vertical que alcanzan las señales ECG y ABP. Ya que el ECG varía de -2 a 3 y la ABP varía de 0 a 160. Al usar la herramienta Zoom y cambiar entre ECG y ABP los márgenes de las figuras no cambian. Dando la sensación de que la señal no ha sido encontrada. Bastará con disminuir o aumentar el factor de zoom para encontrar la señal.
ULPGC ESCUELA DE INGENIERÍA DE TELECOMUNICACIÓN Y ELECTRÓNICA 70 7.1.4. SEÑALES Esta sección consta de 4 botones estándar 'push buttons' y 2 botones radiales 'radio buttons'. Los botones estándar te permiten elegir la señal que se quiera representar en una de las dos figuras, estas señales son la ECG y la ABP. En el caso de la ECG, también se podrá elegir los instantes detectados en relación a los algoritmos utilizados, estos son, las referencias verdaderas localizadas a ojo por un grupo de expertos, el detector QRS perteneciente a la caja de herramientas WFDB y el código implementado en este trabajo. Por otro lado, los botones radiales se usarán para elegir cuál de las dos figuras se actualizarán cuando se seleccione la señal deseada. Es decir, si el botón 1 (Insertar Figura 1) está activado, al clicar sobre uno de los botones superiores la primera figura se actualizará con esa señal. Si por el contrario está activado el botón 2, se actualizará la segunda figura. 7.1.5. Nº DE LATIDOS En esta última sección se mostrarán los números de latidos detectados utilizando el algoritmo de detección robusta, el detector QRS de la caja de herramientas WFDB y el número de latidos verdaderos, seleccionados manualmente por expertos.
RAÚL CAMPOS GUINDA TRABAJO FIN DE GRADO 71 7.2. EJEMPLO DE USO DE LA INTERFAZ A continuación se detallará paso por paso, una simulación de la interfaz gráfica. De esta forma, se darán a conocer las posibles utilidades que proporciona. 1. Ejecutar la interfaz gráfica: Lo primero que hay que hacer es ejecutar la interfaz gráfica. Para ello vamos al directorio donde se encuentre la interfaz gráfica y ejecutamos HBdetection.m a través de MATLAB. Esto nos llevará al algoritmo que genera la interfaz, además, el directorio de trabajo de MATLAB será en el que se encuentre nuestra base de datos, para su acceso en la interfaz (el directorio de trabajo se debe mantener aquí). Una vez en la pantalla del algoritmo de la interfaz, procedemos a ejecutarlo, pulsando el botón 'Run' (triángulo de reproducción verde) o pulsando F5 (figura 7.2). Figura 7.2. Ventana del algoritmo perteneciente a la interfaz gráfica con el botón 'Run' indicado.
ULPGC ESCUELA DE INGENIERÍA DE TELECOMUNICACIÓN Y ELECTRÓNICA 72 2. Seleccionar el paciente deseado: Al clicar sobre el botón Run, aparece la interfaz en una ventana emergente. Ésta aparece con las figuras vacías y con los resultados a 0 por defecto (figura 7.3). Figura 7.3. Interfaz gráfica con sus valores por defecto, tras ejecutarla. Seguidamente se seleccionará el paciente deseado para su inspección. En este ejemplo, accederemos al paciente 13, que posee varias zonas inestables en su ECG. Para ello, utilizamos la barra de desplazamiento del cuadro de pacientes para dar con el paciente 13 y lo clicamos, el resultado se presenta en la figura 7.4.
RAÚL CAMPOS GUINDA TRABAJO FIN DE GRADO 73 Figura 7.4. Aspecto de la interfaz gráfica después de seleccionar el 'Paciente 13'. 3. Observar resultados: Al clicar, han aparecido los resultados pertinentes del paciente. Se puede apreciar como el valor predictivo positivo de la detección robusta (99.71) está razonablemente incrementada respecto al detector del paquete WFDB (94.87). Además, también podemos encontrar que el número de latidos detectados por nuestro algoritmo se acercan mucho más el número de latidos verdaderos u originales. Sin embargo, las figuras, que muestran el ECG con las etiquetas originales y con las etiquetas del detector robusto, respectivamente, no se ven con suficiente claridad, ya que el ECG es demasiado largo. No se pueden contrastar las etiquetas de las figuras. 4. Inspección de etiquetas a través de las figuras: Para poder comparar las etiquetas generadas por las distintas detecciones, se utilizarán las herramientas para la inspección de las señales en las figuras. Por ejemplo, para el paciente 13, se desea contrastar las etiquetas detectadas en una zona irregular. Para ello, clicamos en la herramienta 'zoom in' y hacemos zoom en ambas señales para que muestren el mismo intervalo de tiempo para la misma zona irregular (figura 7.5).
ULPGC ESCUELA DE INGENIERÍA DE TELECOMUNICACIÓN Y ELECTRÓNICA 80 [11] U. Casanova Blancas, «Sistema de diagnóstico aplicado a la detección de la apnea obstructiva del sueño mediante poligrafía,» Las Palmas de Gran Canaria, 2014. [12] Wikipedia, «Complejo QRS - Wikipedia,» [En línea]. Available: http://es.wikipedia.org/wiki/Complejo_QRS. [Último acceso: 18 2 2015]. [13] Wikipedia, «QRS Complex - Wikipedia,» [En línea]. Available: http://en.wikipedia.org/wiki/QRS_complex. [Último acceso: 19 2 2015]. [14] M. Flores Rincon, «Presión Arterial - Slideshare,» Noviembre 2014. [En línea]. Available: http://es.slideshare.net/miguelfloresrincon/presion-arterial-41628788. [Último acceso: 14 2 2015]. [15] Universidad de Cantabria - Aula Virtual, «Tema 6. Circulación arterial.,» 2014. [En línea]. Available: http://ocw.unican.es/ciencias-de-la-salud/fisiologia-humana-2011g367/material-de-clase/bloque-tematico-1.-fisiologia-del-aparato/tema-6.-circulacionarterial.-presion-arterial/tema-6.-circulacion-arterial.-presion-arterial. [Último acceso: 11 3 2015]. [16] Sociedad Argentina de Pedriatía, «Archivos argentinos de pediatría: Consenso sobre la monitorización del recién nacido internado. Parte 2: Monitorización según los niveles de complejidad,» Octubre 2013. [En línea]. Available: http://www.scielo.org.ar/scielo.php?script=sci_arttext&pid=S032500752013000500019. [Último acceso: 12 3 2015]. [17] S. M. L. Silva, J. P. Silveira, L. Herrera, M. L. Dotor y R. Giannetti, «Utilidad de la fotopletismografía por transmisión con diodos láser infrarrojos en el estudio de la perfusión visceral: estudio preliminar,» 2005. [En línea]. Available: http://digital.csic.es/bitstream/10261/4201/1/172.pdf. [Último acceso: 5 4 2015]. [18] A. García Lorenzo y M. Casajus Tormo, «Exploración arterial y venosa,» [En línea]. Available: http://www.aeev.net/pdf/EXPLORACIONES%20ARTERIALES%20Y%20VENOSAS.pdf. [Último acceso: 26 3 2015]. [19] C. M. Marínez Ochoa, «Monitorización de la presión arterial,» [En línea]. Available: https://es.scribd.com/doc/4817473/2/Fotopletismografia. [Último acceso: 24 3 2015]. [20] S. M. L. Silva, R. Giannetti, M. L. Dotor, D. Golmayo, P. Martín, F. MiguelTobal, A. Bilbao y J. P. Silveira, «Fotopletismografía por transmisión con múltiples diodos láser en el infrarrojo cercano durante el ejercicio físico,» 2005. [En línea]. Available: http://digital.csic.es/bitstream/10261/4204/1/173.pdf. [Último acceso: 3 4 2015].
RAÚL CAMPOS GUINDA TRABAJO FIN DE GRADO 81 [21] A. Vishwas Deshmane, «False Arrhythmia Alarm Suppression Using ECG, ABP, and Photoplethysmogram,» 2009. [22] M. A. Bernal Ávila, «Ciclo cardiaco - Slideshare,» Febrero 2009. [En línea]. Available: http://es.slideshare.net/CardioCastillo2009A/ciclo-cardiaco-1070701. [23] PhysioBank, «PhysioBank ATM,» 2015. [En línea]. Available: http://www.physionet.org/cgi-bin/atm/ATM. [Último acceso: 27 1 2015]. [24] J. M. Gallego López, J. Soliveres Ripoll, J. A. Carrera Hueso y C. Solaz Roldán, «Monitorización clínica - Biblioteca Digital Cecova,» [En línea]. Available: http://www.bibliotecadigitalcecova.com/contenido/revistas/cat6/pdf/libro_61.pdf. [Último acceso: 9 4 2015]. [25] D. V. M. Balaguer, «Arritmias - Fundación Española del Corazón,» Febrero 2015. [En línea]. Available: http://www.fundaciondelcorazon.com/informacion-parapacientes/enfermedades-cardiovasculares/arritmias.html. [26] Texas Heart Institute, «Arritmia - Instituto del Corazón de Texas (Texas Heart Institute),» Diciembre 2014. [En línea]. Available: http://www.texasheart.org/HIC/Topics_Esp/Cond/arrhy_sp.cfm. [Último acceso: 16 3 2015]. [27] Cardiopatia, «Cardiopatia,» [En línea]. Available: http://www.cardiopatia.com/. [Último acceso: 22 4 2015]. [28] Q. Li y G. D. Clifford, «Signal quality and data fusion for false alarm reduction in the intensive care unit,» 2012. [29] J. F. Guerrero Martínez, «Series Temporales,» 2011. [30] Physionet, «A Brief Tour of Physionet,» [En línea]. Available: http://physionet.org/tour/page04.shtml. [Último acceso: 27 1 2015]. [31] «Tutorial de MatLab - Capítulo 3: Usando GUIDE». [32] G. Fernández de Córdoba Martos, «Creación de Interfaces Gráficas de Usuario (GUI) con MatLab,» Salamanca, 2007. [33] D. O. Barragán Guerreo, «Manual de Interfaz Gráfica de Usuario en MatLab. Parte I,» 2008.
ULPGC ESCUELA DE INGENIERÍA DE TELECOMUNICACIÓN Y ELECTRÓNICA 82
RAÚL CAMPOS GUINDA TRABAJO FIN DE GRADO 83 APÉNDICE A CONTENIDO DEL FORMATO DIGITAL En este anexo se presenta el contenido del CD-ROM que se adjunta con la memoria del trabajo. La información disponible en este CD-ROM está clasificada en varias carpetas. A continuación se numeran las diferentes carpetas, junto con el contenido de cada una de ellas: Memoria: donde se encuentra la versión digital del presente documento. Detección robusta de latidos cardiacos: en este archivo se encuentra el algoritmo implementado para la detección robusta de los latidos cardiacos, así como la base de datos utilizada y un archivo de texto con las instrucciones de uso. Reducción de falsas alarmas: en este archivo se encuentra el algoritmo implementado para la reducción de falsas alarmas, así como la base de datos utilizada y un archivo de texto con las instrucciones de uso. Interfaz Gráfica: en esta carpeta se encuentra el diseño de la interfaz y las funciones necesarias para su correcta utilización, además cuenta con una base de datos adaptada. Bibliografía: donde se recopila toda la bibliografía consultada.
ULPGC ESCUELA DE INGENIERÍA DE TELECOMUNICACIÓN Y ELECTRÓNICA 84
RAÚL CAMPOS GUINDA TRABAJO FIN DE GRADO 85 PARTE II PLANOS Y PROGRAMAS
ULPGC ESCUELA DE INGENIERÍA DE TELECOMUNICACIÓN Y ELECTRÓNICA 86
RAÚL CAMPOS GUINDA TRABAJO FIN DE GRADO 87 En este apartado se detallan las funciones utilizadas y se realiza un esquema de las dependencias entre funciones. También se especificarán los parámetros de entrada y de salida de cada función. DIAGRAMA DE FUNCIONES Y JERARQUÍA DIAGRAMA DE FUNCIONES DEL ALGORITMO DE DETECCIÓN ROBUSTA DE LATIDOS CARDIACOS En la siguiente figura se muestran las principales etapas del algoritmo de detección de latidos cardiacos: recopilación de información a partir de las señales, procesado de la información y creación de archivo de salida. Seguidamente, se detallarán las funciones utilizadas en cada una de las etapas. Recopilación de información a partir de las señales Procesado de la información Creación de archivo de salida gqrs.m ann2rr.m wabp.m Búsqueda de zonas inestables Estimación del PTT Eliminación de latidos detectados en zonas inestables Relleno de latidos en zonas inestables wrann.m
ULPGC ESCUELA DE INGENIERÍA DE TELECOMUNICACIÓN Y ELECTRÓNICA 88 Recopilación de información a partir de las señales En esta etapa, se utilizan detectores de señales independientes a través de funciones del 'WFDB ToolBox'. De forma que se obtengan los latidos o pulsos detectados del ECG y de la ABP, de forma separada. Recordar que , de forma general, el objetivo del algoritmo es relacionar las detecciones de latidos en distintas señales cardiacas, para obtener un vector de latidos más preciso. function gqrs (recordName,N,N0,signal,threshold,outputName,highResolution) Esta función genera un archivo de anotaciones con los latidos detectados por un detector de QRS. El archivo tiene un formato propio de Physionet (.qrs), accesible mediante las herramientas WFDB. Esta función pertenece a su vez al 'WFDB ToolBox'. Parámetros de entrada: recordName: indica el nombre de la ubicación de la grabación a la que se quiere acceder, que debe tener formato de Physionet. N(opcional): Número que especifica el número de muestra en la que se quiere parar de leer. Por defecto, se lee el archivo completo. N0(opcional):Número que especifica el número de muestra en la que se quiere empezar a leer. Por defecto, se lee desde el principio de la grabación. signal(opcional): Número que especifica el índice para elegir la señal que se quiere leer (ya que las señales de cada paciente o fichero vienen dadas en una matriz). Por defecto es 1. threshold(opcional): Número que especifica el umbral de detección. Por defecto es 1. outputName(opcional): indica el nombre de la extensión del fichero de salida. Por defecto *.qrs. highResolution(opcional): Booleano. Si es falso (0) no leerá señales multifrecuenciales en alta resolución.
RAÚL CAMPOS GUINDA TRABAJO FIN DE GRADO 89 function [RR,tms]=ann2rr(recordName,annotator,N,N0,consecutiveOnly) Esta función lee una grabación de formato WFDB a partir de un archivo de anotaciones para retornar: Parámetros de salida: RR: Vector de números representando la duración de los intervalos RR, en muestras. tms: Vector de números representando el inicio de los intervalos RR, en muestras. Es decir, la localización de los latidos detectados. Parámetros de entrada: recordName: indica el nombre de la ubicación de la grabación a la que se quiere acceder, que debe tener formato de Physionet. annotator: indica el nombre de la extensión del archivo al que se quiere acceder. Por ejemplo *.qrs. N (opcional): Número que especifica el número de la muestra en la que se quiere parar de leer. Por defecto , se lee el archivo completo. N0 (opcional): Número que especifica el número de muestra en la que se quiere empezar a leer. Por defecto, se lee desde el principio de la grabación. consecutiveOnly (opcional): Booleano. Si es verdadero (1), selecciona solo los intervalos entre las anotaciones validas consecutivas. Por defecto, es verdadero.
ULPGC ESCUELA DE INGENIERÍA DE TELECOMUNICACIÓN Y ELECTRÓNICA 96 function [hr, rpoint, pointer] = ppgbeat (ppg, fsin, rrflag, lpflag, hpflag) Esta función detecta picos para cualquier señal clínica, pero ha sido modificada para adaptarla a la señal PPG. Parámetros de entrada: ppg: un vector numérico que contenga una señal PPG. fsin: número que represente la frecuencia de muestreo de la señal PPG. rrflag (opcional): Si es 0, el parámetro de salida hr devolvera la frecuencia cardiaca. Si es 1, retornara el vector RRI. Por defecto 0. lpflag (opcional): Si es 1, se usará un filtro de 35 Hz durante el proceso de detección. (por defecto es 1). En nuestro algoritmo no se ha usado. hpflah (opcional): Si es 1, se usará un filtro paso alto al comienzo de la detección. Por defecto es 0). Este filtro sí se ha usado en nuestro algoritmo. Parámetros de salida: hr: un número indicando la frecuencia cardiaca rpoint: un vector numérico indicando los instantes detectados, en segundos pointer: un vector numérico indicando los instantes detectados, en muestras
RAÚL CAMPOS GUINDA TRABAJO FIN DE GRADO 97 function [psqi]= ppgSQI (ppg, ann_ppg) Esta función devuelve el índice de calidad de la señal PPG (PPG SQI) basado en la correlación de una plantilla de latido. Parámetros de entrada: ppg: un vector numérico que contenga una señal PPG. annppg: un vector numérico que contenga la ubicación de los pulsos detectados, en muestras. En nuestro caso usando la función ppgbeat.m. Parámetros de salida: psqi: un vector numérico que contiene la calidad de la señal para cada intervalo entre latidos consecutivos. Cada número se encuentra entre 0 como peor calidad y 1 como mejor calidad. Procesado de la información En esta etapa se utiliza la información conseguida anteriormente para obtener las variables relevantes. Las funciones utilizadas en este apartado se encuentran en el entorno de MATLAB, y no se considera necesario detallarlas. Toma de decisiones En esta etapa, se comparan las características de las señales halladas en el procesado de la información con sus respectivos límites. Estos límites provienen directamente de la definición de las alarmas pertenecientes al desafío (Reducción de las Falsas Alarmas de Arritmia en la UCI, de Physionet ), de forma que a raíz de estas comparaciones se decidirá si finalmente la alarma estudiada es verdadera o no. En este apartado, solo se utilizarán comparadores sencillos 'if con las reglas 'or' ( || ) y 'and' ( && ) . Realizando varias comparaciones en una sola instrucción.
ULPGC ESCUELA DE INGENIERÍA DE TELECOMUNICACIÓN Y ELECTRÓNICA 98 Escritura en archivo de salida Finalmente, en la última etapa se escribirá el resultado en el fichero answer.txt que se encuentra en el mismo directorio que el algoritmo usando 'fopen', 'fprintf' y 'fclose'.
RAÚL CAMPOS GUINDA TRABAJO FIN DE GRADO 99 PARTE III PLIEGO DE CONDICIONES
ULPGC ESCUELA DE INGENIERÍA DE TELECOMUNICACIÓN Y ELECTRÓNICA 100
RAÚL CAMPOS GUINDA TRABAJO FIN DE GRADO 101 El presente Trabajo Fin de Grado comprende toda una serie de métodos y aplicaciones de procesado de señal encaminados a estudiar señales fisiológicas cardiacas y determina el desarrollo de un algoritmo para la detección robusta de instantes R y otro algoritmo para la reducción de falsas alarmas cardiacas. También se indican tanto las herramientas software como hardware necesarias para la elaboración del presente trabajo. CONDICIONES LEGALES Y ADMINISTRATIVAS A continuación se exponen los aspectos de tipo legal y administrativo que habrán de ser tenidos en cuenta para los futuros usuarios. Estas condiciones establecen las obligaciones, derechos y deberes que los autores adquieren con los usuarios del sistema implementado en este proyecto, y a su vez de los usuarios con los autores. DERECHOS DE EXPLOTACIÓN Y RESTRICCIONES DE USO La Universidad de Las Palmas de Gran Canaria es quien ostenta los derechos de explotación y cualquier usuario debe de estar de acuerdo en obligarse por los términos y condiciones establecidas en este Pliego de Condiciones, aceptando todos sus términos y estipulaciones. El uso de programas y base de datos o de una copia en ordenador personal de los mismos, será bajo la autorización expresa del autor, el director del proyecto y la Escuela de Ingeniería de Telecomunicación y Electrónica de la Universidad de Las Palmas de Gran Canaria. El usuario no podrá realizar ingeniería inversa, decompilación o desamblado de los programas. El usuario podrá transferir los programas y bases de datos a un tercero, siempre que no tenga copias de los mismos, incluyendo posibles actualizaciones o retener material escrito adicional que acompañe a los programas y la base de datos.
ULPGC ESCUELA DE INGENIERÍA DE TELECOMUNICACIÓN Y ELECTRÓNICA 102 GARANTÍAS Y CONSIDERACIONES ADICIONALES El autor y el director del proyecto garantizan que los programas y la base de datos funcionarán correctamente en el momento de la correcta instalación. También se garantiza que el soporte en el cual está grabado el programa no contendrá defectos en el momento de la adquisición del mismo. Con la única excepción de lo expresamente expuesto en el párrafo anterior, los programas y bases de datos han sido creados sin garantías de ningún tipo. No se asegura, garantiza, o realiza ninguna declaración respecto al uso o los resultados derivados de la utilización de los programas o la base de datos. Tampoco se garantiza que la operación de los programas sea ininterrumpida o sin errores. La confiabilidad de operación del programa puede ser afectada por factores adversos a los que se denominan "fallas del sistema". En estos se incluyen fluctuaciones en el sistema de alimentación eléctrico, errores en el funcionamiento del hardware del ordenador personal, sistema operativo o entorno del ordenador personal o entorno de desarrollo y ejecución usado para realizar la aplicación, errores de instalación, problemas de compatibilidad de software y hardware, fallas o funcionamientos incorrectos de equipos de control, fallas por uso, o errores por parte del usuario o autor de la aplicación. Cualquier aplicación donde una "falla de sistema" pueda crear un riesgo de daño a la propiedad o personas, no puede ser imputada al programa. Para evitar daños, el usuario deberá tomar razonablemente, todas las precauciones necesarias. Las garantías y consideraciones aquí expresadas se regirán por las leyes del estado español. El usuario acepta la jurisdicción exclusiva de los tribunales de este país con relación a cualquier disputa que pudiera derivarse de los derechos y garantías estipuladas en este documento.
RAÚL CAMPOS GUINDA TRABAJO FIN DE GRADO 103 En ningún caso serán el autor, ni los tutores del proyecto, ni la Escuela de Telecomunicación y Electrónica de la Universidad de Las Palmas de Gran Canaria responsables de los perjuicios directos, indirectos, incidentales, probatorios o de los consiguientes, gastos, lucro cesante, pérdida de ahorros, interrupción de negocios, pérdida de información comercial o de negocio, o cualquier otra pérdida que resulte del uso o de la incapacidad de usar los programas o la base de datos. El usuario conoce y acepta esta asignación de riesgo así como el resto de garantías, derechos, deberes y restricciones. Se rechaza cualquier otra garantía, derecho, deber o restricción que no haya sido citada directamente en el Pliego de Condiciones. HERRAMIENTAS UTILIZADAS Los componentes hardware utilizados para el desarrollo del trabajo fueron los siguientes: Ordenador de sobremesa con microprocesador Intel® Core (TM) i5-2500k CPU @ 3.30GHz 3.30 GHz con 16.0 GB de memoria RAM instalada, un disco duro SSD de 120GB para el sistema operativo y un disco duro de 1TB para datos. El ordenador se utilizó tanto para la implementación de los algoritmos, obtención de resultados y diseño de la interfaz, así como la elaboración de la memoria del trabajo. Los recursos software son los siguientes: MatLab® versión 2014a para el desarrollo de los algoritmos implementados en este trabajo, incluyendo la interfaz gráfica. Además del paquete básico, se utilizó la librería "WFDB ToolBox" para la gestión y análisis de señales clínica, donde se incluyen las funciones para el acceso a cada una de las señales de nuestras bases de datos y el detector QRS para el ECG. Microsoft® Office Word 2007 como editor de textos para la elaboración de la memoria del trabajo. Windows® 7 como sistema operativo del ordenador. Para terminar, se incluyen las bases de datos. Las dos utilizadas provienen de PhysioNet y son de orden público.
ULPGC ESCUELA DE INGENIERÍA DE TELECOMUNICACIÓN Y ELECTRÓNICA 104
RAÚL CAMPOS GUINDA TRABAJO FIN DE GRADO 105 PARTE IV PRESUPUESTO
ULPGC ESCUELA DE INGENIERÍA DE TELECOMUNICACIÓN Y ELECTRÓNICA 112 La librería de funciones "WFDB ToolBox" es un software libre y gratuito, por lo que no se recoge ningún gasto respecto a este concepto. El coste total del material software empleado en el desarrollo del proyecto asciende a doscientos cuarenta y dos euros y veintidós céntimos (242,22 €) REDACCIÓN DEL TRABAJO El importe de la redacción del proyecto se calcula haciendo uso de la siguiente fórmula: donde: P es el presupuesto del proyecto Ch es el coeficiente de ponderación en función del presupuesto. El presupuesto calculado hasta el momento asciende a 14.702,51 €. Como el coeficiente de ponderación para presupuestos menores de 30.050 € viene definido por el COIT con un valor de 1 , el coste derivado de la redacción del proyecto es de: Por tanto, el coste libre de impuestos derivado de la redacción del trabajo es de mil veintinueve euros y diecisiete céntimos DERECHOS DE VISADO DEL COIT Los gastos de visado del COIT se tarifican mediante la siguiente expresión: Donde: P es el presupuesto del trabajo.
RAÚL CAMPOS GUINDA TRABAJO FIN DE GRADO 113 Cv es el coeficiente reductor en función dl presupuesto del proyecto. El presupuesto calculado hasta el momento asciende a la suma de los costes de ejecución material y de redacción: Como el coeficiente para presupuestos de menos de 30.050 € viene definido por el COIT con un valor de 1.00, el coste de los derechos de visado del proyecto asciende a la cantidad de: Por tanto, el coste de los derechos de visado del trabajo asciende a noventa y cuatro euros y treinta y nueve céntimos (94. 39 GASTOS DE TRAMITACIÓN Y ENVÍO Los gastos de tramitación y envío son fijos y se estipulan en seis euros y un céntimo (6,01 €) APLICACIÓN DE IMPUESTOS El coste total del trabajo, antes de aplicarle los correspondientes impuestos, asciende a X, a lo que hay que sumarle el 7% de IGIC, con lo que el coste definitivo del trabajo es: Trabajo tiempo empleado 14.376,96 € Coste del hardware 83,33 € Coste del software 242,22 € Coste redacción del trabajo 1.029,17 € Derechos de visado del COIT 94,39 € Gastos de tramitación y envío 6,01 € Total antes de impuestos 16.192,08 € IGIC(7%) 1.133, 44 € Total 17.325,52 €
ULPGC ESCUELA DE INGENIERÍA DE TELECOMUNICACIÓN Y ELECTRÓNICA 114 El presupuesto total, con los impuestos incluidos asciende a la cantidad de diecisiete mil trescientos veinticinco euros con cincuenta y dos céntimos (17.325,52 €). El autor del trabajo Raúl Campos Guinda Las Palmas de Gran Canaria a 08 de Junio de 2015.
RAÚL CAMPOS GUINDA TRABAJO FIN DE GRADO 115