MetaData Sync: La solución para sincronizar datos y metadatos para DHIS2

MetaData Sync es una app para facilitar la sincronización de metadatos y datos entre instancias DHIS2, incluso con diferentes versiones. Con unos pocos clicks puedes realizar tareas que antes requerían de muchas horas de trabajo manual. En este post te contamos sus principales funcionalidades, un poco de su historia y algunos ejemplos de uso.

DHIS2 es un sistema de gestión de datos increíblemente potente, pero trabajar con varias instancias puede ser un proceso laborioso que requiera de acciones manuales, muchos scripts… MetaData Sync surgió para solucionar esos problemas. Es una herramienta versátil que se desarrolló, y se desarrolla, respondiendo a las necesidades de distintos proyectos y casos de uso. EyeSeeTea la usa diariamente en el mantenimiento de instancias, por ejemplo para facilitar la sincronización entre instancias de desarrollo y las de producción.  Algunos de nuestros clientes las usan para migrar datos de instancias locales en terreno, a veces con baja conectividad, a una instancia principal en su sede. Otros fusionan datos heterogéneos recogidos por varios países para poder usarlos en la elaboración de informes mundiales. También se usa mucho para crear paquetes de metadatos que se pueden instalar fácilmente en cualquier instancia, facilitando, por ejemplo, la estandarización en la recogida de datos de enfermedades.

“Lo más innovador de MetaData Sync es que ahorra una cantidad de tiempo de trabajo manual increíble. Enviar datos de una instancia a otra, hacer las transformaciones necesarias para poderlos enviar, crear paquetes de metadata que se puedan instalar en otras instancias… hasta MetaData Sync todo eso eran tareas manuales muy tediosas. A mí, y estoy segura que a cientos de personas que trabajan con DHIS2, esta aplicación les ha ahorrado una inmensa cantidad de tiempo”

¿Cuáles son las principales funcionalidades de MetaData Sync?

Con MetaData Sync puedes:

  • Sincronizar datos y metadatos: envía datos de diferentes tipos de una instancia a otra, realizando todas las transformaciones necesarias de forma automática en tiempo real. Tú decides si quieres enviar todos los datos disponibles o solo algunos.
  • Mapeo de metadatos: compara dos o más instancias de DHIS2, mapea sus metadatos y guarda el mapeo para después usarlo en las tareas de sincronización con esa(s) instancia(s).
  • Historial de sincronización: comprueba en cualquier momento cuál ha sido el resultado de una sincronización, quién la ha ejecutado y cuál ha sido el resultado.
  • Distribución de metadatos: agrupa los metadatos en módulos, genera paquetes y súbelos a un repositorio para su distribución pública, o usa tu instancia como repositorio de paquetes. Se podrán instalar en otras instancias con solo unos clicks. También podrás notificar cuando haya cambios en estos paquetes y hacer peticiones de metadatos a otras instancias.
  • Reglas de migración: Crea reglas para las migraciones, pudiendo también contener reglas de exclusión de metadata, o crea paquetes a partir de estas reglas. 
  • Custodia de metadatos: Configura tu instancia para que solo algunas personas puedan aprobar las solicitudes de metadatos procedentes de otras instancias.

«Se puede hacer cualquier cosa, realmente cualquier cosa, desde la interfaz gráfica de MetaData Sync. Es muy fácil de usar e intuitiva. Estamos tremendamente agradecidos a nuestros usuarios por su feedback, que ha permitido que desarrollemos esta aplicación tan versátil y, a la vez, tan sencilla».

¿Cómo surgió MetaData Sync?

Lucia Fernández, actualmente asesora técnica senior para la Health Clinton Initiative, trabajaba en 2019 para la Organización Mundial de la Salud (OMS) en el programa global de malaria de la OMS y lideraba el desarrollo de herramientas digitales para el control de esta enfermedad. En ese año estaba creando unos programas de DHIS2 para que los países pudieran recoger información de resistencia a insecticidas en los mosquitos.

“Estábamos creando unos módulos que luego cada país instalaría en su instancia para recoger esta información. A la vez, a nivel global, nosotros también necesitábamos esa información cada año para alimentar la plataforma Malaria Threats Maps y  para elaborar un apartado del Informe Mundial de Malaria. Hasta entonces la información de los países se recogía a través de cuatro formularios en Excel. Cuando la información llegaba, invertíamos muchísimo tiempo en limpiarla y homogeneizarla para poderla usar. Un día pensé,  ¿se podría desarrollar una herramienta mediante la cual los países nos puedan enviar los datos directamente de sus instancias a nuestra instancia global?  En aquel momento ya estábamos trabajando con EyeSeeTea y nos sobraban horas de un primer contrato. Ellos siempre tenían buenísimas soluciones, así que decidí plantearles este problema. Me plantearon mejorar una app que ya habían hecho para sincronización de algunos objetos de metadata, que era una versión muy incipiente de lo que a día de hoy es MetaData Sync”, recuerda Lucía Fernández.

"Del proceso de desarrollo de MetaData Sync destaco la eficiencia, flexibilidad y creatividad de EyeSeeTea. Siempre cumplían con los deadlines y estaban disponibles para intentar ayudarnos y adaptarse a nuestras necesidades. Cualquier bug que descubríamos lo resolvían inmediatamente. Y por último, pero no menos importante, el proceso fue muy divertido. Eran conversaciones muy estimulantes, muy creativas, en las que EyeSeeTea aportó soluciones técnicas a todos los problemas que les planteamos en nuestras charlas."

Ignacio Foche, director de EyeSeeTea, destaca que trabajar con Lucía Fernández fue una experiencia increíble. “Lucia identificó el problema, nos lo explicó, especificando qué tendría que hacer esa app exactamente y nos acompañó en todo el proceso del desarrollo mediante testeos regulares. Se aseguró de que lo que se estaba desarrollando funcionaba, y que realmente cumplía con lo que se necesitaba. Y no solo eso, cuando nos dimos cuenta de que más departamentos de la OMS tenían problemas parecidos, Lucía supo pensar más allá de sus necesidades como departamento y les propuso sumarse al desarrollo para que también pudieran incluir sus necesidades en la aplicación. Que Lucía consiguiera que distintos departamentos unieran fuerzas para desarrollar la app fue clave para que MetaDatas Sync se convirtiera en una herramienta tan versátil”.

¿Para qué usar MetaData Sync? Algunos casos de uso

Algo que refleja la versatilidad de MetaData Sync es la diversidad de casos de uso que tiene. Uno de ellos, que aprovechamos todos los días en EyeSeeTea, es la sincronización entre instancias de desarrollo y de producción. Casi todos los proyectos tienen al menos dos instancias, una para probar cosas y otra pública. Hasta MetaData Sync, el proceso de sincronización podía ser muy tedioso y requerir de muchos scripts y tareas manuales. “Esta aplicación ha tenido un impacto muy, muy grande a nivel de mantenimiento de instancias. MetaData Sync nos ha ahorrado muchísimo tiempo,  trabajo y quebraderos de cabeza en la sincronización entre instancias dev y prod”, nos explica Ignacio del Cano, uno de nuestros administradores de sistemas.

En ocasiones lo que necesitamos es cambiar de tipos de datos. A veces puede ser que sea en una misma instancia. Por ejemplo, es posible que para una misma enfermedad estemos recogiendo la información de forma agregada o individual. Se puede estar recogiendo datos individuales a través de un programa en un distrito y datos agregados en otro distrito. Gracias a esta aplicación podemos enviar los datos individuales a un dataset agregado. Esto también puede pasar cuando un organismo internacional trabaja con datos de distintos países y cada país tiene una instancia en la que están recogiendo la información con datos de distintos tipos, pero tienen que integrarse en una misma instancia centralizada. Gracias a MetaData Sync se pueden hacer agregaciones de estos datos independientemente de cómo se recogen en cada país.

Otro caso de uso es hacer paquetes de metadata de una instancia para que se puedan instalar en otra, incluso aunque las instancias estén en distintas versiones de DHIS2. Estos paquetes se pueden compartir públicamente. Y es más, cada vez que se hace algún cambio a los paquetes se puede generar una actualización de manera muy rápida con MetaData Sync, notificarla y compartirla. Lucía Fernández nos explica un ejemplo de esta funcionalidad: “Desde el inicio se notó el impacto de MetaData Sync. Recuerdo cómo pude generar paquetes de metadata de nuestra instancia global para compartirlos con los ministerios de salud de los países con los que trabajábamos y que ellos pudieran instalarlos en sus sistemas. Con un click, se generaba el paquete, y con otro, aparecía instalado en la instancia del ministerio de salud, con todos los formularios, indicadores, tableros, etc… Todo ya listo para ser usado para la entrada y visualización de datos. Era algo increíble. Antes de Metadata Sync, había que preparar estos paquetes manualmente, especificando muchas de las dependencias de los metadatos. Ahora esta app creaba las dependencias y conexiones entre elementos de datos y empaquetaba todo lo importante en un solo archivo de metadata que se pudiese compartir. MetaData Sync me ahorró muchos dolores de cabeza”

También podemos querer transferir datos entre distintas instancias DHIS2. Por ejemplo, una organización internacional puede tener diferentes instancias implementadas a diferentes niveles (regional, nacional) y necesitar transferir datos entre ellas. En estas situaciones, diferencias en los metadatos y las unidades de organización pueden hacer complicado el intercambio de datos. Con MetaData Sync podemos hacer un mapeo de los metadatos en cada instancia y aplicar automáticamente las transformaciones necesarias para que los datos se puedan envíar de una a otra.

"MetaData Sync está haciendo que DHIS2 sea mucho más accesible. Gracias a esta app y otras de las herramientas desarrolladas por EyeSeeTea, hay muchas cosas que podemos hacer sin conocimientos informáticos. Ahora tenemos estas aplicaciones user friendly, en las que a base de clicks en una interfaz puedes hacer cosas muy complejas. Para las personas que no tenemos una formación en IT esto es super valioso. Antes teníamos mucha más dependencia de los equipos de IT. Y es más, esto se traduce en un ahorro de muchos miles de dólares en desarrollo o consultoría"

Estos son solo algunos ejemplos de uso. ¿Nos cuentas como utilizas tú MetaData Sync? Nos encantaría conocer tus experiencias, ideas y sugerencias.  Tu feedback hace de MetaData Sync una aplicación mejor.  Si quieres saber como sacar el máximo partido a esta aplicación, puedes ver los tutoriales, consultar la documentación y apuntarte a nuestro próximo webinar.

Enlaces

Share the Post:

Related Posts