Industry solution for healthcare and health-tech

Healthcare Application Modernization

The clinical logic in a legacy EHR is usually the part worth keeping. The platform underneath it is the problem. Modernization means decoupling the two, not rewriting both at once.

Six reasons health systems modernize off legacy platforms

The pressure is rarely that the software stopped working. It is that the people who can safely change it are disappearing while the compliance deadlines are not.

WHO CAN SAFELY CHANGE IT
MUMPS
Delphi
TypeScript
KEY-PERSON RISK CONCENTRATES

The talent pool is the real deadline

MUMPS and Delphi both carry very small and shrinking developer communities. Every year the estate stays as it is, the pool of people who can change it safely gets smaller and the key-person risk concentrates further.

batch / JCLinstall on each
API-first clients servicedeploy once

Clinicians are locked to one platform

A Windows-only desktop client means clinicians on Mac, Linux, or tablets need workarounds to do their jobs. A browser-based client removes the workaround rather than documenting it.

BEHAVIOR PRESERVED

FHIR R4NOT STARTED
DUE
certification carries penalty exposure

Interoperability deadlines carry penalties

FHIR R4 certification is a compliance requirement with real financial exposure, not a roadmap item. Systems with no FHIR code path at all need that work scoped honestly rather than assumed.

Build
Test
Scan
Deploy
✓ Policy✓ Comply✓ SecuritySign

No pipeline means no safety net

Estates with no CI/CD rely on manual test execution, so every change is a judgement call. Automated validation on each pull request is what makes incremental modernization survivable.

Auth Coverage
Secrets Handling
Dependency Risk
Prompt injection

Supply chain risk is invisible

Dependencies without automated auditing or a committed lockfile can carry known CVEs that nobody has looked for. Scanning in the build is the difference between knowing and hoping.

PROCEDURE DIVISION
Patch 1998
Patch 2004
Business rule

Clinical logic is the asset

Decades of encoded clinical rules are why the system is trusted. Modernization should preserve that logic and replace the platform around it, which is exactly what a rewrite risks losing.

See your ForgeScore before you commit

Every import is scored across eight engineering-health dimensions before a Work Order is planned, so you know what you are dealing with up front.

Health systems running homegrown claims engines, MUMPS-era EHRs, and point-to-point integrations do not fit the modernization playbooks written for SAP estates. Forge imports the codebase as it is, scores it, and reconstructs the clinical rules into a specification before any replacement is planned.

8

ForgeScore dimensions

Every stage

Approval gates

6

Pipeline stages

What changes when you modernize incrementally

The shift is more than syntax. Paradigms, data access, and runtime assumptions all move, and each one needs an explicit mapping.

01

An API layer in front of the core

REST, GraphQL, and FHIR endpoints wrap the existing core so modern clients can reach clinical logic without that logic being rewritten. New features get built against the API in mainstream languages instead of the legacy one.

02

The client migrates behind feature flags

A Strangler Fig pattern keeps the legacy desktop client and the new web client running side by side against the same data, with feature flags controlling which workflows route where and clinical review gating each cutover.

03

Authentication moves to modern standards

OAuth2 and SMART on FHIR for external clients, mTLS between the API layer and each site, and a credential vault mapping modern identities onto legacy access codes, with every call logged.

04

Deployment becomes reproducible

Containerized test environments and pipeline validation on every pull request replace manual test runs, so changes to a system serving live clinical workflows can be verified before they land.

How healthcare modernization actually worksFrom import to verified output, every step is scored, specified, and tracked.
Import the estate
Score and assess
Reconstruct the specification
Design the target architecture
Break down work orders
Verify and ship
01Import the estateThe codebase is ingested as it is, including the legacy core, the desktop client, and any modern sub-projects already in flight. No prior documentation required.
Import the estate
02Score and assessScored across eight engineering-health dimensions, with recommendations tied to specific evidence in specific files rather than general advice about legacy systems.
Score and assess
03Reconstruct the specificationClinical rules encoded in the legacy core are reconstructed into a specification your compliance and engineering teams both review, before any replacement is designed.
Reconstruct the specification
04Design the target architectureAPI topology, authentication strategy, site adapters, and the migration pattern are decided and recorded as binding requirements rather than discovered during implementation.
Design the target architecture
05Break down work ordersDependency-ordered work orders with acceptance criteria, sequenced so the foundational pipeline work lands before the changes that depend on it.
Break down work orders
06Verify and shipAutomated validation gates each change, and work orders connect into Claude Code, Cursor, Windsurf, and other MCP-compatible editors so the governed spec travels with the engineer.
Verify and ship

What Forge actually produces

Every import is scored across eight engineering-health dimensions, then broken into dependency-ordered work orders. Here is what the first one looks like.

Assessment finding

Trust Boundaries

High

Security and dependency auditing. No evidence of automated scanning tooling in the repository, and a JavaScript sub-project carrying runtime dependencies without lockfile evidence.

High severity finding

Modernization work order

WO-001 · Pull request validation pipeline

Build

Stand up automated validation on every pull request as the foundation the rest of the modernization depends on. Critical and high severity dependency vulnerabilities block merge, with audit results posted back as review comments. Unblocks the containerized test environment and the audit stages that follow it.

Common challenges

Forge surfaces the decisions a healthcare modernization tends to defer. These came out of the approved specification as open questions rather than surprises mid-migration.

Content
Build
Validate
···
Releaseawaiting...

Clinical safety gates every cutover

Routing a workflow from the legacy client to the new one is a clinical decision, not just a deployment. Who reviews and approves each cutover has to be settled before the first flag is flipped.

Multi-site topology shapes the API

Health systems often run one instance per site rather than one central system. Whether adapters sit co-located per site or behind a central gateway changes the architecture and needs deciding early.

CERTIFY WHICH FIRST
PatientEncounterObservationMedicationRequest
HL7 v2stays in parallel? undecided

Interoperability scope is unresolved

Which FHIR resources to certify first, and whether legacy HL7 v2 interfaces stay in parallel, determines both the timeline and the compliance exposure. Flagged before implementation begins.

IDENTITY MAPPING
OAuth2
vault
ACCESS / VERIFY
a security design decision, not config

Legacy identity has to be bridged

Modern identity standards do not map cleanly onto legacy access and verify codes. The credential bridge between them is a security design decision, not a configuration detail.

Frequently asked questions

Do we have to rewrite the legacy core?

How does this work when we have no documentation?

Can clinicians keep working during the migration?

What about HIPAA and interoperability requirements?

Where does the work actually start?