Referencia · Bizmed
Una colaboración continua de ingeniería en software sanitario.
Estamos migrando una plataforma de escritorio utilizada por decenas de hospitales a una arquitectura web y de microservicios sin sacar los datos de cada institución.
- Duración
- Más de 2 años · en curso
- Despliegue
- On-premise
El trabajo
Durante más de dos años hemos migrado la aplicación de escritorio a una plataforma web moderna sin interrumpir las operaciones hospitalarias.
Los nuevos microservicios .NET funcionan en los servidores de cada hospital. Docker y GitHub Actions permiten distribuir versiones de forma controlada, junto con mejoras de rendimiento y migraciones en Oracle.
La colaboración continúa con refuerzo de equipos y una aplicación React Native para médicos y personal de enfermería.
Problem
Una sola plataforma, instalación frontal independiente entre sí.
Los datos clínicos no pueden salir del hospital. Esto elimina una instalación SaaS centralizada desde el principio: la plataforma debe ejecutarse sobre su propia instalación de Oracle, en el propio centro de datos de cada organización.
El desafío no es soportar una sola instalación, sino mantener la misma plataforma funcionando y actualizándose en un centenar de entornos diferentes. Cada entorno tiene su propio hardware, sus propias limitaciones de red y su propia ventana de mantenimiento.
Enfoque
Dividirlo en servicios, empaquetarlo, pasarlo por la línea.
Dividimos la plataforma en microservicios .NET. Hemos trazado límites de servicio basados en flujos de trabajo clínicos para que un módulo se actualice mientras que los demás no se vean afectados.
La capa de datos se mantuvo en las instalaciones de Oracle: nos sentamos en ellas en lugar de reemplazar las instalaciones existentes. Mover los cambios de esquema mediante el control de versiones y la verificación.
Empaquetamos los servicios con Docker y configuramos la línea CI/CD. La misma imagen se aplica a todos los hospitales, independientemente del entorno; solo la configuración es específica de la instalación.
Alcance
- Migración de escritorio a web
- Microservicios
- CI/CD on-premise
- Oracle
- Aplicación móvil
Tecnologías
- .NET
- Docker
- GitHub Actions
- Nginx
- Oracle
- React Native
Resultado
Trabaja en un centenar de hospitales.
Hoy en día, la plataforma se utiliza en alrededor de un centenar de hospitales; cada institución en su propio servidor, con sus propios datos. Añadir un nuevo hospital se ha convertido en un trabajo de configuración, no en un proyecto de infraestructura.
- Cada institución en su propio centro de datos, antes de que los datos salgan
- Actualización basada en servicios — sin detener toda la plataforma
- La misma imagen se aplica a todas las instalaciones, independientemente del entorno
