HITO 3

Backend de la aplicación móvil:

FUNCIONALIDADES:

1. Creación de base de datos:
Para la creación de base, consideramos 3 opciones finales: Google Sheets, Firebase y Airtable. Los principales requerimientos que consideramos para la elección de la base de datos son:

Mobirise

Tabla 1: Principales requerimientos considerados para la elección de la base de datos

De acuerdo a estos criterios consideramos como mejor opción Firebase debido a las facilidades que ofrece como el almacenamiento y la generación de una cuenta mediante Authentication, estas características permiten tratar los datos de forma personalizada con el ID del usuario.
De misma forma empleamos Google Sheets para poder mostrar los resultados de los cuestionarios y los valores recibidos por el inspirómetro al fisioterapeuta o psicólogo. También se hizo uso de Google Sheets para generar gráficos de acuerdo a los datos recibidos, para que estos también sean mostrados al paciente.

2. Almacenamiento de datos:
2.1. Sincronización con Firebase: La sincronización se hizo con el apiKey y databaseURL que cada proyecto genera en Firebase, estos luego fueron copiados en las propiedades del proyecto en Thunkable.

Mobirise

Figura 1: Sincronización de Firebase

2.2. Creación de cuenta:
Para la creación de cuenta se añadieron los componentes no visibles de Sign in y Realtime DB, con estos se habilita las opciones de crear cuenta y almacenar datos en la base de datos previamente sincronizada. 

Mobirise

Figura 2: Partes de la creación de cuenta 

Los 2 botones resaltados poseen funciones de sign in y sign up, estos botones tienen por código las figuras 3 y 4 respectivamente. Cabe resaltar que también se incluyeron advertencias cuando introduce mal la contraseña o introduce una cuenta que no ha sido registrada o trata de registrarse con una cuenta ya registrada.

Mobirise

Figura 3: Bloque de sign in 

Mobirise

Figura 4: Bloque de sign up

Finalmente, cuando se ejecuta la aplicación se obtiene en la base de datos el usuario registrado con el ID de usuario, esta parte es importante ya que se empleará ese ID como variable para que cada persona pueda guardar y ver solo sus propios datos al ingresar a su cuenta. El ID se puede ver en la figura 5.

Mobirise

Figura 5: ID del usuario

2.3. Recepción de datos en Firebase
Para almacenar datos se creó una pantalla donde al pulsar el botón continuar se almacene todo en la base de datos, en la figura 6 se muestra la pantalla junto a la base de datos y como estos datos se almacenan.

Mobirise

Figura 6: Recepción de datos en Firebase

El bloque se ejecuta cuando se pulse el botón de continuar, este bloque hace el llamado a la función save y con esto se almacenan los datos en carpetas, es en esta parte donde se usa el ID del usuario para que los datos de otro usuario no se sobrescriban sobre los datos de otro usuario.

Mobirise

Figura 7: Bloque de almacenar datos en Firebase

2.4. Envío de datos desde Firebase:
Para el envío de datos, por ejemplo, en la figura 8 se contempla que la aplicación le muestre los datos que previamente el usuario introdujo cuando se registró, para esto se crearon etiquetas que varíen su contenido de acuerdo a lo que se encuentra en la base de datos.

Mobirise

Figura 8: Pantalla que muestra datos de la base de datos. 

Para poder mostrar datos en nuestra aplicación, se creó un bloque que se ejecuta al abrirse la pantalla, para que los datos se muestren de forma automáticamente, después de esto se emplea la función Get para obtener datos de la dirección especificada en el Key de la funcion.

Mobirise

Figura 9: Bloque para mostrar datos desde Firebase 

2.5. Actualización de datos:
Para la actualización de datos, por ejemplo, en la figura 10 se requiere que el usuario pueda actualizar los datos que introdujo cuando creo su cuenta, para esto se crearon Text Input que puedan leer la información nueva y actualizarla.

Mobirise

Figura 10: Pantalla para actualizar datos 

Los bloques para actualizar datos son los mismos que para guardar datos, por lo que se usa la función Save, dicha función se ejecuta cuando se pulsa el botón guardar como se ve en la figura 11 y reemplaza los datos anteriormente guardados por los nuevos introducidos en los Text Input.

Mobirise

Figura 11: Bloques para actualizar datos

2.6. Almacenamiento de multimedia:
Para el almacenamiento multimedia se suben los videos al Storage de Firebase, esto se hace debido a la compatibilidad de los videos con Thunkable, ya que, en un primer intento se trató vincular los videos desde YouTube y este vínculo no funciono. Por ello se subieron videos al Storage y como se muestra en la figura 12, Firebase genera un vínculo que al ser accedido nos da un link. 

Mobirise

Figura 12: Enlace generado por el Firebase de los videos subidos

Después de dar clic en el vínculo, nos lleva a una página donde el link es copiado en el reproductor de videos de Thunkable como se muestra en la figura 13, para que finalmente el video pueda ser visto desde la aplicación.

Mobirise

Figura 13: Copia del link a Thunkable 

2.7. Envió de correo a psicólogo y fisioterapeuta:
Para poder enviar un correo al psicólogo y fisioterapeuta se agregó el componente Share como se muestra en la figura 14, también se agregaron Text Input para que estos reciban los correos que el paciente introduzca y el correo se envíe a dichos correos.

Mobirise

Figura 14: Inclusión del componente Share

Los bloques para poder enviar el correo se ejecutan al pulsar el botón enviar resultados como se muestra en la figura 15, donde se llama a la función Send Email y se envía la información de los cuestionarios e inspirómetro al correo del fisioterapeuta y psicólogo.

Mobirise

Figura 15: Compartir resultados con el fisioterapeuta y psicólogo

2.8. Sincronizado con Google Sheets:
Para sincronizar la aplicación con Google Sheets, se añade una fuente de datos en la parte señalada con un cuadro rojo en la figura 16, después de ello se selecciona el archivo en el que se añadirán los resultados, esta sincronización se hace con la finalidad de actualizar los datos de un paciente en el documento de Google Sheets para que el psicólogo y fisioterapeuta puedan ver los resultados de los usuarios.

Mobirise

Figura 16: Añadir fuente de datos 

2.9. Guardad de datos en Google Sheets:
Para guardar datos, en la pantalla compartir resultados, cuando el usuario ingresa, automáticamente se ejecuta la función Get, donde obtenemos los resultados de los cuestionarios almacenados en Firebase y los guardamos en el Google Sheets sincronizado, para mostrar los resultados con el link que se enviara junto al correo cuando el usuario comparta sus resultados.

Mobirise

Figura 17: Guardar datos en Google Sheets 

Finalmente, al ejecutarse la función, el Google Sheets sincronizado, se actualiza con los resultados del usuario, para que el fisioterapeuta y psicólogo puedan ver los resultados, una vista de ejemplo se muestra en la figura 18 donde se ve como se llenan los resultados de los cuestionarios SRQ y Whodas.

Mobirise

Figura 18: Google Sheets actualizado

2.10. Envío de datos de Google Sheets a Thunkable:
Para el envío de datos contenidos en Google Sheets a la aplicación, como se muestra en la figura 19, se quiere reemplazar los 3 puntos con el promedio inspirado en una semana.

Mobirise

Figura 19: Pantalla que necesita mostrar datos guardados en Google Sheets

Para que se reciban los datos se automatizan el Google Sheets para tener celdas que muestren el promedio del volumen inspirado, como se muestra encerrado en el cuadro rojo de la figura 20 se tiene el promedio de los valores.

Mobirise

Figura 20: Datos a enviar desde Google Sheets

El bloque para que la aplicación reciba los datos del Google Sheets se ejecuta cuando la pantalla que necesita saber el promedio se abre, entonces se usa la funcion Get Data From y se especifica el nombre de la columna de donde se extraerá la información, asimismo, se especifica la fila. Este bloque se puede ver en la figura 21.

Mobirise

Figura 21: Bloque para extraer datos de Google Sheets 

2.11. Desarrollo de gráficos:
Para el desarrollo de los gráficos en el mismo Google Sheets se publica el grafico en la web como lo muestra la figura 22. 

Mobirise

Figura 22: Publicar grafico en la web

Después de tener el link de la imagen publicada, en la pantalla de la aplicación que debe mostrar la evolución, en un componente llamado imagen, se copia el link de la imagen para que esta sea mostrada desde la aplicación, esto se puede ver en la figura 23

Mobirise

Figura 23: Vincular gráfico a la aplicación 

 Implementación del prototipo:

Para la implementación del inspirómetro modificado, se le colocó la base impresa en 3D por debajo del inspirómetro original. Esto se realizó con el objetivo de que dentro de esta base este el sensor de distancia VL6180X, el módulo bluetooth y los demás componentes necesarios para el funcionamiento correcto como batería, microcontrolador, pulsador, etc. De esta manera se logra tomar el dato distancia. Y con ello, por medio de cálculos, el dato del volumen inspirado. También, hay dos leds que sobresalen por encima de la base. El primer led (rojo) al encender nos indica que el prototipo esta energizado. El segundo led (azul) al encender nos indica que la toma de datos ha comenzado y al apagarse nos indica que la toma de datos terminó. 

Mobirise

Figura 24: Implementación final del inspirómetro modificado 

Protocolo de uso:

    a. El inicio de la aplicación consta de una pantalla inicial, donde el usuario podra registrarse o crear una nueva sesión. (Si ya tiene     una cuenta se salta hasta el punto 5)
    b. Al crear una cuenta se pedirá una dirección de correo y una contraseña, en el caso de que exista una cuenta con el correo     introducido se mostrará un error por cuenta ya creada.
    c. Después de crear la cuenta la aplicación redirige al paciente a la pantalla de introducción de datos personales, después a la de     los datos del cuidador y finalmente a los datos de la historia clínica.
    d. Terminado el proceso de registro de datos, se mostrará un video introductorio que servirá de guía al usuario sobre lo     que encontrará en la aplicación.
    e. En la página principal cuenta con 6 botones: área cognitiva, área psicológica, ejercicios físicos, ejercicios de respiración e     indicaciones diarias.
    f. Para comenzar su rutina el usuario debe ingresar a la sección indicaciones diarias, donde podrá ver las indicaciones que tiene     que hacer en el día, entre estas están el área psicológica, ejercicios físicos y ejercicios de respiración.
            f.1. En la sección área psicológica, el paciente podrá acceder a noticias respecto a dicha área, como también podrá hacer los             cuestionarios SRQ para análisis de algún problema mental, y el Whodas para el análisis de la calidad de vida.
            f.2. Sección ejercicios físicos:
                f.2.1. En la sección ejercicios de físicos, el paciente tendrá acceso a la pantalla de elección de nivel donde si es una                 persona está empezando a usar la aplicación solo podrá ingresar al primer nivel de los ejercicios, mientras si tiene una clave                 podrá acceder a los videos de nivel mayor.
                f.2.2. Después el usuario hará un cuestionario de Borg para ver si es apto para iniciar la rutina del día o para negarle el                 acceso.
                f.2.3. La rutina empieza con un video que contiene el ejercicio, antes de comenzar el paciente sincroniza el dispositivo de                 monitoreo de signos vitales para el análisis del paciente durante el ejercicio.
                f.2.4. El paciente al sentirse mal tiene la opción de pulsar el botón terminar rutina, donde le aparecerá un cuestionario de                 Borg para que pueda llenar qué tan cansado se sintió.
                f.2.5. Si el paciente no siente fatiga entonces terminará el ejercicio propuesto y pulsará el botón de continuar, donde le                 aparecerá nuevamente un cuestionario de Borg para evaluar cómo se sintió durante el ejercicio. El procedimiento de los                 puntos f.2.1. hasta el punto f.2.5. se repetirá hasta que el paciente termine su rutina.
            f.3. En la sección ejercicios de respiración,
                f.3.1. Se incluirán un cuestionario de Borg previo al inicio de la rutina, para dejar acceder al paciente a la rutina.
                f.3.2. Ingresa a una pantalla donde sincroniza el dispositivo de signos vitales para su evaluación durante el ejercicio.
                f.3.3. El paciente realizará el ejercicio pudiendo terminar el ejercicio si se siente mal, o continuar con el ejercicio caso                 contrario. Ambas opciones lo guiaran a un cuestionario de Borg para que se evalúe el ejercicio y que tan fatigado está el                 paciente.
                f.3.4. El último ejercicio de esta sección cuenta necesita de la sincronización del
                inspirómetro, para esto se debe ir al apartado A donde se describe el protocolo de uso del
                mismo.
            f.4. En la sección área cognitiva, el paciente podrá ver noticias acerca del tema.
    g. En el perfil personal, el paciente puede actualizar sus datos, ver sus resultados y compartir los resultados.

Apartado A: Protocolo de uso del inspirómetro volumétrico Rampay Tec:

    1. Siéntese derecho en una silla o al borde de su cama.
    2. Sujete el inspirómetro del asa y aplaste el botón de encendido (botón negro), una luz roja se  prenderá. 
    3. Para iniciar su primer intento de inspiración, aplaste el botón transparente en la base del  inspirómetro, se encenderá una luz         azul. 
    4. Exhale "completamente".
    5. Cierre los labios firmemente alrededor de la boquilla. Tendrá que respirar solo por la boca.  Tape su nariz si es necesario. 
    6. Inhale lentamente y haga que el pistón se eleve lo más alto que pueda. Luego contenga la  respiración hasta 5 segundos. 
    7. Una vez terminado el paso 7, aplaste nuevamente el botón transparente, la luz azul se  apagará. 
    8. Automáticamente su volumen máximo inspirado será enviado a nuestra app móvil.
    9. Para iniciar su siguiente intento de inspiración repita los pasos del 2 al 7.
    10. Realice una sesión de 10 intentos por día; dejando 2 minutos de descanso entre intento e  intento. 
    11. Al terminar la sesión apague el inspirómetro con el botón negro.

Validación del prototipo

El detalle completo de la validación del inspirómetro volumétrico se encuentra en el video: “evidencia  final” subido en el siguiente link: https://youtu.be/aZzGnriSgoE 
Se emplea un circuito de validación para verificar el correcto funcionamiento de todos los  componentes; el circuito final será integrado en una placa de circuito. 
        a. Al presionar el botón de encendido/apagado del inspirómetro vemos que se energiza el  circuito, se prende por lo tanto el led         rojo y el led del bluetooth.

Mobirise

Figura 25: Pulsador que acciona el circuito

Mobirise

Figura 26: Encendido del led rojo y led del bluetooth

        b. Cuando el paciente desee iniciar su sesión de inspiración, accionará el botón pequeño para  prender el led azul, desde ese         entonces se tomará la lectura máxima del volumen inspirado, hasta que se presione de nuevo el botón y se apague el led azul.

Mobirise

Figura 27: Encendido del led azul

        c. Finalizado el paso anterior se enviará el dato de volumen máximo inspirado a la app móvil.

INFORME FINAL

INFORME FINAL- EQUIPO 5 - PBD1

© Copyright 2020 Mobirise. All Rights Reserved.

Mobirise free builder - Click now