Logo Computerworld University

La excelencia de la profesión TI

Escudo Computerworld University

Rastreando el COVID-19

La OMS estima que la tasa de contagio del virus es de 2.5 personas, es decir, una persona podría transmitir el virus a otras 2 ó 3, y así de nuevo, una y otra vez, avanzando exponencialmente el número de infectados

   
 

Autor: Raúl de la Fuente Lopes
Licenciado en Informática, Máster en Neurociencia aplicada al Negocio

 

Imagina que cada ciudadano recibe en su domicilio, de parte de su Gobierno, un test de COVID-19 y, a través de una infraestructura IoT y 5G, se transfiere información de diversa índole al organismo sanitario competente. A continuación, mediante el uso del Machine Learning, se infieren conclusiones junto a otras fuentes de datos. Los usuarios podrán recibir algunos consejos y recomendaciones, así como conocer el resultado de ese test en una aplicación móvil, todo ello protegido sobre Blockchain, obviamente.

¿Cuántas veces has levantado la ceja sospechando?

Empecemos analizando brevemente la actual situación del COVID-19. De momento, la OMS estima que la tasa de contagio del virus es de 2.5 personas, es decir, una persona podría transmitir el virus a otras 2 ó 3, y así de nuevo, una y otra vez, avanzando exponencialmente el número de infectados, y considerándose que para poder controlar la epidemia, la tasa debería de estar por debajo de 1. Para lograrlo, deberíamos adelantarnos al virus, “podando” futuras iteraciones de contagiados y/o posibles contagiados. Seguramente ya te hayas topado con esta fascinante explicación visual que ofreció el Washington Post hace unos días, donde a través de diversos simuladores, se muestra la propagación de cualquier enfermedad contagiosa: 

Por tanto, un proceso manual para limitar el número de personas susceptibles de ser contagiadas sería que cuando una persona hubiera dado positivo en el test de COVID-19, o hubiera suficientes evidencias de ello, la recomendación sería “tirar de memoria” y avisar a los amigos y familiares con los que la persona hubiera estado en contacto “a 1.5 metros o menos”, y proceder al aislamiento en cuarentena. Así pues, automatizar y mejorar este proceso manual de rastreo, sería clave para abordar esta casuística.

Si recurrimos a una aproximación tradicional, se podría, por ejemplo, enviar a un clúster de servidores central todas las ubicaciones GPS de dicho dispositivo móvil cada cierto periodo de tiempo. Una vez en los servidores centrales, se procesarían todas estas localizaciones, calculando los dispositivos que hubieran permanecido cercanos en el mismo instante a los que hubieran informado de algún positivo por COVID-19.

Está aproximación tendría algunos puntos a considerar: en primer lugar, todos hemos experimentado la imprecisión o ausencia de señal que la tecnología GPS ofrece en los interiores, túneles, etc., junto a otros posibles problemas de verticalidad. Por ejemplo, nunca me cruzo con mi vecino del piso de arriba y probablemente pudiera pasar gran parte del tiempo en una ubicación similar. En segundo lugar, el número de localizaciones que se debe mantener en el histórico de los servidores podría ser bastante elevado, junto a que las fechas podrían estar ligeramente desfasadas, y, aunque es cierto que existen tecnologías para solucionar todo ello, probablemente estaríamos matando moscas a cañonazos. Por último, toda esta información podría utilizarse con otros fines para los que los usuarios quizás no estuvieran de acuerdo.

Otra aproximación más interesante, sería abordarlo con el uso de una arquitectura Offline First. En este enfoque, se trasladarían datos y procesos directamente a los dispositivos móviles de los usuarios, así, cada dispositivo dispondría de una base de datos local que permitiría recoger todas las posibles iteraciones que tuviera cada dispositivo con cualquier otro, es decir, almacenaríamos información en dicha base de datos cada vez que te cruzaras con otro usuario, pero en esta ocasión en vez de ir almacenando la geolocalización del dispositivo(seria complementario), se irían almacenando los identificadores de los demás dispositivos, estableciendo una conexión (descubrimiento, autenticación y el establecimiento de sesiones) a través de Bluetooth, y de la misma manera los demás dispositivos irían recopilando el identificador que emitiera también tu dispositivo. En este caso la intensidad de la señal de Bluetooth es la que se utilizaría para estimar de forma precisa la distancia entre ambos dispositivos. Además, es importante destacar que durante todo este proceso no sería necesaria la conectividad a Internet.

Por otro lado, se debería valorar que el histórico almacenado en cada dispositivo móvil pudiera  ser también encriptado, ya que en caso de extravío, no sería posible  recuperar esos datos.

Si alguno de los usuarios fuera positivo en COVID-19, la aplicación instalada en los dispositivos ofrecería la posibilidad de que estos mismos usuarios pudieran decidir, y esto es importante, si desean ceder o no esos datos a los servidores centrales, siendo la base de datos local la que notificaría los datos a sincronizar. Todos los demás dispositivos podrían estar suscritos a los datos publicados en el canal donde se irían actualizando estas notificaciones, para así ser capaz de detectar, respectivamente, un posible contacto previo con los dispositivos que hubieran emitido la notificación. Finalmente, el usuario expuesto al contacto recibiría un aviso instándosele a permanecer aislado en cuarentena.

Puede que te estés preguntando qué clase de identificador de dispositivo sería ideal elegir. Existen diversas alternativas, como por ejemplo escoger una dirección MAC de las tarjetas de los dispositivos, pero lo cierto es que este identificador podría ser  fácilmente renombrado, por lo que sería más correcto utilizar una clave cifrada por alguna autoridad y confirmada previamente en el mismo dispositivo mediante algún mecanismo  OTP (One Time Password).

En definitiva, esta última solución mejoraría la flexibilidad, la agilidad, la accesibilidad y sobre todo, permitiría concluir el proceso respetando la privacidad de los usuarios. Por suerte, Couchbase propone una solución completa para hacer frente a todas las características necesarias que hemos analizado (almacenamiento, sincronización, seguridad, etc.), y construida sobre estándares abiertos. Como bien manifiesta el principio KISS: la mayoría de sistemas funcionan mejor si se mantienen simples en lugar de complejos; por ello, la simplicidad debe ser preservada como un objetivo clave del diseño y cualquier complejidad innecesaria, deberá ser evitada.



Últimas Noticias

DIA Retail