Diseño e Implementacion de Un ECG, Tensiometro Digital y Oximetro de Pulso, Con Monitoreo en Tiempo Real y Aplicaciones Web y Android
Diseño e Implementacion de Un ECG, Tensiometro Digital y Oximetro de Pulso, Con Monitoreo en Tiempo Real y Aplicaciones Web y Android
Diseño e Implementacion de Un ECG, Tensiometro Digital y Oximetro de Pulso, Con Monitoreo en Tiempo Real y Aplicaciones Web y Android
AUTORES:
FREDDY XAVIER GORDILLO PADILLA.
DIRECTOR:
LCDO. LEOPOLDO CARLOS VSQUEZ RODRGUEZ.
CUENCA, ECUADOR
2014
Gordillo Padilla ii
DEDICATORIA
en
todos
los
Xavier Gordillo P.
AGRADECIMIENTO
que
siempre
me
han
por
su
enseanzas
Xavier Gordillo P.
Gordillo Padilla iv
RESUMEN
_______________________________
________________________________
DIRECTOR DE TESIS.
DIRECTOR DE ESCUELA.
_______________________
Freddy Xavier Gordillo Padilla
AUTOR.
Gordillo Padilla v
ABSTRACT
Gordillo Padilla vi
NDICE DE CONTENIDO.
DEDICATORIA ......................................................................................................... ii
AGRADECIMIENTO .............................................................................................. iii
RESUMEN ................................................................................................................. iv
ABSTRACT ................................................................................................................ v
NDICE DE CONTENIDO. ..................................................................................... vi
NDICE DE ANEXOS ............................................................................................. x
NDICE DE FIGURAS. ......................................................................................... xii
INTRODUCCIN. .................................................................................................... 1
Electrocardigrafo. ........................................................................................ 3
1.1.1
Fisionoma. ............................................................................................. 3
1.1.2
1.1.3
1.1.4
1.1.5
Oxmetro. ..................................................................................................... 14
1.2.1
1.2.2
Tensimetro. ................................................................................................ 17
1.3.1
1.3.2
Mtodos de adquisicin........................................................................ 20
1.3.3
Electrocardiograma...................................................................................... 26
2.1.1
2.1.2
2.1.3
2.1.4
2.1.5
Acople de Seal.................................................................................... 37
2.1.6
Tensimetro. ................................................................................................ 47
2.2.1
2.2.2
2.2.3
Sensor. .................................................................................................. 48
2.2.4
Desarrollo. ............................................................................................ 49
Oxmetro. ..................................................................................................... 62
2.3.1
2.3.2
2.3.3
Desarrollo. ............................................................................................ 65
El Microcontrolador. ................................................................................... 67
ANDROID. .................................................................................................. 69
3.1.1
Caractersticas. ..................................................................................... 69
3.1.2
3.1.3
Aplicaciones. ........................................................................................ 71
3.1.4
3.1.5
3.3.2
Pantalla de Registro.............................................................................. 85
3.3.3
3.3.4
3.3.5
3.3.6
3.3.7
4.1.2
4.1.3
4.2.2
4.2.3
4.2.4
4.2.5
4.2.6
4.2.7
4.2.8
4.2.9
4.2.10
4.2.11
Gordillo Padilla ix
Pginas Web. ............................................................................................. 141
4.3.1
4.3.2
4.3.3
4.3.4
4.4.2
4.4.3
4.4.4
4.4.5
4.4.6
.
CAPTULO 5: BASE DE DATOS. ...................................................................... 150
5.1.2
5.2.2
5.2.3
Tensimetro........................................................................................ 154
Gordillo Padilla x
NDICE DE ANEXOS
Gordillo Padilla xi
ANEXO 25: Cdigo de Registro. ........................................................................ 208
ANEXO 26: Cdigo de Usuarios. ........................................................................ 210
ANEXO 27: Cdigo de Microcontrolador Arduino. ........................................... 212
NDICE DE FIGURAS.
Gordillo Padilla xv
FIGURA 84. Diagrama de flujo de la programacin de la aplicacin. ...................... 82
FIGURA 85. Bloques de evento Click del Botn Conectar. ..................................... 83
FIGURA 86. Bloques de evento GotText del componente Web. .............................. 83
FIGURA 87. Bloque del evento click en el botn Registro. ...................................... 84
FIGURA 88. Bloque del evento click en el botn atrs. ............................................ 84
FIGURA 89. Diseo de la pantalla de Registro en la seccin de App inventor parte1.
.................................................................................................................................... 86
FIGURA 90. Diseo de la pantalla de Registro en la seccin de App inventor parte2.
.................................................................................................................................... 87
FIGURA 91. Diagrama de flujo del funcionamiento de la pantalla de Registro. .... 88
FIGURA 92. Diagrama de flujo del funcionamiento de la pantalla de Registro. .... 89
FIGURA 93. Bloques de inicializacin de variables. ................................................ 90
FIGURA 94. Bloques del evento LostFocus del componente TxtNickname. ........... 90
FIGURA 95. Bloque del evento GotText del componente web SvtComUsuario...... 91
FIGURA 96. Bloque del evento LostFocus del componente TxtEmail..................... 91
FIGURA 97. Bloque del evento GotText del componente web SvtCompEmail. ...... 92
FIGURA 98. Bloque del evento LostFocus del componente TxtPass. ...................... 93
FIGURA 99. Bloque del evento Click del botn Registrar. ...................................... 94
FIGURA 100. Bloque del evento GotText del componente web SvtRegistro. ......... 95
FIGURA 101. Diseo de la pantalla RegistroImagen. ............................................... 96
FIGURA 102. Diagrama de flujo de la pantalla RegistroImagen. ............................. 97
FIGURA 103. Bloque de inicializacin de variables y pantalla. ............................... 98
FIGURA 104. Bloque de evento GotText del componente web SvtUsuario. ........... 98
FIGURA 105. Bloques de los eventos click en los botes BtnDespues Ahora No y
Atrs........................................................................................................................ 99
FIGURA 106. Bloque de evento Click del BtnImagen.............................................. 99
FIGURA 107. Diseo de la pantalla Men. ............................................................. 100
FIGURA 108. Diagrama de flujo de la pantalla Men. ........................................... 101
FIGURA 109. Bloque de Inicializacin de la pantalla Men. ................................. 102
FIGURA 110. Bloques del evento Click de los botones Atrs y Cerrar. ................. 102
FIGURA 111. Bloques del evento Click de los componentes BtnUsuarios, BtnEcg,
BtnOximetro, BtnTensiometro. ................................................................................ 103
FIGURA 112. Diseo de la pantalla ActualizarDatos. ............................................ 104
FIGURA 113. Diagrama de flujo de la pantalla ActualizarDatos. .......................... 105
Gordillo Padilla 1
Gordillo Padilla Freddy Xavier.
Trabajo de Graduacin.
Lcdo. Leopoldo Carlos Vsquez Rodrguez.
Octubre 2014.
INTRODUCCIN.
Gordillo Padilla 2
tesis no es simplemente generar este tipo de equipos, sino optimizar, mejorar,
enriquecer, y en general, dotar a dichos equipos ya existentes de cualidades altamente
tiles, como lo son servicios de consulta web en tiempo de real, registro de usuarios e
informacin de usuarios, almacenamiento de informacin en base de datos para
consulta, y dems servicios que tienen que ver con programacin web y bases de datos,
obviamente dando por sentado ya contar con un equipo electrocardiogrfico,
oximtrico, y tensiomtrico que generen mediciones con un margen de error mnimo.
Todas estas caractersticas ya mencionadas dotan a los equipos electromdicos de
cualidades ventajas extremadamente tiles, tales como:
-
Una vez expuesto lo anterior, es obvia la justificacin del presente tema, mismo que
se pasa a exponer a continuacin.
Gordillo Padilla 3
1
CAPTULO 1
MARCO TERICO.
Electrocardigrafo.
Fisionoma.
El corazn humano, y de los mamferos en general posee cuatro cavidades que son:
-
Aurcula Derecha.
Aurcula Izquierda.
Ventrculo Derecho.
Ventrculo Izquierdo.
Las paredes de estas cuatro cavidades estn formadas por clulas elctricamente
excitables conocidas como clulas musculares cardiacas.
Se puede dividir al corazn en dos mitades bien diferenciadas con una cavidad
auricular y ventricular en cada mitad, cabe resaltar que existe comunicacin entre
aurcula y ventrculo dentro de cada mitad pero no existe comunicacin entre las dos
mitades (FIGURA 1).
La labor que efecta el corazn es semejante a la de una bomba hidrulica, una en cada
mitad. La mitad derecha recibe sangre venosa con predominio de Dixido de Carbono
en ella (CO2), y la bombea a travs de una contraccin hacia los pulmones para ser
purificada, por otro lado, en la mitad izquierda se recibe la sangre arterial abundante
en Oxigeno (O2) proveniente de los pulmones y la bombea a todo el organismo con
Gordillo Padilla 4
una contraccin final a travs de la arteria aorta (Toloza, http://www.dalcame.com/,
2005).
FIGURA 1. Fisionoma del corazn.
El ndulo sinoauricular o de Keith y Flack (nodo SA) es una de las estructuras donde
se origina el impulso elctrico que da origen a un latido cardaco.
1.1.1.3 Potenciales de accin de las Clulas Cardacas.
Gordillo Padilla 5
redondeada, con una duracin mxima de 0.10s (2.5mm) y un voltaje de 0.25 mV (2.5
mm). Es positiva en todas las derivaciones salvo en la VR del plano frontal que es
negativa, y en la derivacin V1 del plano horizontal (FIGURA 3).
Onda Q: La deflexin negativa inicial resultante de la despolarizacin ventricular, que
precede una onda R (FIGURA 4). La duracin de la onda Q es de 0,010 a 0,020
segundos. Normalmente no supera los 0,30 segundos.
Onda R: La primera deflexin positiva (FIGURA 3).
Onda S: La segunda deflexin negativa (FIGURA 3).
Onda T: Es la deflexin lenta producida por la repolarizacin ventricular (FIGURA
3).
Gordillo Padilla 6
Onda U: Es una onda generalmente positiva que sigue inmediatamente a la onda T
(FIGURA 3).
Intervalo R-R: Es la extensin existente entre dos ondas RR sucesivas. (FIGURA 4).
Intervalo P-P: Es la extensin existente entre dos ondas P sucesivas. (FIGURA 4).
Intervalo P-R: Es la extensin existente desde el inicio de la onda P hasta el inicio de
la onda Q o de la onda R. Posee una extensin aproximada entre 0.12 y 0.20
segundos. (FIGURA 4).
Intervalo QRS: Tiempo total de despolarizacin ventricular. Se mide desde el
comienzo de la onda Q o R hasta el final de la onda S. Los valores normales fluctan
entre 0.06 y 0.10segundos. (FIGURA 4).
Intervalo Q-T: Se extiende desde el comienzo del complejo QRS hasta el final de la
onda T, representa la sstole elctrica ventricular. (FIGURA 4).
Segmento S-T: Es un periodo de inactividad que va desde el final del complejo QRS
hasta el comienzo de la onda T y separa la despolarizacin ventricular de la
repolarizacin ventricular. (FIGURA 4).
FIGURA 3. Forma de Onda del Electrocardiograma.
Gordillo Padilla 7
FIGURA 4. Onda del ECG tpica.
Bioelectrodos (Sensor).
Gordillo Padilla 8
1.1.3.1 Electrodos de Plata o Cloruro de Plata (Ag/AgCl)
Los electrodos que se usaran en el proceso, bsicamente consisten en un conductor
metlico en contacto con la piel a travs de una pasta electroltica colocada en la
dermis del paciente que tiene como propsito establecer y mantener el contacto
(FIGURA 5). Tradicionalmente el electrodo se hace de una aleacin plata-nquel
(Toloza, http://www.dalcame.com/, 2005). El objetivo de los electrodos obviamente
consiste en recoger la seal de la superficie cutnea.
FIGURA 5. Electrodos de Ag/AgCl.
Impedancia inferior a 2 k.
1.1.4
Gordillo Padilla 9
Posicin
Color
Electrodos
Mano derecha
Pie derecho
Mano izquierda
Pie izquierdo
V1
V2
V3
V4
V5
V6
1.1.5
2005).
Dicho
de
otra
forma,
las
derivaciones
Gordillo Padilla 10
-
Tipo
Clculos
Extremidad
LA RA
II
Extremidad
LL RA
III
Extremidad
LL LA
aVR
Aumentada
RA (LA+LL)/2
aVL
Aumentada
LA (RA+LL)/2
aVF
Aumentada
LL (RA + LA)/2
V1
Precordial
V1-(RA+LA+LL)/3
V2
Precordial
V2-(RA+LA+LL)/3
V3
Precordial
V3-(RA+LA+LL)/3
V4
Precordial
V4-(RA+LA+LL)/3
V5
Precordial
V5-(RA+LA+LL)/3
V6
Precordial
V6-(RA+LA+LL)/3
Gordillo Padilla 11
FIGURA 6. Triangulo de Eithoven.
Gordillo Padilla 12
diferencias de potencial entre los electrodos, y de esta manera, podra describirse
acertadamente la actividad elctrica del musculo cardiaco en un plano paralelo a la
superficie frontal del cuerpo. (FIGURA 8.) (Toloza, http://www.dalcame.com/, 2005).
FIGURA 8. Asignacin de Polaridad y derivaciones en triangulo de Eithoven de
acuerdo al comportamiento elctrico del corazn.
DI = LA RA (FIGURA 9).
DII = LL - RA (FIGURA 10).
DIII = LL- LA (FIGURA 11).
Gordillo Padilla 13
FIGURA 9. Derivacin I.
Gordillo Padilla 14
Oxmetro.
1.2.1
Conceptos Generales
1.2.1.1 Hemoglobina.
Es una protena soluble (globulina) presente en la sangre constituyendo
aproximadamente un 35% de su peso. Es la encargada de transportar el oxgeno desde
los rganos respiratorios hasta los tejidos, junto con las cadenas de protenas que la
conforman (grupo hemo), posee un ion de hierro (Fe) lo que permite unir de forma
reversible molculas de oxgeno (Brandan, 2008).
Eventualmente pueden presentarse en la sangre concentraciones anormales y
perjudiciales de hemoglobina (Brandan, 2008), lo que caracterizan diversas patologas
relacionadas con la sangre tales como
-
Carboxihemoglobina (HbCO)
Metahemoglobina (MetHb)
Hemoglobina total
1.2.1.2 Oximetra.
En general podemos definir a la oximetra como la medicin del oxgeno (O2) en la
sangre, concretamente, la cantidad de oxigeno presente en la hemoglobina sangunea
(oxihemoglobina HbO2) que circula a travs de los vasos sanguneos, y, a su vez,
comparndola con un valor referencial llamado valor de Saturacin parcial de Oxigeno
(SpO2), que es inversamente proporcional al valor total de la hemoglobina presente
(SYLVIA PALACIOS M., 2010), lo que expresado matemticamente vendra siendo:
SaO2 = Concentracin de oxihemoglobina (HbO2)/Concentracin total de
hemoglobina.
Gordillo Padilla 15
1.2.2
Oximetra de Pulso.
1.2.2.1 Mtodo.
Un oxmetro de pulso es un equipo electromdico capaz de medir la saturacin de
oxigeno (SpO2) en la sangre a travs de un mtodo no invasivo, a diferencia de la
oximetra de tipo fibrptica donde se introduce un catter en el paciente; a su vez, el
oxmetro de pulso brinda resultados relativamente instantneos por lo que se considera
una tcnica de monitoreo en tiempo real (SYLVIA PALACIOS M., 2010).
1.2.2.2 Fundamento terico.
Las tcnicas de oximetra de pulso se basan principalmente en conceptos relacionados
con espectrofotometra, concretamente la ley de Berrlamber (FIGURA 12), cuyo
enunciado textualmente dice La intensidad luminosa que se absorba al pasar por una
solucin es proporcional a la concentracin de la molcula en dicha solucin
(Kubota., 2009). En otras palabras, la intensidad de luz que atraviesa un cuerpo es
inversamente proporcional a la concentracin molecular de dicho cuerpo, que
expresado matemticamente vendra siendo:
0 = 1
En donde:
Io = Intensidad de luz incidente.
1 = Intensidad de luz que atraviesa el cuerpo
l =distancia de la luz que atraviesa por el cuerpo
c = concentracin
= coeficiente de absorcin
Gordillo Padilla 16
FIGURA 12. Ilustracin del teorema de Beer Lambert.
Gordillo Padilla 17
FIGURA 13. Pulsioxmetro de dedo.
1.3.1
Presin Arterial
Tambin llamada tensin arterial es la presin que el caudal sanguneo ejerce contra
las paredes de las arterias por donde se transporta la sangre, haciendo posible la
circulacin sangunea como tal. La presin arterial es indispensable para que los
diferentes rganos del cuerpo reciban nutrientes y oxgeno (Pasquier, 2013).
La tensin arterial est compuesta de dos valores originados en los latidos cardiacos y
son los siguientes:
-
Gordillo Padilla 18
-
A su vez, existen otros factores indirectos que inciden en los valores de tensin arterial
tales como:
-
Gordillo Padilla 19
1.3.1.2 Patologas Relacionadas
1.3.1.2.1.1 Hipertensin.
La hipertensin arterial es producida por una elevacin anormal de
la presin
sangunea en las arterias. Puesto que los problemas relacionados con la presin arterial
no presentan sntomas, las consecuencias de la hipertensin suceden al cabo de cierto
tiempo ocasionando daos en sus rganos internos e incluso la muerte.
Existen dos tipos principales de hipertensin: Primaria y secundaria
La hipertensin primaria o esencial se origina a raz de problemas en el organismo y/o
desequilibrios electrolticos, as como tambin puede ser consecuencia del sobrepeso,
elevado consumo de sodio, alcohol o tabaco.
La hipertensin secundaria puede ser el resultado de diversas enfermedades y
afecciones, o efectos secundarios de ciertos
Gordillo Padilla 20
que
los
niveles
de
lquido
en
su
cuerpo
son
bajos
(Sardias,
http://www.monografias.com/, 2008).
Otras causas de hipotensin pueden llegar a ser:
Hemorragia.
1.3.2
Mtodos de adquisicin.
Conviene palpar el pulso radial durante el procedimiento para saber hasta dnde subir
la presin al inflar el manguito, Desde el momento que desaparece el pulso radial, se
sigue subiendo la presin unos 30 mm de Hg adicionales. Esto evita comprimir el
brazo ms de lo necesario. Al desinflar el manguito, se capta el momento en que
nuevamente se palpa el pulso y sta es la presin sistlica palpatoria. Se esperan de 15
a 30 segundos con el manguito desinflado, luego se repite la medicin, pero esta vez
teniendo la campana del estetoscopio apoyada en el pliegue cubital, sobre la arteria
braquial (FIGURA 14). Se infla el manguito unos 30 mm de Hg sobre la presin
sistlica palpatoria y se desinfla lentamente mientras se ausculta. La aparicin de los
primeros ruidos correspondientes a latidos del pulso determina la presin sistlica
auscultatoria. Tanto el registro obtenido por la palpacin como por la auscultacin
Gordillo Padilla 21
deben ser parecidos. De no ser as, se registra como presin sistlica, el valor ms
elevado (http://www.geosalud.com/, s.f.).
El sistema consta de un motor y un filtro que permite que la banda se infle hasta un
determinado punto por encima de la presin sistlica donde las paredes de la arteria
comiencen a emitir vibraciones derivadas de la circulacin sangunea a travs de la
Gordillo Padilla 22
arteria obstruida por la banda, dichas vibraciones son captadas por el sensor encargado
de realizar el monitoreo de la presin a travs de la banda, cuando esto ocurre, el motor
deja de funcionar y se desfoga el filtro vaciando de aire la banda, consecuentemente la
presin en la banda comienza a disminuir vertiginosamente, y el valor de la amplitud
de las vibraciones en la arteria comienza a elevarse hasta llegar a un valor mximo
despus del cual la intensidad de las oscilaciones comienza a disminuir hasta que la
banda est completamente vaca y no ejerce ninguna presin y consecuentemente el
flujo sanguneo vuelve a la normalidad.
Despus de estos eventos se toman los valores a partir de las oscilaciones provocadas
en la arteria para obtener los valores de tensin arterial. El valor de presin de la banda
en la cual ocurre el valor mximo de oscilacin de la arteria corresponde al valor de
presin media.
Gordillo Padilla 23
Cabe resaltar que hay varios criterios a la hora de manejar los valores sistlicos y
diastlicos de tensin, debido a que el mtodo oscilomtrico solo provee como valor
relativamente exacto el valor de tensin media, y los otros dos se obtienen
empricamente o mediante algoritmos o criterios matemticos basados en los valores
de tensin media (Savn, 2007).
1.3.3
Sensor de Presin.
Como sabemos, el evento fsico que se describe como presin se explica como una
fuerza que se ejerce sobre un rea determinada, y lgicamente se expresa en unidades
de fuerzas por unidades de rea, las unidades ms conocidas son bares, atmosferas,
milmetros de Hg, etc.
Dicha fuerza aplicada se puede ejercer sobre un punto en una superficie o distribuirse
sobre esta. Cada vez que se ejerce se produce una deflexin, una distorsin o un cambio
de volumen o dimensin en el elemento sobre el cual se aplica la fuerza.
Para la construccin del tensimetro en base al esquema tradicional de
funcionamiento, se utilizara un sensor de presin. Dicho sensor est dotado de un
elemento sensible a la presin que emiten una seal elctrica al variar la presin o
que, dependiendo del sensor, provocan acciones de conmutacin si el fenmeno
supera un determinado valor referencial.
Dentro de la gama de sensores de presin y rangos de medicin, nuestra aplicacin
requiere sensores miniatura de tipo piezoresistivo que conserven caractersticas de
robustez y resistencia (Brito, 2013).
1.3.3.1 Sensores Piezoresistivos.
Gordillo Padilla 24
sensor por el efecto del fenmeno fsico que se va a medir, en este caso, la presin
sangunea (Robredo., 1993).
Para la fabricacin del tensimetro se ve necesaria la utilizacin de un sensor que
cuente con las siguientes caractersticas:
Relativo bajo costo.
Compensacin de temperatura de precisin.
Capacidad de Calibracin.
Tamao relativamente pequeo.
Bajo Ruido elctrico.
Alta impedancia de bajo consumo de energa.
Gordillo Padilla 25
FIGURA 17. Disposicin de pines segn el tipo de encapsulado del sensor ADP 510.
Gordillo Padilla 26
CAPTULO 2.
Recoleccin de Seales.
Fuente: Autor.
Naturalmente, la implementacin de dicho buffer se debe repetir para cada una de las
seales recogidas por los electrodos. A su vez, la seal robustecida entregada por el
buffer debe cumplir con el enunciado del tringulo de eithoven explicado en el
captulo anterior, para que esta condicin se lleve a cabo, se implement
Gordillo Padilla 27
amplificadores diferenciales INA129 o AD620 (FIGURA 19.), cuyo comportamiento
cumple con las siguientes ecuaciones:
Vo = (Vin+ Vin ) G
G=1+
49.4K
RG
Donde:
Vo = Voltaje de Salida.
Vin+ = Voltaje de entrada por el pin no inversor del INA122.
Vin = Voltaje de entrada por el pin inversor del INA122.
G = Ganancia del Amplificador instrumental.
RG= Resistencia de Ganancia.
G=1+
49.4K
5.6K
G = 9.82
Gordillo Padilla 28
FIGURA 19.Implementacin de amplificadores diferenciales INA 129 o AD620 a las
salidas del buffer.
RGD1
5.6K
3
6
2
Adif1
4
AD620AN
D1
Buffer1A
RLA1
250k
RGD2
5.6K
OPA4228PA
LA
1
RRA1
12
11
250k
Buffer1D
OPA4228PA
RA
14
6
2
Adif2
13
5 AD620AN
11
RLL1
250k
D2
Buffer1B
OPA4228PA
LL
7
RGD3
5.6K
11
3
6
2
Adif3
4
5 AD620AN
D3
Fuente: Autor.
Para que la seal consiga tanto la mayor estabilidad posible como un mnimo margen
de ruido, es necesario contar con un electrodo adicional de referencia, dicho electrodo
se debe colocar en la extremidad inferior derecha (pierna derecha) del sujeto, cabe
mencionar que las casas fabricantes de Amplificadores operacionales recomiendan que
dicho electrodo se encuentre interconectado entre las ganancias de los mismos, por
resistencias de valor RG/2 y por un filtro, como acontinuacin se esquematiza en la
FIGURA 20.
Gordillo Padilla 29
FIGURA 20. Implementacin del tercer electrodo.
5.0V
VCC
OPA4228PA
RRL1 RL
8
Buffer1C
11
250k
Ref1
2.7k
10
Cref1
Rref1
5.0V
VCC
100nF 10k
1M
Rref2
Ref2
2.7K
RGD1
5.6K
3
6
2
Adif1
4
AD620AN
D1
Fuente: Autor.
Fuente: Autor.
Gordillo Padilla 30
Fuente: Autor.
Fuente: Autor.
Como se puede apreciar en las seales anteriores, se puede reconocer diferentes tipos
de ruido en ellas, como por ejemplo el ruido proveniente de la seal elctrica de 60Hz
junto con ruidos externos de tipo ambiental desde los 300Hz. Para solucionar este
problema, se debe implementar un filtro pasa banda entre 0.05Hz y 100Hz donde se
encuentra la seal pura medida (informacin valida). Por otro lado, si el sistema de
medicin y generacin de seal es alimentado por una fuente derivada de
un
Gordillo Padilla 31
2.1.3
1
2 R C
Donde:
fc = Frecuencia de Corte.
R = Resistencia de Filtro.
C = Capacitancia de Filtro.
Puesto que ya se conoce el valor de la frecuencia de corte (0.5Hz), imponemos un
condensador de C = 100uF para poder calcular la resistencia R.
1
2 fc C
1
R=
2 0.5Hz 100uF
R=
R = 3.183K
C1D1
100F
3
AMP1A
OPA4228PA
D1 1
11
R1D1
3.3k
Fuente: Autor.
Gordillo Padilla 32
Fuente: Autor.
Las siguientes figuras (FIGURA 26, FIGURA 27, FIGURA 28) corresponden a las
salidas de los filtros pasa altos de las respectivas derivaciones del electrocardiograma:
FIGURA 26. Salida del filtro Pasa alto Primera Derivacin.
Fuente: Autor.
Gordillo Padilla 33
Fuente: Autor.
Fuente: Autor
2.1.4
1
2 R C
Gordillo Padilla 34
Puesto que conocemos que la frecuencia de corte debe ser 50 Hz, nos imponemos un
condensador C = 0.47uF para poder calcular la resistencia R.
1
2 fc C
1
R=
2 50Hz 0.47uF
R=
R = 6.772K
Por razones comerciales la resistencia sera R = 6.8K
Para el clculo del amplificador no inversor en el circuito, nos valemos de su ecuacin
caracterstica:
Vsalida = Ventrada (1 +
R2
)
R1
R2
R2
R1
R2 = (100 1) 10K
R2 = (100 1) 10K
R2 = 990K
La resistecia R2 debe tener un valor comercial por lo tanto R2=1M
Se muestra a continuacin el circuito del filtro Paso Bajo con amplificacin (FIGURA
29.), que, al igual que el anterior, se debe repetir para cada una de las salidas de los
filtros pasa alto.
Gordillo Padilla 35
FIGURA 29. Filtro pasa bajo pasivo.
AMP1A
OPA4228PA
D1 1
11
C2D1
0.47F
R2D1
6.8K
RA2D1
RA1D1
10K
1M
Fuente: Autor.
Fuente: Autor.
Gordillo Padilla 36
FIGURA 31. Respuesta a travs del filtro pasa banda.
Fuente: Autor.
Los siguientes esquemas (FIGURA 32, FIGURA 33, FIGURA 34.) corresponden a las
respuestas al sistema despus de pasar por los filtros pasa banda.
Gordillo Padilla 37
Fuente: Autor.
Fuente: Autor.
FIGURA 34. Respuesta al filtro pasa banda de la tercera derivacin.
Fuente: Autor.
2.1.5
Acople de Seal.
Como se puede observar en las figuras anteriores, el voltaje de la seal varia entre
2V. Debido a que el microcontrolador que se utiliza (ATMega 328) cuenta con un
Gordillo Padilla 38
convertidor analgico-digital de 0 a 5V de 1024 bits de resolucin, es necesario acoplar
la seal para que este en el rango del convertidor del microcontrolador.
Para este acoplamiento, se necesita simplemente un partidor de tensin que genere el
offset deseado, y acoplar la seal por medio de un condensador, los valores de las
resistencias para el partidor de tensin y el condensador de acople se calculan tomando
en cuenta que no se debe interferir con las frecuencias que forman a su vez un filtro
pasa alto.
El partidor de tensin obedece a la siguiente ecuacin:
Vsalida = Ventrada
R2
R1 + R2
El partidor de tensin acta como offset del acople, por lo es conveniente que dicho
offset sea de 2.5V es decir la mitad de la alimentacin de 5V del sistema, para esto R2
debe ser igual a R1:
Vsalida = Ventrada
R1
R1 + R1
1
2 33K 100uF
fc = 0.04822Hz
El circuito es el mostrado en la FIGURA 35.
FIGURA 35. Partidor de tensin para acoplamiento con el microcontrolador.
VCC
5.0V
R1
33k
C1
100F
R2
33k
Fuente: Autor.
Naturalmente, este circuito se debe repetir para cada una de las salidas del filtro pasa
bajo.
Gordillo Padilla 39
Las siguientes figuras (FIGURA 36, FIGURA 37, FIGURA 38.)corresponden a las
seales de las 3 derivaciones despus de ser acopladas.
Fuente: Autor.
Fuente: Autor.
Gordillo Padilla 40
FIGURA 38. Respuesta del Acople de la Tercera Derivacin.
Fuente: Autor.
2.1.6
Filtros Digitales.
Al ser los filtros analgicos pasivos, la frecuencia de trabajo no es tan selectiva, por lo
que se puede utilzar filtros digitales, para que la seal de las derivaciones del
electrocardiograma sean mas puras. Antes de elaborar los filtros, se debe tener en
cuenta que el microcontrolador tiene una frecuencia de muestreo de 1Khz para cada
una de las derivaciones, dato que sirve para calcular las frecuencias digitales de corte
para el filtro.
Las frecuecias de corte seran de 0.5Hz y 50Hz, informacin a tomar en cuenta, pues
dentro de estas frecuencias se encuantran datos importantes. Como resultado
aplicamos dicha informacin para calcular frecuencias de muestreo con sus ecuaciones
caractersticas como se muestra a continuacin:
= Ts
Ts =
1
fs
= 2f
=
2f
fs
Donde:
= Frecuencia Digital normalizada.
Ts = Perodo de Muestreo.
fs =Frecuencia de Muestreo.
Gordillo Padilla 41
=Frecuencia angular analgica.
f=Frecuencia analgica.
La frecuencia digital esta entre 0 < <
fs = 1KHz
1
= 0.001
1000
1
c2 =
= 0.1
10
c1 =
Fuente: Autor.
Gordillo Padilla 42
FIGURA 40. Respuesta del Sistema de filtro pasa banda digital, primera derivacin.
Fuente: Autor.
FIGURA 41. Respuesta del Sistema de filtro pasa banda digital, segunda derivacin.
Fuente: Autor.
FIGURA 42. Respuesta del Sistema de filtro pasa banda digital, tercera derivacin.
Fuente: Autor.
Se realizaron mdulos separados para cada una de las etapas citadas, de manera que
las siguientes figuras (desde FIGURA 43 hasta la FIGURA 54) corresponden a sus
respectivos circuitos diseados, simulacin y finalmente impresos.
Gordillo Padilla 43
Fuente: Autor.
FIGURA 44. Simulacin del circuito real de adquisicin de seales.
Fuente: Autor.
Fuente: Autor.
Gordillo Padilla 44
Fuente: Autor.
FIGURA 47. Simulacin del circuito real del filtro pasa alto.
Fuente: Autor.
Fuente: Autor.
Gordillo Padilla 45
FIGURA 49. Diseo del circuito del filtro pasa bajo.
Fuente: Autor.
FIGURA 50. Simulacin del circuito real del filtro pasa bajo.
Fuente: Autor.
Gordillo Padilla 46
Fuente: Autor.
Fuente: Autor.
Gordillo Padilla 47
Fuente: Autor.
Fuente: Autor.
Tensimetro.
2.2.1
Principio de Funcionamiento.
Como se haba visto, se denomina tensimetro a aquel equipo que, mediante una
compresin en la extremidad superior, genera un metodo oscilomtrico de deteccin
no invasiva de la presin arterial. Naturalmente dicho proceso se efecta mediante
diferentes medios electrnicos, mismos que se utiliza desde la compresin de la
extremidad hasta la adquisicin e interpretacin de valores adquiridos para generar los
datos finales de tensin arterial.
Gordillo Padilla 48
2.2.2
Diagrama de Bloques.
Fuente: Autor.
2.2.3
Sensor.
Gordillo Padilla 49
FIGURA 56. Esquema grfico del sensor SCC05DD4.
Desarrollo.
INA122, cuya
200K
RG
Donde:
Vo = Voltaje de Salida.
Vin+ = Voltaje de entrada por el pin no inversor del INA122.
Vin = Voltaje de entrada por el pin inversor del INA122.
G = Ganancia del Amplificador instrumental.
RG= Resistencia de Ganancia.
Gordillo Padilla 50
Como habamos mencionado anteriormente, para conseguir que la presin sensada este
en el rango de 0 a 5V, que es un rango fcilmente detectable por el microcontrolador
sin necesidad de introducir un voltaje de referencia, es necesario amplificar la seal,
para conseguirlo, la ganancia del amplificador instrumental requerida debe ser cercana
a 100, por lo tanto los valores de resistencia de ganancia a implementar en el
amplificador (RG) sern calculados en base a la siguiente ecuacin con su consecuente
valor:
200K
G5
200K
RG =
100 5
RG =
RG = 2.105 K
Por razones comerciales el valor de la resistencia mas cercana es de 2.2K, por lo que
la ganancia ser, consecuentemente,proxima a 95.91. El diagrama del amplificador
con su calculado valor de resistecia que proporciona la ganancia requerida se muestra
a continuacion en la FIGURA 57
5.0V
VCC
RG
2.2k
3
AI
6
INA122P
5.0V
VCC
U1
1
2
3
+
-
6
5
4
SCC05DD4
Fuente: Autor.
Gordillo Padilla 51
Por otro lado, un factor vital a tomar en cuenta es que las unidades de medicin de
presin arterial no son P.S.I sino mmHg (Milmetros de Mercurio) por lo que es
necesario efectuar los clculos con la siguiente relacin de conversin:
1 P. S. I = 51.718mmHg
La salida del amplificador instrumental tendra las siguientes referencias:
1P. S. I = 12mV G
1 P. S. I = 12mV 95.91
1 P. S. I = 1.15091V
1V = 44.937 mmHg
Se debe recordar tambin que la resolucin del microcontrolador es de 1024 valores
distribudos en 5V, en otras palabras, la resolucin del microcontrolador es de 1024
bits, por lo tanto sus valores de clculo en resolucin con respecto a los valores en mm
Hg se obtienen de la siguiente manera:
5V = 224.685mmHg
5V = 1024b
1b = 0.219041mmHg
Para reducir considerablemente el ruido ambiental, agente generador de error, se
introdujo un filtro Pasivo pasa bajo, con frecuenca de corte aproximado a 100Hz
(FIGURA 58), til para atenuar dicho ruido ambiental.
Salida
RF
3.3k
CF
0.47F
Fuente: Autor.
1
2 fc Cf
Gordillo Padilla 52
Rf =
1
2 100Hz 0.47uF
Rf = 3386.27 3.3K
En la FIGURA 59. podemos ver mediante un grfico el comportamiento de la seal
antes y despus de ser atenuada lo cual nos da una idea de la importancia del filtro.
Fuente: Autor.
Gordillo Padilla 53
U2A
TLP521-2
Fuente: Autor.
Donde:
Vcc = Voltaje de Fuente.
Ic = Corriente de Colector.
Ib = Corriente de Base.
Hfe = Ganancia de Transistor.
Ibsat = Corriente de base en saturacin.
Gar = Valor para garantizar la saturacin en el transistor normalmente entre 2
a 10.
Gordillo Padilla 54
Rb = Resistencia de base.
Rb1 = Resistencia de Base 1.
Rb2 = Resisencia de Base 2.
Como habamos visto en un caso anterior, ya que no existe un valor de resistencia
comercial de 4.4K se pueden usar en serie dos resistencias de 2.2K, con la ventaja
de que una de las resistencias de base se pueden usar para acoplar la seal del
optotransistor como se indica en la FIGURA 61.
5.0V
VCC
5.0V
VCC
RB2
2.2K
U1A
EValvula
CV
DV
1N4007
100nF
8
2.2K
RB1
Q3
2N3904
TLP521-2
Fuente: Autor.
Para completar el circuito, concretamente para atenuar el ruido generado por los
elementos que generan la presin en la extremidad, se implementa un condensador de
100nF para eliminar el ruido inductivo generado por la electrovlvula y un diodo de
proteccin de corrientes de desahogo, ya que al ser la electrovlvula un elemento
inductivo, al momento de ser desactivada, mantiene corrientes menores circulando a
travs de la misma, mismas corrientes que pueden tender a fugarse hacia la fuente o
daar otros componentes.
A diferencia de la electrovlvula el motor se controla por medio de un transistor
MOSFET (Metal-oxide-semiconductor Field-effect transistor), concretamente el
transistor IRG640, de un tipo N de enriquecimiento que, al igual que los componentes
Gordillo Padilla 55
vistos anteriormente, se encuentra en zona activa y de corte, para que su
funcionamiento sea como un interruptor.
Para futuras referencias, el funcionamiento de los transistores MOSFET de
enriquecimiento esta basado en el control de canales entre las compuertas Drain
(drenaje) y Source(fuente), este control esta ligado a la tensin aplicada en la
compuerta gate(compuerta), siempre y cuando esta supere una tensin de Umbral
(V_TH).
El Voltaje en Gate
A
V2
VTH = 2V
ID = k (VGS VTH )2
0.126 1.84ID + 1.4ID 2 = 0
ID = 0.07243055 A
VGS = 5v 0.07243055 A 10
VGS = 4.2756945V
Con lo que cumple VGS VTH y tambin cumple con la exigencia de corriente de la
bomba ya que solamente se necesita 50mA (FIGURA 62.).
Gordillo Padilla 56
FIGURA 62. Esquema de control de bomba y electrovlvula.
5.0V
VCC
5.0V
VCC
5.0V
VCC
CM
DM
1N4007
100nF
RO1
220
U2A
ControlMV
RO2
1k
TLP521-2
Q2
IRF641
RM
10
HDR1X2
Fuente: Autor.
Fuente: Autor.
Gordillo Padilla 57
de presin que se generan casi en medio de la seal completa vista en el grfico anterior
como se observa en la FIGURA 64, que es una ampliacin de la anterior:
Fuente: Autor.
1
fs
= 2f
=
2f
fs
Donde:
= Frecuencia Digital normalizada.
Ts = Periodo de Muestreo.
fs =Frecuencia de Muestreo.
Gordillo Padilla 58
=Frecuencia angular analgica.
f=Frecuencia analgica.
La frecuencia digital esta entre 0 < <
fs = 1KHz
2
= 0.002
1000
2
=
= 0.02
100
c1 =
c2
Donde:
y[n] = Salida actual.
y[n-k] = Salida de k muestras anteriores.
x[n] = Muestra actual de entrada.
x[n-k] = k muestra anterior.
La FIGURA 65 muestra la respuesta del filtro digital en funcin de la Potencia vs
Frecuencia.
Fuente: Autor.
Gordillo Padilla 59
Al aplicarse el filtro digital a la seal adquirida se obtendr a la salida la forma de onda
caracterstica al mtodo oscilatorio de medicin de la presin arterial, la forma de onda
resultante se muestra en la FIGURA 66:
FIGURA 66. Forma de onda derivada de la aplicacin del filtro a la seal adquirida.
Fuente: Autor.
En esta onda se puede distinguir que el pico ms alto corresponde a la presin arterial
media (PAM), y el pico inicial ms cercano al 1/3 del pico ms alto es la presin
arterial diastlica (PAD) como se muestra en la FIGURA 67. Este procedimiento es
indispensable para poder calcular la presin sistlica, pues primero se deben reconocer
los puntos de los picos y sus correspondientes valores en la presin ingresada
originalmente de la siguiente forma:
Gordillo Padilla 60
FIGURA 67. Disminucin de picos de seal caractersticos PAD y PAM entre la seal
propia del tensimetro.
Fuente: Autor.
Una vez identificados los picos requeridos, pasamos aplicar las frmulas propias del
tensimetro que nos permiten encontrar los valores propios de tensin arterial como
se muestra a continuacin:
PAM = 380 1b
PAM = 380 0.219041mmHg
PAM = 83.2355mmHg
PAD = 320 0.219041mmHg
PAD = 70.09312mmHg
Gordillo Padilla 61
Adems de esto, se debe considerar lo siguiente:
PP = PAS PAD
PP
3
2PAD + PAS
PAM =
3
PM = PAD +
FIGURA 68. Diseo del circuito de control y adquisicin de datos del tensimetro
digital.
Fuente: Autor.
Gordillo Padilla 62
FIGURA 69. Simulacin del circuito impreso real del control y adquisicin de datos
del tensimetro digital.
Fuente: Autor.
Fuente: Autor.
Oxmetro.
El marco terico del oxmetro de pulso est citado en el captulo anterior, pero a
manera de resumen, se trabaj con un mdulo de SpO2 cms50dl, el cual maneja un
diodo LED rojo de longitud de onda 660nm, y un diodo LED infrarrojo de 880nm, su
fuente de alimentacin puede ser de 2.6V a 3.6V, la medicin del SpO2 es de 0% a
100% y tiene un rango de pulsaciones por minuto de 30 ppm a 250ppm, adems tiene
un rango de error de medicin de 2%.
Gordillo Padilla 63
2.3.1
Principio de Funcionamiento:
4k
Donde:
Iroja,Ir =Intensidad de Luz transmitida por el LED rojo e infrarrojo.
Isalida =Intensidad recibida por el Fotodiodo.
l= Longitud que atraviesa la luz.
= Coeficiente de absorcin.
k = Coeficiente de extincin.
=Longitud de onda de luz aplicada.
El coeficiente de extincin del cuerpo por donde atraviesa el haz, se refiere a la
cantidad de luz absorbida por el mismo segn la longitud de onda, por unidad de masa
o la parte imaginaria del ndice de refraccin.
El oxmetro de pulso brinda una medicin relativa no absoluta entre la cantidad de
HbO2 y Hb lo que se conoce como saturacin funcional SpO2 .
SpO2 = 100 x
HbO2
Hb + HbO2
El SpO2 se determina por la intensidad de luz roja que llega al fotodiodo, despus de
multiplexar el diodo LED rojo y el diodo LED infrarrojo funcionando uno a la vez.
Esta tcnica se basa en el hecho de que el flujo de sangre arterial es pulstil a diferencia
del resto de tejidos y fluidos (FIGURA 71), haciendo que la luz se module
dependiendo del flujo de sangre, se mide entonces la intensidad cuando existe pulso,
Gordillo Padilla 64
y luego la intensidad cuando no existe pulso para cada longitud de onda, la relacin
entre estas mediciones es el parmetro de absorbancia normalizado R, catalizados en
el diagrama de bloques de la FIGURA 72 (Universidad CES, 2007).
Intensidad Pulsante
(660)
Intensidad
no Pulsante
R=
Intensidad Pulsante
(880)
Intensidad no Pulsante
SpO2 = 100 x R
Gordillo Padilla 65
2.3.2
Diagrama de bloques:
Fuente: Autor.
2.3.3
Desarrollo.
Gordillo Padilla 66
FIGURA 73. Ciclo de trabajo del oxmetro en forma de PWM.
Fuente: Autor.
Se puede calcular de diferentes maneras el SpO2 de la seal adquirida, pero en este
caso se calculara la seal con un filtro digital butterworth modo 2, con frecuencia de
corte de 10Hz (FIGURA 74). El clculo del filtro paso bajo se la realiza de manera
similar que para el filtro pasa banda del tensimetro como se muestra a continuacin.
fs = 1KHz
c =
2
= 0.02
100
Fuente: Autor.
El resultado de la seal filtrada es su valor equivalente a una seal analgica, como se
muestra en la FIGURA 75.
Gordillo Padilla 67
Fuente: Autor.
Para obtener el SpO2 se debe calcula de la siguiente manera:
SpO2 = 100 x
Vfiltrado
Vreferencial
Donde:
Vfiltrado = Voltaje obtenido del filtro.
Vreferencial = Voltaje referencial equivalente al 100% de la seal PWM.
El Microcontrolador.
Una vez cumplidos con los objetivos de obtener la seal deseada de los respectivos
sistemas, el microcontrolador debe ser el encargado de interactuar con el dispositivo
mvil por medio del mdulo bluetooth, esta interaccin debe cumplir con los
siguientes objetivos:
Enviar las respuestas de los procesamientos digitales por el puerto serial hacia
el mdulo Bluetooth.
Gordillo Padilla 68
Fuente: Autor.
Gordillo Padilla 69
3
CAPTULO 3.
Caractersticas.
Gordillo Padilla 70
-
Pantalla tctil.
3.1.2
Arquitectura de Android.
Gordillo Padilla 71
3.1.3
Aplicaciones.
Todas las aplicaciones creadas a travs de la plataforma Android, incluirn como base
un cliente de email (correo electrnico), calendario, programa de SMS, mapas,
navegador, contactos, y algunos otros servicios adicionales. Todas escritas en el
lenguaje de programacin Java (aplicaciones-android.org, 2011).
3.1.4
Framework de Aplicaciones.
Todo desarrollador de aplicaciones Android, tienen acceso total al cdigo fuente usado
en las aplicaciones base. Con esto se evita que se generen componentes de aplicaciones
distintas, que respondan a la misma accin, dando la posibilidad de que los programas
sean modificados o reemplazados por cualquier usuario sin tener que empezar a
programar sus aplicaciones desde el principio.
3.1.4.1 Libreras.
Android incluye en su base de datos un set de libreras C/C++, que estn al alcance
de todos los desarrolladores a travs del framework de las aplicaciones Android
System C library, libreras de medios, libreras de grficos, 3D, SQlite, etc.
Android incorpora un set de libreras que aportan la mayor parte de las funcionalidades
disponibles en las libreras base del lenguaje de programacin Java. La Mquina
Virtual est basada en registros, y corre clases compiladas por el compilador de Java
que anteriormente han sido transformadas al formato .de (Dalvik Executable) por
la herramienta ''dx''.
Android viene siendo competencia directa a los sistemas operativos mviles como
Windows Mobile, Symbian, iPhone OS 3.0, etc. aunque tambin podra aminorar o
reducir el impacto actual de Microsoft y sus Sistemas Operativos Windows, pues
muchos grandes fabricantes de hardware y ordenadores en general contempla la
posibilidad de implantar el sistema operativo Android en Porttiles, Notebooks, y PC;
como es el caso de la compaa HP.
Gordillo Padilla 72
3.1.5
App Inventor.
En nuestros das el App Inventor se volvi toda una realidad. Este programa no
requiere ser instalado pues se ejecuta desde el propio navegador. Posee un lenguaje
grfico y relativamente sencillo de aprender y dominar, permitiendo que cualquier
usuario novato en asuntos de programacin pueda desarrollar su propia aplicacin.
Sumado a esto, la pgina principal de App Inventor incluye un completo soporte con
anexos tales como:
-
Tutoriales
Cabe resaltar que desde su primera versin (fase beta), el programa era absolutamente
funcional y se encontraba al alcance de todos. Actualmente se est poniendo en marcha
una segunda versin del App Inventor que incluye algunos cambios y mejoras que lo
vuelven an ms prctico y fcil de usar sin dejar de lado su amigable esquema
principal de funcionamiento (Osuna, 2012).
Gordillo Padilla 73
3.1.5.2 Esquema de Funcionamiento.
Para empezar a utilizar el App Inventor basta con crear una cuenta de usuario en google
y acceder a ella a travs de la pgina (ai2.appinventor.mit.edu), a partir de la misma,
se puede escoger entre crear una nueva aplicacin (New Project) o trabajar con las
aplicaciones ya previamente iniciadas y almacenadas en nuestra cuenta.( FIGURA 78)
Fuente: Autor.
Una vez ingresada en la aplicacin requerida, sea nueva o anterior, podemos apreciar
que el patrn de programacin realiza las sentencias en forma grfica a travs de
bloques, los cuales se pueden ir tomando del banco de bloques ubicado a la derecha
del lienzo, dependiendo si las sentencias son de carcter lgico, control, matemticas,
texto, listas, colores, variables, etc. (FIGURA 79.), de tal manera que el cuerpo del
programa se desarrolle encajando piezas de forma lgica que cumplan una funcin
en conjunto, y que a su vez, estn en concordancia con otro conjunto de piezas armadas
equivalentes
las
sentencias
de
https://sites.google.com/site/appinventormegusta, 2013).
programacin
(Riego,
Gordillo Padilla 74
Fuente: Autor.
Por otro lado, el sistema cuenta con dos tipos de visualizadores, el de bloques (Blocks)
que es donde se desarrolla el programa, y la pantalla de diseo (Designer) que muestra
el diseo o los componentes como tales que se visualizaran en el display del mvil al
momento
de
ejecutar
el
programa.
(Riego,
Gordillo Padilla 75
FIGURA 80. Visualizador de diseo.
Fuente: Autor.
Fuente: Autor.
Gordillo Padilla 76
A su vez, una vez terminada nuestra aplicacin, la podemos probar a travs de las
siguientes tres opciones (FIGURA 82):
recomienda
utilizar
este
como
un
ltimo
recurso
https://sites.google.com/site/appinventormegusta, 2013).
(Riego,
Gordillo Padilla 77
3.1.5.3 Desventajas.
Para poder cumplir con los requerimientos de interfaz grfica del dispositivo mvil
necesitamos establecer los siguientes objetivos:
Un men en el que se pueda elegir la seal que se desea adquirir, junto con
opciones alternativas que permitan modificar datos del usuario, a su vez, al
momento de elegir la seal (ECG, Oxmetro, Tensimetro), se desplegara un
submen de opciones correspondientes con la seal seleccionada, mismos que
detallamos a continuacin:
Electrocardiograma
o Conectar el dispositivo electrnico va bluetooth, caso contrario, denegar
la opcin.
o Adquirir datos en tiempo real y graficar simultneamente las tres
derivaciones del ECG.
o Borrar el registro actual en cualquier momento en caso de error.
o Grabar datos adquiridos en la base de datos.
o Mostrar el resultado final de la adquisicin.
o Revisar historiales de registros anteriores
Gordillo Padilla 78
Oxmetro de Pulso
o Conectar el dispositivo electrnico va bluetooth, caso contrario, denegar
la opcin.
o Adquirir datos en tiempo real y mostrar al usuario el porcentaje de
oxgeno en la sangre.
o Borrar el registro actual en cualquier momento en caso de error.
o Grabar datos adquiridos en la base de datos.
o Revisar historiales de registros anteriores.
Tensimetro
o Conectar el dispositivo electrnico va bluetooth, caso contrario, denegar
la opcin.
o Adquirir datos en tiempo real.
o Calcular los valores de presin diastlica y sistlica basada en los datos
adquiridos.
o Exhibir los valores de presin diastlica y sistlica.
o Borrar el registro actual en cualquier momento en caso de error.
o Grabar datos adquiridos en la base de datos.
o Revisar historiales de registros anteriores.
Nota: Para poder cumplir con los objetivos de interfaz grfica en el dispositivo mvil
es necesario recurrir a aplicaciones web debido a las limitaciones del app inventor.
Gordillo Padilla 79
Desarrollo de Interfaz Grfica en el Dispositivo Mvil.
3.3.1
Dentro del software de programacin de mviles Android App Inventor, para poder
cumplir con una interfaz atractiva y amigable se requieren los siguientes elementos:
3.3.1.1 VerticalArrangement.
Se encuentra en la seccin Layout dentro del diseo de App inventor, y sirve para
organizar los elementos uno debajo del otro arrastrados sobre ste.
3.3.1.2 HorizontalArrangement.
Se encuentra en la seccin Layout dentro del diseo de App inventor, y sirve para
organizar los elementos uno a lado del otro arrastrados sobre ste.
3.3.1.3 Image.
Se encuentra en la seccin User Interface dentro del diseo de App inventor, este
componente sirve para mostrar una imagen que sea precargada en su propiedad
Picture, o para mostrar cualquier imagen que sea modificada dentro de la seccin de
programacin por bloques del App inventor.
3.3.1.4 Label.
Se encuentra en la seccin User Interface dentro del diseo de App inventor, este
componente sirve para mostrar una porcin de texto que sea precargada en su
Gordillo Padilla 80
propiedad Text o sea modificada dentro de la seccin de programacin por bloques del
App inventor.
3.3.1.5 TextBox.
Se encuentra en la seccin User Interface dentro del diseo de App inventor, este
componente coloca un texto dentro de una caja que sea precargada en la propiedad
Text, a su vez, puede ser modificado dentro de la seccin de programacin por bloques
de App inventor o ingresado por el usuario.
3.3.1.6 PasswordTextBox.
Se encuentra en la seccin User Interface dentro del diseo de App inventor, este
componente coloca el texto oculto tipo contrasea dentro de una caja que sea
precargada en su propiedad Text, es decir, modificado dentro de la seccin de
programacin por bloques del app inventor o ingresado por el usuario.
3.3.1.7 Button.
Se encuentra en la seccin User Interface dentro del diseo de App inventor, este
componente puede detectar los clicks y su aspecto puede ser modificado en sus
propiedades o dentro de la seccin de programacin por bloques de App inventor.
3.3.1.8 Notifier.
Se encuentra en la seccin User Interface dentro del diseo de App inventor, este
componente puede generar alertar y reportes Android.
Gordillo Padilla 81
3.3.1.9 Web.
Fuente: Autor.
Gordillo Padilla 82
rechaza el acceso a la aplicacin. Adems, en caso de no ser un usuario registrado,
existe la posibilidad de llamar a otra pantalla para el registro.
Fuente: Autor.
Gordillo Padilla 83
Usuarios verifica la coincidencia de los datos que ingresa el usuario con los que existen
en la base de datos, devolviendo un texto con su nombre y apellido en el caso de estar
registrados, y un texto de error en el caso de no estarlo. El diagrama de bloques se
ilustra en la FIGURA 85.
FIGURA 85. Bloques de evento Click del Botn Conectar.
Fuente: Autor.
Cuando el componente web recibe un texto como el que devuelve el servlet se genera
un evento GotText, en este, comprobamos el texto recibido, si el texto es un error, por
medio del NotificadorInicio mostramos un mensaje al usuario Error al ingresar los
datos, en caso contrario se abrir la pantalla Men pasndole el texto recibido. El
bloque de GotText se muestra en la FIGURA 86.
Gordillo Padilla 84
Fuente: Autor.
Fuente: Autor.
Fuente: Autor.
Gordillo Padilla 85
3.3.2
Pantalla de Registro.
Gordillo Padilla 86
Fuente: Autor.
Gordillo Padilla 87
Fuente: Autor.
Nota: Si los datos ingresados son correctos se da paso al registro, que incluye una
fotografa del usuario para su fcil reconocimiento. El diagrama de bloques de la
pantalla de Registro obedece al diagrama de flujo de la FIGURA 91 y FIGURA 92
Gordillo Padilla 88
Fuente: Autor.
Gordillo Padilla 89
Fuente: Autor.
Gordillo Padilla 90
Para que se cumpla con el diagrama de flujo inicializamos las variables de las banderas
con valores false como se muestra en la FIGURA 93.
Fuente: Autor.
Inicializadas las variables, se ingresa los datos del usuario, si se llega a perder el
enfoque en el rea de texto TxtNickname, se dispara un evento llamado LostFocus,
que se encarga de invocar al servlet ComUsuario con el dato ingresado en dicha rea
como se muestra en la FIGURA 94.
Fuente: Autor.
Gordillo Padilla 91
FIGURA 95. Bloque del evento GotText del componente web SvtComUsuario.
Fuente: Autor.
Fuente: Autor.
Gordillo Padilla 92
LblEmail se mostrar de color rojo El email ya corresponde a una cuenta la variable
banderaEmail cambia a false, y de color verde si no haba sido registrado, con la
leyenda El email si est disponible y la variable banderaEmail sera true. Los bloques
se ilustran en la FIGURA 97.
FIGURA 97. Bloque del evento GotText del componente web SvtCompEmail.
Fuente: Autor.
Gordillo Padilla 93
Fuente: Autor.
Al presionar el botn Registrar se comprueba que todos los campos estn llenos y
todas las banderas son verdaderas (true), si estas condiciones se cumplen, se procede
a invocar el servlet de Registro pasndole todos los datos ingresados para ser
posteriormente grabados en la base de datos, caso contrario se visualizar una leyenda
en el LblMensajeError con el texto Completar correctamente el formulario como se
ilustra el bloque en la FIGURA 99.
Gordillo Padilla 94
FIGURA 99. Bloque del evento Click del botn Registrar.
Fuente: Autor.
Gordillo Padilla 95
FIGURA 100. Bloque del evento GotText del componente web SvtRegistro.
Fuente: Autor.
3.3.3
Pantalla RegistroImagen.
Gordillo Padilla 96
Fuente: Autor.
Gordillo Padilla 97
FIGURA 102. Diagrama de flujo de la pantalla RegistroImagen.
Fuente: Autor.
Una vez clara la funcin que debe tener la pantalla Registro imagen se procede a
realizar la programacin en bloques en el App inventor.
En primer lugar se debe inicializar las variables que recibimos de la pantalla anterior,
y consultamos por medio del servlet Usuarios el cdigo con el que fue registrado el
usuario como se muestra en la FIGURA 103, este cdigo servir como nombre para el
registro de la imagen. Los bloques se pueden observar en la FIGURA 104.
Gordillo Padilla 98
FIGURA 103. Bloque de inicializacin de variables y pantalla.
Fuente: Autor.
Fuente: Autor.
Si se presionan los botones atrs o No ahora se proceder abrir la pantalla de Men
pasando los datos de Nickname y contrasea; como se ilustra en la FIGURA 105.
Gordillo Padilla 99
FIGURA 105. Bloques de los eventos click en los botes BtnDespues Ahora No y
Atrs.
Fuente: Autor.
Finalmente si se presiona el botn Agregar Foto (BtnImagen) se inicializa la
aplicacin de explorador web, pasndole los atributos de la pgina web que queremos
que sea visualizada y sus parmetros como se puede observar en la FIGURA 106.
Fuente: Autor.
3.3.4
Pantalla de men.
Presentar un men con las diferentes opciones de las seales biolgicas que se
quiera adquirir.
Contener botn para cerrar la sesin actual y otro para modificar la informacin
bsica del usuario.
Fuente: Autor.
Fuente: Autor.
Fuente: Autor.
En caso de ser presionado el botn Cerrar Sesin o Atrs se dar paso nuevamente
a la pantalla de bienvenida o inicio (Screen1), los bloques se pueden observar en la
FIGURA 110
FIGURA 110. Bloques del evento Click de los botones Atrs y Cerrar.
Fuente: Autor.
FIGURA 111. Bloques del evento Click de los componentes BtnUsuarios, BtnEcg,
BtnOximetro, BtnTensiometro.
Fuente: Autor.
3.3.5
Pantalla ActualizarDatos.
La pantalla para la actualizacin de los datos personales del usuario cumplir con los
siguientes objetivos:
Visualizar la fotografa actual del usuario, y ser capaz de registrar una fotografa
nueva a eleccin del usuario.
Fuente: Autor.
Para cumplir con los objetivos de la pantalla deber cumplir el esquema del diagrama
de flujo de la FIGURA 113:
Fuente: Autor.
Para cumplir con el diagrama de flujo de la figura; en el evento initialize de la
pantalla (FIGURA 114), se debe primero adquirir los datos pasados por la pantalla
invocadora como los son el id, nombre y apellido del usuario y guardarlos en variables
globales de la pantalla, realizado esto, se invocar al proceso llamado CargarImagen
Fuente: Autor.
Fuente: Autor.
Fuente: Autor.
informacin estn llenos, de estarlos, se requerir la contrasea actual del usuario, esta
informacin se comprobar en el evento AfterTextInput de la notificacin NtfAvisos
llamando al proceso Actualizar (FIGURA 118).
El procedimiento Actualizar se encarga de invocar al servlet ActualizarUs pasando
los parmetros de Id, passvieja, y todos los campos de las cajas de texto (FIGURA
119), si la contrasea en el parmetro passvieja es igual a la contrasea actual del
usuario entonces los datos ingresados remplazaran a los anteriores, caso contrario se
visualizar un mensaje de error por contraseas no correspondientes.
Fuente: Autor.
Fuente: Autor.
Fuente: Autor.
Fuente: Autor.
Fuente: Autor.
FIGURA 122. Proceso datossalida.
Fuente: Autor.
3.3.6
Pantalla ECG:
Se encuentra en la seccin de User Interface dentro del diseo de App inventor, este
componente cumple con las funciones que se le designa cada cierto tiempo definido
por el usuario arbitrariamente o por programacin.
Conocido lo necesario para el correcto cumplimiento de las tareas de la pantalla, el
diseo grfico se muestra en la figura (FIGURA 123).
FIGURA 123. Diseo de la Pantalla ECG.
Fuente: Autor.
Fuente: Autor
Fuente: Autor.
Fuente: Autor.
Fuente: Autor.
Si se presiona el Botn iniciar (BtnIniciar) se enviar una seal al dispositivo para
que inicie la recoleccin de datos provenientes del mdulo del electrocardiograma,
simultneamente, se habilita el Timer y el botn de detener (BtnDetener),
lgicamente, se deshabilita el botn de Iniciar (BtnIniciar) como se muestra en la
figura.
Fuente: Autor.
Fuente: Autor.
Fuente: Autor.
Fuente: Autor.
Como todas las pantallas al presionarse el Botn Atrs del sistema regresar al men
principal con la nica diferencia de que finalizar la conexin Bluetooth (FIGURA
132).
FIGURA 132. Evento BackPressed del botn Atrs del sistema.
Fuente: Autor.
Pantalla Oxmetro.
Fuente: Autor.
Fuente: Autor.
Fuente: Autor.
Fuente: Autor.
Fuente: Autor.
Si se presiona el Botn iniciar (BtnIniciar) enviar una seal al dispositivo para que
inicie la recoleccin de datos provenientes del mdulo de electrocardiograma, adems,
se habilita el Timer y el botn de detener (BtnDetener) y se deshabilita el botn de
Iniciar (BtnIniciar) como se muestra en la FIGURA 138
FIGURA 138. Evento Click del componente BtnIniciar.
Fuente: Autor.
Fuente: Autor.
Fuente: Autor.
Fuente: Autor.
Mientras el Timer este habilitado, tambin se habilita el botn Detener
(BtnDetener), el cual, si es presionado, se encarga de enviar una seal al mdulo de
ECG para que deje de emitir datos y pregunta si quiere conservar los datos recolectados
hasta el momento o borrarlos, con el objetivo de tomar nuevamente la informacin,
caso contrario continuar la toma de datos en curso (FIGURA 142).
Fuente: Autor.
Como todas las pantallas, al presionarse el Botn Atrs del sistema regresar al men
principal con la nica diferencia de que finalizar la conexin Bluetooth (FIGURA
143).
Fuente: Autor.
CAPTULO 4.
Definicin.
Caractersticas.
Por su capacidad de ser ejecutado en mltiples plataformas, y contar con una gama de
soporte y opciones para interactuar con el usuario, JAVA constituye un lenguaje
idneo para aplicaciones web.
En resumen podemos enumerar las siguientes ventajas que ofrece JAVA:
-
Sencillez.
Robusto y Seguro.
Portable.
Alto Rendimiento
Dinmico.
Servlet.
Los Servlets son programas escritos en JAVA que se ejecutan a travs de un servidor
web, que es un contenedor web que proporciona un medio para la ejecucin y
almacenamiento de distintos elementos web, en este caso los servlets o pginas HTML
(Mestras, 2004) (FIGURA 144).
Reutilizacin. (Persistencia).
Servlet ActualizarUs.java.
Nombre.
Apellido.
Correo Electrnico.
Telfono.
Direccin.
Ciudad.
Estado.
Pas.
Cdigo Zip.
Ejemplo:
http://localhost:8084/BiokitUda/ActualizarUs?id=1&passvieja=xavier1006&nickna
me=xavi&nombre=xavier&apellido=padilla&email=xavi_padilla77@hotmail.com&
pass=xavier1006&telefono=+593987899428&direccion=1322%20129th&ciudad=New%20York&estado=New%20York&pais=USA&zip=1135
6
FIGURA 145. Ejemplo de Servlet Actualizar.
Fuente: Autor.
4.2.2
Servlet CargarImagen.java.
Servlet ComUsuario.java.
Ejemplo:
http://localhost:8084/BiokitUda/ComUsuario?user=xavi
Fuente: Autor.
Servlet ComEmail.java.
Comprueba si el E-Mail de usuario con el que se est registrando ha sido ocupado por
otro usuario, en caso de no estarlo se permitir el acceso y mostrara el nombre de
usuario, caso contrario se ejecutara un mensaje de error (FIGURA 147).
Parmetros:
Ejemplo:
http://localhost:8084/BiokitUda/CompEmail?email=xavi_padilla77@hotmail.com
Fuente: Autor.
4.2.5
Servlet ConsultarUsuario.java.
Devuelve todos los datos de usuario (FIGURA 148) separados por el smbolo dichos
parmetros son los siguientes:
-
Id. (Numero asignado con el que est registrado el usuario en la base de datos)
Nombre.
Apellido.
Correo Electrnico.
Telfono.
Direccin.
Ciudad.
Estado.
Pas.
Cdigo Zip.
Parmetros:
Ejemplo:
http://localhost:8084/BiokitUda/ConsultarUsuario?id=1
Fuente: Autor.
4.2.6
Servlet GrabarECG.java.
Graba los parmetros propios del Electrocardiograma (fecha, hora, Id, ECG), en una
sola cadena (string) separado cada parmetro y cada string por guiones y barras
respectivamente; para posteriormente separar y asignar los datos particulares de cada
string en cada ubicacin correspondiente en la tabla de la base de datos (toquenizar),
tomando como referencia el carcter barra para los strings y el carcter guion para
los datos individuales a ser asignados en la base en un segundo toquenizado (FIGURA
149).
Parmetros:
Datos: Son los datos del ECG que se requieren grabar en la base de datos, cada
grupo se dividen por el caracter |, y dentro de cada grupo se separan las
derivaciones por el caracter -.
Ejemplo:
http://localhost:8084/BiokitUda/GrabarECG?datos=|-321-324-526|-215-412-854|652-236-512|&id=1&fecha=2014-03-05&hora=9:13:12
Fuente: Autor.
4.2.7
Servlet Imag.java.
Devuelve la foto de perfil del usuario previamente seleccionada y cargada, con solo
ingresar el Id (FIGURA 150).
Ejemplo:
http://localhost:8084/BiokitUda/Imag?id=1
Fuente: Autor.
Parmetros.
4.2.8
Servlet MostrarECGSimple.java.
Lee, desde la base de datos, el Id, la fecha, la hora ingresados y devuelve una imagen
(.png) con los valores del ECG del momento correspondiente a los datos ingresados
(FIGURA 151).
Ejemplo:
http://localhost:8084/BiokitUda/MostrarECGSimple?User=1&Fecha=2013-1220&Hora=17:56:15
Fuente: Autor.
4.2.9
Servlet Perfil.java.
Devuelve una pgina web al ingresar el Id del usuario, (FIGURA 152) dicha pgina
posee y exhibe los siguientes elementos:
-
Fotografa de Perfil.
Nombre.
Apellido.
Correo Electrnico.
Telfono.
Direccin.
Ciudad.
Estado.
Pas.
Cdigo Zip.
Ejemplo:
http://localhost:8084/BiokitUda/Perfil?id=1
Fuente: Autor.
4.2.10 Servlet Registro.java.
Fuente: Autor.
4.2.11 Servlet Usuarios.java.
Fuente: Autor.
Ejemplo:
http://localhost:8084/BiokitUda/Usuarios?user=xavi&pass=xavier1006&lugar=web
Fuente: Autor.
Pginas Web.
4.3.1
HTML.
(Hyper Text Markup Languaje) Es el lenguaje usado para definir pginas web
mediante etiquetas en las que se especifican elementos como textos o grficos
componentes de la pgina web. Se lo construye desde un editor de texto para pginas
web y se lo almacena con la extensin. HTML o .htm.
Este lenguaje consta de etiquetas escritas entre los smbolos <> con una implicacin
en cada letra que va dentro de estos, por ejm <B> para texto en negrita (bold). <P>
para un prrafo o <A> para un enlace, etc.
Entre sus ventajas podemos enumerar:
-
Fcil de entender.
Pocas etiquetas.
JSP.
(JAVA Server Pages) Es una tecnologa de software diseada para crear pginas web
mediante programacin JAVA, lo que nos permite ejecutarlas en mltiples servidores
gracias a la caracterstica multiplataforma con la que cuenta JAVA.
Las paginas JSP estn escritas en cdigo HTML/XML basadas en etiquetas especiales
que programan los archivos de ordenes o procesamiento (scripts) JAVA.
El mvil; de las paginas JSP radica en los servlets, que como ya hemos visto, son
programas JAVA que se ejecutan a travs de un servidor, de ah que podemos ver a
JSP como una manera simplificada de construir servlets, pues el servidor interpreta el
cdigo de la pgina JSP y construye el cdigo JAVA del servlet que se necesite, dicho
servlet a su vez, genera el documento HTML que se ver en la pantalla de navegacin
(FIGURA 156).
de
aplicaciones
mayormente
web
(lvarez,
http://www.desarrolloweb.com, 2002).
4.3.3
JavaScript y NODEjs.
Java Script es un lenguaje de programacin cuya utilidad radica en que los programas
creados pueden ser insertados en una pgina web, dndonos la posibilidad de crear
diferentes efectos o interactuar con los usuarios.
Entre sus caractersticas podemos mencionar que es un lenguaje basado en acciones
que posee menos restricciones, gran parte de la programacin en este lenguaje est
centrada en describir objetos, escribir funciones que respondan a movimientos del
mouse, aperturas, utilizacin de teclas, cargas de pginas entre otros.
Hay dos tipos de JavaScript: por un lado est el que se ejecuta en el cliente, el
JavaScript propiamente dicho, denominado Navigator JavaScript. Y un JavaScript que
se ejecuta en el servidor y se denomina LiveWire JavaScript
Node.js es una plataforma construida en tiempo de ejecucin de JavaScript de Chrome
para construir fcilmente aplicaciones rpidas de red escalables. Node.js utiliza un
modelo de Entrada / Salida dirigida por eventos, dndole caractersticas de ligereza y
eficiencia, ideal para aplicaciones en tiempo real de datos intensivos que se ejecutan a
travs de dispositivos distribuidos. NODEjs es un servidor de aplicaciones
complementario de Java Script pues genera un entorno de ejecucin para este, del lado
del servidor (desarrolloweb.com, 2008).
4.3.4
Encriptacin Multiparte.
Al enviar un formulario, el navegador interpreta esta accin como un intento por enviar
de red correctamente envuelto en una estructura de mensaje de protocolo TCP/IP a
travs del protocolo HTTP. Al enviar los datos, se puede utilizar ya sea el mtodo
POST o GET para enviar datos a travs de dicho protocolo HTTP.
Biokituda.jsp.
Es la pgina de cada usuario del sistema, en donde se podrn realizar las consultas de
los datos previamente adquiridos, adems se podr cambiar la foto de perfil al gusto
de cada usuario (FIGURA 157).
Ejemplo:
http://localhost:8084/BiokitUda/Biokituda.jsp
Fuente: Autor.
4.4.2
Medico.jsp.
Es una pgina exclusiva para los mdicos para que puedan revisar los datos adquiridos
por los diferentes pacientes, ya que en esta contaran con una lista desplegable que
mostrara todos los usuarios registrados en el sistema (FIGURA 158).
Adems y al igual que la pgina de usuarios (BiokitUda.jsp), se podr cambiar la foto
de perfil del mdico y cerrar la respectiva sesin (FIGURA 159 y FIGURA 160).
Ejemplo:
http://localhost:8084/BiokitUda/Medico.jsp
Fuente: Autor.
Fuente: Autor.
Fuente: Autor.
4.4.3
CargaIma.jsp.
http://localhost:8084/BiokitUda/CargaIma.jsp
Fuente: Autor.
4.4.4
Cerrar.jsp.
Imagen.jsp.
Efecta una labor de bypass entre la pgina de login del biokit y la pgina dedicada al
mdico o administrador.
4.4.6
Index.jsp.
Fuente: Autor.
CAPTULO 5.
BASE DE DATOS
Software para manejo de datos.
5.1.1
Base de datos.
MySQL.
MySQL puede ser definido como un gestor o servidor de bases de datos relacionales.
Para agregar, acceder y almacenar datos en una base de datos se requiere una
aplicacin que sirva como administrador de dicha base de datos que nos permita
interactuar con dicha base, que es la funcin que desempea MySQL.
Como ya mencionamos, una base de datos es, dicho de forma simple, un conjunto
ordenado de informacin, al hablar de base de datos relacionados, nos referimos a un
almacenamiento de datos en tablas separadas unas de otras, en lugar de colocarse la
informacin en un solo lugar, utilizamos tablas enlazadas entre s por diferentes
condiciones, esto nos permite combinar datos de diferentes tablas y acceder a la
informacin de forma ms flexible y veloz (Bravo, 2007).
5.1.2.2 Caractersticas de MySQL.
Una de las principales caractersticas de MySQL es la de ser Open Source, trmino
en ingles que significa que relativamente cualquier persona en el mundo puede
descargar el software de MySQL desde Internet y utilizarlo de forma gratuita. De
hecho, de ser necesario, cualquier usuario puede cambiar el cdigo fuente de acuerdo
a sus necesidades, pues MySQL utiliza una licencia llamada GPL (Licencia Publica
General), con la posibilidad de extenderse a una licencia comercial segn ciertas
condiciones.
A ms de esto, podemos mencionar de forma general, que MySQL como tal, posee
rapidez de respuesta, relativa seguridad por medio de un sistema de Password, y
facilidad de uso; debido a que este programa fue desarrollado originalmente para
manejar grandes bases de datos de forma ms veloz que los dems servidores
existentes hasta ese momento.
Entre los detalles de carcter tcnico del servidor, MySQL FIGURA 166 es un sistema
basado en la metodologa cliente/servidor, el servidor como tal est elaborado a travs
del leguaje SQL multihilo, cuenta con gran variedad de APIs (Interfaces de
aplicacin), junto con diversas bibliotecas enlazables entre s, constituyendo un
sistema eficiente, robusto y de fcil uso (mysql.com, 2011).
El manejo de los datos recolectados de los distintos servicios que se brinda se debe
manejar de tal manera que se optimice siempre la cantidad de informacin ingresada
en la base de datos por lo que se dise la base de datos de la siguiente manera:
Electrocardiograma.
Fuente: Autor.
5.2.2
Oxmetro.
La base de datos del servicio del oxmetro se maneja siguiendo el diagrama entidad
relacin descrito en la FIGURA 168 sugiriendo que por cada usuario se pueden tener
diferentes registros de los niveles de oxgeno de la sangre, estos registros tendrn su
propio identificador y su propia fecha y hora.
En el relacionador Tiene se asigna el identificador de la tabla del oxmetro al
identificador de la tabla usuario optimizando de esta manera la informacin que se
agregue por cada usuario.
Fuente: Autor.
5.2.3
Tensimetro.
La base de datos del servicio del tensimetro se maneja siguiendo el diagrama entidad
relacin descrito en la FIGURA 169 sugiriendo que por cada usuario se pueden tener
diferentes registros de la presin arterial diastlica y sistlica, estos registros tendrn
su propio identificador y su propia fecha y hora.
En el relacionador Tiene se asigna el identificador de la tabla del tensimetro al
identificador de la tabla usuario optimizando de esta manera la informacin que se
agregue por cada usuario.
FIGURA 166. Diagrama entidad Relacin del Manejo de datos en Tensimetro.
Fuente: Autor.
CONCLUSIONES
Obviamente aspectos del presente tema de tesis que tienen que ver con su utilidad, su
aplicabilidad o su alcance dentro de determinadas circunstancias; son temas de opinin
personal por parte de las personas que de alguna manera han tenido acceso a esta
informacin, y de hecho, se puede decir que estos aspectos prcticamente caen en la
categora de lo subjetivo. Por lo expuesto, sobra decir que al momento de exponer las
conclusiones, que de hecho, puede decirse que es una de las ms importantes, no se
incluirn este tipo de temas, sino ms bien, los tpicos que tiene que ver con las
experiencias, problemticas, recomendaciones,
BIBLIOGRAFA.
Recuperado
el
Junio
de
2014,
de
http://www.desarrolloweb.com/articulos/que-es-html.html
LVAREZ, M. A. (8 de Julio de 2002). http://www.desarrolloweb.com.
(desarrolloweb.com/articulos)
Recuperado
el
Junio
de
2014,
de
http://www.desarrolloweb.com/articulos/831.php
LVAREZ,
M.
A.
(8
DE
JULIO
HTTP://WWW.DESARROLLOWEB.COM.
DE
2002).
OBTENIDO
DE
http://www.desarrolloweb.com/articulos/831.php aplicaciones-android.org. (8
de Septiembre de 2011). http://www.aplicaciones-android.org. Recuperado el
Mayo de 2014, de http://www.aplicaciones-android.org/sistema-operativoandroid/
AZUAY, U. d. (2005). http://www.uazuay.edu.ec. (uazuay.edu.ec) Recuperado el
Julio
de
2014,
de
http://www.uazuay.edu.ec/analisis/El%20modelo%20relacional.pdf
BRANDAN, N. A. (2008). http://docs.moodle.org/. Recuperado el Enero de 2014, de
http://docs.moodle.org/all/es/images_es/5/5b/Hemoglobina.pdf
BRAVO,
I.
M.
(2007).
http://indira-informatica.blogspot.com/.
(indira-
(2008).
Recuperado
http://www.desarrolloweb.com.
el
Junio
de
2014,
de
http://www.desarrolloweb.com/javascript/#quees
GEOSALUD.
(s.f.).
http://www.geosalud.com.
Obtenido
de
http://www.geosalud.com/hipertension/procedimiento_ha.htm
GONZALEZ,E.
(2006).
(aprenderaprogramar.com)
http://www.aprenderaprogramar.com.
Recuperado
el
Junio
de
2014,
de
http://www.aprenderaprogramar.com/index.php?option=com_content&view=
article&id=527:get-y-post-html-method-formas-de-envio-de-datos-en-
el
Abril
de
2014,
de
http://sensing.honeywell.com/index.php/ci_id/49876/la_id/1/document/1/re_i
d/0 http://www.geosalud.com/. (s.f.). (Webmaster GeoSalud) Recuperado el 20
de
abril
de
2014,
de
http://www.geosalud.com/hipertension/procedimiento_ha.htm
KUBOTA., J. C. (16 de Agosto de 2009). http://es.scribd.com/. (scribd) Recuperado
el 20 de Febrero de 2014, de http://es.scribd.com/doc/18665760/Elementos-deEspectroscopia-y-Ley-de-Lambert-Beer
MARTINEZ, J. A. (13 de Agosto de 2002). http://www.monografias.com.
(monografias.com)
Recuperado
el
Julio
de
2014,
de
http://www.monografias.com/trabajos11/basda/basda.shtml
MCGRAW-HILL,
t.
(30
(mailxmail.com)
de
10
de
Recuperado
2008).
el
http://www.mailxmail.com.
Julio
de
2014,
de
http://www.mailxmail.com/curso-mysql-informatica/mysql-origenes-historia
MESTRAS, J. P. (2004). http://www.fdi.ucm.es. (Dep. Sistemas Informticos y
Programacin. Universidad Complutense Madrid) Recuperado el Junio de
2014, de http://www.fdi.ucm.es/profesor/jpavon/poo/02IntroJava.pdf
MORILLO, A. E. (2012). http://recsi2012.mondragon.edu/es. (mondragon.edu/es)
Recuperado
el
Junio
de
2014,
de
http://recsi2012.mondragon.edu/es/programa/recsi2012_submission_31.pdf
MULTSTOCK.
(2012).
http://www.multstock.com.
Obtenido
de
http://www.multstock.com.br/nossos-produtos/oximetro-de-pulso-md300c/
mysql.com. (2011). http://dev.mysql.com. (mysql.com) Recuperado el Julio de
2014, de http://dev.mysql.com/doc/refman/5.0/es/features.html
NUEZ, K. (18 de Julio de 2013). es.slideshare.net. (es.slideshare.net) Recuperado
el Mayo de 2014, de http://es.slideshare.net/karenonunez/sistema-operativoandroid-versiones-historia
OCHANDO, M. B. (20 de febrero de 2014). http://ccdoc-basesdedatos.blogspot.com.
Recuperado
el
Julio
de
2014,
de
http://ccdoc-
basesdedatos.blogspot.com/2013/02/modelo-entidad-relacion-er.html
Recuperado
el
Marzo
de
2014,
de
Obtenido
de
Obtenido
de
http://www.medicinapreventiva.com.ve/auxilio/signos/tension.htm
PREZ,
V.
(23
de
septiembre
de
2010).
Laguia2000.
http://matematica.laguia2000.com/general/ley-de-beer-lambert
RAMON,A.
X.
(13
de
Marzo
de
2013).
blogspot.com.
http://alexalteno1.blogspot.com/2013/03/triangulo-de-einthoven.html
RIEGO,A.R.
(24
de
Enero
de
2013).
(24
de
Enero
de
2013).
(24
de
Enero
de
2013).
2014,
de
http://www.monografias.com/trabajos58/medicion-tension-
arterial/medicion-tension-arterial.shtml
SARDIAS, M. R. (2008). http://www.monografias.com/. Recuperado el 4 de abril
de
2014,
de
http://www.monografias.com/trabajos58/medicion-tension-
arterial/medicion-tension-arterial2.shtml
de
http://www.revistaciencias.com/publicaciones/EEZpklkZZkOTohDvCL.php
SYLVIA PALACIOS M., C. . (2010). http://www.scielo.cl/. Recuperado el 10 de
Febrero de 2014, de http://www.scielo.cl/pdf/rcher/v26n1/art10.pdf
TOLOZA, A. M. (2005). http://www.dalcame.com. (Dalcame) Recuperado el 10 de
Octubre de 2014, de http://www.dalcame.com/ecg.html#.U80zBeN5NUU. 1.
TOLOZA, A. M. (2005). http://www.dalcame.com/. ( Grupo de investigacion
biomedica
DALCAME)
Recuperado
el
Enero
de
2014,
de
http://www.dalcame.com/ecg.html#.U80zBeN5NUU
UNIVERSIDAD CES. (2007). http://its.uvm.edu. (Universidad CES) Recuperado el
Mayo de 2014, de http://its.uvm.edu/medtech/Tmodule_es.html
ANEXOS.
<link
color: #FFF;
padding-right: 15px;
padding-left: 15px;
left: 80px;
position: relative;
}
.icono {
background-color: #FFF;
text-align: center;
font: 85%/1.4 Verdana, Arial, Helvetica, sans-serif , bold;
width: auto;
color: #000;
padding-right: 15px;
padding-left: 15px;
left: 60px;
position: relative;
}
.sidebar1 {
float: right;
width: 55%;
height: auto;
background-color: #FFFFFF;
padding-bottom: 100px;
color: #000;
text-align:left;
}
.content {
padding: 10px 0;
width: 45%;
float: right;
}
.content ul, .content ol {
padding: 0 15px 15px 40px;
}
ul.nav {
list-style: none;
border-top: 1px solid #666;
margin-bottom: 15px;
background-image: url(../tesis/leather_black.jpg);
}
ul.nav li {
border-bottom: 1px solid #666;
}
ul.nav a, ul.nav a:visited {
padding: 5px 5px 5px 15px;
display: block;
text-decoration: none;
background-color: #FFFFFF;
color: #000;
}
ul.nav a:hover, ul.nav a:active, ul.nav a:focus {
background-color: #FFFFFF;
color: #FFF;
}
.footer {
padding: 10px 0;
background-color: #000000;
background-image:url(img/map.png);
position: relative;
clear: both;
font-family: Verdana, Geneva, sans-serif;
color: #FFF;
text-align: center;
}
.fltrt {
float: right;
margin-left: 8px;
}
.fltlft {
float: left;
margin-right: 8px;
}
.clearfloat {
clear:both;
height:0;
font-size: 1px;
line-height: 0px;
}
sPro.options[i] = new
}
;
});
<%
package Servlets;
import
import
import
import
java.io.*;
java.sql.*;
javax.servlet.*;
javax.servlet.http.*;
package Servlets;
import
import
import
import
java.io.*;
java.sql.*;
javax.servlet.*;
javax.servlet.http.*;
package Servlets;
import
import
import
import
import
java.io.*;
java.sql.*;
javax.servlet.*;
javax.servlet.http.*;
java.util.StringTokenizer;
package Servlets;
import
import
import
import
import
import
import
import
import
import
import
import
import
import
import
import
import
import
import
java.awt.BasicStroke;
java.awt.*;
java.io.IOException;
java.io.OutputStream;
javax.servlet.ServletException;
javax.servlet.http.HttpServlet;
javax.servlet.http.HttpServletRequest;
javax.servlet.http.HttpServletResponse;
org.jfree.chart.ChartFactory;
org.jfree.chart.ChartUtilities;
org.jfree.chart.JFreeChart;
org.jfree.chart.plot.PlotOrientation;
org.jfree.chart.plot.XYPlot;
org.jfree.chart.renderer.xy.XYLineAndShapeRenderer;
org.jfree.data.xy.XYDataset;
org.jfree.data.xy.XYSeries;
org.jfree.data.xy.XYSeriesCollection;
java.sql.SQLException;
java.util.StringTokenizer;
}
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException, SQLException {
i = 0;
longitud = 0;
indice = 0;
fechaecg = request.getParameter("Fecha");
horaecg = request.getParameter("Hora");
user = request.getParameter("User");
response.setContentType("image/png");
OutputStream out = response.getOutputStream();
XYDataset dataset = generaDatos();
JFreeChart grafico = generaGrafico(dataset);
ChartUtilities.writeChartAsPNG(out, grafico, 4325, 435);
out.close();
}
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
try {
processRequest(request, response);
} catch (SQLException ex) {
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
try {
processRequest(request, response);
} catch (SQLException ex) {
}
}
@Override
public String getServletInfo() {
return "Short description";
}
true,
false
);
PiePlot plot = (PiePlot) chart.getPlot();
plot.setBackgroundPaint(Color.BLACK);
chart.setBackgroundPaint(Color.BLACK);
plot.setOutlineVisible(false);
plot.setSectionPaint(0, Color.LIGHT_GRAY);
plot.setSectionPaint(1, Color.GRAY);
plot.setShadowXOffset(0D);
plot.setLabelFont(new Font("Arial", Font.BOLD, 25));
plot.setLabelLinkStroke(new BasicStroke(4f));
plot.setLabelLinkPaint(Color.WHITE);
plot.setLabelBackgroundPaint(Color.BLACK);
plot.setLabelPaint(Color.WHITE);
plot.setLabelGenerator(new StandardPieSectionLabelGenerator("{0} {2}"));
plot.setExplodePercent(0, 0.3);
plot.setInteriorGap(0.01);
try {
response.setContentType("image/png");
OutputStream out = response.getOutputStream();
ChartUtilities.writeChartAsPNG(out, chart, 1200, 430);
out.close();
} catch (IOException e) {
System.err.println("Error");
}
}
} catch (SQLException e) {
System.err.println("Error de SQL: " + e);
if (conexion != null) {
try {
conexion.close();
} catch (SQLException ee) {
System.err.println("No puede cerrar la conexion: " + ee);
}
}
System.exit(3);
}
if (conexion != null) {
try {
conexion.close();
} catch (SQLException ee) {
System.err.println("No puede cerrar la conexion: " + ee);
}
}
}
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
try {
processRequest(request, response);
} catch (SQLException ex) {
}
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
try {
processRequest(request, response);
} catch (SQLException ex) {
}
}
@Override
public String getServletInfo() {
return "Short description";
}
rango.setAxisLinePaint(Color.WHITE);
CategoryAxis cAxis = plot.getDomainAxis();
cAxis.setLowerMargin(0.01D);
cAxis.setUpperMargin(0.01D);
cAxis.setTickMarksVisible(false);
cAxis.setAxisLinePaint(Color.white);
cAxis.setLabelPaint(Color.WHITE);
cAxis.setTickLabelPaint(Color.WHITE);
cAxis.setTickLabelFont(new Font("Arial", Font.BOLD, 30));
cAxis.setLabelFont(new Font("Arial", Font.BOLD, 25));
cAxis.setAxisLineStroke(new BasicStroke(4f));
plot.setRangeGridlinePaint(Color.WHITE);
plot.setRangeGridlineStroke(new BasicStroke(2f));
plot.setDomainGridlinePaint(Color.WHITE);
plot.setDomainGridlineStroke(new BasicStroke(2f));
try {
response.setContentType("image/png");
OutputStream out = response.getOutputStream();
ChartUtilities.writeChartAsPNG(out, chart, 800, 800);
out.close();
} catch (IOException e) {
System.err.println("Problem occurred creating chart.");
}
}
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
try {
processRequest(request, response);
} catch (SQLException ex) {
}
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
try {
processRequest(request, response);
} catch (SQLException ex) {
}
}
@Override
public String getServletInfo() {
return "Short description";
}
package Servlets;
import
import
import
import
java.io.*;
java.sql.*;
javax.servlet.*;
javax.servlet.http.*;