Skip to content
Diogo JacobsInnovamind
All case studies

Healthcare

Incremental modernization of a healthcare platform

Evolving an OpenEMR-based healthcare platform to Laravel without disrupting patient care — new modules running alongside the legacy system, with SSO across both.

  • Legacy modernization
  • Integrations
  • Security and SSO

Context

A live healthcare platform built on OpenEMR needed to evolve: new features, a more modern experience and a codebase that is easier to maintain. Meanwhile, clinicians and care units relied on it every day — stopping for a rewrite was not an option.

Challenge

  • A full rewrite would carry high risk and a long period with no delivered value.
  • Authentication and permissions lived in the legacy system, and users could not lose access during the transition.
  • Users, care units and organizational links had to stay consistent across both platforms.

Approach

I designed an incremental modernization following the strangler fig pattern: the legacy system keeps handling what already works, and each new capability is built in Laravel, running alongside OpenEMR.

  • Cross-platform SSO with Laravel Fortify and Sanctum, gradually shifting security responsibilities from the legacy system to the new application without forcing users through a new login or sign-up.
  • REST APIs and synchronization processes for users, care units and organizational links, handling the data-consistency edge cases that only show up when two systems share the same information.
  • Docker-based environment so legacy and new modules run side by side reproducibly.

Outcome

  • A modernization path with no big-bang cutover: each module migrates when it’s ready.
  • Users kept their access while authentication responsibilities were transferred.
  • A foundation to keep evolving the platform with security, maintainability and business continuity.

Contact

Facing a similar challenge?

Let's talk about your system's context and the best way to solve it.

contato@innovamind.com.br · +55 51 99319-1645

How it works

  1. 1You describe the problem or project.
  2. 2We talk through context, risks and priorities.
  3. 3You receive a proposal with scope, timeline and cost.