Desarrollo de una interfaz web capaz de mostrar los datos de un equipo de diagnóstico médico, tales como electrocardiograma, temperatura corporal, presión arterial, oxímetro de pulso y estetoscopio. A su vez, a través de esta misma web, deberán poder controlarse los diversos dispositivos y capturar los resultados de los mismos para poder guardarlos y posteriormente visualizarlos. El formato de estos datos puede variar de acuerdo a cada dispositivo (valores, imágenes, sonido, video).
La web se servirá desde un servidor local, quien será el encargado de obtener los datos del equipo de diagnóstico a través del puerto serie y parsearlos para su representación de acuerdo al protocolo. Este parseo debe ser fácilmente extensible, para poder agregar nuevos dispositivos en el futuro.
Los datos obtenidos, deberán guardarse siempre bajo la premisa de ocupar el menor espacio posible, para que puedan ser transmitidos a través de conexiones con ancho de banda limitado.
No se puede proporcionar el equipo, pero sí, la documentación del protocolo y salidas de ejemplo.
Tiempo estimado 1 a 2 meses
Requerimientos técnicos:
Proyecto iniciado desde cero, con las siguientes tecnologías:
- Nodejs como plataforma de base, con un proyecto bien estructurado desde el comienzo utilizando las tecnologías que acompañan a esta plataforma.
- npm para el manejo de dependencias del lado del servidor.
- bower para el manejo de dependencias del front-end.
- jazmine como framework para testing unitario y funcional.
- grunt y yeoman para la automatización de tareas tales como testing, deploy e integración contínua con jenkins.
- bootstrap y less para el maquetado del front-end.
- Framework de UI y MVC a investigar y definir, buscando el que se adapte mejor al tipo de proyecto.
Diseño y arquitectura basados en la adaptabilidad, escalabilidad, modularidad y desempeño. Por ejemplo:
- El sistema deberá estar preparado para entender el protocolo de comunicación de nuevos dispositivos de forma sencilla.
- Si bien al principio la plataforma soportada será Linux, deberá poder portarse a otra plataforma como Microsoft Windows de forma simple.
- El diseño de la interfaz web del sistema tendrá componentes fácilmente configurables, tales como combinaciones de colores, logos, etc.
- El sistema deberá estar pensado para el agregado de otros módulos en el futuro, tales como chat o videoconferencia.
- También podrán agregarse módulos, por ejemplo, para exponer o consumir servicios de otros sistemas.
- Todo el código contará con tests unitarios y funcionales.
- Interfaz de usuario moderna, intuitiva y con tips de ayuda.
- Documentación completa del código.
- Manuales de usuario.
- La interfaz deberá mostrar los gráficos de electrocardiograma, oximetría, etc. en tiempo real