Sistema de apoyo para personal médico utilizando servicios Web ...

tivos móviles utilizando servicios Web, que permita al médico diagnosticar, alma ... Actualmente el uso de tecnologías de la información hace presencia en todo ...
480KB Größe 10 Downloads 59 vistas
Sistema de apoyo para personal médico utilizando servicios web para dispositivos móviles Android Ricky Raymond Cruz Mendoza, Jorge Fernando Ambros Antemate, María del Beristain Colorado

Pilar

Escuela de Ciencias, Universidad Autónoma Benito Juárez de Oaxaca, México {ricky.cruzm, jfambros}@gmail.com, [email protected]

Resumen. Cada día se logran avances tecnológicos que buscan satisfacer las diversas necesidades de estar en continua conexión con la información y comunicaciones. Es por esta razón que aparecen las tecnologías móviles que han causado una gran revolución en diversos ámbitos de la vida cotidiana e interacción de la sociedad humana, la rama de la medicina no está exenta de ellos, se han desarrollado diversos sistemas de información que han apoyado a esta área y que son de gran ayuda para el personal médico. El presente artículo es una propuesta de un sistema para dispositivos móviles utilizando servicios Web, que permita al médico diagnosticar, almacenar y recuperar la información de los historiales clínicos de pacientes, así como apoyar al personal médico mediante notificaciones para la suministración de medicamentos. Palabras Clave: Dispositivos móviles, Servicios Web, SOA

1

Introducción

Actualmente el uso de tecnologías de la información hace presencia en todo lugar, hasta llegar a ser parte indispensable de nuestro modo de vida, es tan amplio su impacto en la sociedad actual que ha generado grandes cambios en diversas áreas de esta, como en la economía mundial, la política, la cultura y estilo de vida de las personas, cambiando de modo innegable la forma de producir, adquirir y acceder a la información. Los dispositivos móviles representan una nueva oportunidad de acceso para los sistemas de información, cuyo potencial aún no ha sido explotado en su totalidad en todos los sectores donde estos pueden funcionar. Gracias al avance tecnológico que han experimentado es posible utilizar nuevas tecnologías de comunicación, como son los servicios Web para el acceso a los datos. Uno de los sectores en el cual no se aprovechan las nuevas tecnologías móviles es el área médica hospitalaria, en donde el seguimiento de tratamientos e historial médico de los pacientes atendidos en los centros de salud/nosocomios en ocasiones es un proceso tardado y en algunos casos poco eficiente.

pp. 67–76

67

Research in Computing Science 77 (2014)

Ricky Raymond Cruz-Mendoza, Jorge Fernando Ambros-Antemate, et al.

Ante la necesidad de mejorar la noble labor médica, se desarrolla el presente sistema, el cual presenta una solución tecnológica para modernizar, optimizar el servicio médico y tratamiento de pacientes en hospitales, utilizando para esto una aplicación para dispositivos móviles Android basada en servicios Web. El presente artículo se encuentra estructurado de la siguiente manera: la sección 2 presenta la problemática abordada que da origen al desarrollo del sistema de apoyo al personal médico, la sección 3 describe la arquitectura utilizada que da el soporte al sistema, la sección 4 comprende un caso de estudio que describe la funcionalidad de la aplicación móvil, en la sección 5 se presentan trabajos relacionados donde se utilizan dispositivos móviles en el área médica. Finalmente, la sección 6 muestra las conclusiones y trabajo a futuro.

2

Problemática abordada

El seguimiento de tratamientos e historial médico de los pacientes que son atendidos en muchos de los hospitales o centros médicos ubicados en el país, es una tarea tardada y poco eficiente, en la mayoría de los casos se almacena y archiva la información del paciente atendido de una forma muy poco práctica y segura, se hace a través de cajas que contienen cientos de papeles lo que ocasiona que algunos datos se traspapelen, por lo tanto localizar el historial médico de los pacientes en algunos casos es un procedimiento tardado y meticuloso, aun teniendo cierto orden en el almacenamiento, ya que la búsqueda de información se realiza de forma manual cuidando de no mezclar información de pacientes, esto sin duda es poco eficiente y apropiado, aunado a esto en caso de que ocurra algún siniestro (incendio, inundación, terremoto, robo, etc.), es posible que se pierdan datos sensibles del paciente sin posibilidades de recuperar parcial o totalmente dicha información, también cabe destacar que el proceso de entrega/cambio de turno para el personal médico es poco cómodo y funcional ya que se debe verificar que todas las hojas del historial médico de los pacientes este completo, para poder ser archivado. Otro problema que presenta el personal médico de apoyo como son las enfermeras (os) se deriva de la gran cantidad de pacientes que atienden de manera simultánea; ya que es posible que el personal olvide suministrar la medicación y tratamiento médico recetado por los doctores que examinaron al paciente o en casos más graves se equivoquen y/o proporcionen tratamientos y medicinas que no eran para dicho paciente, ya sea por descuido o exceso de trabajo, esto provoca que el proceso de recuperación se vea mermado y se prolongue, haciendo que el paciente reciba un servicio deficiente en el hospital o centro de atención.

Research in Computing Science 77 (2014)

68

Sistema de apoyo para personal médico utilizando servicios Web para dispositivos móviles Android

3

Arquitectura orientada a servicios

Es la arquitectura más difundida en el mundo de los Servicios Web; la Arquitectura Orientada a Servicios (en inglés Service Oriented Architecture), es un concepto de arquitectura de software que define la utilización de servicios para dar soporte a los requisitos del negocio. SOA no es una tecnología ni un producto que se puede comprar e instalar, es un conjunto de patrones, principios y prácticas para construir piezas de software que puedan interoperar independientemente de la tecnología empleada en su implementación. En este sentido, SOA conlleva a la implementación de tecnologías que permiten una completa interoperabilidad entre ellas para el desarrollo de software. El principio clave de una arquitectura SOA es el “proceso de abstracción”, que permite que la ejecución, administración y los cambios en los procesos sean manejados directamente a nivel de negocios de una forma más fácil [1]. SOA es una combinación de consumidores y servicios que trabajan en conjunto, es guiada por principios y soporta diversos estándares [2]. Actualmente los dispositivos móviles han incrementado su poder de procesamiento, esto ha abierto un panorama para el desarrollo de aplicaciones utilizando una SOA mediante el uso de servicios Web. La mayoría de las definiciones de SOA identifican la utilización de Servicios Web (empleando SOAP y WSDL) en su implementación, no obstante se puede implementar una SOA utilizando cualquier tecnología basada en servicios. La aplicación desarrollada utiliza una arquitectura orientada a servicios, esto provee los siguientes beneficios: 1. Utiliza estándares como XML, WSDL (Web Services Description Language), lo anterior asegura la interoperabilidad entre los diferentes servicios y las aplicaciones que interactúan entre sí. 2. Uso de SOAP (Simple Object Access Protocol) el cual es un protocolo de comunicación ligero, basado en XML, lo cual ofrece la ventaja de que las aplicaciones y los componentes intercambien datos [3]. 3. Los protocolos de comunicación utilizados por los servicios Web son independientes del sistema operativo, plataforma y lenguajes de programación. 4. Los servicios al ser débilmente acoplados permiten que las aplicaciones que los utilicen sean fácilmente escalables, ya que existe una pequeña dependencia entre estos elementos. 5. Existen una alta reutilización de los servicios Web, cada uno de ellos está disponible para otro tipo de aplicaciones. 3.1 Propuesta de la arquitectura La propuesta de arquitectura para la aplicación es la siguiente:

69

Research in Computing Science 77 (2014)

Ricky Raymond Cruz-Mendoza, Jorge Fernando Ambros-Antemate, et al.

Servidor: una computadora con un servidor Web Apache, PHP, servidor MySQL como gestor de base de datos y la biblioteca de funciones NuSOAP que permite encapsular la información en el formato que SOAP requiere para transmitir los datos. Servidor de notificaciones: se utiliza un servidor externo que pertenece a Google (Google Cloud Messaging) para realizar el envío de notificaciones a los clientes móviles registrados en el sistema [4]. Cliente: El dispositivo móvil será quien envié peticiones de información a los servidores, a través de un servicio Web que varía dependiendo el tipo de información solicitada por el usuario, cada servicio Web utiliza estándares: XML como formato estándar para los datos, HTTP para el transporte a través de internet [5], SOAP es el protocolo utilizado para el intercambio de datos y WSDL para describir las interfaces públicas de los servicios. La aplicación móvil contiene las bibliotecas de funciones kSOAP[6][7] y Google Play Services. Para recuperar la información de los pacientes de una forma más rápida, la aplicación tiene la opción de utilizar la lectura de códigos QR utilizando la cámara, para realizar esto los dispositivos móviles incorporan la biblioteca de funciones zxing[8]. Un código QR [9] es un código de barras diseñado en 1994 por la compañía Denso, subsidiaria de Toyota. Utiliza como formato un código de barras matricial (o bidimensional), que se diferencia de los códigos de barra tradicionales por tener mayor capacidad de almacenamiento y contener información alfanumérica. El uso de códigos QR en la aplicación permite que se almacene en su interior la CURP, número de seguro social o cualquier otro dato que servirá como identificador del paciente, para que el personal médico desde la cámara de su dispositivo móvil escanee el código QR sin necesidad de escribir el identificador del paciente, de esta forma se recupera con inmediatez la información del expediente clínico, puesto que reduce el tiempo de búsqueda y acceso a esta. De esta manera el personal médico puede acceder y consultar la información de los pacientes desde múltiples ubicaciones sin necesidad de tener que acudir al documento físico. La figura 1 muestra los componentes que conforman la arquitectura.

Fig. 1. Arquitectura propuesta para la aplicación.

Research in Computing Science 77 (2014)

70

Sistema de apoyo para personal médico utilizando servicios Web para dispositivos móviles Android

3.2

Funcionalidad de la aplicación

La funcionalidad se explica a continuación 1. La aplicación Android realiza una petición HTTP utilizando la biblioteca de funciones KSOAP, se específica la URL donde se encuentra el documento WSDL con la descripción del servicio. 2. KSOAP descubre en el servidor Web el método solicitado, la lógica del negocio procesa la solicitud y ejecuta el método. 3. La lógica del negocio se comunica con el servidor de base de datos, se procesa la consulta y retorna los registros al método. 4. NuSOAP construye la respuesta y retorna los datos al cliente utilizando un servicio Web mediante SOAP, se construye un documento XML que contiene la información. 5. En el cliente, KSOAP obtiene el documento XML y lo transforma en un objeto de tipo SoapObject con la estructura element = anyType (key0; key1 = element1; ...; KeyN-1 = elementN-1), para extraer cada uno de estos elementos se utiliza la clase SoapPrimitive, de esta forma se separan las llaves con su valor para ser utilizados por la aplicación en las vistas[7]. 6. La recepción de notificaciones está gestionada por Google Play Services que permite establecer el contacto con el servidor externo de Google y de esta manera se muestre y gestione la visualización de notificaciones recibidas y que lleguen al dispositivo correcto. En la siguiente sección se presenta un caso de estudio, donde se muestra la funcionalidad de la aplicación.

4

Caso de estudio

El siguiente caso de estudio muestra como la aplicación móvil con un usuario de tipo médico diagnóstica un paciente en el sistema y el personal médico recibe la notificación de suministración de medicamento. Este proceso inicia cuando el médico selecciona en su Menú Principal la opción denominada “Diagnosticar Paciente” (figura 2(a)) al seleccionar dicha opción se muestra la pantalla “Ingresar Paciente” (figura 2(b)) en donde el médico deberá capturar los datos generales del paciente, capturada la información anterior se muestra al usuario la pantalla “Alergias” (figura 2(c)) donde deberá ingresar el nombre de cada una de las alergias que el paciente sufre, por cada alergia agregada estas se muestran en una lista, si el médico lo requiere, también tiene la opción de eliminar una alergia.

71

Research in Computing Science 77 (2014)

Ricky Raymond Cruz-Mendoza, Jorge Fernando Ambros-Antemate, et al.

(a)

(b)

(c)

Fig. 2. (a) Pantalla menú principal, (b) Pantalla ingresar paciente, (c) Pantalla de alergias.

Una vez capturados los datos anteriores, la aplicación muestra la pantalla de captura de “Datos del Responsable” (figura 3(a)), posteriormente el médico realiza el diagnóstico como lo muestra la figura 3(b), para proseguir el proceso de diagnóstico es necesario que se capturen las “Instrucciones Medicamento”, donde el médico indica los periodos entre tomas de cada uno de los medicamentos que requiera el paciente, esta información se utiliza para que el servidor envíe las notificaciones de forma automática de la toma de medicamentos a las enfermeras y de esta forma suministren la medicina a los pacientes que tienen asignados.

(a)

(b)

(c)

Fig. 3. (a) Pantalla datos del responsable, (b) diagnóstico del paciente, (c) instrucciones del medicamento.

Research in Computing Science 77 (2014)

72

Sistema de apoyo para personal médico utilizando servicios Web para dispositivos móviles Android

Si el médico requiere recuperar la información del paciente para revisar los diagnósticos anteriores, debe seleccionar del menú principal la opción de “Escanear QRCode”, la figura 4 (a) presenta la lectura de un código en el dispositivo físico, al escanear el código con la cámara se extrae la clave del paciente y se muestran los ingresos que se han registrado (figura 4 (b)), al seleccionar un ingreso de la lista se presentan los datos de los tratamientos realizados (la figura 4(c)), en esta pantalla el médico también consulta las alergias del paciente, y en caso de agregar o eliminar alguna de ellas tiene una sección para realizar esta tarea. El envió de notificaciones está a cargo del servidor, se desarrolló un script en PHP que gestiona de manera dinámica todos los medicamentos recetados por el médico, cuando el script detecta que es la hora de recetar un medicamento, el aviso se envía de manera automática al dispositivo del personal, utilizando para esto el servidor externo Google Cloud Messaging, entre los datos que se reciben en la notificación se encuentran: la clave del paciente, cantidad, horarios y periodo de administración del medicamento, nombre del paciente, la figura 5 muestra la pantalla.

(a)

(b)

(c)

Fig. 4. (a) Escaneo de un código QR en dispositivo físico, (b) lista de ingresos del paciente, (c) tratamiento del paciente.

La aplicación para el apoyo del personal médico es de gran utilidad, ya que permite diagnosticar, almacenar y recuperar de una manera más eficiente los datos de los pacientes gracias a las ventajas que ofrecen los dispositivos móviles.

73

Research in Computing Science 77 (2014)

Ricky Raymond Cruz-Mendoza, Jorge Fernando Ambros-Antemate, et al.

Fig. 5. Notificación en el dispositivo del personal médico.

5

Trabajo relacionado

Con el paso de los años se han creado diversas aplicaciones orientadas para ser usadas por el personal médico, como son los siguientes. IQMAX, es una aplicación que mediante formularios cargados en dispositivos móviles registra pacientes, cargos y cambios de turno, que se envían posteriormente a una base de datos central. Gracias a esto el personal médico puede organizarse mejor [10]. Hospital Torre Vieja, concede acceso interactivo a los expedientes y análisis de laboratorio de los pacientes. Esta aplicación envía mensajes vía SMS (mensajes de texto) con información de expedientes y resultados de laboratorios desde el sistema de gestión del hospital al teléfono del médico [11]. Si bien las aplicaciones mencionadas anteriormente cuentan con cierto parecido a la desarrollada, se enfocan más al almacenamiento de información del paciente y como hacer más eficiente la distribución del personal médico, pero olvidan como facilitar y consultar dicha información de una manera práctica, tampoco cuentan con un sistema de notificaciones que facilite a enfermeras(os) el suministro de tratamientos/medicamentos que ayuden a evitar errores o negligencias médicas.

Research in Computing Science 77 (2014)

74

Sistema de apoyo para personal médico utilizando servicios Web para dispositivos móviles Android

6

Conclusiones y trabajo a futuro

El desarrollo de la aplicación “Sistema de Apoyo para Persona Médico utilizando servicios Web para dispositivos móviles Android”, mejora, optimiza, facilita, gestiona y maneja la administración de los expedientes médicos de los pacientes que son atendidos en el centro de salud/nosocomio donde se encuentre implementado, así como los recordatorios de prescripción de medicamentos. La información del paciente es almacenada en una base de datos, de esta manera el personal médico puede acceder y consultar la información de los pacientes desde múltiples ubicaciones sin necesidad de tener que acudir al documento físico, esto proporciona rapidez y practicidad en el acceso a los documentos que componen el expediente médico. Esta aplicación ayuda a prevenir pérdidas documentales al tener los expedientes médicos respaldados y en formato digital, la información queda completamente resguardada, además al mantener los expedientes médicos en formato digital se reduce radicalmente el volumen de impresión y copiado de documentos (además de sus consecuentes beneficios de costo), ayudando así a la conservación del medio ambiente. Otra ventaja es el ahorro de espacio físico, la aplicación permite liberar superficies antes destinadas a guardar los documentos, que posteriormente se pueden utilizar para atender más pacientes o alguna otra actividad. Además aumenta considerablemente la capacidad de almacenamiento ya que la información pasa a alojarse en soportes digitales Por otra parte, el sistema de notificaciones que implementa la aplicación mediante el servidor facilita de manera considerable el suministro de medicación a pacientes, ya que de manera automática se encarga de verificar y notificar la fecha y diversos horarios en que un medicamento deber ser suministrado a cada uno de los pacientes, haciendo menor la carga de trabajo de las enfermeras y haciendo aún más eficiente su ardua labor, lo que por ende provoca la minimización de errores humanos en el suministro de medicamentos a los pacientes que el personal médico tenga a cargo. Como trabajo a futuro se desarrollarán clientes ligeros en otras plataformas de dispositivos móviles, así como un módulo para que los pacientes localicen mediante las coordenadas GPS de su dispositivo la ubicación de clínicas u hospitales en un mapa, realizando búsquedas de lugares que atiendan la enfermedad que padecen. También se escalará la aplicación para dar soporte a más tipos de procedimientos y trámites administrativos con que cuenten los hospitales o centros de salud.

Referencias 1. Fernández J., Surroca A.: Cómo reformular la Arquitectura Corporativa para alcanzar el alto Rendimiento. Centro de Alto rendimiento. (2008) 2. Mueller, J. P.: Special edition using SOAP. Indiana, United States of America: QUE. Pp 12-18. 2007. (2002)

75

Research in Computing Science 77 (2014)

Ricky Raymond Cruz-Mendoza, Jorge Fernando Ambros-Antemate, et al.

3. Erl Thomas: SOA, Principles of Service Design. United States of America: Prentice Hall. Pp 3751, (2007 4. Penghui Li: Implementation of Cloud Messaging System Based on GCM Service. Computational and Information Sciences (ICCIS), 2013 Fifth International Conference. (2013) 5. Sayed Y. H., Satya K.: Pro Android. New York, United States of America: Apress. pp 263-271. (2009) 6. Kozel T., Slaby A.: Mobile devices and Web services. 7th WSEAS International Conference on APPLIED COMPUTER SCIENCE. (2007) 7. ksoap2-android, mayo 2014. [en Web]. Disponible en: http://code.google.com/p/ksoap2-android/. Fecha de consulta: mayo (2014) 8. zxing/zxinng GitHub, mayo 2014. [en Web]. Disponible en: https://github.com/zxing/zxing. Fecha de consulta: mayo (2014) 9. History of QR Code - Denso Wave Incorporated, mayo 2014. [en Web]. Disponible en: http://www.qrcode.com/en/history/. Fecha de consulta: mayo (2014) 10. Norris, A. C.: Essentials of Telemedicine and Telecare. Editorial John Wiley & Sons, Enero 28, (2002) 11. Palau, E.: Telemedicina: un intento de aproximación desde la Gestión Sanitaria. Revista española de Administración Sanitaria, Vol. 5, Número 19 (2001)

Research in Computing Science 77 (2014)

76