Caso de éxito | App multiplataforma para visualización de datos IoT
Datos clínicos IoT accesibles para investigadores, profesionales sanitarios y participantes
La gestión de datos clínicos procedentes de dispositivos IoT plantea retos específicos de integración, organización y visualización. MiceLab, grupo de investigación del Institut d’Informàtica i Aplicacions de la Universitat de Girona, necesitaba una solución móvil capaz de estructurar la información recopilada durante sus estudios sobre diabetes y facilitar su consulta por parte de investigadores, profesionales sanitarios y pacientes.
Para dar respuesta a esta necesidad, desarrollamos una aplicación Android basada en Kotlin Multiplatform. La solución permite visualizar información clínica en tiempo real, organizar los datos por estudios y mantener una experiencia fluida incluso al representar grandes volúmenes de registros.
Información del proyecto.
Cliente
MiceLab – Institut d'Informàtica i Aplicacions (Universitat de Girona).
Sector
Investigación sanitaria.
Servicio
Desarrollo de software a medida.
Tecnologías principales
Kotlin Multiplatform, Jetpack Compose, Ktor, IoT.
Objetivo
Visualizar y gestionar datos clínicos procedentes de dispositivos IoT utilizados en estudios sobre diabetes.
El reto: transformar datos clínicos en información interpretable.
MiceLab utiliza dispositivos IoT de terceros en sus estudios sobre diabetes, integrándolos con dispositivos móviles para recopilar datos o validar sus algoritmos en ensayos clínicos. Sin embargo, necesitaba una herramienta específica que permitiera consultar, organizar y analizar la información generada durante los distintos estudios.
El equipo investigador necesitaba una solución que permitiera estructurar la información por ensayos clínicos, categorizar correctamente los registros asociados a cada paciente y facilitar el acceso a los datos tanto para investigadores y profesionales sanitarios como para los participantes en los ensayos clínicos.
Desde el punto de vista técnico, el proyecto presentaba además dos desafíos relevantes: la integración con una API de elevada complejidad y la necesidad de representar grandes volúmenes de información en dispositivos móviles manteniendo una experiencia de usuario fluida y consistente. La capacidad de interpretar y consultar la información de forma eficiente se convirtió así en uno de los elementos clave del proyecto.
La solución: una aplicación multiplataforma para la consulta de datos clínicos.
Para responder a las necesidades del proyecto se optó por una estrategia basada en MVP (Minimum Viable Product), con el objetivo de disponer de una primera versión funcional que permitiera validar el modelo de consulta y representación de la información y evolucionar la solución de forma progresiva. Aunque el alcance inicial contemplaba el desarrollo de una aplicación Android, la arquitectura se diseñó utilizando Kotlin Multiplatform, dejando preparada la base tecnológica para una futura compilación y evolución hacia iOS.
La aplicación fue diseñada como un punto central de acceso a la información generada por los dispositivos IoT, facilitando la consulta y organización de los datos recopilados durante los distintos estudios. La estructura de la solución debía adaptarse tanto a los requisitos de investigación como a las necesidades de consulta por parte de profesionales sanitarios y pacientes.
Desde las primeras fases del desarrollo, la representación gráfica de la información y la organización de los datos por estudios se definieron como elementos fundamentales de la experiencia de usuario. Esto permitió construir una herramienta preparada para gestionar información clínica de forma estructurada y facilitar su interpretación en diferentes contextos de uso.
Arquitectura y tecnologías empleadas.
La solución se desarrolló sobre una arquitectura basada en Kotlin Multiplatform (KMP), una tecnología que permitió construir una base sólida y preparada para la evolución del producto. Esta aproximación facilitó la organización de la lógica de negocio y contribuyó a mantener una arquitectura consistente a lo largo del desarrollo.
Para la capa de presentación se utilizó Jetpack Compose, facilitando la construcción de interfaces dinámicas orientadas a la consulta de información clínica y permitiendo optimizar la representación de grandes volúmenes de datos en dispositivos móviles.
La integración con los sistemas externos se implementó mediante Ktor, que actuó como capa de comunicación con la API. Este componente resultó clave para gestionar la recuperación de la información necesaria para cada estudio.
Tecnologías principales
- Kotlin.
- Kotlin Multiplatform (KMP).
- Jetpack Compose.
- Ktor.
- Tratamiento y visualización de datos procedentes de dispositivos IoT.
- Actualización de datos en tiempo real.
Rendimiento y visualización: los principales desafíos técnicos.
Uno de los mayores retos del proyecto fue garantizar una visualización fluida de grandes volúmenes de datos clínicos en dispositivos móviles.
La aplicación debía representar información procedente de distintos estudios, actualizar los datos de forma continua y ofrecer una experiencia de usuario consistente durante la navegación entre gráficos. Este escenario exigía prestar especial atención tanto al rendimiento de la interfaz como a la gestión eficiente de la información recibida desde los sistemas externos.
La optimización de la capa de visualización se convirtió en un aspecto clave del desarrollo. El objetivo no era únicamente mostrar los datos, sino hacerlo de forma que investigadores, profesionales sanitarios y pacientes pudieran interpretarlos sin que la cantidad de información afectara a la usabilidad de la aplicación.
Como resultado, la solución es capaz de representar simultáneamente cinco gráficos con cientos de registros manteniendo una experiencia fluida, incluso durante el desplazamiento entre visualizaciones y la actualización continua de la información en tiempo real.
Resultados alcanzados.
El proyecto permitió proporcionar a MiceLab una plataforma móvil preparada para consultar y visualizar información clínica procedente de dispositivos IoT de forma estructurada y en tiempo real.
Entre los principales resultados obtenidos destacan:
- Integración estable con los sistemas externos.
- Centralización de la información generada durante los distintos estudios.
- Consulta estructurada de datos organizados por ensayos clínicos y pacientes.
- Actualización automática de la información conforme se generan nuevos registros.
- Representación simultánea de cinco gráficos con cientos de datos manteniendo una experiencia fluida.
- Base tecnológica preparada para la incorporación de nuevas funcionalidades y futuros estudios.
Aprendizajes del proyecto.
Uno de los principales aprendizajes del proyecto fue la importancia de definir desde el inicio cómo se van a consumir y visualizar los datos.
En aplicaciones basadas en representación gráfica, la estructura de la información condiciona directamente el rendimiento, la capacidad de interpretación y la experiencia de usuario. Por este motivo, resulta fundamental definir desde el inicio cómo se estructurarán y presentarán los datos para facilitar su interpretación por parte de los distintos perfiles de usuario.
El proyecto también confirmó la necesidad de abordar la optimización de los gráficos desde las primeras fases de desarrollo. Mantener una navegación fluida mientras se representan simultáneamente múltiples gráficos con cientos de registros requiere decisiones técnicas específicas tanto en la gestión de datos como en la capa de visualización.
¿Necesitas transformar datos complejos en herramientas útiles para tus usuarios?
La integración de sensores y dispositivos conectados es solo una parte del reto. Para que la información genere valor, debe poder organizarse, procesarse y presentarse de forma que facilite su consulta e interpretación.
En Coditramuntana desarrollamos aplicaciones móviles, plataformas de datos y soluciones IoT adaptadas a las necesidades específicas de cada organización, combinando arquitectura, rendimiento y experiencia de usuario.
¿Tienes un proyecto relacionado con visualización de datos, IoT o desarrollo de software a medida?
