PE-backed Healthcare Provider replaces IT services vendor with Ideas2IT's AI-Native Software Delivery

A PE-backed pediatric private-duty nursing provider ran recruiting, intake and shift coverage on a Laravel platform it had built alongside its EHR. It had no in-house developers, and its incumbent vendor’s bill kept climbing while sprint throughput stayed flat. Ideas2IT took ownership of the live platform and upgraded it off Laravel 9. It then moved delivery onto a governed AI-native SDLC, run by a smaller team.

Client

Pediatric private-duty nursing provider

Industry

Healthcare

Private Equity

Service

App Modernization

App Development

Engagement

Vendor Takeover

Platform

Laravel / PHP on AWS

01 Challenge

The provider’s nurses work 8 to 12 hour shifts in the homes of medically complex children, so an unfilled shift is a gap in care. Recruiting, onboarding and coverage ran on a Laravel 9 platform that had grown up around the KanTime EHR. Over time it became the system the entire back office worked in. The codebase carried 3,000 to 6,000 line controllers and roughly 2,000 raw-SQL call sites. The incumbent vendor’s time-and-materials bill had risen more than 20% with no visible throughput gain. The provider had no engineers of its own to fall back on.

02 Solution

Ideas2IT took ownership through a 90-day live transition, and its engineers were committing code by the third week. Before changing anything, the team built a context model of the codebase. It then locked current behavior into characterization tests and climbed from Laravel 9 to 13 one version at a time. Feature delivery moved onto Anticlock. Every agent-written change passed a checker agent, blocking CI gates and a named human reviewer before it could merge.

03 Outcome

The provider took full ownership of its platform back from the incumbent without a delivery freeze, and the codebase now runs on a supported Laravel and PHP release. Feature work moved onto a governed AI-native SDLC. Every agent-written change passes the same gates as human-written code, and the downstream reporting feed stayed intact throughout.

Phase 01

From incumbent dependency to independent ownership in 90 days

Knowledge Transition and Mobilization: From Incumbent Dependency to Independent Ownership in 90 Days

The first decision was that the transition would not pause delivery. Back-office teams were filling nursing shifts every day, so Ideas2IT began with small, horizontal tickets as soon as access was in place. Scope widened at each 30-day checkpoint.

  • Explayn.ai parsed the Laravel codebase into a call graph and generated functional and technical documentation from it. Every statement in that documentation cites the files that support it.
  • Three gates had acceptance criteria defined up front:
    • Day 30: mobilization and access.
    • Day 60: shadow delivery of features, reviewed by both the incumbent and the provider.
    • Day 90: full ownership with no incumbent dependency.
  • The team baselined backlog ageing, throughput, incidents, release cadence, AWS spend and database health. This gave every later gain a measurable starting point.

This Phase Produced

  • Living functional and technical documentation
  • Codebase context graph exposed to agents over MCP
  • Workflow-to-module dependency map
  • Runbooks and RACI
  • Delivery and platform baselines

Phase 02

Making a brittle codebase safe to change

Stabilization and Laravel Upgrade: Making a Brittle Codebase Safe to Change

The framework did not change until current behavior was captured in tests. Large controllers and scattered raw SQL meant an unprotected upgrade could break scheduling and coverage workflows without anyone noticing until a shift went unfilled.

  • Qadence agents generated Pest and PHPUnit characterization tests for high-risk controllers. A Gherkin parity suite ran against both the old and upgraded systems, and any deviation blocked promotion.
  • The upgrade climbed from Laravel 9 through 12 with PHP held at 8.2. The move to PHP 8.3 was isolated as its own step before the final hop to Laravel 13. Rector and Laravel Shift handled the mechanical changes, and agents handled the code-specific judgment.
  • Blue/green deployment ran on EC2 through GitHub Actions. SonarQube was re-enabled. PHPStan/Larastan started at Level 1 and tightened over time as a blocking gate, and OWASP Dependency-Check and Dependabot ran on every PR.

This Phase Produced

  • Characterization and parity test harness
  • Supported Laravel and PHP runtime
  • Blue/green release pipeline
  • Blocking quality and security gates in CI

Phase 03

Turning AI-written code into measured delivery capacity

Modernization and AI-Native Delivery: Turning AI-Written Code Into Measured Delivery Capacity

With behavior protected, structural debt came out in reversible slices while feature delivery continued on Anticlock.

  • Oversized controllers were decomposed into services that extended the codebase’s existing repository and DTO patterns. Raw-SQL call sites were classified and moved into Eloquent and repository classes. Queries feeding the downstream read-replica were preserved as contract-tested query objects, so reporting never broke.
  • Anticlock turned product requirements into agent-ready work orders with scope, acceptance criteria and test plans. A maker-checker harness sent failing output back for up to three retries before escalating to an engineer. A model router matched each task to the least expensive model capable of doing it.
  • Session, cache and queue workloads moved to ElastiCache, alongside RDS query and index tuning. Productivity was tracked through DORA metrics and a code attribution ledger rather than lines generated.

This Phase Produced

  • Service-layer decomposition of large controllers
  • Repository-based data access
  • Contract-tested read-replica queries
  • Anticlock delivery workflow
  • ElastiCache layer
  • DORA and code durability reporting

The Outcome

From Incumbent Dependency to a Governed AI-Native SDLC on a Supported Platform

Category Metric Description
Ownership Full platform ownership Live 90-day transition with code committed from week three and no pause in feature delivery
Delivery model AI-native SDLC in production Feature work runs on Anticlock as agent-ready work orders, with maker-checker review and a named human approver on every merge
Framework Supported Laravel and PHP release Stepwise climb off Laravel 9, with each version protected by characterization and parity tests
Codebase health Structural debt removed in reversible slices Oversized controllers decomposed into services, and raw SQL moved into repository-based data access
Release safety Blocking quality and security gates Blue/green deploys, static analysis and dependency scanning on every pull request
Reporting continuity Downstream reporting unaffected Read-replica queries contract-tested, so the Azure warehouse and Power BI feed never broke
Platform knowledge Documentation the provider owns Explayn.ai documentation exportable as HTML or PDF, with no dependency on Ideas2IT tooling to keep using it
Measurement Productivity tracked on evidence DORA metrics, code durability and an AI code attribution ledger in place of lines-generated counts
Compliance HIPAA Enforced across CI gates, environments and AI tool usage
The Laravel upgrade held because behavior was fixed in tests before the framework moved. Contract tests on read-replica queries kept the reporting estate outside the blast radius of every refactor. On the delivery side, agents worked from a parsed model of the codebase rather than searching through it blind. Nothing they wrote reached the main branch without passing the gates applied to human code. That is what let the provider change vendors, frameworks and delivery model at the same time without its back office noticing the seams.