Europe/Paris
Projects

Modernizing Critical Healthcare Applications — CNAM

July 1, 2025
At CNAM (Assurance Maladie), France's national health insurance system, I work across several healthcare business applications — EMS, COD, COI, and 100% Santé — that sit within a large, distributed information system. These are critical business applications used in a regulated healthcare context, where changes are subject to release governance and coordination across multiple teams and system components. The stack combines PHP/Symfony services with Vue.js front ends, deployed on OpenShift.
  • Applications operate as part of a complex, distributed information system, requiring coordination with adjacent teams and components rather than isolated changes.
  • Long-lived PHP/Symfony codebases that need to remain maintainable while continuing to receive functional evolutions.
  • Production stability is a priority: releases must avoid blocking incidents, given the applications' role in healthcare business processes.
  • Release schedules are subject to delivery pressure, including cases of recovering releases that had stalled before reaching production.
  • Database migrations run against production infrastructure (OpenShift pods), which constrains how schema and data changes can be sequenced and executed safely.
  • Took over a stalled release for EMS 4.1 and drove it through to a secured production rollout.
  • Analyzed and optimized SQL migrations running on OpenShift pods to reduce the risk of blocking incidents during deployment.
  • Investigated and resolved stability issues affecting the EMS application in production.
  • Contributed to code-level improvements as part of ongoing maintenance and evolution of the EMS, COD, and COI applications.
  • Participate in early design discussions for the next iteration of the COD/COI applications, bringing an implementation-level perspective to upstream technical choices.
Getting EMS 4.1 back on track started with understanding why the release had stalled, then working through the outstanding technical issues rather than restarting the process from scratch. A significant part of that effort focused on the SQL migrations executed on OpenShift pods: reviewing how they were structured and sequenced, and adjusting them to reduce contention and the risk of blocking the application during deployment. This was balanced against the need to keep moving the release forward under delivery pressure, favoring targeted, verifiable changes over broad rewrites of the migration process. For the ongoing maintenance of EMS, COD, and COI, the approach follows a legacy-aware modernization logic: improving code quality and stability incrementally within the existing PHP/Symfony architecture, rather than treating stability work and functional evolution as competing priorities. Involvement in early design discussions for the next iteration of COD/COI follows the same logic — feeding lessons learned from production stability work back into upstream technical decisions before they are implemented. The stalled EMS 4.1 release was brought to a secured production rollout, unblocking a release that had previously stalled. The work on SQL migrations reduced the incidence of blocking issues during deployment and contributed to improved overall stability of the EMS application in production. Beyond the immediate release, the code and stability improvements support easier ongoing maintenance of the application, and early involvement in COD/COI design discussions helps surface implementation considerations before they become costly to address later. Stack: PHP, Symfony 5, Vue.js, Docker, OpenShift, Jenkins, Linux.
Book a call