Icono del sitio Modeling reality, generating software

Aplicación Coronavirus UY: detrás de la pantalla

Ahora que ya tenemos la 2da etapa de la Aplicación Coronavirus UY en el aire, ¡déjenme contar el detrás de la “app” del Plan Coronavirus UY! Quizás pueda dar una dimensión de por qué se dice que esta “app” es única en el mundo.

Una breve introducción de la APP:–> Coronavirus UY brinda un mecanismo seguro de autoevaluación para el COVID_19 sin saturar las líneas telefónicas y evitando traslados, que apuntan a mejorar la atención de quienes sospechan tener COVID-19, además ahora cuenta también con nuevas funcionalidades como el testing por Drive-Through, y telemedicina para quienes dieron positivo en el test. Este sistema, que ya ha sido descargado por más de 250.000 usuarios, optimiza la comunicación entre la población y los servicios de sanidad, al colaborar con los ciudadanos que requieren una evaluación médica. Con la reciente actualización incorporamos las siguientes funcionalidades:

Ahora sí, vamos al detrás de las pantallas (Las imágenes mostradas en este artículo son solamente ilustrativas, con el objetivo de fijar ideas y nunca muestran datos reales ni implementaciones definitivas). Como todos sabemos hace rato, el mundo está inmerso en un contexto de incertidumbre total. Según John Boyd, para alcanzar el éxito en medio de la incertidumbre de lo primero que nos tenemos que preocupar es con qué gente contamos, luego qué ideas tenemos y recién en tercer lugar, con qué herramientas vamos a ir a la guerra.

Gente

Algunos antes, otros después, y seguramente sean muchas personas más, pero acá listo con las que yo sé que están trabajando. Espero sepan disculpar las omisiones. Presidencia, Salud.uy, AGESIC, MSP, SINAE, Claro, ANTEL, ITC, HG, BPS, Prestadores de Salud, ASSE, HCEN, Accesa, Quanam, Tryolabs, CUTI, Presidencia, ISBEL, Abstracta, Qualified, DVelop, i+Dev, Concepto, GeneXus Consulting, Globant, Unidad Salud Sordos, Clínica “tiraparedes”, BigCheese, InSwitch, IxDA, Dils, ICA, Google, Apple, Facebook, BlazeMeter, Sinch, GeneXus. Nombrar personas sería una lista de particulares interminable al día de hoy, que han puesto trabajo e ideas. Simplemente pongo a Laura Aguiar como uno de esos grandes ejemplos de responsabilidad cívica por esta causa. Así como Laura hay varios más, pero sería muy largo y quizás injusto este artículo mencionar solo algunos.

Ideas

En las ideas, no hay mucha innovación. Resultó ser una mezcla de ideas de China y Corea que son las que tiene la “app” que se empezó a construir, adaptada a la realidad uruguaya en tiempo récord. Casi todas las empresas teníamos las mismas ideas de cómo sería la solución para el problema que enfrentamos; el desafío era cómo construirlas rápidamente.

Digamos que es una “app” adaptada a Uruguay y sus actores de salud. En esa adaptación se agregan entre otras cosas la interconexión con todos los actores de la salud, se permite telemedicina, se diseña con la multicanalidad y la accesibilidad en mente. Aquí está la estrategia oficial.

Herramientas (y procesos)

Para las solicitudes se decidió centralizar la cola de entrada mediante una estrategia multi-canal. Es así que se implementó en 7 días la primera fase de registro de información por los siguientes canales (la parte visible del proyecto):

Ahora bien, ¿qué datos llegan? ¿cuál es su calidad? Se armaron grupos de calidad de datos para hacer un primer análisis de esa información y así entrar en el sistema. Pero… ¿entrar a dónde? A la parte Invisible -o menos visible para el público- del Proyecto: –> Un sistema de seguimiento de riesgos del COVID-19, o en el futuro, de otras enfermedades. Este sistema, que se comenzó desde cero, hoy cuenta con más de 80 tablas y más de 20 módulos, entre los que se destacan un módulo de riesgos y un módulo de monitoreo, ambos puestos en funcionamiento en la segunda semana de trabajo. Otro detalle: este sistema debe contar con una interfaz web, dashboards de toma de decisiones y obviamente debe saber interoperar con todos los sistemas del estado: MSP, SINAE, Historias Clínicas y demás. Ahora bien, supongamos que un usuario luego del análisis primario de calidad pudo llegar a entrar al sistema. ¿Qué hacemos con la información? Ésto es algo que está variando continuamente, por tanto lo que está funcionando por detrás es un motor de Workflow que va distribuyendo a la bandeja de entrada de cada uno de los prestadores de servicios de salud. En esta bandeja de entrada, los funcionarios de cada prestador de salud inician workflow de contactos, y eventualmente distribuye tareas a bandejas clínicas atendidas por médicos. Los doctores cuentan con su propia bandeja de entrada, en la que se le presentan los usuarios clasificados por nivel de riesgo, según los criterios definidos por los expertos en epidemiología. Esta bandeja se utiliza en un navegador web y tiene que poder funcionar en cualquier dispositivo Android, como los que por ejemplo posee ASSE, de manera que los médicos puedan utilizarlo desde cualquier punto.

Telemedicina: ¿Cómo podrá el doctor interactuar con el paciente? 

Nuevamente, el mismo concepto que para la entrada: multi-canal. La idea es que se pueda interactuar por la línea telefónica, o por video llamada (si la conversación se inició directamente a través de la App) o, para el caso de que el paciente tenga dificultades auditivas, se está pensando incluir un servicio de intérprete por lenguaje de señas en tiempo real (DiLS) como opción adicional de comunicación. En todo momento, desde el punto de vista técnico se apostó a la accesibilidad. Esto implica que todo lo nuevo que se desarrolló, como por ejemplo la aplicación web, es 100% accesible. Se está trabajando en incorporar lenguaje de señas, para avanzar aún más en ese aspecto.

¿Qué pasa en la interacción con el paciente?

Como en toda consulta, es el doctor o algún miembro del personal de salud quien toma las decisiones. Dicho de otro modo: la App orienta y el personal de salud decide.

¿Qué pasa si se manda a realizar un test?

Al igual que en los casos anteriores, el sistema cuenta con el manejo de una cola de tests a iniciar, según la disponibilidad de puntos de toma de muestra en auto, con lo cual nos conectamos con el mundo físico. Ésto también se tuvo que prototipar y fue necesario crear módulos específicos para ese proceso en el sistema.

Proceso de Desarrollo y otros detalles

Hasta ahí seguimos un ciclo funcional. ¿Qué hay de lo no funcional ? ¿Qué hay del proceso? ¿Qué hay de infraestructura? Existe un equipo impresionante de Seguridad informática comprometido a dar las seguridades que los datos y el sistema requiere. No sería yo la mejor persona para enumerar todo lo realizado aquí, pero es impresionante: Seguridad de Infraestructura, Seguridad en las comunicaciones, Modelado de acceso y permisos en el sistema. Complementando existen varios equipos de UX trabajando en diseño e interacciones (Globant, IxDa, GeneXus Consulting y varios particulares). El equipo trabajó e iteró en Arquitectura de la Información, Diseño de Interacciones y Diseño visual. Diversos niveles de fidelidad de prototipos hasta llegar a gran velocidad al prototipo funcional en GeneXus. Performance Tests: la gente de Abstracta se puso esto al hombro desde los inicios. Se han realizado tests de cada cosa puesta en producción utilizando BlazeMeter y otras herramientas. Infinidad de Unit Test programados por diversas personas. Test Funcionales (Varias empresas trabajando aquí: Qualified, Abstracta, Prestadores, Accesa, GeneXus, entre otros testers voluntarios (incluida mi querida esposa Nati! ).

¿Y qué hay del ciclo de desarrollo ?

El equipo de seguridad monitoreando el desarrollo seguro. Un gran equipo de integración continua con, al día de hoy, 5 pipelines, trunk, testing, testing AWS, pre-prod ANTEL, prod ANTEL. En particular para los ambientes de ANTEL se crearon herramientas de automatización para el pasaje: deploys a diferentes WebApps, patches, ejecución de procesos, reorganizaciones, consultas, etc. Aún lejos de AWS, pero se plantó una semilla.

En el desarrollo mismo del corazón del sistema participaron 42 personas con más de 2000 commits al día de hoy, en 3 semanas de desarrollo. ————

Déjenme sumar también a cada uno de los que hizo algo en pro del proyecto, desde una voz de aliento, un consejo, o un acto de compañerismo cómo llevarte un monitor a tu casa, o mandarte algo en un Uber. Todo sumó y seguirá sumando. Y también quiero sumar al “detrás” de la app, a todas nuestras familias, que nos soportaron como zombies, en jornadas maratónicas, por más de 15 días seguidos.  Eso es la “app” Coronavirus UY.

Nicolás Jodal, que la está presentando en los medios (en representación del sector privado) ha contado que fuimos 150 personas involucradas en el proyecto, que puede parecer mucho para una app. Parece mucho, porque lo que uno inicialmente percibe es solamente la App, pero detrás de ella hay una gran complejidad de requerimientos y sistemas interactuando, y para lograr llevar esto adelante, realmente se necesitó un montón de personas trabajando ;).

Si alguien te dice que la “app” son 3 pantallas, significa que cumplimos el objetivo de esconder la complejidad. Si algún ciudadano ha recibido una llamada, se ha realizado el test o está en seguimiento gracias a la “app”, solo ahí se habrá conseguido lo que realmente buscamos, que es que la tecnología ponga su granito de arena en esta guerra. Para mí, en mi interior, cuando alguien habla de la “app” está hablando de: Gente, Ideas y Herramientas… ¡En ese orden!

Dejo algunos “backstage” de esta creación para la que obviamente cada uno trabajó desde su casa. Una “app”, mil historias, miles de risas, miles de discusiones, un mismo objetivo. Hoy en la comunidad técnica del Uruguay nos tenemos más respeto y confianza que nunca. 

 

Salir de la versión móvil