Anda di halaman 1dari 13

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/220008380

Registro de citas médicas por Tv usando el middleware Ginga NCL

Conference Paper · January 2011

CITATIONS READS

0 438

1 author:

Herminio Paucar C.
National University of San Marcos
2 PUBLICATIONS   0 CITATIONS   

SEE PROFILE

All content following this page was uploaded by Herminio Paucar C. on 02 November 2014.

The user has requested enhancement of the downloaded file.


III CONGRESO INTERNACIONAL DE COMPUTACIÓN Y TELECOMUNICACIONES

Aplicación Interactiva para registro de citas médicas por Televisión


utilizando GINGA-NCL

Herminio Paucar Curasma1, Nilton Ugarte Vera2, Ronald Paucar Curasma3


1,2
Universidad Nacional Mayor de San Marcos
3
Asesor
hpc424@gmail.com, niltonuv@gmail.com, rpaucarc@gmail.com

Resumen

Una de las principales características del estándar ISDB-T de la televisión digital terrestre es
la interactividad que permite al telespectador interactuar a través del televisor con
aplicaciones, como: T-Learning, T-Voting, T-Commerce, T-Goverment, entre otros. En este
panorama, se desarrolló una aplicación interactiva para el registro o solicitud de citas médicas
por televisión. Esta aplicación, permitirá a los pobladores con domicilios alejados de los
hospitales, reservar su cita médica remotamente. Para el desarrollo de esta aplicación, se
utilizaron los lenguajes Ginga NCL y Lua. Posteriormente, las pruebas de validación se
realizaron en un escenario implementado en laboratorio.

Palabras clave: Cita Médica, TdT, ISDB-T, middleware, Ginga-NCL, Lua, interactividad.

Abstract

One of the main features of ISDB-T digital terrestrial television is interactivity, allowing viewers
to interact via the TV applications, such as: T-Learning, T-Voting, T-Commerce, T-Goverment,
among others. In this scenario, we developed an interactive application for registration or
request appointments on television, this application will allow people with homes away from
hospitals, book your appointment remotely. For the development of this application is used
NCL and Ginga languages Lua, then the validation tests were performed in a laboratory
setting implemented.

Keywords: appointment, TdT, ISDB-T, middleware Ginga-NCL, Lua, interactivity.

1. Introducción

Actualmente, Perú se encuentra en una época de evolución tecnológica. Prueba de ello es el


gran avance que se dio al adoptar el estándar de la Televisión Digital Terrestre (TdT) bajo la
norma ISDB –T [MTC, 2009]. Esta tecnología nos permite plantear soluciones a problemas
cotidianos de nuestra sociedad, como en las áreas de salud, educación, desastres naturales,
turismo y otros. Uno de los componentes principales de ISDB-T es el middleware Ginga NCL
(Nested Context Languaje) [Ribeiro, 2008], que permite el desarrollo de aplicaciones
interactivas para que el telespectador pueda interactuar mediante el televisor con aplicaciones
de diferentes rubros (educación, salud, gobierno, etc.).

En Perú, el servicio de los centros de Salud públicos (hospitales del estado) [EsSalud, 2011]
[MINSA, 2011] son deficientes. Existe una inadecuada atención en la solicitud de citas
médicas en una determinada especialidad que genera disconformidad de la población.
Además, las personas con discapacidad y ancianos no tienen oportunidades iguales que una
persona normal. A la fecha, existen dos maneras de solicitar una cita médica, por teléfono y
personalmente en las oficinas del centro de salud, y recientemente por Internet. Los
pobladores que viven en lugares alejadas de la capital de provincia no cuentan con servicios
básicos de telecomunicaciones, como telefonía o Internet. Como consecuencia, no será
posible solicitar una cita médica mediante una llamada telefónica; por lo tanto la única manera

1
III CONGRESO INTERNACIONAL DE COMPUTACIÓN Y TELECOMUNICACIONES

será acudir personalmente. Esto genera a la población de bajos ingresos económicos, la


pérdida de tiempo y dinero; que a su vez ello puede ser utilizado para otros fines.

Por su naturaleza, la señal de televisión es la que tiene mayor cobertura frente a otros
servicios de telecomunicaciones, y aprovechando las bondades de la tecnología ISDB-T, se
plantea desarrollar una aplicación interactiva para el registro o solicitud de citas médicas por
televisión, donde el poblador o telespectador, desde su domicilio, por medio de la televisión,
podrá solicitar o reservar una cita médica en cualquiera de los centros de salud; de esta
manera, el poblador ahorrará tiempo y dinero que generaría al desplazarse desde su
domicilio. La información que registra el telespectador desde el televisor, se envía por Internet
que se utiliza como canal de retorno para la televisión digital terrestre. La información de
registro que envía el telespectador son: DNI (Documento Nacional de Identidad), Nombre,
Apellido Paterno, Apellido Materno, Edad, Sexo, Correo, Teléfono, Fecha de Nacimiento,
Departamento, Especialidad, Consulta, Día, Turno, entre otros. Como parte del análisis y
diseño de aplicativo, se presenta el modelamiento de la aplicación y su implementación
utilizando el lenguaje Ginga NCL [NCL, 2011] y Lua [Ierusalimschy, 2011]; la cual es simulada
en un escenario de laboratorio utilizando el Virtual Set Top Box Ginga NCL.

2. Trabajos Previos

A la fecha, en nuestro Perú se viene realizando proyectos muy importante en el rubro de la


televisión digital utilizando Ginga-NCL, como el caso del INICTEL-UNI, donde se han
desarrollado dos trabajos de investigación, en el área de salud [Velásquez, 2010] y votación
por televisión con canal de retorno [Paucar, 2010]. Asimismo, la tesis de posgrado titulado
“Canal de Retorno para ISDB-T en el Perú [Paucar, 2010].

En el caso de Brasil, la PUC-Rio ha realizado investigación y desarrollado de diversos


aplicaciones en el área de educación y salud [El Club NCL, 2011], uno de los trabajos
desarrollados en Brasil, es la aplicación interactiva de gobierno electrónico por televisión
digital móvil [Velarde, 2008]. Asimismo, el resto de los países que adoptaron el estándar
ISDB-T (Argentina, Chile, Ecuador, Venezuela, Bolivia, Paraguay, etc.) vienen realizando
proyectos de interactividad utilizando el middleware Ginga NCL.

Estos trabajos han sido la base para el diseño de nuestro proyecto de investigación.

3. Modelamiento de la aplicación interactiva

Partiendo de la premisa, que la televisión es un entorno audiovisual de entretenimiento y que


la aplicación interactiva de solicitud de cita médica, será destinada a un público en general,
para que a través del control remoto del televisor pueda interactuar con la aplicación. En ese
sentido, se modela la aplicación interactiva propuesta. Esto nos permitirá un mejor
entendimiento del desarrollo para la codificación en el lenguaje NCL y Lua. A continuación, se
presentan las siguientes funcionalidades:

• Redimensionamiento de pantalla.
• Ingreso de información del usuario para solicitar la cita médica.
• Reporte de envío de la información al hospital.
• Sincronización entre los objetos de media con acciones de ejecución e interrupción
realizadas por el usuario mediante el control remoto.

Para el modelado de esta aplicación, se utilizó el UML (Unified Modeling Language, Lenguaje
Unificado de Modelado) y ERWIN, con la finalidad de estandarizar el desarrollo de software,
que se representa a través de los diagramas de casos de uso, diagrama de secuencia y
modelado de datos.

2
III CONGRESO INTERNACIONAL DE COMPUTACIÓN Y TELECOMUNICACIONES

En el diagrama de casos de uso, se describirá los requerimientos funcionales de la aplicación


interactiva, siguiendo la secuencia de acciones del usuario (telespectador) con el contenido
interactivo y posteriormente con la selección de opciones, como se muestra en la figura 1.

Para ingresar a la parte de interactividad en el televisor, el telespectador seleccionará el botón


de interactividad, representado por el símbolo “i”. Una vez dentro, se ingresará la información
correspondiente al usuario para la reserva de cita médica.

Registrarse

Usuario

Selecciona opciones

Figura : Diagrama de Casos de Uso

A continuación, se muestra el diagrama de secuencia donde se representa los mensajes que


intercambian el usuario (telespectador) y la aplicación interactiva, teniendo como referencia el
tiempo, como se muestra en la figura 2.

3
III CONGRESO INTERNACIONAL DE COMPUTACIÓN Y TELECOMUNICACIONES

: Usuario : IU_Registrar : G_Registrar : E_Televidente

presiona Boton f1 Inicio de Interactividad

Muestra la pantalla del formulario

*Elige boton del Campo

*Muestra la pantalla de ingreso de datos

*Ingresa Datos

*presiona enter

*Crear campo

*Ingresa la informacion del Usuario

presiona enviar

enviado Correctamente

Presiona boton f2 retorna a pantalla inicial

Figura 2: Diagrama de Secuencia

Con respecto al modelado de datos, se tiene dos tablas Usuario e Historial; que almacenan la
información registrado
Usuario por el telespectador, como se muestra en la figura 3.
DNI Historial
Nombre id Historial
Apellido Paterno
Control
Apellido Materno
Especialidad
Edad
Consulta
Sexo
Dia
Correo
Turno
Teléfono
DNI (FK)
Fecha de Nacimiento
Departamento

Figura 3: Modelado de datos de registro de citas

4
III CONGRESO INTERNACIONAL DE COMPUTACIÓN Y TELECOMUNICACIONES

4. Implementación de la Aplicación Interactiva

En este proyecto de investigación, se ha desarrollado una aplicación interactiva en el área de


salud, con la finalidad de solicitar o registrar una cita médica en las diferentes especialidades
de salud en los hospitales de Perú, utilizando como medio de transporte la televisión. En esta
sección, se describe la codificación y los componentes del escenario de interactividad para el
registro de citas médicas por televisión.

4.1. Codificación en NCL y Lua

Para el desarrollo de este aplicativo interactivo, se utilizó el lenguaje NCL. NCL es una
extensión de XML (eXtensible Markup Language, Lenguaje de Etiquetado Extensible) que
permite representar las imágenes en la pantalla del televisor. Asimismo se utilizó el lenguaje
Lua para el procesamiento y envío de datos por Internet, como canal de retorno. Como
herramienta de desarrollo, para esta aplicación se utilizó el IDE (Integrated development
environment, entorno de desarrollo integrado) Eclipse [Eclipse, 2011], conjuntamente con el
plugin (módulo de software) Ncl Eclipse [NCLEclipse, 2011] y Lua Eclipse [LuaEclipse, 2011].

El código fuente de la aplicación interactiva contiene varios archivos de tipo NCL y Lua, que
no podrían describirse en este artículo por el tamaño que presentan. Es por ello que se
describirán los más representativos.

En la figura 4, se muestra una parte del código principal NCL donde se aprecia la
presentación del botón de inicio de interactividad y los archivos media (png y lua) que
representan los botones que serán mostrados en la pantalla principal.

<!-- CUERPO DE PROGRAMA -->


<body>
<!-- PUERTA DE ENTRADA -->
<portcomponent="video"id="port_newDocument1_video"/>
<!-- MÃヘDIAS -->
<!--<media descriptor="dPantalla" src="imagenes/fondo.png"
type="image/png" id="fondo"/>-->
<mediadescriptor="dVideo"src="imagenes/video1.mpg"id="video">
<propertyname="bounds"/>
</media>

<mediadescriptor="dBotonInteractivo"src="imagenes/botoninteractivo.png"type="im
age/png"id="botonInteractivo"/>
<media
descriptor="dBanner1"src="imagenes/banner1.png"type="image/png"id="mBanner1"/>
<media
descriptor="dBanner2"src="imagenes/banner2.png"type="image/png"id="mBanner2"/>
<media
descriptor="dAvisoFinal"src="imagenes/avisofinal.png"type="image/png"id="mAviso
Final"/>
<media
descriptor="dBotonSalir"src="imagenes/botonsalir.png"type="image/png"id="botonS
alir"/>
<mediatype="application/x-ginga-settings"id="programSettings">
<propertyname="service.currentKeyMaster"value="inputIdx"/>
</media>
<mediaid="input"src="Lua/inputtext.lua"descriptor="dsInput">
<areaid="select"/>
<propertyname="text"/>
</media>

Figura 4: Código NCL principal de la aplicación interactiva

En la figura 5, se muestra una parte del código Lua. Este código almacena los campos
ingresados por el usuario en un archivo tipo texto, para después enviar por el canal de
retorno. Este código Lua recibe datos del código NCL.

5
III CONGRESO INTERNACIONAL DE COMPUTACIÓN Y TELECOMUNICACIONES

localNom = {
"nombre.txt"
,"apellidop.txt"
,"apellidom.txt"
,"dni.txt"
,"telefono.txt"
,"correo.txt"
,"fechan.txt"
,"departamento.txt"
,"control.txt"
,"especialidad.txt"
,"dia.txt"
,"turno.txt"
,"consulta.txt"
}
localdim = 9
localdx, dy = canvas:attrSize()
canvas:attrFont('vera', 1*dy/13)
functionescribirPalabra(x,y,nom)
canvas:attrColor('white')
canvas:drawText(x,y*dy/19,nom)
canvas:flush()
end

functionescribir(x,y,nom)
fl = assert(io.open("../Datos/"..nom,"r"))--funciona perfectttttttt
txt = fl:read("*all")
fl:close()

Figura 5: Código Lua que almacena los datos en archivos

En la figura 6, se muestra una parte del código Lua. Este código envía los datos ingresados
por el usuario para el registro de la cita médica. Los datos son enviados por el canal de
retorno.

function subirDatos()
tcp.execute(
function (
tcp.connect(host, 80)
--En este comando deben ir todos los parametros, osea los campos a almacenar
en la base de datos
local url = "GET http://"..host.."/registro/registro.php?
nombre="..P[1].."&&apellidoP="..P[2].."&&apellidoM="..P[3].."&&dni="..P[4].."&&t
elefono="..P[5].."&&correo="..P[6].."&&fechaNacimiento="..P[7].."\n"
tcp.send(url)
end
)
end

Figura 6: Código Lua para el envío de información

4.2. Componentes de escenario de interactividad

Los componentes de interactividad para la solicitud o registro de cita médica por televisión se
divide en lado del telespectador, lado del hospital y el canal de retorno, como se muestra en
la figura 7.

6
III CONGRESO INTERNACIONAL DE COMPUTACIÓN Y TELECOMUNICACIONES

Figura 7: Componentes de interactividad

Lado del telespectador. En este componente se encuentra ubicada la aplicación interactiva


desarrolla en NCL y Lua para la solicitud o registro de cita médica por televisión. Aquí, el
telespectador ingresa los datos a enviarse utilizando Internet, como canal de retorno. Desde
este componente el telespectador interactúa mediante el control remoto con la aplicación
interactiva cargada en la pantalla del telespectador. El dispositivo que más resalta es el Set
Top Box, con soporte del middleware Ginga, el cual es el encargado de sintonizar la señal de
televisión y ejecutar la aplicación interactiva desarrollada.

Lado del hospital. En este componente se encuentra un servidor con la base de datos con
las tablas de Usuario e Historial, donde se almacena la información enviada por el
telespectador. Esta información se envía desde el lado del telespectador a través de Internet,
como canal de retorno.

En este servidor se encuentra instalado el motor de base datos MySQL y el servicio apache
Web. El servicio apache Web permite la conexión entre el código Lua ubicado en el lado del
telespectador, el servidor, normalmente se encuentran ubicado en los Centros de Salud
(hospitales).

Canal de Retorno. La información de reserva de citas médicas por televisión, se envía al


servidor remoto por Internet, como canal de retorno para la TdT. Para ello se utiliza la librería
tcp lua [TCPLUA, 2010]. La librería tcp lua permite enviar datos al servidor ubicado en el
hospital mediante una conexión Web por el puerto TCP (Protocolo de Control de Transmisión)
80.

5. Pruebas y Resultados

La validación de la aplicación interactiva desarrollada se realizó en un escenario


implementado en laboratorio, como se muestra en la figura 8, donde se utilizó el Virtual Set
Top Box Ginga-NCL instalado en una Laptop, sobre este Set Top Box se encuentra la
aplicación interactiva para la solicitud o reserva de cita médica. Asimismod en el servidor se
encuentra la base de datos MySQL. La laptop simula la pantalla del televisor por donde se
ingresa la información para la reserva de cita médica, y a través de la red, que simula el canal
de retorno, se envía la información al servidor.

7
III CONGRESO INTERNACIONAL DE COMPUTACIÓN Y TELECOMUNICACIONES

Figura 8: Escenario de pruebas de interactividad

En las figuras 9, 10, 11, 12, 13, 14 y 15, se muestran las principales pantallas capturadas de
las pruebas de interactividad realizadas en laboratorio.

Figura 9: Pantalla principal con el botón de interactividad

En la figura 9, se muestra la pantalla de inicio de interactividad donde observamos el botón de


rojo con el caracter “i” que simboliza la presencia de interactividad en nuestro televisor.

En la figura 10, se muestra la pantalla al presionar el botón rojo de interactividad donde se


observa las opciones de ingreso de datos para la reserva de cita médica.

8
III CONGRESO INTERNACIONAL DE COMPUTACIÓN Y TELECOMUNICACIONES

Figura 10: Pantalla de interactividad con las opciones de ingreso de datos

Para el ingreso de datos, previamente el usuario elegirá un campo seleccionando a través de


los botones direccionales del control remoto y después presionando el botón ok. El usuario
presiona el botón siguiente.

Figura 11: Ingreso de nombre de usuario registrante

En la figura 11, se muestra la pantalla con dos regiones: la región inferior posee el curso de
escritura, este cursor nos indica que debemos ingresar un texto.

En la figura 12, se muestra la pantalla, una vez ingresado todos los datos del usuario, por lo
tanto podemos observar eligiendo el botón mostrar datos ingresados.

9
III CONGRESO INTERNACIONAL DE COMPUTACIÓN Y TELECOMUNICACIONES

.
Figura 12: Selección del botón para mostrar los datos ingresados

Figura 13: Muestra de datos ingresados antes de enviar al servidor

En la figura 13, se muestra la pantalla con los datos ingresados, antes enviar los datos al
servidor. Para salir de esta pantalla, presionar el botón de color verde.

En la figura 14, se muestra la pantalla lista para enviar los datos ingresados; automáticamente
la aplicación verifica que todos los datos hayan sido ingresados correctamente. Una vez
verificada la información, la aplicación procederá a enviar la información al servidor a través
del canal de retorno.

10
III CONGRESO INTERNACIONAL DE COMPUTACIÓN Y TELECOMUNICACIONES

Figura 14: Datos listos para enviar al servidor

En la figura 15, se muestra la pantalla después de enviar los datos al servidor. Si el envío fue
correctamente, mostrará el mensaje “información enviada con éxito”. Para regresar a la
pantalla inicial, presionamos el botón verde.

Figura 15: Envío de datos al servidor remoto con éxito

6. Conclusiones

El registro de cita médica por televisión permitirá la inclusión social de las personas de menor
ingreso económico y con domicilio alejado de los hospitales.

11
III CONGRESO INTERNACIONAL DE COMPUTACIÓN Y TELECOMUNICACIONES

Los pobladores, al solicitar citas por televisión, no generarán gastos de transporte al


desplazarse hasta los hospitales, que normalmente están alejados de sus domicilios.

La señal de televisión se caracteriza por presentar mayor cobertura que otros servicios de
telecomunicaciones, como el teléfono; por lo tanto, la aplicación interactiva desarrollada,
llegará a la mayoría de la población.

Esta aplicación de registro de cita sirve de base para el desarrollo de aplicaciones de mayor
importancia en el área de la salud y la educación.

Para el desarrollo de esta aplicación, se utilizaron los lenguajes NCL y Lua, con las librerías
tcp lua para el envío de datos a través del canal de retorno.

Referencias

[1]. [Eclipse, 2011] Entorno de Desarrollo Integrado IDE Eclipse. http://www.eclipse.org/


[2]. [El Club NCL, 2011] Es un repositorio de aplicaciones interactivas donde los autores
pueden publicar sus ideas, talentos, y técnicas de desarrollo utilizando el lenguaje NCL
y scripts Lua. http://elclub.ncl.org.br/
[3]. [EsSalud, 2011] Seguro Social de Salud. EsSalud. http://www.essalud.gob.pe/
[4]. [Ierusalimschy, 2011] Lua 5.1 Reference Manual by R. Ierusalimschy, L. H. de
Figueiredo, W. Celes Lua.org, August 2006 ISBN 85-903798-3-3. La traducción al
español ha sido realizada por Julio Manuel Fernández-Díaz.
[5]. [LuaEclipse, 2011] Plugin Lua para Eclipse-LuaEclipse. http://luaeclipse.luaforge.net/
[6]. [MINSA, 2011] Hospitales del Ministerio de Salud.
http://www.minsa.gob.pe/portada/inst_hospitales.asp
[7]. [MTC, 2009] Ministerio de Transportes y Comunicaciones (MTC), Resolución Suprema
N° 019-2009-MTC.
http://www.mtc.gob.pe/portal/tdt/Documentos/RS019_2009_MTC.pdf
[8]. [NCL, 2011] Web principalmente enfocado al desarrollo y difusión del lenguaje de
programación NCL. http://www.ncl.org.br/
[9]. [NCLEclipse, 2011] Plugin NCL para Eclipse-NCLEclipse.
http://www.ncl.org.br/ferramentas.html
[10]. [Paucar, 2011] Paucar, R. (2011). Análisis del Canal de Retorno para la Televisión
Digital Interactiva utilizando la clase TCP-Lua, Universidad de Campinas-UNICAMP,
Brasil, 2010.
[11]. [Ribeiro, 2008] Jean Ribeiro Damasceno. Middleware Ginga. Escola de Engenharia
Universidade Federal Fluminense (UFF), Brasil, 2008.
[12]. [Francisco, 2010] Francisco. Tutorial de NCLua. Disponible en internet en:
http://www.telemidia.puc-rio.br/~francisco/nclua/tutorial/exemplo_05.html.
[13]. [Velásquez, 2010] Velásquez, C. Aplicación Interactiva Basada en el Ginga-NCL para el
Área de Salud, Universidad de Campinas-UNICAMP, Brasil, 2010.
[14]. [Velarde, 2008] Velarde, E. Televisão Digital Móvel para Aplicações de Governo
utilizando Ginga NCL, Universidade Estadual de Campinas (UNICAMP), Brasil, 2008.

12

View publication stats

Anda mungkin juga menyukai