Full text
D A n Reposi t D iseño n droi d t oriodela U Tra b eimp d para d e Ju a Áread e Dpto.d e U niversidad b ajo F leme n lage s diag n a nCar Eduar d e Lenguaj e e Informá t M deZaragoz Find n tació s tión d n óstic o Autor losSir e Director d oMen a e sySiste m t icaeIng e M áster a –Zaguan e M á nde u d edat o clíni c e raPa l a Nieto m asInfor e nieríade deIng e http://zag u á ster u naap o sde c o. l ao m áticos Sistemas e niería B Fe b u an.unizar. e licaci ó equip B iomé d brero2 e s ó n o s d ica 0 13
Agradecimientos Me gustaría dar mi primer agradecimiento a toda la gente que anónimamente ha aportado un valor en mayor o menor medida a este Trabajo Fin de Máster, así como personalmente a… Cristina, por sus consejos, apoyo y estar siempre ahí. Eduardo, por su comprensión (y por ser mi tutor). Y por supuesto a mi familia, que son los que en silencio “sufren” y me apoyan en todos los proyectos que he emprendido en mi vida. A todos aquellos que alguna vez me preguntaron cómo me iba… GRACIAS !!!
DiseñoeimplementacióndeunaaplicaciónAndroidparalagestióndeequiposdediagnósticoclínico 4 Juan Carlos Sirera Palao RESUMEN Actualmente, el sector de las comunicaciones e internet están experimentando un gran crecimiento y evolución tecnológica, y por otra parte las empresas cada día necesitan que sus procesos sean ágiles, eficientes y automatizados. Teniendo en cuenta lo anterior, el presente Trabajo Fin de Máster se centra en el desarrollo de una aplicación que permitirá al ingeniero de campo conocer toda la información relevante del equipo de diagnóstico médico en el que realiza la intervención, así como poder descargar un backup anterior con el que restaurar los diferentes parámetros completos del equipo y la configuración de test en caso de inestabilidad del sistema. También permitirá almacenar en la base de datos nuevos backup, configuraciones del protocolo ASTM y toda la información generada de la intervención realizada, que a su vez, puede ser consultada por los diferentes ingenieros de campo con acceso a la aplicación para poder diagnosticar un problema o potencial problema en un futuro al consultar el historial de intervenciones. En este documento se detalla el análisis, diseño e implementación de la aplicación creada para dispositivos móviles Android. PALABRAS CLAVE: Gestión de equipos, Android, coagulación, internet, base de datos.
DiseñoeimplementacióndeunaaplicaciónAndroidparalagestióndeequiposdediagnósticoclínico 5 Juan Carlos Sirera Palao ABSTRACT Nowadays, IT and internet areas are experimenting a fast growing and technological evolution. Companies and hospitals are in need of more agile, efficient and automated processes. Considering the objectives cited before, this work is focus in the development of a new application that will allow engineers to know all the relevant information about medical diagnostic equipments, solve the problems they presented as well as download previous backup files to restore the different equipment’s parameters and test configurations when the system don’t operate properly. With this new application it will be also possible to store in the data base new backup, ASTM protocols configurations and all the relevant information related with the last work developed in the system. This information will be available to be consulted by engineers when they access to the application, helping them to diagnosed problems using previous data records. The document details the design, implementation and analysis of the new Android application for mobile devices. KEYWORDS: Equipment management, Android, coagulation, internet, database.
DiseñoeimplementacióndeunaaplicaciónAndroidparalagestióndeequiposdediagnósticoclínico 6 Juan Carlos Sirera Palao ÍNDICE DE CONTENIDOS. Pág. 1. INTRODUCCIÓN…………………………………………………….. 8 1.1 Motivación……………………………………………………....... 8 1.2 Objetivos………………………………………………………….. 9 1.3 Glosario de términos…………………………………………….. 10 2. ESTADO DEL ARTE………………………………………………... 11 2.1 Equipos STA y DESTINY……………………………………..... 11 2.2 Android……………………………………………………………. 12 2.3 Justificación de tecnologías…………………………………….. 15 3. DESCRIPCIÓN DEL SISTEMA……………………………………. 17 3.1 Descripción general…………………………………………....... 17 3.2 Casos de uso…………………………………………………….. 19 3.3 Requisitos del sistema………………………………………...... 27 3.3.1 Requisitos funcionales………………………………….. 27 3.3.2 Requisitos no funcionales………………………………. 29 3.3.3 Requisitos de restricción……………………………...... 30 4. DISEÑO E IMPLEMENTACIÓN…………………………………… 31 4.1 Diseño de la base de datos…………………………………….. 31 4.2 Flujo de navegación…………………………………………….. 35 4.3 Decisiones de diseño…………………………………………… 36 5. PRUEBAS……………………………………………………………. 37 5.1 Pruebas de aceptación…………………………………………. 37 6. CONCLUSIONES Y LÍNEAS FUTURAS…………………………. 41 6.1 Conclusiones…………………………………………………….. 41 6.2 Desarrollo del proyecto…………………………………………. 42 6.3 Líneas futuras……………………………………………………. 43 7. ÍNDICE DE FIGURAS……………………………………………….. 44 8. ÍNDICE DE TABLAS……………………………………………....... 45 9. REFERENCIAS…………………………………………………........ 46
DiseñoeimplementacióndeunaaplicaciónAndroidparalagestióndeequiposdediagnósticoclínico 7 Juan Carlos Sirera Palao ANEXO 1. MANUAL DE USUARIO……………………………………….. 48 ANEXO 2. EXPERIENCIA LABORAL EN EL SECTOR DE LA INGENIERÍA BIOMÉDICA………………………………………………….. 59
DiseñoeimplementacióndeunaaplicaciónAndroidparalagestióndeequiposdediagnósticoclínico 8 Juan Carlos Sirera Palao 1. INTRODUCCIÓN El objetivo de este capítulo es presentar el trabajo realizado en este Trabajo Fin de Máster. En esta introducción, se describe brevemente la situación técnica, los motivos que me han llevado a su desarrollo y los objetivos que se desean alcanzar. 1.1 Motivación La motivación principal que me ha llevado a la realización de este Trabajo Final de Máster (TFM) viene dada por mi experiencia personal y las impresiones intercambiadas con compañeros de trabajo. Actualmente trabajo en Diagnóstica Stago S.L., una multinacional farmacéutica líder en el sector de la hemostasia como ingeniero de campo, responsable técnico de Portugal y especialista de Tcoag y Thrombinoscope. En la actualidad gestiono y realizo diferentes intervenciones sobre nuestros analizadores en hospitales y laboratorios, y es en ese momento, donde encuentro la necesidad de tener una herramienta que centralice toda la información necesaria de manera ordenada, simple de utilizar y accesible en cualquier momento. En estos momentos solo se dispone de la información de los analizadores en la sede central o en la filial de cada país, por lo que tener toda la información actualizada en cualquier momento de los diferentes equipos es imposible. El único método que se utiliza para conseguir información del equipo cuando el ingeniero se encuentra en el campo es contactando con el servicio de “Hotline” y pedir la información necesaria, dificultando el trabajo del departamento y retrasando el tiempo de respuesta y reparación. Con el sistema desarrollado el ingeniero de campo es capaz de acceder a la información que se detalla a continuación: - Consultar/modificar el reactivo utilizado para cada uno de los test que se realiza en el laboratorio. - Información sobre el piercing del analizador. - Listado completo de intervenciones realizadas en el equipo, con fecha e ingeniero que las ha realizado. - Posibilidad de actualizar la intervención realizada desde la misma aplicación, con un campo para el código de intervención y breve descripción. - Consulta/modificación de los valores de Ratio para el PT y APTT. - Descarga/subida de ficheros de backup del analizador. - Descarga/subida del documento de protocolo de comunicación ASTM.
DiseñoeimplementacióndeunaaplicaciónAndroidparalagestióndeequiposdediagnósticoclínico 9 Juan Carlos Sirera Palao El acceso a toda la información detallada anteriormente se traduce en un acortamiento del tiempo en el que el analizador se encuentra fuera de servicio, un hecho de vital importancia en los centros de urgencia. Otro factor que me ha motivado en la realización de este TFM es la importante expansión que tienen a día de hoy los dispositivos móviles inteligentes (principalmente smartphones y tablets) que nos permiten almacenar gran cantidad de datos y total comunicación. Por último, otro aspecto muy importante para la viabilidad del TFM es el gran avance en la infraestructura de red permitiéndonos conectarnos a la red prácticamente en cualquier ubicación geográfica en nuestro ámbito de trabajo. En resumen, los factores expuestos hacen que sea totalmente viable la realización de este TFM, puesto que, existe una necesidad, se cuenta con los recursos necesarios y no existen factores de importancia que limiten su aplicación. 1.2 Objetivos El objetivo principal de este TFM consiste en desarrollar una aplicación completa y totalmente funcional basada en la plataforma Android, así como la gestión de los datos almacenados reales y de importancia en la gestión y reparación de los equipos. El desarrollo de esta herramienta facilitará las tareas diarias, optimizará recursos y tiempo, mejorando de este modo los tiempos de respuesta en reparación y predicción de fallos en el sector de diagnóstico médico. Para alcanzar el objetivo principal, existen otros objetivos secundarios a conseguir: ‐ Analizar la situación actual de los analizadores de hemostasia. ‐ Análisis previo de la información importante y necesaria de una intervención que se integrará en la aplicación. ‐ Análisis de la información de la información necesaria que se almacenará en la base de datos. ‐ Diseño e implementación de la base de datos. ‐ Análisis de servidores existentes y las formas de comunicación con Android OS. ‐ Conocer los detalles de la arquitectura Android[1]y obtener los conocimientos necesarios para desarrollar la aplicación. ‐ Diseñar e implementar una aplicación Android completa que implemente las necesidades identificadas, que se comunique con el servidor de manera eficaz y eficiente, y presente la información de manera sencilla, intuitiva y ordenada. ‐ Realizar pruebas a la finalización de la implementación del sistema, para asegurar el cumplimiento de los objetivos.
DiseñoeimplementacióndeunaaplicaciónAndroidparalagestióndeequiposdediagnósticoclínico 16 Juan Carlos Sirera Palao Eclipse IDE Alternativas: Netbeans. Se ha optado por la utilización de Eclipse IDE[7] principalmente (y casi obligatoriamente) por la existencia de un plugin proporcionado por Google para facilitar el desarrollo de aplicaciones en Android. JAVA y XML Alternativas: Ninguna. Las aplicaciones Android están escritas en JAVA y XML[8]. Existe la posibilidad de una alternativa, en nuestro caso, en el momento de transmitir los datos. Backend parse.com Alternativas: MySQL[9], Oracle, SQL Server. Para la parte servidora, hemos utilizado el backend parse.com a través de su SDK[10] para Android por la facilidad de uso e integración en la aplicación. Integración SDK parse Alternativas: REST, SOAP. La integración de SDK para Android, permite la obtención de entidades de un modelo asíncronamente. Esto evita tener que parsear ficheros XML o JSON[11] provenientes de servicios REST[12]/SOAP[13], ya que está todo incluido en el SDK de Parse[14]. ZXing Alternativa: Desarrollo de la aplicación para la lectura de códigos QR e integración en la misma aplicación. En cuanto a la captura de código QR, se utiliza la librería externa ZXing[15], que es la más común para cubrir éste tipo de funcionalidades ya que si existe una aplicación que realiza una función es fácilmente incluir la librería para su utilización.
DiseñoeimplementacióndeunaaplicaciónAndroidparalagestióndeequiposdediagnósticoclínico 17 Juan Carlos Sirera Palao 3. DESCRIPCIÓN DEL SISTEMA 3.1 Descripción general El sistema desarrollado tiene como objetivo facilitar el acceso, tanto para la consulta como para el almacenamiento, de todos los datos que tienen relevancia en el momento de realizar una intervención en un equipo de diagnóstico clínico. A continuación se enumeran las características de uso principales: ‐ En la aplicación es posible almacenar y/o consultar información tan importante como los reactivos que utiliza cada centro (previamente configurado) para cada uno de los test que se realizan, aportando de este modo posibles causas de contaminación, problemas con el sistema fluídico o problemas de ajustes de temperaturas en los brazos, ya que existen diferentes reactivos con características y parámetros diferentes y, en unos casos u otros, en caso de error aportan información sobre parámetros configurados en el equipo. La información de piercing y modelo también está presente en la información general del equipo. ‐ Otro de los aspectos importantes en el diseño de la aplicación es que permite conocer todas las intervenciones que se han realizado en el equipo, la fecha en que se han realizado y el ingeniero/a que ha realizado dicha intervención, aportando en una lista todo el historial completo del equipo de actualizaciones, mantenimientos preventivos y mantenimientos correctivos realizados, especificando mediante códigos internos de uso en la empresa diferentes para cada tipo de fallo y una breve descripción del problema solucionado. ‐ Así mismo, la aplicación permite: descargar/ subir los ficheros de backup (.zip), una gran ventaja en caso de inestabilidad del sistema, ya que con tan solo pulsar sobre el fichero que deseemos descargar tenemos en nuestro dispositivo la configuración correcta para el equipo que contiene la siguientes información: o Toda la información del mapping de los brazos. o Temperaturas de las agujas. o Cajones de reactivos. o Posiciones de incubación. o Configuración de los test específicos para el laboratorio. Estos backups son realizados por los ingenieros después de cada intervención, por lo que en la base de datos existen diferentes copias de
DiseñoeimplementacióndeunaaplicaciónAndroidparalagestióndeequiposdediagnósticoclínico 18 Juan Carlos Sirera Palao seguridad para estabilizar el sistema, desde esta misma aplicación también es posible subir el fichero de backup que se ha realizado al terminar la intervención. ‐ Otra herramienta de subida y descarga disponible es la de almacenamiento del protocolo ASTM, permitiendo mantener la misma configuración con el sistema informático del hospital. Una vez descargado el documento, permite volver a subir el documento actualizado para futuras descargas y modificaciones. ‐ El último aspecto importante que se ha tenido en cuenta para el diseño del sistema es la posibilidad de almacenar y mostrar en forma de listado los valores de Ratio para los test de PT y APTT. Los valores de Ratio son realmente importantes, ya que el equipo utiliza el valor para calcular el INR de cada técnica y con ella el diagnostico de paciente normal o patológico. La información queda almacenada para un posible análisis posterior, ya que los valores de Ratio se obtienen de 20 muestras de pacientes normales en el caso del PT y 100 muestras de pacientes normales para el APTT y podríamos estudiar la evolución en la coagulación de la población normal por diferentes zonas. Debido a que la aplicación se va a ejecutar en dispositivos móviles, en diferentes localizaciones y con mucha frecuencia, se ha integrado la librería externa ZXing que permite escanear códigos QR, diseñados para cada uno de los equipos que , una vez autentificados en la aplicación permiten el acceso instantáneo a la información. Además de la aplicación, es necesario contar con un servidor que disponga de la base de datos y que disponga de los mecanismos necesarios para recibir y enviar la información desde y hacia los dispositivos móviles que ejecutan la aplicación.
DiseñoeimplementacióndeunaaplicaciónAndroidparalagestióndeequiposdediagnósticoclínico 19 Juan Carlos Sirera Palao A continuación, se puede ver de manera gráfica la estructura del sistema. Figura 2. Esquema de comunicación. Como se observa, la comunicación del dispositivo con el servidor se realiza a través de la red de telefonía móvil o Wifi. 3.2 Casos de uso A continuación, se presenta el esquema de casos de uso: Usuario Caso de uso User Log-In Scan QR Consultar. Dashboard-Equipment Modificar. Dashboard-Equipment Consultar. Dashboard-Intervention Añadir. Dashboard-Intervention
DiseñoeimplementacióndeunaaplicaciónAndroidparalagestióndeequiposdediagnósticoclínico 20 Juan Carlos Sirera Palao Consultar. Dashboard-Ratio Añadir. Dashboard-Ratio Download. Dashboard-Backups Upload. Dashboard-Backups Download. Dashboard-ASTM Upload. Dashboard-ASTM Tabla 3. Esquema de casos de uso. Una vez especificados los casos de uso, se muestra una especificación más detallada mediante la utilización de unas tablas preconcebidas que contienen campos referidos a aspectos o características de la naturaleza del caso de uso. A continuación, se describe el significado de cada uno de los campos: ‐ Identificación: Identificador asociado a cada caso de uso. Su nomenclatura viene dada por CUXX, donde XX es el número incremental único de los casos. ‐ Caso de uso: Nombre descriptivo del caso de uso. ‐ Actores: Usuario implicado en el caso de uso. ‐ Objetivo: Descripción de la funcionalidad atribuida al caso. ‐ Precondiciones: Condiciones necesarias que se deben cumplir para realizar el caso de uso. ‐ Postcondiciones: Consecuencia que provoca la ejecución del caso en el sistema. ‐ Escenario básico: Descripción del flujo principal del caso de uso en relación a la interacción entre el actor y el sistema. ‐ Escenario alternativo: Uno o varios de los flujos del caso de uso, diferentes al escenario básico, que se pueden llevar a cabo debido a la evaluación de condiciones de error u otros factores.
DiseñoeimplementacióndeunaaplicaciónAndroidparalagestióndeequiposdediagnósticoclínico 21 Juan Carlos Sirera Palao Casos de uso: Caso de uso Log-In CU01 Actores Usuario Objetivo El usuario de auténtica mediante usuario y contraseña Precondiciones Ninguna Postcondiciones Usuario registrado en el sistema Escenario Básico 1) Se ejecuta la aplicación. 2) El usuario introduce su user y password. 3) Se muestra la pantalla Escaneo. Escenario Alternativo Se muestra un mensaje de error si: · El usuario no existe en el sistema. · La contraseña no corresponde con el usuario. Tabla 4. Caso de uso 01. Caso de uso Scan QR CU02 Actores Usuario Objetivo Introducir manualmente el S/N o escanear el código QR del equipo Precondiciones Log-In correcto Postcondiciones S/N existente en el sistema Escenario Básico 1) Se introduce el S/N manual o por escaneo. 2) Se confirma la existencia del equipo. 3) Se muestra la pantalla Dashboard-Equipment. Escenario Alternativo Se muestra un mensaje de error si: · El S/N no existe en el sistema. · El código QR no es válido para la aplicación. Tabla 5. Caso de uso 02.
DiseñoeimplementacióndeunaaplicaciónAndroidparalagestióndeequiposdediagnósticoclínico 22 Juan Carlos Sirera Palao Caso de uso Consultar. Dashboard-Equipment CU03 Actores Usuario Objetivo Consultar información de relevancia almacenada en el sistema Precondiciones Log-In y S/N correcto Postcondiciones No existen alteraciones en el sistema Escenario Básico Se muestra la información del equipo automáticamente. Escenario Alternativo Se muestra un mensaje de error si: · Se produce un error en la recuperación de la información. Tabla 6. Caso de uso 03. Caso de uso Modificar. Dashboard-Equipment CU04 Actores Usuario Objetivo Modificar la información del equipo. Precondiciones Log-In y S/N correcto. Postcondiciones La nueva intervención se encuentra añadida en el sistema. Escenario Básico 1) Se pulsa la tecla menú –Edit values. 2) Se modifican los valores deseados y se pulsa el botón Upload. 3) Los nuevos valores aparecen automáticamente en la información del equipo. Escenario Alternativo Se muestra un mensaje de error si: · Se produce un error en el envío de la información. Tabla 7. Caso de uso 04.
DiseñoeimplementacióndeunaaplicaciónAndroidparalagestióndeequiposdediagnósticoclínico 23 Juan Carlos Sirera Palao Caso de uso Consultar. Dashboard-Intervention CU05 Actores Usuario Objetivo Consultar las intervenciones anteriores realizadas al equipo. Precondiciones Log-In y S/N correcto Postcondiciones No existen alteraciones en el sistema Escenario Básico Se muestra la información del equipo automáticamente. Escenario Alternativo Se muestra un mensaje de error si: · Se produce un error en la recuperación de la información. Tabla 8. Caso de uso 05. Caso de uso Añadir. Dashboard-Intervention CU06 Actores Usuario Objetivo Añadir intervención realizada al equipo. Precondiciones Log-In y S/N correcto. Postcondiciones La nueva intervención se encuentra añadida en el sistema. Escenario Básico 1) Se introduce la codificación de la intervención. 2) Se introduce una breve descripción sobre el trabajo realizado. 3) La intervención aparece automáticamente en el listado de intervenciones. Escenario Alternativo Se muestra un mensaje de error si: · Se produce un error en el envío de la información. Tabla 9. Caso de uso 06.
DiseñoeimplementacióndeunaaplicaciónAndroidparalagestióndeequiposdediagnósticoclínico 24 Juan Carlos Sirera Palao Caso de uso Consultar. Dashboard-Ratio CU07 Actores Usuario Objetivo Consultar los valores de Ratio de PT y APTT anteriores del equipo. Precondiciones Log-In y S/N correcto Postcondiciones No existen alteraciones en el sistema Escenario Básico Se muestra la información del equipo automáticamente. Escenario Alternativo Se muestra un mensaje de error si: · Se produce un error en la recuperación de la información. Tabla 10. Caso de uso 07. Caso de uso Añadir. Dashboard-Ratio CU08 Actores Usuario Objetivo Añadir valores actuales de Ratio de PT y APTT al equipo. Precondiciones Log-In y S/N correcto. Postcondiciones Los nuevos valores se encuentran añadidos en el sistema. Escenario Básico 1) Se introduce el valor de Ratio para PT. 2) Se introduce el valor de Ratio para APTT. 3) Los valores de Ratio aparecen automáticamente en el listado de Ratio. Escenario Alternativo Se muestra un mensaje de error si: · Se produce un error en el envío de la información. Tabla 11. Caso de uso 08.
DiseñoeimplementacióndeunaaplicaciónAndroidparalagestióndeequiposdediagnósticoclínico 25 Juan Carlos Sirera Palao Caso de uso Download. Dashboard-Backups CU09 Actores Usuario Objetivo Descargar backup anterior para restaurar el equipo. Precondiciones Log-In y S/N correcto Postcondiciones No existen alteraciones en el sistema Escenario Básico · Se pulsa sobre el backup deseado. · Se descarga el fichero .zip a la carpeta downloads. Escenario Alternativo Se muestra un mensaje de error si: · Se produce un error en la recuperación del fichero de backup. Tabla 12. Caso de uso 09. Caso de uso Upload. Dashboard-Backups CU10 Actores Usuario Objetivo Subir un nuevo backup del equipo al sistema. Precondiciones Log-In y S/N correcto. Postcondiciones Los nuevos valores se encuentran añadidos en el sistema. Escenario Básico 1) Se selecciona el fichero de backup (.zip). 2) El nuevo fichero aparece automáticamente en el listado de backups. Escenario Alternativo Se muestra un mensaje de error si: · Se produce un error en el envío de la información. Tabla 13. Caso de uso 10.
DiseñoeimplementacióndeunaaplicaciónAndroidparalagestióndeequiposdediagnósticoclínico 32 Juan Carlos Sirera Palao Figura 4. Modelo Lógico. Como se puede observar con mayor claridad en el modelo lógico, existe una tabla por cada tipo de datos que maneja el sistema. Las principales son FSE y Equipo, tipos de datos gestionados de manera principal por la aplicación. Por otra parte tenemos las tablas Astm, Intervención, Ratio y Backup utilizadas para almacenar toda la información que el usuario podrá recuperar desde la aplicación cliente o realizar las inserciones de los diferentes tipos de información. Consideraciones sobre las tablas de la base de datos: Tabla Fse En esta tabla se encuentra almacenada la información de usuarios que permite el acceso a la aplicación. Se pueden encontrar dos campos: ‐ Idfse: nombre del ingeniero de campo. ‐ Pass: contraseña de acceso. Tabla equipo La información general de los equipos se encuentra en esta tabla. La información contenida es de relevante importancia ya que en una única pantalla podemos ver la información sobre las principales características de los test que realizan en el laboratorio y el tipo de sistema de piercing utilizado. Como se observa, no están reflejados todos los tipos de test que se pueden realizar por los equipos, ya que al tratarse de un proyecto lo más importante era comprobar la funcionalidad del sistema.
DiseñoeimplementacióndeunaaplicaciónAndroidparalagestióndeequiposdediagnósticoclínico 33 Juan Carlos Sirera Palao Es posible encontrar los siguientes campos: ‐ Idsn: Número de serie del equipo. ‐ Modelo: Modelo del equipo STA. ‐ Cap piercing: Modalidad de piercing del equipo. ‐ PT: Reactivo especifico que se utiliza para la realización del test. ‐ APTT: Reactivo especifico que se utiliza para la realización del test. ‐ FIB: Reactivo especifico que se utiliza para la realización del test. ‐ D-DIMER: Reactivo específico que se utiliza para la realización del test. ‐ AT-III: Reactivo específico que se utiliza para la realización del test. ‐ FC-VIII: Reactivo específico que se utiliza para la realización del test. ‐ HEPARIN: Reactivo especifico que se utiliza para la realización del test. ‐ LUPUS: Reactivo especifico que se utiliza para la realización del test. ‐ QC: Familia de reactivos que se utilizan para la realización de los controles de calidad. Tabla Ratio La información contenida es esta tabla son los valores de Ratio para los test de PT y APTT. Podemos encontrar los siguientes campos: ‐ PT: Ratio para el test PT. ‐ APTT: Ratio para el test APTT. ‐ Fecha: Fecha en la que se suben los Ratios. Valores tomados del sistema, no modificables. Tabla Intervención La información contenida en la tabla está referida a las intervenciones que se realizan en el equipo, ya sean actualizaciones, preventivas o correctivas. Podemos encontrar los siguientes campos: ‐ Idintervencion: Numeración de la intervención. ‐ Sn: Número de serie del equipo. ‐ Codificación: Codificación interna que se utiliza para clasificar el tipo de intervención, causa del error, partes afectadas o involucradas o actualización realizada. ‐ Fecha: Fecha en la que se realiza la intervención. Valores tomados del sistema, no modificables.
DiseñoeimplementacióndeunaaplicaciónAndroidparalagestióndeequiposdediagnósticoclínico 34 Juan Carlos Sirera Palao ‐ Descripción: Campo de texto donde se almacena una breve descripción del problema y su solución. ‐ Fse: Ingeniero de campo que ha realizado la acción. Tabla ASTM En esta tabla se describe la configuración del protocolo ASTM que permite la trasmisión y recepción de peticiones y resultados de test a pacientes entre el equipo y el sistema informático del hospital o laboratorio. Es posible encontrar los siguientes campos: ‐ Idastm: Numeración del protocolo. ‐ Sn: Número de serie del equipo. ‐ Fecha: Fecha en la que se suben el protocolo. Valores tomados del sistema, no modificables. ‐ Contenido: Contenido del archivo. ‐ Tamano: Información de tamaño ‐ Nombre_archivo: Nombre del archivo almacenado. ‐ Tamano_unidad: Información de tamaño. Tabla Backup En esta tabla se describe los backups almacenados y disponibles para su descarga. Formado por los siguientes campos: ‐ Idbackup: Numeración del backup. ‐ Sn: Número de serie del equipo. ‐ Fecha: Fecha en la que se suben el backup. Valores tomados del sistema, no modificables. ‐ Contenido: Contenido del archivo. ‐ Tamano: Información de tamaño ‐ Nombre_archivo: Nombre del archivo almacenado. ‐ Tamano_unidad: Información de tamaño.
DiseñoeimplementacióndeunaaplicaciónAndroidparalagestióndeequiposdediagnósticoclínico 35 Juan Carlos Sirera Palao 4.2 Flujo de Navegación A continuación se representa el diagrama de flujo de navegación de la aplicación: Figura 5. Flujo de navegación.
DiseñoeimplementacióndeunaaplicaciónAndroidparalagestióndeequiposdediagnósticoclínico 36 Juan Carlos Sirera Palao 4.3 Decisiones de diseño ‐ No se permite modificar números de serie de equipos, ya que es información importante para los sistemas totales de empresa. ‐ No se permite acceso a información de otros equipos si no es previamente conocido por el usuario el número de serie. ‐ No se permite modificar fechas en las que se suben archivos o realizan intervenciones para que la información reflejada sea segura. ‐ No se permite ningún tipo de registro de usuarios. El administrador del sistema dará de alta/baja a los usuarios que deben tener acceso a la aplicación. ‐ No se permite acceso a información de ningún otro usuario de la aplicación por motivos de seguridad. ‐ Se ha decidido integrar la aplicación BarcodeScanner para leer códigos QR debido a su gratuidad en Android Market y a que se proporcionan unas clases de integración en aplicaciones.
DiseñoeimplementacióndeunaaplicaciónAndroidparalagestióndeequiposdediagnósticoclínico 37 Juan Carlos Sirera Palao 5. PRUEBAS 5.1 Pruebas de Aceptación En esta sección se presentan las pruebas realizadas a la aplicación que han servido para verificar la corrección de todas las funcionalidades del sistema y para validar la lista de requisitos expuestos anteriormente. Las pruebas se presentan en forma de tabla con los siguientes campos: ‐ Identificación: Identificador asociado a cada prueba. Su nomenclatura viene dada por PAXX, donde XX es el número incremental único de las pruebas. ‐ Descripción: Descripción de la prueba realizada. ‐ Resultado: Resultado de la prueba. Las pruebas han sido realizadas con un Nexus 4 con Android 4.2.1. NOTA: No se tendrá en cuenta en la realización de las pruebas los posibles errores por parte del servidor, fallos de conexión o de la base de datos. Pruebas de aceptación: Identificación PA01 Descripción Se va a comprobar el proceso Log-In de la aplicación. Los procesos realizados son los siguientes: 1) Se introducen las datos correctos de un usuario: user y password 2) Se introduce user correcto y password incorrecto 3) Se introduce user incorrecto y password correcto Resultado Los resultados de los distintos procesos han sido los esperados: 1) Se muestra la pantalla Scan 2) Se muestra " Login error. Please, check credentials" 3) Se muestra " Login error. Please, check credentials" Tabla 19. Prueba de aceptación 01.
DiseñoeimplementacióndeunaaplicaciónAndroidparalagestióndeequiposdediagnósticoclínico 38 Juan Carlos Sirera Palao Identificación PA02 Descripción Se va a comprobar el proceso Scan de la aplicación. Los procesos realizados son los siguientes: 1) Se escanea un código QR correspondiente a un número de serie correcto 2) Se introduce manualmente un número de serie correcto 3) Se escanea un código QR que no corresponde a ningún equipo 4) Se introduce manualmente un número de serie que no corresponde a ningún equipo Resultado Los resultados de los distintos procesos han sido los esperados: 1) Se muestra la pantalla Dashboard-Equipment correspondiente 2) Se muestra la pantalla Dashboard-Equipment correspondiente 3) Se muestra " This QR is not valid for this application" 4) Se muestra " Sorry, the desired equipment was not found" Tabla 20. Prueba de aceptación 02. Identificación PA03 Descripción Se va a comprobar el proceso Equipment de la aplicación. Los procesos realizados son los siguientes: 1) Se comprueba que la información descargada corresponde con la base de datos 2) Se modifican los campos editables 3) Se intenta modificar campos no editables Resultado Los resultados de los distintos procesos han sido los esperados: 1) Se muestra la información correcta 2) Se modifican correctamente los valores editables 2) No permite la modificación de datos no editables Tabla 21. Prueba de aceptación 03.
DiseñoeimplementacióndeunaaplicaciónAndroidparalagestióndeequiposdediagnósticoclínico 39 Juan Carlos Sirera Palao Identificación PA04 Descripción Se va a comprobar el proceso Intervention de la aplicación. Los procesos realizados son los siguientes: 1) Se comprueba que la información mostrada en la lista corresponde con la esperada 2) Se introducen los campos Encoding y Description correctamente 3) Se introduce el campo Encoding correctamente y Description se deja en blanco 4) Se dejan los campos Encoding y Description en blanco Resultado Los resultados de los distintos procesos han sido los esperados: 1) Se muestra la información de la lista correcta 2) La intervención es enviada correctamente y actualizada en la lista 2) Se muestra " Please fill in all the values" 4) Se muestra " Please fill in all the values" Tabla 22. Prueba de aceptación 04. Identificación PA05 Descripción Se va a comprobar el proceso Ratio de la aplicación. Los procesos realizados son los siguientes: 1) Se comprueba que la información mostrada en la lista corresponde con la esperada 2) Se introducen los campos PT y APTT correctamente 3) Se introduce el campo PT correctamente y APTT se deja en blanco 4) Se dejan los campos PT y APTT en blanco Resultado Los resultados de los distintos procesos han sido los esperados: 1) Se muestra la información de la lista correcta 2) Los nuevos valores son enviados correctamente y actualizados en la lista 2) Se muestra " Please fill in all the values" 4) Se muestra " Please fill in all the values" Tabla 23. Prueba de aceptación 05.
DiseñoeimplementacióndeunaaplicaciónAndroidparalagestióndeequiposdediagnósticoclínico 40 Juan Carlos Sirera Palao Identificación PA06 Descripción Se va a comprobar el proceso Backups de la aplicación. Los procesos realizados son los siguientes: 1) Se comprueba que la información mostrada en la lista corresponde con la esperada 2) Se sube un fichero .zip correspondiente a un backup 3) Se eliminan los ficheros .zip de la memoria y se intenta subir un fichero 4) Se selecciona un fichero de backup para su descarga Resultado Los resultados de los distintos procesos han sido los esperados: 1) Se muestra la información de la lista correcta 2) El nuevo fichero de backup es enviado correctamente y actualizado en la lista 2) Se muestra " Please, select a file to upload... y la lista está vacía" 4) Se descarga correctamente en la carpeta Downloads Tabla 24. Prueba de aceptación 06. Identificación PA07 Descripción Se va a comprobar el proceso ASTM de la aplicación. Los procesos realizados son los siguientes: 1) Se comprueba que la información mostrada en la lista corresponde con la esperada 2) Se sube un archivo .doc correspondiente a un protocolo ASTM 3) Se eliminan los ficheros .doc de la memoria y se intenta subir un archivo 4) Se selecciona un archivo de protocolo ASTM para su descarga Resultado Los resultados de los distintos procesos han sido los esperados: 1) Se muestra la información de la lista correcta 2) El nuevo archivo ASTM es enviado correctamente y actualizado en la lista 2) Se muestra " Please, select a file to upload... y la lista está vacía" 4) Se descarga correctamente en la carpeta Downloads Tabla 25. Prueba de aceptación 07.
DiseñoeimplementacióndeunaaplicaciónAndroidparalagestióndeequiposdediagnósticoclínico 41 Juan Carlos Sirera Palao 6. CONCLUSIONES Y LÍNEAS FUTURAS En este apartado se presentan las conclusiones posteriores a la realización del Trabajo Fin de Máster y se revisan los objetivos planteados en el punto de introducción. Asimismo, se presentan futuras líneas de trabajo para posteriores ampliaciones o mejoras de la aplicación. 6.1 Conclusiones Tal y como se ha comentado, en el primer capítulo de este documento, se presentaron una serie de objetivos que había que cumplir para perseguir un objetivo principal, la realización de la aplicación. De este modo, a continuación se exponen las conclusiones respecto al cumplimiento de dichos objetivos: ‐ Se ha identificado correctamente la principal información necesaria para realizar una intervención y se ha integrado en la aplicación. ‐ Se ha conseguido almacenar en una base de datos toda la información necesaria para ejecutar el sistema con total normalidad y eficacia. ‐ Se ha diseñado e implementado de manera satisfactoria una base de datos que actúe de ejemplo en el sistema desarrollado, teniendo en cuenta la información identificada anteriormente. ‐ Se ha construido exitosamente una aplicación que cumple con su cometido de manera eficiente, accediendo a la base de datos implementada, y comunicándose correctamente con los dispositivos móviles. ‐ Se ha conseguido el conocimiento necesario acerca de la arquitectura de Android para poder implementar una aplicación adecuada a los requerimientos. ‐ Se ha diseñado e implementado una aplicación Android para ejecutar en los dispositivos móviles que cumple con todas las especificaciones necesarias para su correcto funcionamiento, implementando todos los procesos requeridos, comunicándose con el servidor de manera correcta, y presentando al usuario una interfaz sencilla e intuitiva, con la que es fácil cumplir los cometidos para los que se ha desarrollado. ‐ Se ha realizado una batería de pruebas completa y exhaustiva, que ha permitido validar todos los requisitos planteados inicialmente, y que ha permitido concluir que el sistema funciona correctamente en todos los aspectos solicitados. De este modo, se cumple con la finalidad descrita. Es posible afirmar que se han alcanzado satisfactoriamente los objetivos principales en la realización de esta aplicación eficaz, eficiente, sencilla e intuitiva para los usuarios.
DiseñoeimplementacióndeunaaplicaciónAndroidparalagestióndeequiposdediagnósticoclínico 48 Juan Carlos Sirera Palao ANEXO 1. MANUAL DE USUARIO.
DiseñoeimplementacióndeunaaplicaciónAndroidparalagestióndeequiposdediagnósticoclínico 49 Juan Carlos Sirera Palao Navegabilidad El sistema de navegación que la aplicación utiliza ha sido diseñado para facilitar al máximo la experiencia del usuario. En primer lugar, aparece una pantalla de log-in, donde se le piden al usuario sus credenciales (nombre usuario y password). Tan solo aquellas personas habilitadas por el administrador del sistema tienen acceso a la aplicación, ya que no existe opción de registro in-app. En caso de haber introducido los datos correctos, se llega a la pantalla de serial number. En dicha pantalla, el usuario tiene la posibilidad de escanear un número de serie a través de la cámara del dispositivo, o bien introducirlo manualmente. En cualquiera de los dos casos, si dicho número de serie ha podido ser hallado en el servidor, ese usuario será llevado al dashboard principal. En ella, se encuentran las opciones para operar con el equipo cuyo número de serie ha sido introducido. Dichas opciones son: ‐ Equipment: Ver / modificar las características del equipo. ‐ Intervention: Ver / añadir notas referentes a una intervención sobre el equipo. ‐ Ratio: Ver / añadir valores de Ratio al equipo. ‐ Backups: Upload/download de archivos backup (en formato .zip). ‐ ASTM: Upload/download de documentación del protocolo (en formato .doc) Para navegar a través de estas opciones basta con hacer swipe horizontal sobre la pantalla. Al entrar en el dashboard, por defecto el usuario siempre empezará en la pantalla 2 (Equipment). A la izquierda de ésta se encuentran, por orden, las pantallas de Intevention y Ratio, y a la derecha se encuentran, también por orden, las pantallas de Backups y ASTM. Adicionalmente a todo ello, la mayoría de pantallas también presentan la opción de desplegar un menú contextual que, dependiendo de la pantalla en la que el usuario se encuentre, añadirán funcionalidades a ella. Cabe notar que, durante la edición de este manual, se ha utilizado un dispositivo de 4.7’’ para tomar las capturas de pantalla. Aún así, la aplicación es completamente compatible con cualquier dispositivo con sistema operativo Android (siempre que tenga versión de sistema operativo 2.2 o superior). A continuación, se describen los componentes y el uso de cada una de estas pantallas.
DiseñoeimplementacióndeunaaplicaciónAndroidparalagestióndeequiposdediagnósticoclínico 50 Juan Carlos Sirera Palao Interfaz Log-In Esta interfaz está formada de dos campos de texto, así como de un botón. En el campo “username” debe de introducirse el nombre de inicio de sesión del usuario, y en el campo “password” su contraseña. Figura 7. Pantalla Log-in. Un vez realizado esto, al presionar sobre el botón “Sign in”, el usuario es redireccionado a la pantalla siguiente, siempre y cuando los datos sean correctos. Cuando un usuario ha hecho sign-in, este queda persistido, de forma que posteriores ejecuciones del aplicativo harán que automáticamente trate de autenticarse. Adicionalmente, el programa guarda además el nombre de usuario de la última persona que se autenticó en la aplicación, después que el usuario haya hecho un logout.
DiseñoeimplementacióndeunaaplicaciónAndroidparalagestióndeequiposdediagnósticoclínico 51 Juan Carlos Sirera Palao Interfaz Scan Esta es la pantalla donde se introduce el número de serie del equipo con el que se desea operar. Figura 8. Pantalla Scan. Existen dos formas de introducirlo: una es a través del escaneo de un código QR, y la segunda es usar el campo de texto “equipment serial number” para especificarlo a mano. En ambas formas, en caso de encontrar un equipo en el sistema, se pasa a la pantalla siguiente (el dashboard) donde se puede operar activamente con el equipo deseado. En este punto, presionar el botón de “back” del dispositivo, hace que se cierre la aplicación.
DiseñoeimplementacióndeunaaplicaciónAndroidparalagestióndeequiposdediagnósticoclínico 52 Juan Carlos Sirera Palao Interfaz Dashboard-Equipment En esta pantalla se muestra información general sobre el equipo. Para modificar la información que aparece (el Serial number no puede ser modificado) basta con desplegar el menú contextual y seleccionar la opción “Edit values”. Tras ello, los campos de texto aparecerán editables, y tres nuevos botones serán mostrados en la parte inferior de la pantalla: Figura 9. Pantalla Dashboard-Equipment. ‐ Upload equipment: Guarda los nuevos valores introducidos en el servidor. ‐ Reset values: Deja los campos en su estado original. ‐ Cancel: Deja los campos en su estado original, e impide su edición. Para volver a la pantalla de introducción del número de serie, hay que presionar el botón “back” del dispositivo.
DiseñoeimplementacióndeunaaplicaciónAndroidparalagestióndeequiposdediagnósticoclínico 53 Juan Carlos Sirera Palao Interfaz Dashboard-Intervention En esta interfaz es posible introducir datos referentes a una intervención del equipo, así como revisar todas las intervenciones que se han llevado a cabo. Figura 10. Pantalla Dashboard-Intervention. En concreto, la información que lleva relacionada una Intervención es: ‐ Serial number (No editable, se toma el equipo actual) ‐ Date (No editable, se toma la fecha actual) ‐ Encoding (Editable) ‐ FSE (No editable, referencia al usuario logueado) ‐ Description (Editable)
DiseñoeimplementacióndeunaaplicaciónAndroidparalagestióndeequiposdediagnósticoclínico 54 Juan Carlos Sirera Palao Interfaz Dashboard-Ratio En la pantalla de ratio se pueden introducir datos referentes a una valoración, así como revisar los datos de todas las valoraciones que se han llevado a cabo sobre el equipo. Figura 11. Pantalla Dashboard-Ratio. En concreto, la información que lleva relacionada una Intervención es: ‐ Serial number: (No editable, se toma el equipo actual) ‐ Date: (No editable, se toma la fecha actual) ‐ PT: (Editable) ‐ APTT: (Editable)
DiseñoeimplementacióndeunaaplicaciónAndroidparalagestióndeequiposdediagnósticoclínico 55 Juan Carlos Sirera Palao Interfaz Dashboard-Backups A través de la pantalla de backups puede gestionarse el contenido en forma de ficheros .zip que han sido subidos al servidor. Figura 12. Pantalla Dashboard-Backups. Para subir un nuevo fichero, tan solo hay que presionar el botón “Upload backup”, y seleccionar uno de los ficheros de la lista. Una vez subido, la lista de archivos (que se corresponden con aquellos existentes en el servidor) se actualiza automáticamente. Para descargar un fichero, basta con presionar sobre la entrada del listado correspondiente. Si al descargar dicho fichero, ya hubiera uno con ese mismo nombre en el dispositivo, al fichero descargado se le pondría un apéndice para poder diferenciarlo. NOTA: Tanto los ficheros descargados, como escaneados, se situarán dentro de la carpeta “downloads” del almacenamiento interno. Puede hacerse uso de cualquier app capaz de explorar el contenido del dispositivo para visualizarlo (como, por ejemplo, ASTRO file explorer).
DiseñoeimplementacióndeunaaplicaciónAndroidparalagestióndeequiposdediagnósticoclínico 56 Juan Carlos Sirera Palao Interfaz Dashboard-Astm A través de la pantalla de ASTM puede gestionarse el contenido en forma de ficheros .doc que ha sido subido al servidor. Figura 13. Pantalla Dashboard-ASTM. Para subir un nuevo fichero, tan solo hay que presionar el botón “Upload ASTM”, y seleccionar uno de los ficheros de la lista. Una vez subido, la lista de archivos (que se corresponden con aquellos existentes en el servidor) se actualiza automáticamente. Para descargar un fichero, basta con presionar sobre la entrada del listado correspondiente. Si al descargar dicho fichero, ya hubiera uno con ese mismo nombre en el dispositivo, al fichero descargado se le pondría un apéndice para poder diferenciarlo. NOTA: Tanto los ficheros descargados, como escaneados, se situarán dentro de la carpeta “downloads” del almacenamiento interno.
DiseñoeimplementacióndeunaaplicaciónAndroidparalagestióndeequiposdediagnósticoclínico 57 Juan Carlos Sirera Palao Interfaz About… En esta pantalla se muestra información general sobre la aplicación. Figura 14. Pantalla About. Si se hace clic sobre el nombre del desarrollador, se muestra la opción de enviar un correo electrónico.