aplicación web aplicada a la telemedicina en … · profesionales que apelan a las tecnologías de...
TRANSCRIPT
Aplicación Web aplicada a la Telemedicina en dispositivos
móviles.
Sotar Cari, Roberto A.1 2 3
1 Departamento de Electricidad Electrónica y Computación, Facultad de Ciencias
Exactas y Tecnología, UNT.
2 Instituto de Bioelectrónica, Facultad de Medicina, UNT.
3 Departamento de Bioingeniería, Facultad de Ciencias Exactas y Tecnología,
UNT.
Abstract: El presente artículo, explica el diseño y desarrollo de una aplicación web
prototipo, que correrá en dispositivos móviles, siendo los Smartphone’s los dispositivos
móviles elegidos para el desarrollo, la necesidad surge a partir de un proyecto más grande
que incursiona el campo de la Telemedicina, en el cual el objetivo del mismo es mejorar y
facilitar la comunicación entre los centros de salud periféricos-rurales de la provincia de
Tucumán, con los centros de mayor envergadura que se encuentran en la ciudad de S. M.
de Tucumán Para el diseño y desarrollo de esta aplicación se usa conceptos de Ingeniería
de Software, también conceptos de Mobile Web 2.0, utilizando herramientas de desarrollo
free y open source(foss).
1. Introducción.
La Organización Mundial de la Salud (OMS), define a la Telemedicina como: “El suministro de
servicios de atención sanitaria, en los que la distancia constituye un factor crítico, por
profesionales que apelan a las tecnologías de la información y de la comunicación con objeto de
intercambiar datos para hacer diagnósticos, preconizar tratamientos y prevenir enfermedades y
heridas, así como para la formación permanente de los profesionales de atención de salud y en
actividades de investigación y valuación, con el fin de mejorar la salud de las personas y de las
comunidades en que viven. El proyecto de Telemedicina en Tucumán, surge por la necesidad de
mejorar la comunicación entre centros de atención de la periferia y rurales con los centros de
mayor envergadura que se encuentran en su mayoría en la ciudad.
XVIII Congreso Argentino de Bioingeniería SABI 2011 - VII Jornadas de Ingeniería Clínica Mar del Plata, 28 al 30 de septiembre de 2011
El sistema en cuestión (la aplicación web) brinda información relevante de pacientes en el
Smartphone[1] disminuyendo el riesgo de toma de decisiones equivocadas y traslados innecesarios
de los pacientes, también brinda un servicio de envió de datos, que en este caso particular son
generados por un dispositivo sensor que se conecta en el pecho de paciente y genera una serie de
registros cardiográficos codificados en un archivo de texto y enviado al Smartphone vía bluetooth,
luego el usuario a través de la aplicación web envía estos datos al servidor ya sea usando wifi o la
red de telefonía celular a través de un MMS (Multimedia Messaging System).
2. Diseño y Requerimientos.
El diseño de la aplicación abarca conceptos de WEB 2.0 orientados a dispositivos móviles llamado
también MOBILE 2.0[2], los cuales soportan tecnologías clave como AJAX (Asynchronous
JavaScript And XML o JavaScript asíncrono y XML)[1] que es la tecnología que permitió romper
con las recargas de páginas completas y permite crear aplicaciones más interactivas y rápidas. El
segundo está relacionado con las hojas de estilo (CSS: Cascading Style Sheets) [1]. Esto
tiene que ver con el diseño, particularmente en que sea dinámico. Permite despegar la
presentación del contenido. Se pueden distinguir 5 elementos claves[2] a la hora de empezar el diseno los cuales son
Contexto, Mensaje, Look and Feel (Vista y Presentación), Layout (componentes de la aplicación y
su disposición), Color (colores fríos, cálidos), Typography (fuentes de texto) y por último los
Gráficos.
Estos elementos junto con las tecnologías mencionadas anteriormente definen en gran
parte los requisitos que debe soportar el navegador web del dispositivo, factor muy importante, el
cual es tipificado en la siguiente tabla según su parecido a un navegador desktop estándar, siendo
A es más parecido y F el más alejado. Se hace esta comparación debido a que, para que la
aplicación se ejecute sin dificultades el navegador web del dispositivo móvil debe ser lo más
parecido a un navegador web desktop estándar, como por ejemplo los ya conocidos, Mozilla
Firefox o Google Chrome etc.
Tabla 1: Clasificación de Browser’s Móviles.
Clase Lenguaje de Marcas CSS JavaScript
A XHTML, XHTML-MP, HTML5 CSS2, CSS3 Great, includes DHTML, Ajax
B XHTML, XHTML-MP CSS2 (Decent) LIMITADO, DHTML
C XHTML, XHTML-MP CSS2 (Decent) LIMITADO
D XHTML-MP CSS2 (Decent) NO
F XHTML-MP, WML NO NO
Dada esta clasificación, se determina entonces los requisitos mínimos y recomendados
para el navegador web del dispositivo móvil, en este caso se usó la plataforma RIM BlackBerry[5]
y se recomienda el navegador nativo incluido en la versión 5.0.0.xxx de este Sistema Operativo en
adelante, y como versión mínima la 4.5.0.xxx de dicho SO. Dada que la aplicación se ejecuta sobre
un navegador web la misma también es soportada en plataformas como Android, Windows Mobile
o WebOS, recordando nuevamente que el requerimiento principal es el navegador web.
XVIII Congreso Argentino de Bioingeniería SABI 2011 - VII Jornadas de Ingeniería Clínica Mar del Plata, 28 al 30 de septiembre de 2011
2.1. Diagrama de clases de negocio.
Figura 1: Diagrama de Clases de Dominio.
A continuación se muestra un diagrama de clases de negocio sencillo, para comprender los
requisitos y dominio de la aplicación.
Clase Pacientes: Describe los pacientes mostrando información relevante de cada uno
de ellos y sus atributos correspondientes (nombre, domicilio, etc). En esta aplicación
no habrá persistencia de pacientes ya que la misma se hará desde la versión Web
Desktop desde una PC, El alta en la mayoría de los casos se hace en hospital rural.
Clase Eventos: Los eventos son situaciones asociadas a cada uno de los pacientes
pudiendo estar o no tipificados, como por ejemplo una algún tipo consulta, internación,
también se detallan para cada evento observaciones o conclusiones de una consulta
para cada paciente en particular.
Clase Datos ACV: Es un fenómeno particular que se agrega al evento. En nuestra
aplicación es la parte que toma como datos al archivo generado por el sensor que
codifica registros cardiográficos en un archivo de texto, que luego es enviado por
medio de un MMS al servidor, cada transacción de envío queda registrada en la base de
datos del servidor, pudiéndose identificar al paciente y el teléfono involucrados.
3. Desarrollo y Programación.
En esta parte mencionaremos las herramientas, como así también algunos patrones usados para el
desarrollo de la aplicación, nuevamente se hace uso del lenguaje UML[6] para graficar y explicar
lo que viene a continuación.
3.1 Herramientas:
El desarrollo y programación del sistema, es realizado con herramientas libres y gratuitas, entre
ellas se encuentran Netbeans IDE v6.5.1, Argouml v0.35 (herramienta case UML), el motor de
base de datos MySQL v5.5.8 x64 y la herramienta case complementaria MySQL Workbench
v5.22, el Servidor de aplicaciones Glassfish v2.1 y el framework ICEfaces v1.8.1[4]( que
complementa al estándar JSF v1.2 en este caso).
Dadas las herramientas, se siguió para la programación la implementación del patrón
MVC (Modelo Vista Controlador).
XVIII Congreso Argentino de Bioingeniería SABI 2011 - VII Jornadas de Ingeniería Clínica Mar del Plata, 28 al 30 de septiembre de 2011
Figura 2: MVC e integración de herramientas.
La figura 2 muestra de manera simple como este modelo o también llamado patrón se
involucra con las herramientas y frameworks descriptos anteriormente en el desarrollo del sistema,
cabe mencionar que es un modelo muy extendido en el mundo de las aplicaciones web RIA (Rich
Internet Aplication), combinando conceptos de aplicaciones Desktop, Web 2.0. Con respecto al
“Controlador”, en el cual se encuentra la lógica de negocios de la aplicación fue codificada en java
versión 5.0, usando conceptos tales como JavaBeans. La “Vista” hace referencia a las páginas de
la aplicación, siguen el estándar JSP[10] mas el aporte del framework ICEfaces, el cual brinda a
cada componente comportamiento AJAX, aportando un dinamismo a la aplicación sin escribir
código JavaScript, sedice que cada componente que brinda este framework tiene embebido
javascript, la parte de “Modelo” nos ubica en el tratamiento de los datos y la conectividad con la
base de datos, que se hace mediante la tecnología CRUD (Create Read Update and Delete) la cual
hace un mapeo de las tablas de la base de datos convirtiéndolas en clases de java, luego un
posterior mapeo de las clases resultantes del primer mapeo se realiza para crear otro grupo de
clases controladoras que usan el estándar JPA(Java Persistence API) a través de la implementación
que ofrece Oracle llamado Toplink[7], las clases controladoras se usan, básicamente para hacer
altas, bajas, modificaciones o borrado de datos en la base de datos.
XVIII Congreso Argentino de Bioingeniería SABI 2011 - VII Jornadas de Ingeniería Clínica Mar del Plata, 28 al 30 de septiembre de 2011
3.2 Aplicación Web Móvil (Screenshots).
XVIII Congreso Argentino de Bioingeniería SABI 2011 - VII Jornadas de Ingeniería Clínica Mar del Plata, 28 al 30 de septiembre de 2011
Se utilizó el simulador del Smartphone BlackBerry 9550, el cual usa la versión 5.0.0.117 de
BlackBerry OS. Es un simulador muy versátil y esta específicamente diseñado para probar
aplicaciones para luego ser cargadas con seguridad en el Smartphone, el navegador web que posee
este simulador es según nuestra clasificación “clase A”.
4. Arquitectura de la Aplicación.
Se muestra a continuación, dos esquemas de la aplicación, el primero (figura 3) ejemplifica el caso
en el cual el paciente hace uso de la misma en un ambiente libre para enviar los registros
cardiográficos codificados en un archivo de texto, mediante Bluetooth, luego este archivo es
enviado mediante MMS al servidor, por ultimo estos datos son procesados en el servidor e
interpretados por los médicos especialistas.
En la figura 4, se esquematiza como los agentes sanitarios (médicos, enfermeros
especialistas etc.) interactúan con la aplicación desde los centros rurales y así disponer de
información de pacientes remotamente.
Figura 3: Uso de la aplicación por parte del paciente en ambiente libre
Figura 4: Uso de la aplicación por parte de un Agente Sanitario
5. Conclusiones.
XVIII Congreso Argentino de Bioingeniería SABI 2011 - VII Jornadas de Ingeniería Clínica Mar del Plata, 28 al 30 de septiembre de 2011
Al implementar el sistema como una aplicación web móvil, se observa rápidamente un
crecimiento en la disponibilidad de la información, en esta primera etapa solo se experimentara
solo información demográfica de pacientes y eventos relacionados a cada uno de ellos
(información médica); que es necesaria para una mejor toma de decisiones a la hora de realizar
diagnósticos en pacientes que se encuentran alejados de centros de gran envergadura, y así mejorar
entre otras cosas el uso de los recursos instalados en los centros de menor complejidad y no saturar
los centros de mayor envergadura debido a la derivación de pacientes a dichos centros. Se observa
así el beneficio de tener la información in situ a través del dispositivo móvil, que es uno de los
objetivos de la aplicación.
Por otra parte, el envío de datos me permite evitar el traslado del paciente o agente de
salud para analizar el archivo. Se habla entonces de un “Estudio Electrocardiográfico en ambiente
libre”.
5.1 Ventajas y desventajas de las Aplicaciones Web:
Ventajas.
a. Son fáciles de crear, a partir de HTML, CSS, JavaScript.
b. Son fáciles de implementar a través de múltiples dispositivos.
c. Ofrecen una mejor experiencia de usuario y un diseño rico, aprovechando las
características del dispositivo.
d. El contenido es accesible en casi cualquier navegador web para móviles.
Desventajas.
e. La experiencia óptima podría no estar disponible en todos los terminales.
f. No siempre se cuenta con el apoyo que una aplicación nativa brinda como, el modo
offline, ubicación, operaciones de búsqueda, acceso a sistema de archivos, cámaras, etc.
5.2 Impacto del uso FOSS (Free and Open Source Software).
Un requerimiento del proyecto indica trabajar con herramientas libres o de código
abierto esto nos permite:
a. Ahorro en el pago de licencias en el caso de uso de software enlatado, por ejemplo en un
entorno de desarrollo avanzado (se utilizó Netbeans) o en el uso de un motor de base datos (se
utilizó MySQL), ambos son ejemplos de software Open Source.
b. Gran parte del desarrollo tuvo como consecuencia el planteamiento y resolución de
problemas que fueron compartidos en foros de comunidades de software libre[3][4][5], que a su
vez fueron fuentes de información para el desarrollo y documentación de la aplicación.
5.3 Diferencias entre navegadores móviles y dispositivos.
Para concluir se detalla a continuación las diferentes plataformas móviles y los navegadores con
los cuales se trabajó, se hace especial mención en este tema ya que no en todas las plataformas de
Smartphones la aplicación se ejecuta de manera eficaz y/o eficiente, se toma como referencia
dispositivos que salieron al mercado a partir del año 2009 como los dispositivos en los cuales la
aplicación corre sin problemas. A continuación se lista los dispositivos en los cuales se probó la
aplicación de manera óptima, y los navegadores con su versión correspondiente y clasificación que
se menciona en la tabla 1.
Tabla 2: Dispositivos de prueba.
Dispositivo Sistema Operativo Browser Clase Browser
BlackBerry Curve 8520 BlackBerry OS 5.0 BlackBerry Browser 5.0 A
BlackBerry Curve 8320 BlackBerry OS 4.5.0.81 BlackBerry Browser 4.5.0 B
Nokia 5130 Symbian OS v9.2 Nokia s60 series B
Nokia n72 Symbian OS (8.1a) Nokia s60 series B
XVIII Congreso Argentino de Bioingeniería SABI 2011 - VII Jornadas de Ingeniería Clínica Mar del Plata, 28 al 30 de septiembre de 2011
Referencias..
[1] Programming the Mobile Web. July 2010: First Ed. Maximiliano Firtman. O’Reilly Media,
Inc.
[2] Mobile Design and Development. August 2009: First Ed. Brian Fling. O’Reilly Media, Inc.
[3] www.forosdelweb.com.
[4] www.icefaces.org
[5] http://supportforums.blackberry.com/t5/Developer-Support-Forums/ct-p/blackberrydev
[6] Larman C., “UML y Patrones”, Segunda Edición, Editorial Prentice-Hall, 2003.
[7] www.oracle.com/technetwork/middleware/toplink/overview/index.html
[8] ICEfaces 1.8 Next Generation Enterprise Web Development. Noviembre 2009: Firs Ed. Rainer
Eschen. Copyright © 2009 Packt Publishing
[9] Core Java Vol I Fundamentals. September 2007. Eight Ed. CAY S. HORSTMANN - GARY
CORNELL. Copyright© 2008 Sun Microsystems, Inc. Prentice Hall.
[10] Core JavaServerFaces Vol I Fundamentals. September 2007. Eight Ed. DAVID GEARY
CAY HORSTMANN. Copyright © 2010, Oracle and/or its affiliates. All rights reserved. Prentice
Hall.
XVIII Congreso Argentino de Bioingeniería SABI 2011 - VII Jornadas de Ingeniería Clínica Mar del Plata, 28 al 30 de septiembre de 2011