Artículo IEEE

8
1 Resumen: Se ha desarrollado un sistema web de visualización de alertas en tiempo real y una aplicación para dispositivos móviles con Android, para el logro del proyecto se ha utilizado la metodología ICONIX siguiendo sus fases: revisión de requisitos, revisión del diseño preliminar, revisión crítica del diseño, implementación. Palabras Clave: Alerta médica, web service, geolocalización, tiempo real, botón pánico. I. INTRODUCCIÓN El crecimiento acelerado de la población a nivel mundial así como también los niveles de inseguridad como consecuencia del desarrollo de los pueblos ha originado que se incremente la necesidad de contar con sistemas que permitan a los organismos de socorro atender emergencias en el lugar en el que se suscita el incidente y así como también en el tiempo oportuno debido a que son vidas humanas las que corren riesgo. Diariamente los sistemas que hacen que realizar algunos procesos se torne en algo más simple crecen, es por ello que desarrollar e implementar un sistema que colabore con la labor diaria de los organismos de socorro se vuelve en una necesidad y en una prioridad. Las necesidades de la población de recibir atención pre-hospitalaria oportuna y bajo las condiciones en las que se encuentre la situación de emergencia son prioritarias debido a que en muchas de las ocasiones al no tener un registro de la persona a ser atendida, el organismo de socorro desconoce el historial médico, así como también desconoce la situación a la cual se va a enfrentar, esto también afecta al paciente debido a que no se va a contar al momento de la emergencia con los medicamentos e implementos necesarios para atender la emergencia de manera correcta. Teniendo planteada la presente problemática se ha desarrollado un sistema web que permita a la Cruz Roja Junta Provincial Loja, como organismo de socorro visualizar alertas médicas suscitadas en tiempo real, también le permite notificar a los socorristas a través de un mensaje de texto a sus teléfonos celulares de una emergencia sin atender, puede visualizar la ubicación exacta así como también da la oportunidad de enviar a una lista negra a usuarios mal intencionados que envíen alertas falsas, visualizar estadísticas de porcentaje de emergencias atendidas, no atendidas y falsas. Así mismo se ha desarrollado una aplicación para dispositivos móviles con sistema operativo Android que permita la comunicación entre el usuario del dispositivo y el organismo de socorro, esta aplicación le permite al usuario registrarse enviando “DESARROLLO DE UN SISTEMA WEB DE ADMINISTRACIÓN Y VISUALIZACIÓN DE ALERTAS EN TIEMPO REAL CON NOTIFICACIÓN VÍA MENSAJE DE TEXTO Y UNA APLICACIÓN MÓVIL CON GEOLOCALIZACIÓN DE EMERGENCIAS MÉDICAS PARA LA CRUZ ROJA - LOJA.” Carpio Johana, Faicán Rosa, Jácome Galarza Roberto Universidad Nacional de Loja, Ecuador, [email protected] Universidad Nacional de Loja, Ecuador, [email protected] Universidad Nacional de Loja, Ecuador, [email protected]

description

Articulo científico de Desarrollo Web y Android

Transcript of Artículo IEEE

Page 1: Artículo IEEE

1

Resumen: Se ha desarrollado un sistema web de

visualización de alertas en tiempo real y una

aplicación para dispositivos móviles con Android,

para el logro del proyecto se ha utilizado la

metodología ICONIX siguiendo sus fases: revisión

de requisitos, revisión del diseño preliminar,

revisión crítica del diseño, implementación.

Palabras Clave: Alerta médica, web service,

geolocalización, tiempo real, botón pánico.

I. INTRODUCCIÓN

El crecimiento acelerado de la población a nivel

mundial así como también los niveles de

inseguridad como consecuencia del desarrollo de

los pueblos ha originado que se incremente la

necesidad de contar con sistemas que permitan a los

organismos de socorro atender emergencias en el

lugar en el que se suscita el incidente y así como

también en el tiempo oportuno debido a que son

vidas humanas las que corren riesgo.

Diariamente los sistemas que hacen que realizar

algunos procesos se torne en algo más simple

crecen, es por ello que desarrollar e implementar un

sistema que colabore con la labor diaria de los

organismos de socorro se vuelve en una necesidad y

en una prioridad.

Las necesidades de la población de recibir atención

pre-hospitalaria oportuna y bajo las condiciones en

las que se encuentre la situación de emergencia son

prioritarias debido a que en muchas de las ocasiones

al no tener un registro de la persona a ser atendida,

el organismo de socorro desconoce el historial

médico, así como también desconoce la situación a

la cual se va a enfrentar, esto también afecta al

paciente debido a que no se va a contar al momento

de la emergencia con los medicamentos e

implementos necesarios para atender la emergencia

de manera correcta.

Teniendo planteada la presente problemática se ha

desarrollado un sistema web que permita a la Cruz

Roja Junta Provincial Loja, como organismo de

socorro visualizar alertas médicas suscitadas en

tiempo real, también le permite notificar a los

socorristas a través de un mensaje de texto a sus

teléfonos celulares de una emergencia sin atender,

puede visualizar la ubicación exacta así como

también da la oportunidad de enviar a una lista

negra a usuarios mal intencionados que envíen

alertas falsas, visualizar estadísticas de porcentaje

de emergencias atendidas, no atendidas y falsas.

Así mismo se ha desarrollado una aplicación para

dispositivos móviles con sistema operativo Android

que permita la comunicación entre el usuario del

dispositivo y el organismo de socorro, esta

aplicación le permite al usuario registrarse enviando

“DESARROLLO DE UN SISTEMA WEB DE

ADMINISTRACIÓN Y VISUALIZACIÓN DE ALERTAS

EN TIEMPO REAL CON NOTIFICACIÓN VÍA

MENSAJE DE TEXTO Y UNA APLICACIÓN MÓVIL

CON GEOLOCALIZACIÓN DE EMERGENCIAS

MÉDICAS PARA LA CRUZ ROJA - LOJA.”

Carpio Johana, Faicán Rosa, Jácome Galarza Roberto

Universidad Nacional de Loja, Ecuador, [email protected]

Universidad Nacional de Loja, Ecuador, [email protected]

Universidad Nacional de Loja, Ecuador, [email protected]

Page 2: Artículo IEEE

2

un historial médico y datos personales, los mismos

que podrán ser actualizados cuando el usuario así lo

requiera, le permite enviar una alerta médica con

datos como número de víctimas, el tipo de accidente

y una fotografía, una alerta de emergencia de botón

de pánico esta contará con los datos del usuario del

dispositivo móvil, toda esta información se guarda

en una base de datos para ser visualizada en Cruz

Roja,

II. HERRAMIENTAS UTILIZADAS

A. Entornos de desarrollo

El IDE usado para el desarrollo del sistema web fue

Netbeans, debido a que es de código abierto y

también puede ser usado como framework para la

compilación de cualquier tipo de aplicación, así

mismo el sistema está hecho en php siendo un

lenguaje de programación totalmente abierto y libre,

de fácil acceso a las bases de datos y cuenta también

con una comunidad muy grande.

La aplicación móvil para el sistema operativo

Android está hecha totalmente en java usando como

entorno de desarrollo Eclipse.

B. Herramientas para el sistema web

a. CodeIgniter

Para el desarrollo de la parte web se utilizó el

framework CodeIgniter debido a que es más fácil

trabajar con frameworks que hacerlo con php puro;

CodeIgniter tiene gran compatibilidad con varias

versiones de php, posee bastante documentación y

utiliza el modelo vista controlador lo que nos

permite tener una separación de la lógica y la

presentación[1] , se tiene acceso a librerías públicas

y reutilización de código estas sin algunas de las

características que hicieron que se lo escoja para el

desarrollo de la aplicación.

b. Ajax

AJAX(cuyas siglas significan JavaScript y XML

asíncrono) se basa en el uso de JavaScript en el

navegador[2].Permite mejorar completamente la

interacción del usuario con la aplicación, evitando

las recargas constantes de la página[3] Debido a sus

características se lo utilizó para las notificaciones de

Alerta Médica y Botón de Pánico, estas

notificaciones se muestran en todas las pantallas de

la aplicación y son consultas constantes a la base de

datos para ser presentadas, busca en si la fecha y la

compara con la fecha actual del sistema, hora y su

estado, de esta manera son presentadas al

administrador.

c. JavaScript

Es un lenguaje de programación que se utiliza para

crear páginas web dinámicas [4], en nuestro

proyecto se lo empleo en el diseño del menú, para

lo que son validaciones del lado del cliente al

momento de ingresar o editar a un nuevo usuario al

sistema, nos permitió darle efecto al texto, también

se hizo uso de la librería jQuery que es la más

conocida de Javasript la misma que permite

programar nuevas funcionalidades

C. Herramientas para la aplicación móvil.

a. Android SDK (Configuracion en Eclipse)

Eclipse es una herramienta de código abierto, con la

cual se puede desarrollar aplicaciones para

diferentes plataformas. Para la instalación y

configuración de la herramienta. Primero se debe

descargar de la siguiente dirección:

http://developer.android.com/sdk/index.html, el

ADT Bundle, que es una versión de Eclipse que

incluye todas las librerías y la última versión del

sistema operativo Android como máquina

virtual[5]. La página web detecta automáticamente

el sistema operativo de tu ordenador y te ofrece la

descarga adecuada.

Fig. 1 Página de descarga de ADT Bundle

Una vez descargado el paquete del SDK con eclipse

se procede a descomprimir y ejecutar el archivo

SDK Manager.

Page 3: Artículo IEEE

3

Fig. 2 Pantalla de instalación de versiones de

Android.

Se procedió a instalar desde el api 16 al api 19, así

mismo el paquete de extras y algunas herramientas

para la configuración de Android.

Una vez realizado esto se procede a abrir eclipse y

configurar el AVD.

Fig.3 Pantalla de configuración de AVD

Realizadas estas configuraciones nuestro Eclipse

está listo para funcionar con el SDK de Android.

b. Api de Google

El servicio más usado por los Developers es el

servicio de mapas de Google más de 250 millones

de usuarios de dispositivos móviles [6].

Ha sido utilizada principalmente en el sistema web,

para el dibujo de mapas y localizar los puntos de

referencia donde se han suscitado las emergencias,

en la aplicación móvil para extraer latitud y longitud

y realizar pruebas de ubicación para el envío de

datos correctos al sistema web.

c. Glassfish

El servidor Glassfish al ser de código abierto,

cuenta con asistencia gratuita de la comunidad en la

parte de las aplicaciones. Se constituye en uno de

los mejores servidores de aplicaciones a nivel

mundial ya que es fiable y rinde con menor

complejidad en empresas [7].

Se ha utilizado esta herramienta para el

funcionamiento del web service, el cual tiene la

funcionalidad dentro del proyecto de comunicar la

aplicación móvil con el sistema web, debido a que

dicho web service está hecho en java y recibe la

información enviada por la aplicación móvil la

transforma para que pueda ser almacenada en la

base de datos.

D. Herramientas para la Base de Datos

a. Mysql

La base de datos está hecha en Mysql debido a

que presenta facilidad de uso, seguridad y

portabilidad, siendo estas características

imprescindibles para la velocidad en el

funcionamiento de un sistema.

b. phpMyAdmin

Se utiliza para controlar la base de datos desde

el sistema web, permite crear, eliminar,

modificar la base de datos así mismo

administrar claves y privilegios.

c. Xampp

Para tener un servidor a nivel local se utilizó

Xampp para realizar las pruebas respectivas, se

optó por este servidor debido a que es un

servidor independiente en base a software libre.

III. RESULTADOS

a. Sistema de Administración de Alertas

Page 4: Artículo IEEE

4

Fig. 4 Pantalla visualizar alertas

Se puede observar como las alertas aparecen en

la pantalla principal, aquí el administrador del

sistema escoge una de ellas y a continuación se

mostrara la información referente al tipo de

emergencia

Fig. 5 Botón de Pánico

Fig. 6 Alerta Médica

Código para visualizar alertas

Page 5: Artículo IEEE

5

Visualizar Lista Negra

Fig. 7 Pantalla visualizar lista negra

Código lista negra

Visualizar estadísticas

Fig. 8 Pantalla visualizar estadísticas

Código estadísticas

b. Aplicación móvil

Una de las funcionalidades dentro de la

aplicación móvil es el envío de alertas médicas

para lo cual el usuario debe ingresar a la

pantalla de bienvenida de Cre-System y elegir

el botón Alerta Médica.

Una vez seleccionada la opción aparece la

pantalla de Alerta Médica como se muestra en

la siguiente figura.

Page 6: Artículo IEEE

6

Fig. 9 Pantalla de Alerta Médica

Se muestra la pantalla para el envío de alertas

médicas, en la que se validan campos vacíos, se

debe ingresar el tipo de accidente, número de

víctimas, un número de celular y una fotografía

del incidente.

A continuación se detalla el código utilizado

para el envío de alertas médicas en java.

El código descrito anteriormente se utiliza para

el envío de los datos ingresados por el usuario

hacia el web service.

El código detallado a continuación es para la

decodificación de la fotografía

Envío de alerta de Botón de Pánico, el usuario

debe seleccionar de la pantalla de bienvenida la

opción Botón de Pánico con lo cual se enviarán

los datos de latitud, longitud, fecha, hora,

número de SIM al web services.

try { DefaultHttpClient localDefaultHttpClient = new DefaultHttpClient(); HttpPost localHttpPost = new HttpPost( "http://"+ip+"/CRE_Conexion/webresources/cis.cre.entities.alertamedica/newAlertamedica"); localHttpPost.setEntity(new UrlEncodedFormEntity(localArrayList)); String str = EntityUtils.toString(localDefaultHttpClient.execute(localHttpPost).getEntity());

Log.e("LOGIN DATA", str); return str; }

protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if(resultCode == Activity.RESULT_OK){ Bundle extra = data.getExtras(); bmp=(Bitmap)extra.get("data"); imagen.setImageBitmap(bmp); System.out.print("Datos de bitmap: "+bmp.toString()); } } public String changeBitmaptoString(Bitmap bitmap){ String temp=""; ByteArrayOutputStream baos=new ByteArrayOutputStream(); try { bitmap.compress(Bitmap.CompressFormat.JPEG,100, baos); byte [] b=baos.toByteArray(); temp=Base64.encodeToString(b, Base64.DEFAULT); } catch (Exception e) {

e.printStackTrace(); return temp; } return temp; }

Page 7: Artículo IEEE

7

Fig. 10 Pantalla enviar botón de pánico

Al presionar el Botón de Pánico y al haber

conexión con el internet se presenta el mensaje

“Alerta enviada”.

El código para el envío de la alerta de pánico es

similar al de Alerta Médica.

Para establecer la comunicación entre los dos

sistemas se ha desarrollado un web service el

cual permitirá el envío de la información

ingresada por el usuario para ser guardada en la

base de datos, a continuación muestra el código

usando para enviar una alerta médica.

Date date = StringtoDate(fecha);

Date time = StringtoTime(hora);

short estado = 0;

String usuarioid = buscarUsuario(codtarjeta);

byte[] arrayFoto = convertStringtoByte(fotografia);

System.out.println("Datos"+numerocelular+"

"+numerovictimas+" "+longitud+" "+latitud+"

"+fecha+" "+hora+" "+tipoaccidente_id+" "+users_id+"

"+codtarjeta+" "+observacion_alerta+" "+arrayFoto);

try {

if(usuarioid!=null){

super.create(new

Alertamedica(direccionemergencia, numerocelular,

Integer.parseInt(numerovictimas),

Double.parseDouble(longitud),

Double.parseDouble(latitud), date, time,codtarjeta,new

Tipoaccidente(Integer.parseInt(tipoaccidente_id)),new

Users(Integer.parseInt(usuarioid)),observacion_alerta,arr

ayFoto, estado));

return "true";

}else{

super.create(new

Alertamedica(direccionemergencia, numerocelular,

Integer.parseInt(numerovictimas),

Double.parseDouble(longitud),

Double.parseDouble(latitud), date, time,codtarjeta,new

Tipoaccidente(Integer.parseInt(tipoaccidente_id)),null,n

ull,arrayFoto, estado));

return "true";

}

} catch (Exception e) {

e.printStackTrace();

return "false";

}

}

@POST

@Path("newAlertamedica")

@Produces({"application/json",

"application/json"})

public String

newAlertamedica(@FormParam("direccionemergenc

ia") String direccionemergencia,

@FormParam("numerocelular") String

numerocelular, @FormParam("numerovictimas")

String numerovictimas,

@FormParam("longitud") String longitud,

@FormParam("latitud") String latitud,

@FormParam("fecha") String fecha,

@FormParam("hora") String hora,

@FormParam("tipoaccidente_id") String

tipoaccidente_id,

@FormParam("users_id") String users_id,

@FormParam("observacion_alerta") String

observacion_alerta,

@FormParam("fotografia") String fotografia,

@FormParam("codtarjeta") String codtarjeta) {

Page 8: Artículo IEEE

8

A. Referencias

IV. CONCLUSIONES

Al concluir con el desarrollo del presente trabajo de

titulación se ha podido concluir que:

El uso de tecnologías de la información y

comunicación como son los dispositivos

móviles hoy en día se han convertido en

herramientas necesarias para que faciliten y

brinden ayuda el diario vivir del ser humano.

El sistema operativo Android permitió más

libertad al momento de desarrollar la

aplicación debido a que es open source, y a

que existe mayor demanda en el mercado a

nivel mundial de dispositivos con este

sistema operativo por su accesibilidad de

costos.

Realizar el Web Service en java permitió

tener más seguridad al momento de acceder

a la Base de Datos, debido a que los links de

acceso al usar únicamente POST como

método de consulta no deja al descubierto

datos que irán a ser guardados.

V. RECOMENDACIONES

Al concluir con el desarrollo del presente trabajo de

titulación se recomienda:

Para futuros proyectos, desarrollar un

módulo que implemente la geolocalización

en las ambulancias para que conjuntamente

con el sistema ya planteado se integren y se

determine la distancia más corta para

responder a una emergencia médica.

Implementar esta aplicación a nivel de todas

las Unidades de Salud de la localidad con el

fin de agilizar la atención a emergencias

médicas.

La clave para acceder al Sistema Web de

administración deberá ser confidencial, solo

el personal autorizado podrá ser quien la

utilice.

El personal que utilice el sistema deberá

estar capacitado para usar de la mejor

manera las funciones que este ofrece.

Difundir el sistema desarrollado a la

comunidad en general para que se beneficie

de las ventajas que la aplicación tiene.

REFERENCIAS

[1] CONOCIMIENTO VIRTUAL ACADEMIA,

COLOMBIA. CodeIgniter_Spanish_userGuide

[2] HOLZNER STEVEN. PHP. Manual de Referencia,

Editorial McGraw-Hill 2009.

[3] EGUILUZ, JAVIER, Introducción a AJAX, Autoedición

2008

[4] EGUILUZ, JAVIER, Introducción a JavaScript, Editorial

Autoedición, 2009

[5] Manuel Báez, Álvaro Borrego, Introducción a Android,

Editorial E.M.E

[6] https://www.google.com/intx/es-

419/work/mapsearth/products/mapsapi.html, Api de Google.

[7] https://glassfish.java.net/es/, Servidor Glassfish

Johana Carpio Encalada Egresada de la Carrera de Ingeniería en Sistemas de la Universidad

Nacional de Loja, desarrolladora en java, php, javascript, Analista de

Sistemas nivel medio. Provincia de Loja, Ecuador 2015.

Rosa Faicán Cango Egresada de la Carrera de Ingeniería en Sistemas de la Universidad

Nacional de Loja, desarrolladora en java, tecnologías web, html, Analista

de Sistemas nivel medio. Provincia de Loja, Ecuador 2015.

Luis Roberto Jácome Recibió el grado de Ingeniero en Sistemas en la Universidad Técnica

Particular de Loja – Ecuador, contando con un grado de Magister en

Telemática otorgado por la Universidad de Cuenca. Docente de la

carrera de Ingeniería en Sistemas de la Universidad Nacional de Loja y

coordinador Editorial de la Revista Energía. Provincia de Loja, Ecuador

2015.