Case study · 2024 · Insurance

Claims Platform Migration for an Insurance Administrator

A third-party claims administrator was running its core system on a .NET Framework application in a server room the business had outgrown — and the person who understood the nightly batch was retiring. We migrated the platform to Azure and .NET 8 in phases, with a dual-run reconciliation harness proving every step, and rebuilt backup and recovery from a nightly tape ritual into a 15-minute recovery point.

The challenge

Fourteen years of claims history — 2.3 TB across a sprawling SQL schema — powered daily operations and regulatory reporting. A migration that lost or subtly altered a record wasn't a bug; it was a compliance event.

The nightly batch had grown to nearly six hours and was creeping toward the start of the business day, while the disaster-recovery answer was a 24-hour-old backup and a hopeful runbook.

What we built

01

Strangler phases, not a big bang

The system moved in slices — reporting first, then document handling, then core claims — each phase running dual with the legacy system until reconciliation proved it, so rollback was always one traffic switch away.

02

Reconciliation as a harness

An automated diffing harness compared record counts, financial totals, and sampled row-level detail between old and new after every sync cycle — discrepancies blocked cutover automatically rather than by meeting.

03

Modernized where it paid

Code moved to .NET 8 with the batch re-engineered for set-based operations and parallel stages — the six-hour nightly close now finishes in 68 minutes, with headroom measured, not guessed.

04

Recovery rebuilt as policy

Azure SQL point-in-time restore, geo-redundant backups, and a tested failover runbook took the recovery point from 24 hours to 15 minutes — and the restore drill is now a quarterly habit, not a hope.

The results

2.3 TB
Records migrated cleanly

14 years of claims history, zero reconciliation breaks

−81%
Nightly batch duration

355 min → 68 min after re-engineering

15 min
Recovery point objective

down from a 24-hour backup cycle

Nightly claims batch durationMinutes, by migration phase

Median of nightly runs in the final month of each phase.

View the data as a table
Nightly claims batch duration
 Batch duration
Legacy355 min
After lift210 min
Replatformed120 min
Optimized68 min
  • All 14 years of records migrated with zero unresolved reconciliation breaks across every phase gate.
  • The nightly batch dropped from 355 minutes to 68, ending the slow-motion collision with the business morning.
  • The server room was decommissioned on schedule, and the administrator's clients passed their vendor-continuity reviews on the new platform's recovery evidence.

Client identities stay confidential; figures are rounded from end-of-engagement delivery reporting.

Stack & expertise

  • .NET 8
  • C#
  • Azure App Service
  • Azure SQL
  • Azure DevOps
  • Docker

Ready when you are

Build the software solution your roadmap needs.

Schedule a Call