You are on page 1of 18

Universidad de Concepcin Facultad de Ingeniera Departamento de Ingeniera Elctrica PYT !

" Cientfico

Informe final: Diseo e implementacin de una interfaz de visualizacin de ECG

Docente: Pamela #uevara Ayudante: Enri$ue #erman% Estudiantes: &anet' (aines )* C'ristop'er Flores &* Fecha: +,-./-0.+1

PYT !" Cientfico

INT !D"CCI#N

(a monitori2acin de las se3ales elctricas del cora2n4 es mu% utili2ado en la medicina para anali2ar % diagnosticar diferentes patologas asociadas al mal funcionamiento de ste* (a se3al de electrocardiograma 5EC#64 est7 compuesta por una onda P4 el comple8o 9):4 la onda T % la onda U4 tal como se muestra en la siguiente figura*

Fi$ura %& 'eal ECG Cada parte de esta se3al es el significado de alg;n evento $ue ocurre en el cora2n* (a forma en $ue se tra2a el electrocardiograma depende de las posiciones en las $ue se encuentren los electrodos en el momento de la ad$uisicin %a $ue a estas <derivaciones= se refiere >7sicamente a las diferencias en los volta8es entre los electrodos4 es por ellos $ue e?isten +0 derivaciones4 de las cuales las @ derivaciones son AprecordialesA 5B+4 B04 B14 BC4 BD % B@6 se sit;an en la cara anterior del tra?E las otras @ son las derivaciones Ade los miem>rosA4 % se colocan en las e?tremidades 5aB)4 aB(4 aBF4 I4 II4 III6* (a captacin de la se3al de EC# se reali2a gracias a las diferencia de potencial $ue produce el cora2n4 a travs de electrodos se captan estas se3ales elctricas % mediante un circuito de ad$uisicin la se3al es filtrada4 para eliminar todo el ruido e?istente en ella4 para luego reali2ar una conversin an7logoFdigital* G continuacin podemos tener dos forma de visuali2acin4 se puede reali2ar de forma de monitoreo4 para ver los cam>ios $ue ocurren en el momento % el otro modo es un para el diagnstico4 el cual se reali2a un ad$uisicin de la se3al de forma continuada4 la informacin es almacenada4 para reali2ar posteriormente una evaluacin al paciente*

PYT !" Cientfico Pro>lem7tica (a tendencia es la informati2acin de los datos de los pacientes en los centros de salud* Es ra2n por la $ue disponer de un sistema de monitori2acin % an7lisis de se3ales de EC# de >a8o costo % de cdigo li>re $ue genere fic'as clnicas digitales4 reducira los tiempos de espera de los resultados4 al estar disponi>les en la He> 5Gcceso remoto6

!>8etivos % Glcances FDise3ar e implementar una interfa2 de visuali2acin de los datos o>tenidos de un sistema olter de EC# o en tiempo real4 para el c7lculo de frecuencia cardiaca % deteccin de arritmias 5Iradicardia % ta$uicardia6

!>8etivos especficos F (a interfa2 dispone de 0 modos: olter 5:e3ales de EC# almacenadas en arc'ivo de te?to6 % Jonitor 5Bisuali2acin en tiempo real una se3al de EC#6 F (a frecuencia cardiaca de>e ser o>tenida mediante deteccin de onda ) del EC# F (a interfa2 de>e reali2ar un respaldo de la informacin del paciente 5Datos personales64 as como el tiempo de ocurrencia de las anomalas 5Iradicardia % ta$uicardia6 F :e podr7 a8ustar el intervalo de visuali2acin4 para la correcta deteccin de la arritmia Glcances: F G cada se3al de EC# o>tenida del olter de EC# 5arc'ivos t?t6 se proceder7 a detectar el comple8o 9):4 guardando la posicin de la onda ) para el c7lculo de la frecuencia cardiaca 5Ecuacin +6*

PYT !" Cientfico F El programa permitir7 la seleccin de intervalos de tiempo especficos para el estudio de arritmias 5Intervalo de visuali2acin6 F (a visuali2acin en tiempo real de la se3al de EC# se reali2ar7 mediante la lectura del puerto serie* :u visuali2acin inclu%e un modo gr7fico 5:e3al en el tiempo6 % el valor en ese instante* Gl detectar una anomala se de>e emitir una alarma sonora* (a informacin ser7 almacenada en un arc'ivo t?t* F El programa almacenar7 informacin del paciente 5Datos personales6 % las o>servaciones del profesional para luego ser enviados a una >ase de datos 5J%:9(6

PYT !" Cientfico '!("CI#N ) !)"E'TA El softHare permitir7 el an7lisis de se3ales de EC# %a sea de arc'ivos almacenados o de un sistema de monitori2acin4 calculando en am>os casos la frecuencia cardiaca* En primer lugar4 se crea una fic'a con datos del paciente* Posterior a eso se reali2an los an7lisis respectivos en am>os modos4 donde el especialista puede reali2ar o>servaciones* (a sesin finali2a al enviar la informacin respectiva a una >ase de datos* En esta seccin4 el programa permite consultar por informacin de pacientes4 %a $ue se tiene un registro en un servidor He>4 as como eliminar informacin* El programa tiene la opcin de generar reportes seg;n corresponda* En caso del modo monitor4 al finali2ar la visuali2acin de los datos4 stos pueden ser anali2ados en modo olter :e muestra a continuacin un diagrama de funcionamiento del softHare Iuscar Jonitor olter Gn7lisis EC# Frecuencia

"uevo paciente

Iase de datos

Eliminar )eporte Fi$ura *& Es+uema de funcionamiento

PYT !" Cientfico ,ET!D!(!G-A Es$uema de partes del softHare

El sistema consta principalmente de una etapa de ad$uisicin de los datos %a sea por puerto serial o desde arc'ivos de te?to % los algoritmos de frecuencia cardiaca $ue se ver7n refle8ados en la interfa2 gr7fica $ue fue lo primero $ue se dise3* En funcin de este ;ltimo se programaron las funciones4 de acuerdo a los >otones4 editores de te?to o >arra de men;* Es en la interfa2 gr7fica donde el usuario puede verificar el estado del programa4 seg;n los mensa8es emergentes % las alarmas* Una etapa fundamental es el respaldo de informacin en la >ase de datos4 para la generacin de reportes* Gd$uisicin

Timer

t?t

:erial

olter Glgoritmos de frecuencia

Jonitor

Glarmas

Interfa2 #r7fica

Jensa8es emergentes

Iase de datos

Fi$ura .& )artes del soft/are

PYT !" Cientfico Implementacin Al$oritmos de frecuencia0 Para potenciar la onda ) del comple8o 9): se procedi a procesar la se3al de EC#4 utili2ando la transformada el largo4 descrita en la ecuacin 0 % la li>rera math para tal propsito* :e calcula>a un um>ral e$uivalente al ,.K del valor m7?imo de las muestras4 utili2ando la li>rera numpy4 previa conversin de la lista a un arreglo* (a regla de decisin para la deteccin de un peaL % por ende el tiempo de ocurrencia4 o>edeca al cumplimiento de dos condiciones: +* Balor de la muestra ma%or a um>ral 0* Balor de la muestra ma%or al anterior % al siguiente

Una ve2 detectados dos peaLs de EC#4 se procedi a utili2ar la ecuacin + para el c7lculo de la frecuencia en latidos por minuto % almacenar dic'os valores en una lista* El vector de frecuencia cardiaca es utili2ado para el c7lculo de porcenta8es de clasificacin del ritmo cardiaco en modo olter4 para ser desplegado en las o>servaciones* En el caso del modo Jonitor4 se procede a tomar las ;ltimas D.. muestras ad$uiridas % el vector de frecuencias generado es promediado para una correcta visuali2acin del c7lculo o>tenido

Alarmas0 Para disminuir la carga de tra>a8o del ordenador4 se procedi a utili2ar <'ilos= para la generacin de alarmas4 mediante la li>rera thread. Este aspecto solucion el pro>lema de pausas de la se3al visuali2ada en modo monitor* Para la generacin de sonidos propiamente tal4 se utili2 la li>rera mp3play % su reproduccin en arritmias4 o>edeca a la clasificacin del ritmo cardiaco seg;n: FIradicardia: Jenor a @. (atidos-Jinuto F:inusal: Entre @. % +.. (atidos-Jinuto FTa$uicardia: Ja%or a +.. (atidos-Jinuto

PYT !" Cientfico ,ensa1es emer$entes0 :e import la li>rera H?* :e utili2aron dos tipos de mensa8es: !peracin efectuada en forma satisfactoria % mensa8es de error* Este ;ltimo aspecto considera>a la no presencia del microcontrolador4 la eliminacin o >;s$ueda de pacientes no incorporados al sistema o fallas en la cone?in al servidor J%:9(

Comunicacin serial :e utili2 la li>rera serial para la recepcin de los datos digitales emitidos por un microcontrolador* (os datos reci>idos de>an ser convertidos a entero4 pues se envia>an como tipo string* :e procedi a configurar el puerto a una tasa de +M0.. >audios4 de igual forma $ue el microcontrolador* En primera instancia4 la lectura del puerto serie se reali2a>a mediante un >ucle H'ile4 lo $ue enlenteca el softHare* Para corregir dic'o pro>lema se utili2 un timer configurado a D NmsO para la recepcin de los datos* (a visuali2acin de los datos se o>tiene almacenando en una lista 5>uffer6 D.. muestras de los datos ledos* (a actuali2acin de los datos se o>tiene modificando dic'o >uffer4 conforme se incrementa el ndice del mismo en cada D NmsO4 seg;n el timer

2entanas de di3lo$o :e procedi a importar una li>rera especiali2ada en el tra>a8o de ventanas de di7logo como es Tkinter. En ella se dise3aron los formularios de creacin de nuevos pacientes4 el envo de los datos a un osting4 >;s$ueda % eliminacin de los datos de los pacientes4 as como la configuracin de la >ase de datos 5 ost4 User4 PassHord4 Data>ase6*

Data4ase (os datos del mdico % del paciente4 as como las o>servaciones reali2adas en cada sesin son enviados a una >ase de datos4 para futuras consultas* Para tal propsito se import la li>rera MySQLdb* Para la cone?in con el servidor se re$ueran cuatro par7metros $ue fueron o>tenidos de un osting gratuito: ost4 User4 PassHord % Data>ase* Para el almacenamiento de los datos enviados desde el softHare se de>i crear una ta>la en el servidor4 utili2ando la 'erramienta

PYT !" Cientfico P'pJ%Gdmin* En caso de ser necesario4 el programa ofrece la opcin de cam>iar el login4 cu%a configuracin ser7 almacenada % leda desde un t?t cada ve2 $ue se enve un nuevo dato de pacientes* (a li>rera datetime por su parte4 fue utili2ada para el envo de le fec'a del procedimiento*

Interfaz $r3fica El entorno gr7fico del softHare se reali2 en 9T Designer4 donde se a3adan los elementos $ue interaccionan con el usuario4 como son los >otones4 >arra de 'erramientas4 editores de te?to4 eti$uetas % ventana principal* Cada elemento posee un nom>re % su utili2acin o>edeca a la asignacin de funciones4 seg;n un clicL o cam>io de valor* :e utili2aron dos ventanas: Bisuali2acin de la onda de EC# % frecuencia cardiaca* En am>os casos4 era posi>le activar una grilla4 esta>lecer ttulos4 eti$uetas % valores mnimos % m7?imos a los e8es4 colores4 entre otros aspectos*

E'"(TAD!'

PYT !" Cientfico

:e muestra a continuacin la interfa2 gr7fica del softHare


Jen; de 'erramientas Jodo

#uardar Bisuali2acin de EC# Frecuencia cardiaca

Tiempo de arritmias Bisuali2acin de Frecuencia cardiaca !>servaciones

Fi$ura 5& Es+uema de la interfaz $r3fica

E8emplos de uso

(a sesin comien2a seleccionando el modo de uso: olter o Jonitor* Posteriormente4 se de>e ingresar un nuevo paciente desde el men; de 'erramientas4 opcin File->New patient4 o simplemente presionando ctrl+N para el despliegue del formulario* Gl rellenar todos los 7m>itos % presionar Sa e se despliega un mensa8e confirmando el ingreso

PYT !" Cientfico

Fi$ura 6& In$reso de nuevo paciente

Para el caso del modo olter se de>e cargar el arc'ivo de te?to a anali2ar presionando en el >otn L!ad en la seccin correspondiente

Fi$ura 7& 'eccin ,odo 8olter

PYT !" Cientfico Efectuada lo anterior se despliega un >uscador de arc'ivos para seleccionar el fic'ero correspondiente* Gl presionar "l!t se despliega en las dos ventanas de visuali2acin4 la se3al de EC# % la frecuencia cardiaca en el tiempo4 respectivamente*

Fi$ura 9& Desplie$ue $r3fico ,odo 8olter

En ventana de te?to #rrhythmia$ al graficar am>as se3ales4 se despliegan dos listas de tiempo de inicio de las >radicardias % ta$uicardias4 para poder a8ustar la gr7fica en el tiempo estimado* Del mismo modo4 en la ventana de te?to %bser ati!ns se indica el porcenta8e de clasificacin del ritmo cardiaco* En esta seccin el usuario puede efectuar o>servaciones pertinentes al caso* Por su parte4 el modo monitor4 despliega la se3al ad$uirida por puerto serie % calcula la frecuencia cardiaca* Dependiendo de dic'o4 se emiten un sonido de alerta en caso de arritmia 5Iradicardia % ta$uicardia6

PYT !" Cientfico

Fi$ura :& 2isualizacin modo ,onitor

Gl finali2ar la sesin4 mediante el >otn Sa e se guarda toda la informacin desplegada en pantalla4 para su uso en modo olter En am>os modalidades de uso4 las ventanas se pueden limpiar mediante el >otn &lear % activar la grilla4 mediante el >otn 'rid En el men; de 'erramientas4 opcin (atabase->T!!ls se despliega un formulario $ue muestra la informacin ingresada* Gl presionar Send se enva dic'a informacin al servidor4 confirm7ndose en un mensa8e emergente

PYT !" Cientfico

Fi$ura ;& Informacin enviada al servidor

(a informacin se almacena en un osting % puede ser administrada mediante p'pJ%Gdmin* :e muestra a continuacin la informacin ingresada

PYT !" Cientfico Fi$ura %<& php,yAdmin El formulario adem7s posee dos pesta3as adicionales: (a segunda permite >uscar o eliminar4 seg;n un n;mero identificador 5Pnico6 informacin de un paciente* En caso de encontrar a un paciente4 se despliega un documento de te?to con la informacin ingresada*

Fi$ura %%&

eporte o4tenido de 4ase de datos

Finalmente en la tercera pesta3a4 se despliega la configuracin de la >ase de datos4 la $ue puede ser modificada % almacenada en un documento de te?to

Fi$ura %*& Confi$uracin de 4ase de datos

PYT !" Cientfico

Evaluacin del softHare

Funcionamiento: El softHare cumple las e?pectativas de funcionamiento planteadas en un principio* :in em>argo4 condiciones e?ternas como el circuito de ad$uisicin de se3al de EC# 5Puerto serie o arc'ivo de te?to6 % la disponi>ilidad del osting He> pueden alterar el normal funcionamiento* Para ello se 'an programado diversos mensa8es de alerta $ue informen al usuario tales casos endimiento: (a rapide2 de procesamiento es directamente proporcional a la comple8idad de los datos* El c7lculo de la frecuencia cardiaca puede verse alterada si los datos no son muestreados correctamente o si se infiltran datos errneos 5ruido64 lo $ue puede llevar a una continua emisin de alertas* En el caso del modo olter4 los procesamientos de los arc'ivos de te?to4 dependen del tama3o % codificacin en $ue fueron almacenados4 siendo el modo >inario el $ue presenta me8ores prestaciones* Cumplimiento de o41etivos=alcances0 (os o>8etivos planteados en un principio se cumplieron con creces4 incorporando incluso nuevas utilidades para el usuario como: FPorcenta8e de duracin de ritmo cardiaco $ue permitir7 al usuario estimar la verdadera significancia de las arritmias F#eneracin de reportes en arc'ivo de te?to $ue permitir7 imprimir la sesin actual o informacin de la >ase de datos Cam4ios=,e1oras realizadas F:e incorpor la utili2acin de 'ilos para la reproduccin de las alertas4 pues estas generan un dela% al finali2ar su uso en modo olter* FCam>io del sistema de almacenamiento de arc'ivos te?to de ascii a >inario FPara el c7lculo de la frecuencia cardiaca en modo olter4 se procedi a promediar los valores de frecuencia para disminuir los errores

PYT !" Cientfico F:e incorporaron mensa8es emergentes informativos para situar al usuario en un determinado conte?to DI'C"'I#N > C!NC("'I#N

Discusin so>re tra>a8o % resultados

(a falta de la informati2acin de los datos en los servicios de salud de nuestro pas puede traer prdidas irrecupera>les en el formato tradicional* Fundamental es reali2ar respaldos de los datos de los pacientes % capacitar al personal en dic'as la>ores* (a reali2acin de un softHare $ue pueda almacenar informacin de los pacientes en el momento de la ad$uisicin de un e?amen de EC# % poder almacenarlos en una >ase de datos en la He> lo 'ace indispensa>le en un mundo glo>ali2ado % con un creciente acceso a las tecnologas4 %a $ue se genera un acceso remoto4 favoreciendo la comodidad tanto del paciente como del especialista* :e fomenta el desarrollo de otras disciplinas como la Telemedicina* Conforme a los resultados4 el pro%ecto puede ser ampliado para la visuali2acin de otras se3ales fisiolgicas4 convirtiendo el softHare en un sistema Jultipar7metros de cdigo li>re*

Tra>a8os futuros4 posi>les me8oras

El softHare es dependiente del 'ardHare de ad$uisicin de EC#4 por lo $ue se tra>a8ar7 en la me8ora de este sistema4 incorporando nuevos filtros o reempla2ando los e?istentes4 adem7s de la utili2acin de otros sistemas de ma%or comple8idad como una FP#G* En cuanto al almacenamiento de la informacin4 la >ase de datos es de car7cter gratuito % si se masifica el uso del softHare se de>er7 contratar los servicios de un osting particular* Por su parte4 el cdigo4 se pueden reali2ar me8oras en cuanto al c7lculo de la frecuencia cardiaca4 utili2ando otros algoritmos como :9):4 Q9):4 los $ue varan el um>ral conforme se actuali2an los datos de la se3al de EC#* :i es necesario4 pueden incorporarse nuevos campos de informacin a los formularios para una ma%or individuali2acin del paciente*

PYT !" Cientfico