UNIVERSIDAD SIMON BOLIVAR Decanato de Estudios de Postgrado Maestría en Ingeniería Biomédica TRABAJO DE GRADO DISEÑO Y ANÁLISIS DE CONFIABILIDAD DE UN ALGORITMO PARA LA DETECCIÓN DE FIBRILACIÓN AURICULAR. Por: Mauricio Enrique Reina Fiore. Febrero, 2006 1 CAPÍTULO I INTRODUCCIÓN La fibrilación auricular (AF) es un trastorno del ritmo cardíaco, que genera ritmo cardíaco acelerado y desorganizado (arritmia), y las aurículas son estimuladas a contraerse de una manera tanto desorganizada como anómala. En una fibrilación y flúter auricular (AFL), las aurículas son estimuladas a contraerse rápidamente y de forma muy diferente a la actividad normal que se origina del nódulo sinusal, con la diferencia que en la AF las aurículas se contraen de forma ineficiente y no coordinada, mientras que en el AFL, las aurículas presentan un patrón de contracción más coordinado que AF, pero sigue siendo ineficiente. Por otro lado, durante AF, se presenta también arritmia ventricular, causada por impulsos que son transmitidos a los ventrículos de forma irregular o por algunos impulsos que no son transmitidos. Esto hace latir a los ventrículos de manera irregular, lo cual conduce a un ritmo cardíaco irregular (y por lo general rápido), mientras que en el AFL, los ventrículos laten rápidamente pero de manera relativamente regular. [1,2] Dentro de las consecuencias de la AF se tienen, disminución de un 30% de la eficacia de bombeo ventricular debido a la insuficiencia del llenado de los ventrículos, ocasionando considerables limitaciones físicas; aumento del ritmo cardíaco debido a la rápida frecuencia de los impulsos fibrilatorios que inducen a los ventrículos a tener una frecuencia cardiaca alta, aproximadamente entre 125 a 150 latidos por minuto; taquicardia o irregularidad del ritmo ventricular, ocasionados por la gran cantidad de impulsos generados en las aurículas, que hace que muchos de estos impulsos lleguen al nodo A-V, y estos disparan a su vez contracciones ventriculares arrítmicas, que pueden ocurrir en un periodo indeterminado entre los 0.35 y 0.95 segundos; y por último, infarto del miocardio, causados por la formación de coágulos de sangre por volúmenes de sangre estancados en las aurículas. [1,3] Con respecto a la cantidad de personas que afecta esta enfermedad se obtuvieron varias cifras de diversas fuentes. En la ciudad de Barquisimeto por ejemplo, en el Centro Regional 2 Cardiovascular ASCARDIO, se tenían registros de fibrilación auricular desde el año 1999 hasta el 2004, que suman un total de 168 casos, sin embargo los especialistas de este centro afirman que la cantidad de casos eran muchos más, pero no han sido registrados porque a veces esta enfermedad es subdiagnosticada. En el caso de Estados Unidos para el año 2004 se tenían un aproximado de más de 2 millones de casos registrados [7]. Mientras que entre los ingresos hospitalarios por urgencias médicas agudas en el Reino Unido, 3% a 6% de los pacientes presentan fibrilación auricular y cerca de 40% tienen diagnóstico reciente. Entre los ingresos hospitalarios por causas agudas en Nueva Zelanda, 10% presentaban fibrilación auricular (9% a 12%) documentada [8]. Otra cifra importante es el rango de edades donde la fibrilación auricular prevalece, esta puede afectar tanto a hombres como mujeres y su prevalencia aumenta con la edad variando de 1 caso por cada 200 personas para menores de 60 años hasta casi 9 casos por cada 100 personas para mayores de 80 años [9]. Respecto a los tratamientos más usados, se tiene dos tipos dependiendo de la edad, las condiciones del paciente, tipo de AF, y su historial de AF; donde a su vez, se tienen las opciones de restaurar el ritmo sinusal, o mantenerlo en AF en forma indefinida controlando la frecuencia ventricular. Si se opta por la opción de restaurar el ritmo sinusal, generalmente el paciente es candidato a una cardioversión eléctrica, bien sea externa o interna, o a una cardioversión por medicamentos usando propefanona oral o endovenosa, felcainida oral o endovenosa, o, amiodarona endovenosa. Cuando se opta por la opción de controlar la frecuencia cardíaca manteniendo al paciente en AF indefinida, es porque este no tolera fármacos antiarrítmicos y les resultan peligrosos, y no es capaz de soportar una cardioversión eléctrica, por lo que se le suministran fármacos solo para la disminución de la frecuencia cardíaca. Sin embargo el argumento más importante para la decisión acerca de que tratamiento tomar viene dado por la estabilidad hemodinámica del paciente, factor decisivo, ya que la AF puede o no, ocasionar inestabilidad hemodinámica. [6] Debido a que la AF ocasiona comportamiento anormal tanto a nivel de aurículas como de ventrículos, las técnicas de detección y predicción usadas se centran en el estudio de la actividad auricular y ventricular. 3 Respecto al comportamiento de la actividad auricular durante AF, los estudios se han centralizado tanto en la caracterización morfológica de onda P (para predicción de AF) como análisis de frecuencia de la actividad auricular (detección de AF). La morfología de la onda P puede variar tanto en duración, amplitud o inclusive se puede desfasar respecto a una onda P de un paciente sano. En el caso de la duración de la onda P bajo AF, autores afirman que en gran parte de los casos, esta supera los 110ms, y para hacer este estudio mucho más preciso promedian dicha onda unas 100 veces [10,11]. También se presentan intervalos isoeléctricos de onda P, lo cuales se obtienen a partir de la diferencia de duración que existe entre una onda P y otra de una derivación distinta durante AF; elevados valores de este intervalo pueden predecir una posible AF [10]. Existe también el factor de dispersión de onda P que se puede definir como la diferencia entre en valor mínimo y máximo de la duración de la onda P en las 12 derivaciones estándares del ECG. La variabilidad de la onda P en alguna de las derivaciones con respecto a las demás es un indicativo de retrasos en la conducción eléctrica dentro de las aurículas y esto se considera como una predicción de desarrollar algún tipo de AF [10]. La variabilidad de la onda P que se define como la desviación estándar de duraciones de ondas P, también es usada por algunos autores como parte de algoritmos que detectan AF. Gran cantidad de estudios se han centrado también, en realizar análisis de frecuencia a la actividad auricular durante AF, ya que durante ésta aparecen componentes de alta frecuencia (100 – 150 Hz.) que permiten ayudar a detectar la presencia o no de AF [12, 13], usando ECG de alta resolución. Por otra parte, la extracción de actividad auricular va acompañada de canceladores QRS o QRST que ayudan a atenuar el gran nivel de potencia que presentan dichos complejos en el espectro de frecuencia, el cual se solapa con las pequeñas potencias que poseen la actividad auricular, permitiendo así un mejor análisis frecuencial de la actividad en las aurículas. [14, 15]. Referente a la actividad ventricular, el análisis de la variabilidad del ritmo cardíaco durante AF, permite la detección de ésta con bastante precisión, y en los últimos años se ha convertido en una línea de investigación muy activa ya que a través de dicho análisis de variabilidad se puede predecir también su terminación espontánea, lo que permite determinar 4 si va a ser necesario el tratamiento de cardioversión a un paciente con AF. [17]. A su vez también existen estudios donde se analiza el comportamiento caótico o no lineales del ritmo cardíaco, donde se pueden predecir la terminación espontánea de la AF sin necesidad de análisis de onda P, solo empleando series temporales de intervalos RR consecutivos [18]. El objetivo de esta investigación esta basado en el diseño y análisis de confiabilidad de un algoritmo capaz de analizar, en tiempo real, patrones de ritmo cardíaco, que se aprecian en las series temporales de tramos RR para el estudio y detección de AF. Dichas series se obtienen a partir de consecutivas diferencias de tiempo, que existe entre una onda R y la siguiente. Aunque el AFL es un patrón un poco más sencillo de detectar que la AF, las bases de datos usadas para las pruebas del algoritmo no contaban con episodios de AFL. Para la detección de AF mediante el análisis de patrones de ritmo cardíaco, lo que se hizo en principio fue un proceso de observación de gráficas de series temporales de tramos RR generadas a través de bases de datos de pacientes con y sin AF para luego elaborar un algoritmo que detectara dichos patrones. Las técnicas usadas para la detección de AF analizando estas series fueron dos. La primera consistió en determinar la cantidad de diferencias mayores a 0.05 segundos entre un tramo RR y el siguiente dentro de una ventana de 35 latidos, al ser superada la cantidad de 10 diferencias dentro de esta ventana, la primera condición de AF se cumple. La segunda técnica consistió en determinar dentro de una ventana de 35 latidos de la misma serie temporal, la existencia de una dispersión uniforme de todos los tramos RR dentro de la ventana en estudio. Si se cumple esta segunda condición y la primera también el algoritmo emite el diagnóstico definitivo de AF. La comprobación de funcionamiento del algoritmo elaborado en este trabajo, se realizó a través del uso de 2 bases de datos, una de ellas fue la MIT AF Database la cual es una base de datos con licencia de libre uso disponible en Internet que consta de 25 registros de ECG con 10 horas cada uno y cada paciente dentro de las 10 horas, presentan episodios de AF, unos más que otros, y con la importante característica que se observa cuando comienza la AF y cuando termina, gracias a los archivos de anotaciones con que esta cuenta; y la otra es la MIT Arrhytmia Database que es una base de datos con licencia de libre uso también disponible en Internet que cuenta con 48 registros de ECG con media hora de duración cada registro, de los cuales se escogieron 10 al azar para nuestro estudio, con la intención de no usar registros 5 seleccionados a mano. Cada paciente dentro de esta hora presenta episodios arrítmicos de diversos tipos, y en alguno de ellos hay cortos episodios de AF. Este trabajo de investigación presenta, capítulo a capítulo, todo el desarrollo de este algoritmo detector de AF, en el capítulo II empezamos explicando que es la AF, sus causas consecuencias, clasificación, diagnóstico, tratamiento y cifras acerca de cómo afecta la AF a la comunidad. En el capítulo III se hace un breve repaso acerca de los métodos existentes para la detección de AF, analizando características morfológicas de la onda P, actividad auricular en el dominio de la frecuencia y variabilidad del ritmo cardíaco. En el capítulo IV se muestra cada una de las herramientas que se usaron para poder elaborar el algoritmo como, principios de filtrado digital, técnicas básicas para detección de QRS y generación de series temporales de tramos RR junto con su representación gráfica. El capítulo V presenta paso a paso cada etapa con que cuenta el algoritmo, como adquisición de datos, filtrado digital, detección de QRS, obtención de las series temporales de tramos RR y detección de AF a partir de estas series. En el capítulo VI se realiza un análisis de resultados, donde se analizan las cifras relacionadas con la eficacia del algoritmo, estudiando su exactitud, especificidad y sensibilidad [26]. Y por ultimo se presenta en el capítulo VII, las respectivas conclusiones y recomendaciones relacionadas con este trabajo de investigación. 6 CAPÍTULO II LA FIBRILACIÓN AURICULAR 2.1 INTRODUCCIÓN A continuación se presenta un resumen del funcionamiento mecánico y eléctrico del corazón, para poder entender como es que ocurre exactamente la fibrilación auricular, para luego explicar, más a fondo, que es la AF, sus implicaciones, causas, consecuencias, diagnóstico, tratamiento y cifras relacionadas con la cantidad de personas que afecta esta enfermedad. 2.2 GENERALIDADES En la figura 1 se tiene una representación de un corazón humano. En esta se puede apreciar la entrada de sangre, por medio de las venas cavas, llegando esta a la aurícula derecha, para luego pasar al ventrículo derecho por la apertura de la válvula tricúspide. Dicha válvula al igual que las otras válvulas del corazón, se abren y se cierran por diferencias de presión y no por estimulación eléctrica. Una vez que la sangre llega a la aurícula derecha, y ésta se contrae, la sangre llena el ventrículo derecho, donde este luego se contraerá para enviar la sangre a través de arteria pulmonar, pasando por la válvula pulmonar, hacia los pulmones para ser oxigenada. Cuando la sangre retorna por la vena pulmonar llena la aurícula izquierda, luego esta se contrae y por diferencia de presiones se abre la válvula mitral permitiendo el paso de sangre hacia el ventrículo izquierdo. Una vez ha llegado la sangre en este punto, el paso final es la contracción del ventrículo izquierdo, que hará que se abra la válvula aórtica, saliendo ésta por la aorta hacia la circulación periférica. Vale la pena destacar que la contracción auricular derecha ocurre al mismo tiempo que la izquierda, de igual forma pasa con los ventrículos derecho e izquierdo. 7 Figura 1. Recorrido de la sangre dentro del corazón. Como se puede observar el flujo de la sangre dentro del corazón ocurre de forma coordinada gracias a la contracción controlada de cada una de las masas musculares, debido a la propagación de impulsos eléctricos dentro de este. En la figura 2 podemos ver como se propaga un potencial de acción desde que este parte en el nodo sinusal hasta llegar a las últimas fibras de los ventrículos. 8 Figura 2. Vía de propagación del potencial de acción desde el nodo sinusal hasta las fibras ventriculares. Inicialmente, el comienzo de cada ciclo cardíaco, empieza con un potencial de acción generado en el nodo sinusal, el cual es una pequeña porción de músculo ubicado en la pared supero lateral de la aurícula derecha, cuya función es la de marcapasos natural y es el que determina el ritmo cardíaco normal, en un corazón sano. Una vez generado este impulso, este se propaga a través de un sistema especializado de fibras, conformado por las vías internodales, provocando así contracción en ambas aurículas, generando la onda P mostrada en el ECG de la figura 3, hasta llegar al nodo Aurículo-Ventricular (nodo A-V), el cual es un nodo que genera un retraso en la retransmisión del impulso de aproximadamente unos 0.16 segundos, tiempo necesario para que las aurículas llenen de sangre los ventrículos; este episodio se aprecia en el ECG en el tramo ubicado entre la onda P y R. Figura 3. ECG de un ciclo cardíaco completo. 9 Transcurrido estos 0.16 segundos el impulso eléctrico sigue fluyendo a través del haz Aurículo-ventricular (haz A-V) hasta propagarse por toda la masa ventricular tanto derecha como izquierda, a través de las llamadas fibras de Purkinje, provocando así la contracción ventricular, generando en el ECG el complejo QRS, el cual finalizará en el comienzo de la onda T del ECG, cuya duración total será de unos 0.35 segundos. Por último, ocurre la repolarización ventricular, representada por la onda T de duración aproximada 0.2 segundos, donde los ventrículos se relajan, llegando de esta manera al fin del ciclo cardíaco. 2.3 FIBRILACIÓN AURICULAR La fibrilación auricular, es un fenómeno que ocurre en las masas auriculares, y se debe a disparos de impulsos cardíacos que ocurren espontáneamente por sí solos dentro de las aurículas y estimulan sin orden ni coordinación una porción del músculo auricular, que a su vez generan otros impulsos que estimulan otras zonas de las aurículas, y así sucesivamente, para finalmente convertirse en un proceso de retroalimentación que estimula al mismo músculo auricular una y otra vez indefinidamente [1]. Esto se puede ver como una masa de músculo que en vez de bombear sangre a los ventrículos para cumplir su función de llenado ventricular, lo que esta haciendo es fibrilar o temblar, provocando entonces que la sangre tenga que llegar a los ventrículos por la presión proveniente de la circulación periférica en el caso del ventrículo derecho o por la presión proveniente de la vena pulmonar en el caso del ventrículo izquierdo [1]. 2.4 CLASIFICACIÓN DE LA AF Como las arritmias se manifiestan de distintas formas, existen diversos esquemas de clasificación, y las formas de clasificarlas más comúnmente usada en los últimos años, es la que se hace según el patrón temporal del ritmo que se describe a continuación [2]. 1) Fibrilación Auricular Aguda: Se presenta cuando la enfermedad aparece por primera vez, y tiende a ser pasajera, durando varias horas para luego desparecer. 10 2) Formas Crónicas: Se clasifican como crónicas aquellas AF que aparecen y desaparecen en intervalos de tiempo determinado, o aquella que incluso nunca desparecen. Estas a su vez se pueden clasificar como: a) Paroxística: Ocurre cuando los episodios de AF duran menos de 48 horas y por lo general terminan espontáneamente. La frecuencia de ocurrencia de los ataques pueden ser de días o semanas, pero también pueden presentarse varios episodios en un mismo día. Generalmente el paciente se encuentra muy incapacitado durante los ataques. b) Persistente: Es cuando los episodios de AF continúan indefinidamente pero pueden ser tratados y ser llevados a ritmo sinusal (ritmo normal). En esta situación el médico debe decidir si aplicar o no desfibrilación sincronizada, dependiendo de las probabilidades de éxito e historia medica del paciente. Existe una alta probabilidad de desarrollar AF permanente y se corren riesgos tromboembolicos, sobre todo después de la desfibrilación. c) Permanente: Es cuando no se puede llevar al corazón a ritmo sinusal y no responde a tratamiento médico. En esta situación lo primordial es prevenir complicaciones. El paciente presenta síntomas de disnea, palpitaciones y malestar general. 2.5 CAUSAS Y CONSECUENCIAS DE LA AF La causa más frecuente de la fibrilación auricular es el aumento de la masa del músculo auricular, consecuencia directa de lesiones valvulares que impiden a las aurículas vaciarse completamente en los ventrículos, o de una posible insuficiencia ventricular acompañada de un incremento del remanente de sangre en las aurículas [1]. 11 2.5.1 CONSECUENCIAS DE LA AF Dentro de las consecuencias generadas por la AF tenemos las siguientes: a) Disminución de un 30% de la eficacia de bombeo ventricular debido a la insuficiencia del llenado de los ventrículos, haciendo que el corazón del paciente solo pueda llegar hasta un máximo del 70% de eficacia de bombeo, trayendo como consecuencia considerables limitaciones físicas, hasta el punto de que un paciente puede vivir con fibrilación auricular durante meses incluso años. b) Aumento del ritmo cardíaco ocasionado por la rápida frecuencia de los impulsos fibrilatorios que inducen a los ventrículos a tener una frecuencia cardiaca alta, aproximadamente entre 125 a 150 latidos por minuto. c) Taquicardia o irregularidad del ritmo ventricular, debido a la gran cantidad de impulsos generados en las aurículas, que hace que muchos de estos impulsos lleguen al nodo A-V, y estos disparan a su vez contracciones ventriculares arrítmicas, que pueden ocurrir en un periodo indeterminado entre los 0.35 y 0.95 segundos. En la figura 4 se puede apreciar un ECG de un paciente que sufre de AF, y se observan 3 características bastante notables. 12 Figura 4. Episodio de AF. MIT AF Database. La primera es un ritmo cardíaco acelerado, la segunda, contracciones ventriculares arrítmicas ya que a cada QRS lo separan periodos de tiempo distintos, y por último ausencia de ondas P, ya que la gran actividad eléctrica de distintas polaridades en las aurículas tienden a anular esta onda. En algunos casos se puede apreciar en el ECG que en vez de ondas P se observan pequeñas ondas de alta frecuencia y baja amplitud, que representan la actividad fibrilatoria dentro de las aurículas [3]. 2.5.2 DIAGNÓSTICO AUTOMATIZADO DE LA AF La importancia de este estudio, se basa en que la AF es una arritmia que produce disminución en la eficacia de bombeo ventricular, aumento del ritmo cardíaco, taquicardia ventricular y que además, puede traer efectos fatales si no se trata a tiempo, como fibrilación ventricular y generación a largo plazo de infarto del miocardio, causados por la formación de trombos de sangre, estancada en las aurículas. El desarrollo de un algoritmo para la detección automática y confiable de AF en señales de EGC, ofrece grandes ventajas en el desarrollo de dispositivos para el diagnóstico o tratamiento de AF, como desfibriladores para cardioversión de la AF, desfibriladores de AF implantables, desfibriladores de AF transcutáneos [4,5], y cualquier otro dispositivo relacionado con el diagnóstico o tratamiento de dicha patología. 13 2.5.3 TRATAMIENTO DE LA AF Siendo la terapia ideal contra la AF, la restauración del ritmo sinusal, no todos los pacientes soportan este tratamiento, bien sea con fármacos o con cardioversión eléctrica, por lo que se opta entonces, por escoger entre restauración del ritmo sinusal o control de la frecuencia cardiaca, dependiendo de la estabilidad hemodinámica del paciente [6]. Si el paciente presenta AF e inestabilidad hemodinámica o AF asociada a condiciones de riesgo vital, se procede el reestablecimiento del ritmo sinusal de forma inmediata (Cardioversión farmacológica o eléctrica) y se adoptan las medidas necesarias para su mantenimiento. Es importante mencionar que el 30% de los episodios de AF, especialmente en pacientes sin cardiopatía orgánica asociada, revierten de forma espontánea, es razonable por lo tanto, esperar 24 horas antes de intentar cardiovertir [6]. Si el paciente presenta una AF hemodinámicamente estable sin riesgo vital inmediato, donde están incluidos la mayoría de los pacientes con AF recurrente y con AF de reciente diagnóstico; la opción terapéutica debe elegirse de forma individual. Para orientar esta decisión es útil tener en cuenta los marcadores clínicos de riesgo de fracaso de la cardioversión a ritmo sinusal o de recidiva precoz de la AF. Siguiendo estos criterios de estabilidad hemodinámica podemos establecer la siguiente pauta: [6] Mejor control del ritmo: 1. Pacientes con AF recurrente (paroxística o persistente) que reúnen alguno de los siguientes criterios: Pacientes con edad < 65 años. Pacientes que presentan mal control de la frecuencia ventricular con medicación. Pacientes con síntomas relevantes relacionados con la AF, a pesar del un buen control de la frecuencia cardiaca. Pacientes que presentan un deterioro clínico o funcional de una cardiopatía orgánica. 14 2. Pacientes con AF de reciente descubrimiento, exceptuando los casos en los que predominen los factores predictores de cardioversión inefectiva y/o riesgo de recidiva y estén asintomáticos a la AF. Observaciones: Estos pacientes suelen tener episodios repetidos de AF. El número de intentos de cardioversión debe ser individualizado, dependiendo de la frecuencia de los episodios y de los beneficios clínicos conseguidos. Mejor control de la frecuencia 1. Pacientes con AF persistente de varios años de evolución, con múltiples recaídas tras restaurar el ritmo sinusal. 2. Pacientes con AF recurrente en los que los fármacos antiarrítmicos no son tolerados o son peligrosos. 3. Pacientes de edad avanzada (>65 años) con AF de reciente diagnóstico, asintomáticos u oligosintomáticos, especialmente si tienen la frecuencia ventricular controlada y una aurícula izquierda dilatada. 2.5.3.1 TERAPIA PARA AF POR CARDIOVERSIÓN (Restauración y mantenimiento del ritmo sinusal) Una vez seleccionada la cardioversión como la mejor opción para determinado paciente, se procede a suministrarla de siguiente manera [6]: 1.- Cardioversión urgente: Se realiza de forma programada en las primeras 48 horas desde el inicio del episodio de AF. Indicada en pacientes con grave deterioro clínico y hemodinámico atribuible a la AF. Por su urgencia se realiza sin tener en cuenta el riesgo embolígeno asociado a la misma. El método de elección es la cardioversión eléctrica. 2.- Cardioversión electiva precoz: Se realiza en las primeras 48 horas desde el inicio del episodio de AF. Recomendada en los pacientes con el primer episodio de AF o con un episodio de AF recurrente que solicitan atención antes de las primeras 48 horas. No se asocia a 15 riesgo aumentado e embolias por lo que se puede practicar sin profilaxis antitrombótica. Se puede abordar mediante cardioversión farmacológica o eléctrica. Podemos ver el grado de eficacia demostrada y los fármacos útiles en la Tabla 1 [6]. Tabla 1. Eficacia de los métodos de cardioversión. 3.- Cardioversión electiva diferida: Se realiza después de las 48 horas del inicio del episodio de AF. Está recomendada en pacientes con AF persistente y con AF de duración desconocida que cumplen criterios de restauración del ritmo sinusal. 4.- Cardioversión de la AF asociada a situaciones especiales: (Pacientes con AF de causa aguda): No se debe realizar la cardioversión hasta que se corrija la causa precipitante (insuficiencia cardiaca, pericarditis aguda, insuficiencia respiratoria, sepsis, etc.). La medida terapéutica inicial se debe centrar en el control de la frecuencia ventricular y anticoagulación (si persiste más 48 horas y no hay contraindicación). En el caso de AF secundaria a hipertiroidismo no se debe realizar la cardioversión hasta que transcurran más de 3 meses desde que se alcanza la situación eutiroidea. En caso de pacientes con una cardiopatía orgánica descompensada: (insuficiencia cardíaca, crisis hipertensiva, infarto agudo de miocardio), o con una broncopatía descompensada se recomienda posponer la cardioversión hasta que se normalice la situación clínica. 16 Cardioversión farmacológica: Los fármacos útiles para la cardioversión farmacológica son Quinidina, Procainamida, Propafenona, Flecainida, Amiodarona, Ibutilide y Dofetilide. Ninguno de estos fármacos ha demostrado ser muy superior a los demás, por lo que su elección se basa en criterios clínicos de seguridad, eficacia y tolerancia. De acuerdo con estos criterios, las recomendaciones son: En los pacientes sin cardiopatía: Flecainida o Propafenona. En los pacientes con cardiopatía: Amiodarona. 2.5.3.2 OTRAS TERAPIAS PARA AF (Control de la respuesta ventricular) Pacientes candidatos a esta medida terapéutica [6]: Pacientes con AF recurrente (paroxística o persistente) sin tratamiento con fármacos antiarrítmicos para control de la respuesta ventricular durante los episodios paroxísticos. Pacientes con AF recurrente (paroxística o persistente) recibiendo tratamiento con fármacos antiarrítmicos profilácticos, del grupo IC para control de la respuesta ventricular durante los episodios de AF, para evitar la aparición de flutter auricular con respuesta ventricular 1:1. Pacientes con AF de causa aguda mientras se resuelven los factores que actuaron como condicionantes. Pacientes con AF persistente o de reciente diagnóstico con respuesta ventricular rápida mientras se completa el tiempo de anticoagulación reglada para realizar cardioversión eléctrica programada. Pacientes con AF crónica y respuesta ventricular rápida. Fármacos recomendados: Digoxina, Betabloqueantes (Atenolol, Propranolol, Metoprolol, Pindolol) y Antagonistas del Calcio (Diltiazem y Verapamilo). La Amiodarona, aunque tiene efectos cronotrópico y dromotrópico negativos, no está recomendada en este apartado por no 17 reportar ventajas respecto a estos grupos terapéuticos, y presentar en cambio una alta tasa de efectos secundarios clínicamente relevantes. 2.5.4 LA AF COMO PROBLEMA DE SALUD PÚBLICA Con respecto a la cantidad de personas que afecta esta enfermedad se obtuvieron varias cifras de diversas fuentes. En la ciudad de Barquisimeto por ejemplo, en el Centro Regional Cardiovascular ASCARDIO, se tenían registros de fibrilación auricular desde el año 1999 hasta el 2004, que suman un total de 168 mostrados en la Tabla 2. Sin embargo los especialistas de este centro afirman que la cantidad de casos eran muchos más, pero no han sido registrados porque a veces esta enfermedad es subdiagnosticada. Año Cantidad de Casos 1999 24 2000 33 2001 25 2002 18 2003 39 2004 29 Tabla 2. Casos de AF desde 1999 hasta el 2004. ASCARDIO. En el caso de Estados Unidos para el año 2004, se tenían un aproximado de más de 2 millones de casos registrados [7]. Mientras que entre los ingresos hospitalarios por urgencias médicas agudas en el Reino Unido, 3% a 6% de los pacientes presentan fibrilación auricular y cerca de 40% tienen diagnóstico reciente. Entre los ingresos hospitalarios por causas agudas en Nueva Zelanda, 10% presentaban fibrilación auricular (9% a 12%) documentada [8]. Otra cifra importante es el rango de edades donde la fibrilación auricular prevalece, esta puede afectar tanto a hombres como mujeres y su prevalencia aumenta con la edad 18 variando de un caso por cada 200 personas para menores de 60 años hasta casi 9 casos por cada 100 personas para mayores de 80 años [9]. 19 CAPÍTULO III TÉCNICAS DE DETECCIÓN DE AF 3.1 INTRODUCCIÓN Como se mencionó anteriormente, en presencia de AF, lo que se puede apreciar a simple vista en un ECG es la ausencia de onda P y arritmia ventricular. Actualmente existen diversos algoritmos clásicos y no clásicos que permiten la detección de AF, analizando la ausencia o morfología de onda P y la variabilidad del ritmo cardíaco. A su vez existen algoritmos para la predicción del comienzo de una AF así como para su terminación espontánea. Para ambos casos existen algoritmos que analizan el ECG tanto en el dominio del tiempo como en el dominio de la frecuencia. Comúnmente, la mayoría de los algoritmos existentes emplean varias técnicas para detección de AF trabajando en conjunto o en forma secuencial, analizando la morfología de la onda P en el dominio del tiempo, estudiando la actividad auricular en el dominio de la frecuencia o realizando análisis de variabilidad del ritmo cardíaco. A continuación se mencionan varias técnicas de detección de AF mediante el estudio morfológico de la onda P, estudio de la variabilidad del ritmo cardíaco, y ambas trabajando en conjunto. 3.2. CARACTERIZACIÓN MORFOLÓGICA DE LA ONDA P EN AF 3.2.1. Duración de la Onda P: La duración de la onda P es un parámetro que puede predecir la aparición de AF de una forma medianamente confiable, el método consiste en fijar un punto fiducial para el comienzo y terminación de la onda P, en las tres derivaciones estándares, y la duración de esta onda P no debe ser mayor de 110ms aproximadamente, en alguna de las tres derivaciones estándares, de lo contrario se podría decir que se aproxima una AF [10, 11]. 20 3.2.2. Duración de onda P promediada: La onda P promediada al menos 100 veces permite tener una mejor exactitud acerca de su duración, y dependiendo de su duración, se predice la aparición o no de AF. Como toda promediación es necesario un punto de alineamiento, que puede ser tomado de varias formas, una de ellas es ubicando este punto a 300ms hacia la izquierda, desde donde se detecte un QRS [10]. 3.2.3. Dispersión de la onda P: Esta dispersión se puede definir como la diferencia entre un valor mínimo y máximo de la duración de la onda P en las 12 derivaciones estándares del ECG. La variabilidad de la onda P en alguna de las derivaciones con respecto a las demás es un indicativo de retrasos en la conducción eléctrica dentro de las aurículas y esto se considera como una predicción de desarrollar algún tipo de AF [10]. 3.2.4. Variabilidad de la Onda P: Se puede definir como la desviación estándar de las duraciones de las ondas P, donde n es el número de ondas P y xi representa la duración de la onda P en un momento i. Al igual que la dispersión de la onda P la varianza de la onda P es un indicador de variabilidad de conducción pero es menos dependiente de la morfología de dicha onda y es más reproducible [10]. La variabilidad de la onda P es mostrada en (1): (1) 3.2.5. Fuerza Terminal de la onda y velocidad espacial: La fuerza terminal de la onda P es un índice electrocardiográfico usado como indicador de anormalidades en la aurícula izquierda, que han usado diversos autores para el estudio de la posibilidad de aparición de AF. Esta se puede expresar como la duración en segundos de la parte terminal negativa de la onda P, en la derivación V1, multiplicada por su amplitud en milímetros. La velocidad espacial es la velocidad con que cambia el voltaje de la onda P con respecto al tiempo [10]. 21 3.3. CARACTERIZACIÓN DE LA ACTIVIDAD AURICULAR EN EL DOMINIO DE LA FRECUENCIA. Como se mencionó en el capítulo anterior, la AF produce anulación de la onda P en el ECG debido a la gran actividad eléctrica de distintas polaridades dentro de las aurículas. Gran cantidad de estudios se han centrado en realizar análisis de frecuencia a la actividad auricular durante AF, ya que durante ésta aparecen componentes de alta frecuencia (100 – 150 Hz) que permiten ayudar a detectar la presencia de AF [12, 13], usando ECG de alta resolución. Por otra parte, la extracción de actividad auricular va acompañada de canceladores QRS o QRST que ayudan a atenuar el gran nivel de potencia que presentan dichos complejos en el espectro de frecuencia, el cual se solapa con las pequeñas potencias que poseen la actividad auricular, permitiendo así un mejor análisis frecuencial de la actividad en las aurículas. [14, 15]. A su vez se han creado varias metodologías para evaluar la eficiencia de algoritmos, que permiten medir que tan eficientes son en la detección de AF mediante la extracción de actividad auricular. [16] 3.4. CARACTERIZACIÓN DE LA VARIABILIDAD DEL RITMO CARDÍACO EN AF. El análisis de la variabilidad del ritmo cardíaco durante AF, permite la detección de esta con bastante precisión y en los ultimo años se ha convertido en una línea de investigación muy activa ya que a través de dicho análisis de variabilidad se puede predecir también su terminación espontánea, lo que permite determinar si va a ser necesario el tratamiento de cardioversión a un paciente con AF. [17] A su vez existen estudios donde se analiza el comportamiento caótico o no lineales del ritmo cardíaco, donde se puede predecir la terminación espontánea de la AF sin necesidad de análisis de onda P, solo empleando la serie de los intervalos RR consecutivos [18]. 3.4.1. Análisis no lineal de la variabilidad del ritmo cardíaco en AF: Hasta los momentos no se ha logrado precisar el nivel caótico de la variabilidad del ritmo cardíaco 22 durante AF. Para el caso del flúter auricular varios estudios han revelado un comportamiento casi lineal ya que como se menciono anteriormente el flúter auricular produce arritmia ventricular con ciertos patrones que pueden ser predecibles, aunque el ritmo es tan acelerado en la mayoría de los casos que el bombeo de sangre es ineficiente. Por otra parte, para obtener resultados más precisos en el análisis no lineal es necesario contar con una cantidad de datos considerables (tramos RR), que lo hace no aplicable en casos en donde se requiere procesamiento en tiempo real. [18] 3.4.2. Análisis de las dinámicas de series de tramos RR en la detección de AF: Este tipo de análisis estudia la dinámica de series de temporales de intervalos RR durante ritmo sinusal normal y durante episodios de AF, mediante el uso de parámetros extraídos a través de modelos de identificación autoregresiva variante en el tiempo y mediciones no lineales. Diferencias significantes de estos parámetros entre episodios de AF y episodios de ritmo sinusal sugieren este método como fiable para la detección de AF. [17]. 3.4.3. Detección de arritmia ventricular como parte de la detección automática de AF: La detección de arritmia ventricular es comúnmente usada en detectores de AF como parte de algoritmos más complejos que usan otros métodos adicionales para asegurar la presencia de AF. Uno de los más usados, consiste en hacer primero una detección de QRS basado en el valor absoluto de la señal de ECG derivada, y luego verificar cuando este sobrepasa un umbral variable y detectar así el QRS. Una vez detectado el QRS el criterio de arritmia comprueba la constancia de los intervalos RR permitiendo una máxima desviación del 10% respecto a un valor medio de los tramos RR pasados en los últimos 8 segundos de ECG. De sobrepasarse este 10% de desviación se dice que hay arritmia ventricular. [19,20]. 3.4.4. Coeficiente de dispersión de tramos RR en la detección de AF: El coeficiente de dispersión se ha usado en varias oportunidades como parte de algoritmos detectores de AF. Es una herramienta bastante útil porque en cierto modo mide que tan dispersos están los datos desde una media, la media que generan los mismos datos analizados en ese momento; y también mide que tan desiguales son los tramos RR unos con otros. En el caso de la AF, las series temporales de tramos RR presentan gráficamente una serie de puntos dispersos 23 relativamente de forma uniforme, haciendo que este coeficiente tienda a incrementarse de forma bastante razonable y se diferencie significativamente de una serie temporal de tramos RR extraída de un paciente con ritmo sinusal normal [21]. El coeficiente de dispersión se muestra en (2): (2) La desventaja que presenta este coeficiente para detección de AF es que también puede detectar varios otros tipos de arritmias sin discriminar, ya que la mayoría de las arritmias incluyendo AF presentan elevados coeficientes de dispersión en las series temporales de tramos RR, por lo que el uso de este coeficiente en un algoritmo de detección de AF, debe ser acompañado de algún otro método que discrimine los otros tipos de arritmias o que asegure la presencia de AF [21]. 3.5. MÉTODOS MIXTOS DE DETECCIÓN DE AF Los métodos antes nombrados, en su mayoría, presentan buenos resultados en la detección de AF pero no todos discriminan eficientemente otros tipos de arritmias, por lo que la mayoría de los algoritmos comerciales usan al menos dos métodos de detección combinados, como por ejemplo: Un método de detección de AF basado en el análisis de onda P y otro basado en el análisis de la variabilidad del ritmo cardíaco [19]. Dos métodos de detección de AF basado en el análisis de onda P [19]. Dos métodos de detección de AF basado en el análisis de la variabilidad de ritmo cardíaco [19]. 24 CAPÍTULO IV TÉCNICAS DE PROCESAMIENTO DE LAS SEÑALES DE ECG 4.1 INTRODUCCIÓN Procesar señales de ECG para detectar episodios de AF, requiere un juego de herramientas que permitan paso a paso ir adecuando dichas señales para su posterior análisis, que asegure la presencia o no de AF. El objetivo, se centra en acondicionar las señales de manera tal que se puedan obtener series temporales de tramos RR, obtenidas a partir de la diferencia de tiempo que existe entre una onda R y la siguiente, en forma consecutiva. Una vez teniendo estas series temporales, se pueden realizar análisis de comportamiento de éstas, para detectar la presencia de AF. Pero sin embargo antes de llegar a este punto es necesario, en primer lugar conocer las herramientas que nos permitirán generar las mencionadas series temporales, como principios de filtrado digital para la atenuación de señales que no presentan interés para nuestro estudio y ruido así como técnicas detección de QRS y de onda R. 4.2 SERIES TEMPORALES DE TRAMOS RR. Las series temporales de tramos RR y su representación gráfica son una herramienta muy útil en el estudio de la variabilidad del ritmo cardíaco, desde estudio del ritmo sinusal normal hasta el estudio de patologías cardíacas que produzcan la alteración de este ritmo. Esta serie esta constituida únicamente por tramos RR consecutivos obtenidos por la diferencia de tiempo en segundos que existe entre una onda R y la siguiente del ECG, en la figura 5, se muestra gráficamente como se obtienen dichas diferencias, donde los números del 1 al n, significan cada una de las diferencias de tiempo que existe entre una onda R y la siguiente (tramo RR); y en la tabla 3, se muestra numéricamente, la serie temporal de tramos RR. 25 Figura 5. Representación gráfica de la obtención de tramos RR. TRAMO RR 1 TRAMO RR 2 TRAMO RR 3 TRAMO RR 4 TRAMO RR 5 TRAMO RR 6 TRAMO RR 7 TRAMO RR 8 0.932 seg. 0.904 seg. 0.904 seg. 0.986 seg. 0.92 seg. 0.944 seg. 0.936 seg. 0.928 seg. Tabla 3. Serie temporal de tramos RR en segundos. La representación gráfica de éstas series temporales, genera una nube de puntos cuando se llevan a un plano bidimensional de latidos vs. tramos RR (en segundos). A partir de estas gráficas es que se pueden observar los patrones de ritmo cardíaco, bien sea de un corazón con ritmo sinusal normal o un corazón que presente algún patrón arrítmico. En la figura 6, tenemos un ejemplo gráfico de una serie temporal de tramos RR, provenientes de un ECG con ritmo sinusal normal. En la figura 7, se presenta un ejemplo gráfico de una serie temporal proveniente de un ECG con un episodio de AF y en la figura 8, se muestra una gráfica similar pero con varios episodios de AF. 26 Figura 6. Serie temporal de tramos RR de corazón con un ritmo sinusal normal. MIT AF Database. Paciente 04043.dat. Figura 7. Serie temporal de tramos RR con un episodio de AF. MIT AF Database. Paciente 04043.dat. 27 Figura 8. Serie temporal de tramos RR con varios episodios de AF. MIT AF Database. Paciente 04043.dat. La AF, como bien se ha comentado en capítulos anteriores, tiene como una de sus consecuencias directas la arritmia ventricular, y al observar múltiples registros de pacientes con AF, podemos plantear los siguientes criterios básicos para el desarrollo de nuestro algoritmo. Tomando una ventana de N latidos: 1.- Se determina el tramo RR de máxima duración y el de mínima duración. La diferencia entre el máximo y el mínimo en promedio va a ser de ΔRRmax segundos. 2.- La dispersión de los puntos (tramos RR), se puede considerar bastante uniforme, de tal modo que se puede decir que no va a existir un espacio vacío mayor a ΔRRmin segundos. 3. Van a existir al menos M diferencias de tiempo entre un tramo RR y el siguiente mayores a 0.05 segundos, donde M es aproximadamente un 30% de N. 4. La dispersión uniforme de los puntos (tramos RR), permite detectar AF, y a su vez, descartar otros tipos de arritmia, como el caso de las arritmias 2:1, 3:1 y 4:1, ya que estas, al ser llevadas a una gráfica de serie temporal de tramos RR, producen una gráfica con forma de 28 diente de sierra, dejando espacios vacíos en la gráfica mayor que ΔRRmin segundos, cuestión que no ocurre durante episodios de AF. Esta importante característica nos permitió durante el desarrollo del software crear una estructura de programación que detecta estos dientes de sierra y los clasifica como no AF, ayudando a la disminución de falsos positivos. 4.3 FILTRADO DIGITAL DE LOS ECG. 4.3.1 TEORÍA BÁSICA DE FILTROS DIGITALES IIR: Los filtros de Respuesta Infinita a Impulso, o filtros IIR, de la misma manera que los filtros FIR (Respuesta Finita a Impulsos), son sistemas LTI (lineales e invariables en el tiempo) que recrean un amplio rango de diferentes respuestas en frecuencia. Consideremos un sistema discreto caracterizado por la ecuación de coeficientes invariantes en el tiempo N M k 1 k 0 y(n) ak y(n k ) bk x(n k ) (3) Mediante la transformada z se puede obtener la función de transferencia caracterizada por la ecuación (3): M H ( z) b Z k a Z k k 0 N k 1 k (4) k De esta caracterización se obtienen polos y ceros, los cuales dependen de la elección de los parámetros del sistema bk y ak, y determinan las características de la respuesta en frecuencia del sistema. 29 4.3.2 ESTRUCTURAS PARA SISTEMAS IIR. Como en el caso de sistemas FIR, existen varios tipos de estructuras o realizaciones, incluyendo estructuras en forma directa, en cascada, en celosía y celosía escalonada, algunas de ellas con una versión transpuesta. En este caso sólo se verá la estructura en forma de directa y su forma en cascada por mas sencillo de realizar en el DSP y ser conceptualmente similar a las demás. Una forma alternativa de escribir (4) es por medio de 2 funciones de transferencia individuales en cascada, esto quiere decir: H ( z ) H1 ( z ) H 2 ( z ) (5) Donde H1(z) posee los ceros de H(z) y H2(z) los polos. M H1 ( z ) bk Z k (6) k 0 N H 2 ( z ) ak Z k (7) k 1 Según sea el orden en que se ubican las funciones de transferencia (6) y (7) se llegará a uno de 2 tipos de formas directas. La ubicación de H1(z) antes que H2(z) llevará a la llamada forma directa I, la cual requiere de M+N+1 multiplicaciones y posiciones de memoria, y M+N sumas. Si por el contrario se ubica H2 (z) antes que H1(z), la realización obtenida es conocida como forma directa II. Su principal ventaja es que sólo necesita de max{M,N} posiciones de memoria, pero el número de multiplicaciones sigue siendo M+N+1 y el número de sumas M+N. 30 A partir de (6) y (7) se obtienen las ecuaciones de diferencias correspondientes: N w(n) x(n) ak w(n k ) (8) k 1 M y (n) bk w(n k ) (9) k 0 lo anterior supone que: H ( z ) H1 ( z ) H 2 ( z ) (10) H ( z) W ( z )Y ( z ) (11) X ( z )W ( z ) Un ejemplo típico es un filtro de segundo orden. La figura 9, muestra uno en su estructura de la forma directa II. Figura 9. Forma Directa II de un filtro de segundo orden IIR. El nombre de “realización en forma directa” se desprende del hecho de que aparecen directamente de la función de transferencia (5) sin ningún tipo de reordenamiento. 31 Desafortunadamente, este tipo de estructura, de orden I y II, tienen la principal desventaja de ser altamente sensibles a la cuantificación de sus coeficientes cuando N es muy grande. 4.3.3. ESTRUCTURA EN FORMA DE CASCADA. En los casos de sistemas IIR de orden superior a 2, con la función de transferencia (4), el sistema puede ser factorizado en la cascada de subsistemas de segundo orden tal que H(z) puede ser expresado como k H ( z) H k ( z) (12) k 1 donde K es la parte entera de (N+1)/2. Hk tiene la forma general bk 0 bk 1 Z 1 bk 2 Z 2 (13) H k ( z) 1 ak 1 Z 1 ak 2 Z 2 Como existen muchas formas de manejar los polos y ceros de (13) en secciones de segundo orden, habrá muchas realizaciones en cascada y varias maneras de ordenar los subsistemas resultantes. La forma general de la estructura en cascada se muestra en la figura 10. Figura 10. Estructura en cascada de sistemas de segundo orden. 32 4.4 TÉCNICAS BÁSICAS DE DETECCIÓN DE QRS. El complejo QRS es un conjunto de ondas con mayor amplitud y con pendientes más inclinadas en el ECG. El método más sencillo para detección de QRS, consiste en la búsqueda de los puntos máximos del ECG los cuales son más elevados que un cierto umbral. Este método es muy sensible a los corrimientos de la línea base. Sin embargo, si la línea base es removida (empleando un filtro pasa altos), el método aún puede presentar otros tipos de problemas: - El máximo de los complejos QRS puede ser alterado por el ruido. - El máximo de los complejos QRS no es constante y cambia por cada latido. - El máximo de los complejos QRS depende de la derivación. - La morfología de los complejos varía a lo largo del tiempo. Para minimizar estos efectos se pueden emplear detectores de QRS con filtros pasa banda (que minimizan el efecto del ruido) y un umbral adaptivo. Estos detectores son lo suficientemente exacto para las aplicaciones ambulatorias. Si la localización del complejo QRS es muy crítica (como por ejemplo en promediaciones de señales de ECG) entonces deberán ser empleados métodos más sofisticados. Por lo general, en la literatura, se han propuesto un gran número de detectores QRS. Entre los que se basan en métodos software se pueden enumerar desde los más sencillos, como se especificó anteriormente, que emplean un umbral fijo que cuando se sobrepasa indica la presencia de un QRS [22], hasta los más sofisticados que emplean una plantilla o modelo y buscan el punto en que se maximiza la correlación del ECG con la plantilla [23], pasando por aquellos que buscan un punto de alta amplitud y derivada [24]. Entre los problemas más frecuentes que se presentan para detectar QRS podemos mencionar [25]: 33 Interferencia de red. Ruido del contacto de electrodos. Artefactos de movimiento. Interferencia de la actividad eléctrica muscular. Deriva de línea base. Modulación de la amplitud del ECG debida a la respiración. Ruido asociado a la electrónica de medida. Ruido de aparatos de electrocirugía. Los algoritmos empleados para la detección de QRS comúnmente, se basan en la amplitud y la primera derivada del ECG, en la primera derivada únicamente, en la primera y segunda derivada o en filtros digitales. También vale la pena destacar el uso del valor absoluto de la primera derivada como herramienta en la detección de QRS, ya que es usada como parte del detector de QRS del software desarrollado en este trabajo de investigación y que se explica con mayor detalle en el siguiente capítulo. Si el detector no ha sensado la presencia del QRS en su verdadera posición se dice que se ha producido un falso negativo mientras que si ha detectado una onda (o ruido) que no corresponde a un QRS se dice que se ha producido un falso positivo. A partir de aquí puede darse cualquier combinación de falsos positivos y negativos que pueden alterar completamente la información que se desea extraer, cuantificar o analizar procedente del detector de QRS. 34 CAPÍTULO V MATERIALES Y MÉTODOS 5.1 INTRODUCCIÓN A continuación explicaremos como se desarrollaron cada uno de los métodos y procedimientos empleados, que conforman el algoritmo detector de AF tales como: obtención de la señal de ECG, su respectivo filtrado digital, detección de QRS, obtención de las series temporales de tramos RR y detección de AF a partir de dichas series. Sin embargo, primero es necesario explicar las herramientas que permitieron la evaluación de nuestro algoritmo como lo son las bases de datos MIT AF Database, y MIT Arrhytmia Database, junto con sus características técnicas. 5.2 BASE DE DATOS “MIT AF DATABASE” La MIT AF Database es una base de datos con licencia de libre uso disponible en Internet la cual consta de 25 registros de ECG de 10 horas cada uno [7]. Cada uno de los pacientes dentro de las 10 horas presentan episodios de AF, unos más que otros, y con la importante característica de que se observa el inicio de las AF y su final, gracias a un archivo de anotaciones que indica el instante de estos eventos. Sus características son: Número de canales: 2, DII y V1. Frecuencia de muestreo: 250 Hz. Resolución: 12 bits. Ancho de banda de grabación: 0.1 a 40Hz aprox. Además de esto, cada registro de paciente esta conformado por 4 archivos: 35 Un archivo .dat que es donde se encuentra el ECG digitalizado, en formato binario. Un archivo .hea que es un archivo de cabecera donde se encuentra la frecuencia de muestreo, resolución, ganancia de los amplificadores del registrador, valores iniciales de ECG, hora de inicio del registro y número de canales. Un archivo .atr que consta de una serie de anotaciones acerca de algún evento y a la hora que ocurrió. Para el caso de esta base de datos hay 3 tipos de anotaciones: ritmo normal (N), fibrilación auricular (AF), y flúter auricular (AFL). Un archivo .qrs que indica en que momento ocurrió cada QRS. Todos los registros de pacientes a excepción de 2, contienen este archivo de forma no auditada, o sea, que los complejos QRS fueron detectados por un detector automático y no se auditaron manualmente. 5.3 BASE DE DATOS “MIT ARRHYTMIA DATABASE” La MIT Arrhytmia Database, es una base de datos con licencia de libre uso, también disponible en Internet que cuenta con 48 registros de ECG con media hora de duración cada registro [6]. Cada paciente dentro de esta hora presenta episodios arrítmicos de diversos tipos, y en algunos de ellos hay episodios de AF. La razón de uso de esta base de datos, es que es necesaria la comprobación del algoritmo con otros tipos de arritmias distintas a la AF para así verificar que tan selectivo es. Para este objetivo se escogieron 10 registros al azar de esta base de datos, entre aquellos que no presentaban episodios de AF, mostrados en la tabla 4. Esta comprobación se realiza también gracias a un archivo de anotaciones que permite verificar que tipo de arritmia es la que ocurrió en un determinado momento. Sus características son: Número de canales: 2, DII y V1. Frecuencia de muestreo: 360 Hz. Resolución: 11 bits. Ancho de banda de grabación: 0.1 a 60Hz aprox. 36 Además de esto, cada registro de paciente está conformado por 3 archivos: Un archivo .dat que es donde se encuentra el ECG digitalizado, en formato binario. Un archivo .hea que es un archivo de cabecera donde se encuentra la frecuencia de muestreo, resolución, ganancia de los amplificadores del registrador, valores iniciales de ECG, hora de inicio del registro y número de canales. Un archivo .atr que consta de una serie de anotaciones acerca de algún tipo de arritmia y a la hora que ocurrieron. REGISTRO 101 102 107 205 207 208 212 230 232 234 Tabla 4. Registros seleccionados de MIT Arrythmia Database. 5.4 CRITERIOS DE EXCLUSIÓN Para efectos del estudio de la MIT AF Database se analizaron todos los registros, 25 en total, pero se excluyeron ciertos bloques, mostrados en tabla 5, bien sea por ruido extremo, por desconexión de algún electrodo, o por alguna otra causa. Cada bloque de grabación corresponde a 10.24 segundos de ECG. 37 Registro 00735 03665 04043 04936 05091 06453 08378 08405 08434 08455 Causa Casi todas las señales no están disponibles. Casi todas las señales no están disponibles. Bloque 39 ilegible. Este fue el único registro cuyas señales estuvieron previamente disponibles. Anotaciones de QRS corregidos disponibles (archivo .qrsc) Registro finaliza cerca de las 9 horas y 15 minutos. No hay hora de inicio. No hay hora de inicio y el bloque 1067 es ilegible. Bloques 648, 857, y 894 están ilegibles. No hay hora de inicio. Tabla 5. Listado de Registros con errores. MIT AF Database. En el caso de la MIT Arrhytmia Database, no está documentado cuales registros o bloques de registros presentan fallas, pero para nuestros efectos, de los 10 registros que se escogieron al azar para analizar nuestro algoritmo, ninguno presento problemas. 5.5 SOFTWARE DESARROLLADO Todo el software fue desarrollado en Matlab versión 6.5. El computador usado para el estudio fue un AMD Athlon de 2.4Ghz con 512 MB de memoria RAM y 512K de memoria caché. El software en general esta compuesto por varias etapas: Obtención de la señal de ECG. Filtrado digital Detección de QRS Obtención de las series temporales de tramos RR. Detección de AF. En las siguientes secciones se explicaran cada una de las etapas que conforman el software desarrollado. 38 5.5.1 OBTENCIÓN DE LA SEÑAL DE ECG Esta etapa consistió en tomar el ECG digitalizado de cada paciente en su formato original (formato 212), el cual es un formato de 12 bits para ambas bases de datos usadas y convertirlo a en un arreglo de datos para uso en Matlab. Este arreglo de datos consiste en una matriz donde cada dato es una muestra del ECG en milivoltios y la longitud de esta, va a depender de cuantas muestras se vayan a estudiar. Un ejemplo de este arreglo, se puede ver en la tabla 6. Para nuestro caso, el estudio del algoritmo se realizó en tramos de 2 horas. A su vez, el número de columnas de este arreglo va a depender del número de canales que posea la base de datos, para nuestro caso, ambas bases de datos poseen dos canales de ECG. Vale la pena destacar que aunque una base de datos posee resolución 12 bits y la otra 11 bits, ambas fueron almacenadas en formato de 12 bits. Para la conversión, no se desarrollo ningún bloque de programación ya que los mismos proveedores de la base de datos en Internet [6] proveen el código para leer la base de datos y convertirla a un arreglo de datos de Matlab expresado en milivoltios. El nombre del archivo es rddata.m. Una vez obtenida la matriz de datos podemos graficarla en un plano amplitud vs. tiempo como se muestra en la figura 11, con la amplitud mostrada en milivoltios y el tiempo en segundos. El vector del tiempo se obtiene al multiplicar el número de muestras por la frecuencia de muestreo. 39 Tabla 6. Ejemplo de un tramo de ECG digitalizado mostrado en Matlab. Figura 11. Ejemplo gráfico de un tramo de ECG digitalizado mostrado en Matlab. 40 5.5.2 FILTRADO DIGITAL El filtrado digital aplicado a ambas bases de datos, se orientó en su medida a un filtrado que facilitará la detección de los complejos QRS, para luego detectar onda R y por último proceder a generar las series temporales de tramos RR. El complejo QRS en la mayoría de los casos es detectado después de un filtrado pasa-banda de 3-30Hz, por lo que se procedió a usar un filtro Butterworth pasa-banda de 3-30 Hz, y tanto el filtro pasa-bajo como el pasaalto usados fue de orden 4, ya que este orden fue el que presentó la mejor relación filtrado tiempo de procesamiento, factor importante a la hora de desarrollar algoritmos aplicables a procesamiento en tiempo real. Matlab permite realizar el filtrado con unas pocas líneas de programación como las que se presentan a continuación: canal = 1; Wn = 125; W1 = 3/Wn; W2 = 30/Wn; Ws = [W1 W2]; [B,A] = BUTTER(orden,Ws); Yf =filter(B,A,M(:,canal)); Donde: M = Matriz con el ECG Digitalizado con sus respectivos canales 1 o 2. Wn = frecuencia de muestreo divida entre 2. Orden = Orden del Filtro. W1 = Frecuencia de corte pasa-alto. W2 = Frecuencia de corte pasa-bajo. [Ws] = Frecuencias de corte pasa-banda. [B,A] = Coeficientes del filtro. Yf = ECG Filtrado. BUTTER = Función de matlab para generar los coeficientes de un filtro Butterworth. Filter = Función de matlab para aplicar un filtro con determinados coeficientes. 41 Una vez que se le dan las instrucciones a matlab para que diseñe un filtro pasa-banda de 3 a 30 Hz Butterworth de 4to orden, este arroja los siguientes coeficientes, para luego aplicarle el filtrado a la señal deseada mediante la instrucción filter. A = [1 -2.9877 B = [0.076718 3.399 0 -1.7943 -0.15344 0 0.38519] 0.076718] En la figura 12, se muestra un ejemplo gráfico de la señal de ECG mostrada en la figura 11, después de ser pasada por el filtro antes mencionado. Figura 12. Ejemplo de un tramo de ECG filtrado. 42 5.5.3 DETECCIÓN DE QRS La detección de QRS se llevo a cabo en varias etapas. Primero, teniendo la señal ya filtrada, se le aplicó la 1ra derivada, luego se le sacó el valor absoluto, y luego se compararon los picos más altos de ésta con un umbral adaptable. [19]. Como bien sabemos, el complejo QRS, es la parte del ECG que presenta las pendientes más pronunciadas (tramo QR y tramo RS). Esta importante característica nos permite aplicar el uso de la 1era derivada, ya que nos ayuda a identificar con más exactitud la presencia de complejos QRS, inclusive en tramos de ECG que posean altos valores de ruido. En la figura 13, se muestra el resultado de aplicar la 1era derivada a la señal de ECG filtrada, mostrada en la figura 12. Figura 13. Ejemplo de la 1ra derivada de un tramo de ECG filtrado. El aplicar valor absoluto a la señal de ECG filtrada y derivada, como se muestra en la figura 14, permite tomar los picos más pronunciados de la señal de ECG ubicada en el semiplano negativo y trasladarlos al semiplano positivo. Esto se hace con el objetivo de tomar 43 los picos del semiplano positivo y unirlos con el negativo, para luego compararlos con un umbral adaptable. Esta técnica presenta muy buen desempeño para casos cuando se tienen ECG adquiridos con electrodos invertidos. A su vez, presenta excelente desempeño cuando se desea detectar QRS en cualquiera de las 3 derivaciones estándares y aumentadas. Figura 14. Ejemplo del valor absoluto de la 1ra derivada de un tramo de ECG filtrado. Una vez que se tiene el valor absoluto de la señal ya filtrada y derivada, se procede a la detección del QRS, el cual es logrado de una forma bastante sencilla. Se busca muestra por muestra cual de estas sobrepasa el umbral variable. Dicho umbral variable, varía mediante la suma de los últimos dos picos máximos que sobrepasaron el umbral y se divide entre dos. Una vez que una muestra sobrepasa dicho umbral basado en los 2 picos máximos anteriores se abre una ventana de 0.2 segundos hacia la derecha y se busca el punto máximo, que para nuestros efectos va a ser nuestro QRS detectado y onda R, porque en realidad lo que nos interesa es hallar la onda R para luego generar nuestra serie temporal de tramos RR. Una vez detectada la onda R, se va anotando en una matriz el momento en que ocurrió la onda R. Por último, después de que se buscó nuestro punto máximo dentro de la ventana de 0.2 segundos, el programa va al final de esta ventana, y abre otra ventana de 0.2 segundos hacia la derecha y 44 sigue su búsqueda, muestra a muestra, hasta que nuevamente se encuentra un punto que sobrepase el umbral. Vale la pena indicar que el umbral adaptable comienza a trabajar con un valor predeterminado, en el momento del inicio del programa, y como se menciono anteriormente empieza a variar con la suma de los 2 picos máximos anteriores (las dos ondas R anteriores) dividido entre dos. La figura 15 muestra como el umbral variable se va adaptando con respecto a la amplitud de las dos últimas ondas R. Figura 15. Detección de QRS mediante umbral variable. 5.5.4 SERIE TEMPORAL DE TRAMOS RR En el momento que se detectan los complejos QRS y las ondas R en un arreglo de datos, se van almacenando el momento en que ocurre dicha onda R, de manera tal, que tomando este registro y restando cada valor con su valor anterior vamos a obtener nuestra serie temporal de tramos RR, para un tramo de señal de ECG determinado. La tabla 7, muestra un ejemplo de una serie temporal de tramos RR generada a partir del arreglo de datos que almacena el momento de ocurrencia de las ondas R; y en la figura 16, se puede apreciar como es la representación gráfica de una serie temporal de tramos RR, donde el eje horizontal 45 representa el número del latido y el eje vertical representa la duración entre un latido y otro (tiempo RR). Tabla 7. Serie Temporal de tramos RR. Figura 16. Representación gráfica de una serie temporal de tramos RR. MIT AF Database. Paciente 04043.dat. 46 5.5.5 ALGORITMO DE DETECCIÓN DE AF Una vez obtenidas las series temporales de tramos RR se procedió al estudio gráfico de estas. Como se mencionó en el capítulo anterior, después de un minucioso proceso de observación, registro a registro, de la MIT AF Database y de la MIT Arrhytmia Database, se obtuvieron 4 hipótesis para la elaboración de nuestro algoritmo. El algoritmo trabaja con una ventana de 35 latidos que se desplaza latido a latido y realiza las siguientes operaciones: 1. – Cada vez que se desplaza la ventana se realiza una búsqueda entre los 35 tramos RR en estudio, y se selecciona cual es el que tiene menor duración y el que tiene mayor duración. Si la diferencia entre este máximo y este mínimo sobrepasa los 0,15 segundos, el algoritmo sigue al siguiente paso, si no la ventana se desplaza un latido hacia adelante y se repite el procedimiento. 2.- Teniendo dicha diferencia mayor a 0,15 segundos, se procede a realizar la prueba de dispersión de puntos, la cual nos permite verificar que tan dispersos están cada uno de los demás tramos RR en el plano latido – duración tramo RR. Esto se logra haciendo un conteo, de cuantas diferencias mayores a 0.05 segundos existen entre cada tramo RR y el que le sigue dentro de la ventana en estudio. Si hay una cantidad mayor o igual a 10 diferencias mayores a 0,05 segundos, el algoritmo sigue al siguiente paso, de lo contrario, la ventana se desplaza hacia adelante y vuelve al paso 1. 3.- Luego se continua con el test de arritmias, para descartar arritmias del tipo 2:1, 3:1 y 4:1, que como comentamos en el capítulo anterior, son arritmias que producen gráficas en el plano latido – duración tramo RR, con forma de diente de sierra, y que dejan espaciamientos en dicho plano mayores a 0,1 segundos cuestión que no ocurre durante AF. Por lo general este tipo de arritmias tienen comportamiento similar al de la figura 16, donde se muestra el cambio de un ritmo normal a una arritmia 3:1, y al igual que las arritmias 2:1 y 4:1, forman el diente de sierra antes mencionado. La técnica que se empleo en este algoritmo para descartar este 47 tipo de arritmias, consistió en crear una pequeña ventana vertical de 0,1 segundos que se desplaza verticalmente, dentro de otra ventana de 0,2 segundos en pasos 0,01 segundos desde el punto más inferior de la gráfica, (aprox. desde 0,4 hasta 0,6 segundos en la figura 17). Si mientras se desplaza esta ventana en sentido vertical se detecta un espacio vacío de 0.1 segundos, se asume que hay un diente de sierra (arritmia 2:1, 3:1 o 4:1), entonces la ventana horizontal se desplaza hacia adelante un latido y vuelve al paso 1, de lo contrario, significa que estamos en presencia de un episodio de AF y se emite la alarma definitiva de AF. Todo esto se realiza dentro de la ventana en estudio de 35 latidos. Figura 17. Serie temporal de tramos RR con un episodio de arritmia 3:1 MIT AF Database. Paciente 04043.dat. Vale la pena destacar que fue necesario evaluar todo el proceso de detección de AF bajo varios esquemas, desplazando la ventana de 35 latidos de 1en 1, de 2 en 2, de 5 en 5 y de 35 en 35 latidos, para analizar cual desplazamiento es el más eficiente, donde el tiempo de procesamiento juega un papel importante. Por otro lado, la ventana de 35 latidos fue escogida de este tamaño, ya que ésta medida fue la que brindó el mejor rendimiento del algoritmo con la menor cantidad de latidos; cantidades inferiores disminuían el rendimiento y usando cantidades superiores, era poco significativo el incremento del rendimiento. En el siguiente capítulo se analizan y discuten los resultados del algoritmo usando los 4 tipos de desplazamiento de ventana. A continuación mostramos un flujograma en la figura 18, con la descripción resumida del funcionamiento, en forma gráfica, del algoritmo detector de AF. 48 INICIO Desplazar ventana 1, 2, 5 ó 35 latidos Ventana de 35 Latidos Alarma AF = OFF NO ¿ Max RR – Min RR > = 0.15 segundos ? SI Test de dispersión ¿Hay más de 10 diferencias > 0.05 seg. entre RR´s consecutivos ? NO SI Test de Arritmias ¿Existe un espacio vacío mayor a 0.1 segs.? NO SI Alarma AF = ON Figura 18. Flujograma de funcionamiento del algoritmo detector de AF. 49 En el flujograma de funcionamiento se puede ver claramente, de manera gráfica, cada uno de los pasos explicados anteriormente acerca de cómo se ejecuta el algoritmo detector de AF. La estructura de programación lo que hace en realidad es tener control de la alarma de AF, tanto de su activación como su desactivación. Como se mencionó anteriormente, las pruebas del algoritmo se realizaron desplazando la ventana de 35 latidos de 1 en 1, 2 en 2, 5 en 5 y 35 en 35, razón por la cual en el flujograma se muestra el bloque que dice “Desplazar ventana 1, 2 ,5 ó 35 latidos”, sin embargo esto es un ajuste inicial del algoritmo que no varia durante su funcionamiento y cada de una de las pruebas se realizaron con valores predeterminados de 1, 2, 5 y 35 desplazamientos. 50 CAPÍTULO VI EVALUACIÓN DEL ALGORITMO 6.1 INTRODUCCIÓN El grado de confiabilidad de un algoritmo se puede definir como la capacidad que tiene este de arrojar un resultado o diagnóstico verdadero, con la menor cantidad de errores posibles, en otras palabras, mientras menos falsos diagnósticos emita el algoritmo, más confiable es, y la mejor forma de demostrar esta confiabilidad es usando indicadores estadísticos de medición que permitan demostrar de forma numérica que tan confiable es el algoritmo. Para nuestro caso los indicadores usados fueron exactitud, sensibilidad y especificidad, comúnmente usados en el análisis de algoritmos que detectan patrones de algún tipo. Además de esto, estos indicadores permiten comparar los resultados de nuestro algoritmo con los de otros, de una manera justificada y argumentada. En este capítulo mostraremos los resultados del algoritmo detector de AF. Primero analizaremos los resultados de los 25 registros de la MIT AF Database y luego los de la MIT Arrythmia Database. Nuestra técnica de medición esta basada en número de latidos que tienen o no AF y número de latidos que corresponden a falsas alarmas. Nuestras comparaciones se hacen a través de los archivos de anotaciones que proporciona la base de datos, los cuales nos indica el comienzo y el final de un episodio de AF. 6.2 DEFINICIÓN DE PARÁMETROS UTILIZADOS 6.2.1 Verdaderos Positivos (VP): Número de latidos con AF positivo detectados por el algoritmo como AF positivo. (AF detectada como AF). 51 6.2.2 Verdaderos Negativos (VN): Número de latidos con AF negativo detectados por el algoritmo como AF negativo. (no AF detectada como no AF). 6.2.3 Falsos Positivos (FP): Número de latidos con AF negativo detectados por el algoritmo como AF positivo. (no AF detectada como AF). 6.2.4 Falsos Negativos (FN): Número de latidos con AF positivo detectados por el algoritmo como AF negativo. (AF detectada como no AF). Para los estudios de la efectividad y confiabilidad de algoritmos de este tipo generalmente se usan 3 indicadores estadísticos, exactitud, sensibilidad y especificidad que se explican a continuación. [26] 6.2.5 Exactitud: Se puede definir para nuestro caso como un parámetro de medición que indica que tan exacto es nuestro algoritmo en la detección de AF expresado en porcentaje y se calcula dividiendo la suma de los latidos detectados correctamente entre la suma de todos los latidos, falsos y no falsos. Se expresa como: (14) 6.2.6 Sensibilidad: Para nuestro caso es la probabilidad de clasificar correctamente la presencia de AF, es decir, la probabilidad de que para una AF verdadera se detecte AF verdadera en el algoritmo. La sensibilidad es, por lo tanto, la capacidad del algoritmo para detectar la presencia de AF expresada en porcentaje. Su formula es: (15) 52 6.2.7 Especificidad: Es la probabilidad de detectar correctamente la no presencia de AF para nuestro caso, es decir, es la probabilidad que un episodio de no AF sea detectada por el algoritmo como no AF. En otras palabras, se puede definir la especificidad como la capacidad para detectar verdaderos negativos. La podemos expresar como: (16) 6.3 ANÁLISIS DE RESULTADOS Como se mencionó anteriormente este análisis de resultados se basa en mostrar el desempeño del algoritmo haciendo uso de los instrumentos ya explicados como exactitud, sensibilidad y especificidad. Esta medición se evaluó bajo 4 esquemas en ambas bases de datos, desplazando la ventana en estudio cada 1, 2, 5 y 35 latidos. A continuación mostramos la tabulación de los resultados correspondientes a la MIT AF database (Tablas de la 8 la 11) y luego su discusión. 53 Tabla 8. Resultados de detección de AF usando 1 latido de desplazamiento de ventana. 25 registros analizados de MIT AF Database. 54 Tabla 9. Resultados de detección de AF usando 2 latidos de desplazamiento de ventana. 25 registros analizados de MIT AF Database. 55 Tabla 10. Resultados de detección de AF usando 5 latidos de desplazamiento de ventana. 25 registros analizados de MIT AF Database. 56 Tabla 11. Resultados de detección de AF usando 35 latidos de desplazamiento de ventana. 25 registros analizados de MIT AF Database. 57 Como se puede observar, el desempeño del algoritmo es aceptable y es casi el mismo para los casos de desplazamiento de ventana cada 1, 2 y 5 latidos mostrados en las tablas 8, 9 y 10 respectivamente, ya que en promedio arrojó resultados de un 95% de exactitud, 92% de sensibilidad y 97% de especificidad aproximadamente para los 3 casos, por lo que puede ser usado bajo estos 3 esquemas, sin comprometer el rendimiento del algoritmo, pero dependiendo también cuales vayan a ser las aplicaciones de este y de cada cuanto se requiera una alarma de AF, cada 1, 2 ó 5 latidos. Para el caso de desplazamiento de 35 latidos mostrado en la tabla 11, la exactitud disminuye a un 86%, la sensibilidad a un 83% y la especificidad a un 87% aproximadamente; haciendo el algoritmo no tan efectivo. La causa de esta disminución de la eficiencia se debe en gran parte a que cuando una ventana es analizada por el algoritmo, y este emite un falso diagnóstico, son 35 latidos los que se diagnostican de forma errada, a diferencia de los métodos de 1, 2 5 latidos de desplazamiento, donde el diagnóstico errado de una ventana implica solo 1,2 y 5 latidos respectivamente, los que se contabilizan como falsos positivos y falsos negativos, en otras palabras, la cantidad de latidos diagnosticados de forma errada será igual a la cantidad de latidos en estudio (tamaño de la ventana), por lo que incrementar el tamaño de esta ventana hasta valores de 35 latidos, compromete la eficiencia del algoritmo considerablemente. A continuación se muestran los resultados correspondientes a la MIT Arrythmia Database (Ver tablas de la 12 a la 15). Vale la pena destacar que estos 10 registros de ECG usados de la MIT Arrythmia Database, presentaban arritmias no causadas por AF, ya que el objetivo era poner a prueba el algoritmo con otros tipos de arritmias a parte de las arritmias no causadas por AF también presentes en la MIT AF Database, debido a que generalmente los pacientes que sufren de AF también sufren pequeños episodios de otros tipos de arritmias, y que aunque estos 10 registros se escogieron al azar, se sortearon dentro de los que poseían arritmias no causadas por AF. 58 Tabla 12. Resultados de detección de AF usando 1 latido de desplazamiento de ventana. 10 registros analizados de MIT Arrythmia Database. Tabla 13. Resultados de detección de AF usando 2 latidos de desplazamiento de ventana. 10 registros analizados de MIT Arrythmia Database. 59 Tabla 14. Resultados de detección de AF usando 5 latidos de desplazamiento de ventana. 10 registros analizados de MIT Arrythmia Database. Tabla 15. Resultados de detección de AF usando 35 latidos de desplazamiento de ventana. 10 registros analizados de MIT Arrythmia Database. 60 Al igual que la MIT AF Database, los resultados generados por el algoritmo usando la MIT Arrythmia database fueron también aceptables para los casos de desplazamiento de ventana de 1,2 y 5 mostrados en las tablas 12, 13 y 14 respectivamente, inclusive un 2 a 3% mejores , ya que en promedio arrojó resultados de un 98% tanto de de exactitud como de especificidad aproximadamente, para los 3 casos, por lo que puede ser usado bajo estos 3 esquemas, sin comprometer el rendimiento del algoritmo, pero sin embargo el comportamiento del algoritmo siguió siendo menos efectivo para el caso de desplazamiento de ventana de 35 latidos mostrado en la tabla 15, con un 89% aproximadamente tanto de exactitud como de especificidad, 3% mejor que con la MIT AF Database. Igualmente como ocurrió con la MIT AF Database , la causa de esta disminución de la eficiencia son las mismas, y se deben en gran parte a que cuando una ventana es analizada por el algoritmo, y este emite un falso diagnóstico, son 35 latidos los que se diagnostican de forma errada, a diferencia de los métodos de 1, 2 y 5 latidos de desplazamiento, donde el diagnóstico errado de una ventana implica solo 1, 2 y 5 latidos respectivamente, los que se contabilizan como falsos positivos y falsos negativos. En la tabla 16 podemos observar una comparación de los valores de exactitud, especificidad y sensibilidad de cada una de las modalidades usadas (desplazamiento de ventana cada 1,2,5 y 35 latidos) en cada base de datos. MIT AF Database MIT Arrythmia Database Desplazamiento de ventana Exactitud Especificidad Sensibilidad Exactitud Especificidad Sensibilidad Cada 1 latido 95.22% 92.65% 97.05% 98.22% no calculable 98.22% Cada 2 latidos 95.12% 92.55% 96.95% 97.88% no calculable 97.88% Cada 5 latidos 94.93% 92.37% 96.76% 97.22% no calculable 97.22% Cada 35 latidos 85.71% 83.38% 87.36% 88.57% no calculable 88.57% Tabla 16. Comparación de resultados en cada modalidad de desplazamiento de ventana, para la MIT AF Database y MIT Arrythmia Database. Respecto al tiempo de procesamiento del algoritmo, se obtuvo que este procesa cada ventana de 35 latidos en aproximadamente 129ms (usando el computador mencionado en el capítulo V), lo cual es un tiempo aceptable para ejecutar el algoritmo en cualquiera de sus 61 métodos (1, 2, 5 y 35 latidos), ya que durante nuestro estudio nunca se llegaron a apreciar tramos RR por debajo de los 129 ms, debido a que eso significa un ritmo cardíaco muy acelerado (480 latidos por minutos aproximadamente). Un estudio de las bases de datos utilizadas indica que valor RR mínimo hallado en ambas base de datos, es aproximadamente de 200ms. El valor RR promedio para la MIT AF Database es de 0.737 segundos y el valor RR promedio para la MIT Arrythmia Database es de 0.825 segundos. Por lo tanto, al tener una velocidad de procesamiento de 129ms, comparado con los valores mínimos y promedios RR de las base de datos podemos categorizar este algoritmo como un algoritmo de detección de AF implementable en tiempo real. 62 CAPÍTULO VII CONCLUSIONES El diagnóstico de AF usando análisis de series temporales de tramos RR demostró ser un modo efectivo en este trabajo de investigación, así como también otras investigaciones lo han demostrado. La ventaja de detectar AF usando solo tramos RR es que no se necesita una señal de ECG de alta resolución, como por ejemplo la de la base de datos usada, que fue de unos 250 y 360Hz, haciendo que no se requieran un manejo de volumen de datos grandes. Por otro lado con la técnica desarrollada en éste trabajo, se obtuvo un tiempo de procesamiento de aproximadamente 129ms, que hace que esté ubicado dentro de la categoría de “Detector de AF en tiempo real”. Al ubicar este algoritmo dentro de esta categoría, el número de posibles aplicaciones aumenta considerablemente en comparación con un algoritmo que no procese en tiempo real, ya que sería ideal para aplicaciones de cardioversión, bien sea con equipos externos o implantables, equipos portátiles de detección de AF ofrecido como una solución para aquellos pacientes que no saben que están atravesando un episodio de AF, así como otro tipo de aplicaciones clásicas basadas en registros de ECG previamente adquiridos a través de dispositivos de grabación como los Holters. También cabe mencionar, que debido a la sencillez del procesamiento, no se requiere un robusto hardware de elevadas prestaciones, ya que como bien se mostró en el desarrollo del trabajo, el filtrado de ECG, detección de QRS, y detección de AF, no usaron pesadas estructuras de programación, siendo el filtrado de ECG de tan solo de 4to orden, la detección de QRS consistió solo en comparar amplitudes del valor absoluto del ECG con un umbral adaptable, y la detección de AF se basó únicamente en el análisis básico de patrones de comportamiento de una serie de tramos RR generadas por apenas 35 latidos. A parte de esto, cabe también mencionar que todas estas ventajas mencionadas anteriormente junto con el creciente número de casos de AF a nivel mundial hace la importancia de este tipo de estudios más relevante, ya que se logró desarrollar un 63 algoritmo eficiente, de baja complejidad, que se ofrece como parte de una solución a la detección y tratamiento de la AF. Las cifras promedio de eficiencia del algoritmo, analizando ambas bases de datos, estuvieron ubicadas alrededor del 96% de exactitud, 93% de sensibilidad y 97% de especificidad para las técnicas con mejor desempeño, las cuales consistieron en desplazar la ventana en estudio de 1 en 1, de 2 en 2 y de 5 en 5 latidos, demostrándonos de esta manera que el número de falsas detecciones fue bastante reducido, y que el índice de confiabilidad es bastante elevado. Por otro lado la técnica de desplazar la ventana en estudio de 35 en 35 latidos, produjo cifras aproximadas de 87% de exactitud 83% de sensibilidad y 88% de especificidad, por lo que quedo demostrado que con desplazamientos cortos de ventana (cada 1, 2 o 5 latidos) la eficiencia del algoritmo es mucho mejor y es la que se recomienda. Al tener entonces índices de confiabilidad semejantes para los 3 tipos de desplazamiento se puede escoger uno de estos de acuerdo al tipo de aplicación y limitaciones de procesamiento, en otras palabras si se requiere una detección cada 5 latidos se puede usar un procesador con menos recursos, inclusive un microprocesador o microcontrolador trabajando en modo dedicado, ya que se tendrán 5 latidos para poder procesar la ventana en estudio. Como recomendación para futuros estudios podemos mencionar que sería bastante útil seguir trabajando en el análisis de AF mediante el uso de series temporales, tratando de aumentar al máximo sus valores de exactitud, sensibilidad y especificidad, para así hacerlo lo más confiable posible, así como también seguir experimentando con un número mayor de bases datos. A su vez, como lo recomiendan otros autores, los investigadores de esta área deben centrase no solo en la detección, sino en la predicción, como se esta realizando hoy en día, usando variabilidad de ritmo cardíaco y morfología de onda P, para estimar la susceptibilidad de iniciarse o terminarse espontáneamente un episodio de AF, herramienta muy útil a la hora de ejecutar o no algún tratamiento. 64 REFERENCIAS BIBLIOGRAFICAS [1] Guyton A. Hall E. “Tratado de Fisiología Médica”. Novena Edición. Mc Graw Hill Interamericana. México. 1998. [2] M. Gallagher, J. Camm. “Classification of atrial Fibrillation”, American Journal of Cardiology, N° 82, 18N-28N. 1998. [3] JP. Couderc, S. Fischer, A. Costello, JP. Daubert, JA. Konecki, W. Zareba. “ Wavelet Analysis of Spatial Dispersion of P-wave Morphology in Patients Converted from Atrial Fibrillation”. Computers in Cardilogy. N° 26. pp 699-702. 1999. [4] S. Walsh, G. Manoharan, J. Santos, O. Escalona, J. Allen, J. Anderson, A. Adgey. “Atrial Defibrillation Using Low Energy Rectangular Biphasic Waveform – Asymmetric Pulses Allow Voltage Reduction”, Irish Journal of Medical Science. Indexada en el SCI, vol. 171, Supp 1, pp. 46. 2002. [5] J.Santos, S. Walsh, N. Evans, O. Escalona, G. Manoharan, , J. Anderson, J. Allen, A. Adgey. “Transdermal Atrial Defibrillator with Bipolar Low Tilt Pulses”. Electronic Letters, Vol. 39, Nº 25, pp 1789-1790. 2003. [6] Fibrilación Auricular. Guías Clínicas 2004; 4 (47). http://www.fisterra.com/guias2/fa.asp. Septiembre 2004. [7] http://www.physionet.org. Junio 2004. [8] Tribuna Medica. Volumen 103, número 9. Año 2003. http://www.medilegis.com/BancoConocimiento/T/TM103N9_contenido/Contenido.htm [9] Shands Healthcare. Fibrilación y fluter auricular. http://www.shands.org/health/spanish/esp_ency/article/000184.htm [10] S. Poli, V. Barbaro, P.Bartolini , G. Calcagnini, F. Censi. Prediction of atrial fibrillation from surface ECG: review of methods and algorithms. Dipartimento di Informatica e Sistemistica, Università degli Studi “La Sapienza”, Rome, Italy. Laboratorio di Ingegneria Biomedica, Istituto Superiore di Sanità, Rome, Italy. Ann Ist Super Sanità 2003;39(2):195203. [11] Clavier L.,Boucher J.M., Blanc J.J.,"P-wave parameters for atrial fibrillation risk detection", 18th annual international conference of the IEEE Engineering in Medicine and Biology society. Vol. 4, pp 1367-1368. 1996. [12] Rieta, JJ; Zarzoso, V; Millet-Roig, J; Garcia-Civera, R; Granell Ruiz, R; “Atrial activity extraction base don blind source separation as an alternative to QRST cancellation for atrial fibrillation analysis”. Computers in cardiology N. 27. pp 69-72. 2000. 65 [13] Langley, P; Bourke JP, Murray A. “Frequency analysis of atrial fibrillation” Computers in cardiology. Vol. 27. pp 65-68. 2000. [14] Díaz, M.; Escalona, O.; Hernández, A.; Mora, F. “A Comparative Study of Three Techniques for QRS Cancellation in the ECG". Technology and Health Care. International Journal of Health Care Engineering. Vol. 9. pp. 202 - 204. 2001. [15] Stridh, M; Sornmo, L; “Spatiotemporal QRST Cancellation Techniques for análisis of atrial fibrillation: Methods and performance”. Computers in cardiology. Vol. 25. pp 633-636. 1998. [16] Giraldo, BF; Ferre, C; Laguna, P; Jane, R; Martin, M; Caminal, P. “Validation of algorithm for atrial fibrillation and flutter diagnosis”. Computers in cardiology. Vol 24. pp 485-488. 1997. [17] Cerutti, S; Mainardi, LT; Porta, A; Bianchi, AM. “Analisys of the dynamics of RR interval series for the detection of atrial fibrillation episodes”. Computers in cardiology. Vol 24. pp 77-80. 1997. [18] J. Díaz, C. González, O. Escalona. “Un enfoque no lineal de la variabilidad del ritmo cardíaco del ECG con fibrilación auricular”. II Congreso Colombiano de Bioingeniería e Ingeniería Biomédica. Avances en Cardiología N.143. 2005. [19] I. Christov, G. Bortolan, I. Daskalov. “Sequential Analysis for Automatic Detection of Atrial Fibrillation and Flutter”. Computers in Cardiology N° 26. pp. 699-702. 2001 [20] CA. Ramirez-Rodriguez, MA Hernandez-Silveira. “ Multi-Thread Implementation of a Fuzzy Neural Network for Automatic ECG Arriythmia Detection”. Computers in Cardiology. N° 28. pp 297-300. 2001. [21] K. Tateno, L. Glass,. “A method for detection of atrial fibrillation using RR intervals”. Computers in cardiology. N.27, pp 391-394. 2000. [22] M. Restivo, N. El-Sherif, G.J. Kelen, R. Henkin, W. Craelius, and W.B Gough. “Correlation of the late potentials on the body surface and ventricular activation maps of reentrant circuits in the post-infarction dog heart”. Circulation, vol 72, supl. III, pag 11. 1985. [23] D. Engel, J. Silny, G. Rau, M. Rubart and P. Hanrath. “Diagnosis of ischemia by continuous ECG Monitoring”. Computers in Cardiology, pp. 275-278. 1990. [24] W. Craelius, M. Restivo, M.A. Assadi, and N. El Sherif, “Criteria for optimal averaging of cardiac signals”. IEEE Transactions on Biomedical Engineering. Vol. BME-33, n. 10, pp. 957-966, 1986. 66 [25] G. M. Friesen, T. C. Jannett, N. A. Jadallah, S. L. Yates, S.R. Quint, and H.T. Nagle, “A comparison of the noise sensitivity of nine QRS detection algorithms”, IEEE Transactions on Biomedical Engineering, vol. BME-37, n. 1, pags 85-98. 1990. [26] La sensibilidad y especificidad: entendiendo su Orión y utilidad real. Rincón Epidemiologico. http://scielo-co.bvs.br/pdf/rcg/v18n3/v18n3a12.pdf. 67 ANEXOS 68 PROGRAMA EN MATLAB DEL ALGORITMO DETECTOR DE AF PATH= 'd:\Paciente2'; % path, where data are saved HEADERFILE= '04043.hea'; % header-file in text format ATRFILE= '04043.atr'; % attributes-file in binary format DATAFILE='04043.dat'; % data-file deriv = 1; % Canal del ECG a leer comienzo = 0; %comienzo del bloque a estudiar en segundos final = 3600; %final del bloque a estudiar en segundos %-----------------------------RUTINA DE CARGA DEL ARCHIVO DE CABECERA-----------------------fprintf(1,'\\n$> WORKING ON %s ...\n', HEADERFILE); signalh= fullfile(PATH, HEADERFILE); fid1=fopen(signalh,'r'); z= fgetl(fid1); A= sscanf(z, '%*s %d %d %d',[1,3]); nosig= A(1); % number of signals sfreq=A(2); % sample rate of data clear A; for k=1:nosig z= fgetl(fid1); A= sscanf(z, '%*s %d %d %d %d %d',[1,5]); dformat(k)= A(1); % format; here only 212 is allowed gain(k)= A(2); % number of integers per mV bitres(k)= A(3); % bitresolution zerovalue(k)= A(4); % integer value of ECG zero point firstvalue(k)= A(5); % first integer value of signal (to test for errors) end; fclose(fid1); clear A; SAMPLES2READ=(final-comienzo)*sfreq; start = (comienzo*sfreq); % number of samples to be read %--------RUTINA DE CARGA DEL ARCHIVO DE DATOS DEL ECG DIGITALIZADO---------% Esta rutina lee el archivo .dat donde se encuentra almacenado el ECG en % forma binaria en formato 212 y lo almacena en la matri M if dformat~= [212,212], error('this script does not apply binary formats different to 212.'); end; signald= fullfile(PATH, DATAFILE); % data in format 212 fid2=fopen(signald,'r'); fseek(fid2, 3*(start), 'bof'); A= fread(fid2, [3, SAMPLES2READ], 'uint8')'; % matrix with 3 rows, each 8 bits long, = 2*12bit fclose(fid2); M2H= bitshift(A(:,2), -4); M1H= bitand(A(:,2), 15); PRL=bitshift(bitand(A(:,2),8),9); % sign-bit PRR=bitshift(bitand(A(:,2),128),5); % sign-bit 69 M( : , 1)= bitshift(M1H,8)+ A(:,1)-PRL; M( : , 2)= bitshift(M2H,8)+ A(:,3)-PRR; M( : , 1)= (M( : , 1)- zerovalue(1))/200; %gain(1); M( : , 2)= (M( : , 2)- zerovalue(2))/200; %gain(2); %TIME=(0:(SAMPLES2READ-1))/sfreq; TIME=(comienzo*sfreq:(final*sfreq)-1); matriz = A; clear A M1H M2H PRR PRL; fprintf(1,'\\n$> LOADING DATA FINISHED \n'); %--------------------- RUTINA DE CARGA DEL ARCHIVO DE ANOTACIONES -------------------atrd= fullfile(PATH, ATRFILE); % attribute file with annotation data fid3=fopen(atrd,'r'); A= fread(fid3, [2, inf], 'uint8')'; fclose(fid3); ATRTIME=[]; ANNOT=[]; sa=size(A); saa=sa(1); i=1; while i<=saa annoth=bitshift(A(i,2),-2); if annoth==59 ANNOT=[ANNOT;bitshift(A(i+3,2),-2)]; ATRTIME=[ATRTIME;A(i+2,1)+bitshift(A(i+2,2),8)+... bitshift(A(i+1,1),16)+bitshift(A(i+1,2),24)]; i=i+3; elseif annoth==60 % nothing to do! elseif annoth==61 % nothing to do! elseif annoth==62 % nothing to do! elseif annoth==63 hilfe=bitshift(bitand(A(i,2),3),8)+A(i,1); hilfe=hilfe+mod(hilfe,2); i=i+hilfe/2; else ATRTIME=[ATRTIME;bitshift(bitand(A(i,2),3),8)+A(i,1)]; ANNOT=[ANNOT;bitshift(A(i,2),-2)]; end; i=i+1; end; ANNOT(length(ANNOT))=[]; ATRTIME(length(ATRTIME))=[]; clear A; ATRTIME= (cumsum(ATRTIME))/sfreq; ind= find(ATRTIME <= TIME(end)); ATRTIMED= ATRTIME(ind)/60; ANNOT=round(ANNOT); ANNOTD= ANNOT(ind); 70 %-----------------------------------------FILTRADO DE LA SENAL----------------------------------------------% Rutina que aplica un fitro Butterworth de orden pasabanda 3-30Hz al % bloque de senal en estudio tic; cut_low = 3; cut_high = 30; [B,A] = butter(4,cut_low/(sfreq/2),'high'); Y =filter(B,A,M(:,deriv)); [B,A] = butter(4,cut_high/(sfreq/2),'low'); Yf = filter(B,A,Y); %-------------------------DETECCION DE QRS USANDO UMBRAL ADAPTABLE----------------------%Rutina donde la senal de ECG se le aplica la primera derivada, luego valor %absoluto y por ultimo se deteca QRS mediante umbral adaptable umbral = 0.6; %en porcentaje ventana_qrs = 0.2; %en segundos ventana_qrs = ventana_qrs * sfreq; indice = 1; t1=TIME'; absder = abs(diff(Yf)./diff(t1)); i=100; th1(1:i-1)= 0.3; %ojo u=max(absder(1:i)); %examina 100 muestras (0,4 seg) de la señal u1=u; c(1:i)=0; while i<=length(absder); j=0; un=(u+u1)/2; %promedio de los picos de r if absder(i)>=un*umbral; j = ventana_qrs; if i+j<=length(absder); [u1,donde]=max(absder(i:i+j)); %valor maximo dentro 0,2 seg de mustras (onde r actual) u=un; %guarda el valor del maximo r anterior prom = un * umbral; picos(:,indice) = ((donde +i)/sfreq)+comienzo; indice = indice +1; end else end i=i+j+1; end 71 %-----------------RUTINA PARA GENERAR LA SERIE TEMPORAL DE TRAMOS RR---------------- indice = 1; for i=2:length(picos); if ((picos(:,i) - picos(:,i-1))<2) & ((picos(:,i) - picos(:,i-1))> 0.1); RR(:,indice) = picos(:,i) - picos(:,i-1); tiempo(:,indice) = picos(:,i); indice = indice +1; end end %--------------------------PLOTEO DE LA SERIE TEMPORAL DE TRAMOR RR-------------------------- figure(1) scatter(1:length(RR),RR,3,'filled');string=['Tramos RR vs Tiempo ',DATAFILE, ' MIT AF Database']; ylabel('Intervalo RR en Segundos'); grid on; %----------------------------------------------DETECCION DE AF---------------------------------------------------ventana_h_primaria = 34; %Tramos RR a analizar (35 Latidos - 1) ventana_v_primaria = 0.15; ventana_v_secundaria = 0.1; paso_ventana_v_secundaria = 0.01; %----------------------------------- TEST DE DISPERSION DE TRAMOS RR---------------------------------for i = 1:length(RR)-ventana_h_primaria curva(i)=0; af1(i)=0; maximo = max(RR(i:i+ventana_h_primaria)); minimo = min(RR(i:i+ventana_h_primaria)); if maximo - minimo > 0.15 counter = 0; for j = i:i + ventana_h_primaria - 1 if abs(RR(:,j+1) - RR(:,j)) >= 0.05 counter = counter + 1; end end curva(i)=counter; if counter >= 10 af1(i) = 1; else af1(i) = 0; end end end 72 %-------------------------------------------- TEST DE ARRITMIAS----------------------------------------------for i = 1:length(RR)-ventana_h_primaria maximo = max(RR(i:i+ventana_h_primaria)); minimo = min(RR(i:i+ventana_h_primaria)); if maximo - minimo > 0.15 for k = minimo : paso_ventana_v_secundaria : minimo + ventana_v_primaria - ventana_v_secundaria vent_v_sec_minimo = k; vent_v_sec_maximo = k + ventana_v_secundaria; counter = 0; for h = i:i+ventana_h_primaria temp = RR(:,h); if RR(:,h) >= vent_v_sec_minimo & RR(:,h) < vent_v_sec_maximo; counter = counter + 1; else; end end if counter == 0 ; af2(i) = 0 ;break; else; af2(i)=1 ;end; end else af2(i) = 0; end end af = and(af1,af2); %MATRIZ FINAL fprintf(1,'End...!!!'); 73