Case Study 2: MedClaim Containerized Claim Processing

The Business Need

MedClaim acquired a dental insurance company and needed to stand up a dental claims processing system within 90 days. The dental business had its own IT infrastructure and regulatory requirements that demanded separate processing — but the adjudication rules for dental claims were 80% identical to medical claims.

The Options

James Okafor's team evaluated three approaches:

Approach Timeline Risk Cost
Build new system from scratch 12 months Medium $2.4M
License commercial dental platform 6 months Low $1.8M/year
Containerize existing COBOL adjudication 3 months Medium-Low $400K

The containerization approach won because it reused proven business logic while meeting the separate-infrastructure requirement.

The Technical Solution

Step 1: Extract Core Logic

The ADJCORE subprogram (2,800 lines of COBOL) was identified as the reusable core. It accepted a claim record through its LINKAGE SECTION, applied adjudication rules, and returned the result. No file I/O, no CICS, no VSAM — pure business logic.

Step 2: Create a Dental Wrapper

DENTALWRAP.cbl was a 340-line program that: - Listened on a TCP port (using GnuCOBOL system calls) - Received JSON claim data - Parsed JSON into ADJCORE's input format - Called ADJCORE - Generated JSON response - Sent response back

Step 3: Containerize

The Docker container included GnuCOBOL runtime, the compiled COBOL binaries, and configuration files for dental-specific parameters (fee schedules, coverage matrices).

Step 4: Deploy to Kubernetes

Three pods running behind a load balancer, auto-scaling from 2 to 10 pods based on claim volume.

Results

  • Time to production: 11 weeks (under the 90-day deadline)
  • Adjudication accuracy: 100% match with mainframe for shared rules
  • Performance: 4ms per claim (vs. 2ms on mainframe) — negligible difference
  • Scaling: Handled peak of 5,000 claims/hour during open enrollment
  • Rule consistency: Both mainframe and container used identical ADJCORE source

Key Insight

The most important outcome was not technical — it was organizational. When a regulatory change required updating the deductible calculation, the change was made once in ADJCORE and deployed to both the mainframe medical system and the containerized dental system. Previously, such changes required coordination between two separate teams.

Discussion Questions

  1. What risks does containerized COBOL introduce that do not exist on the mainframe?
  2. How would you test that the containerized service produces identical results to the mainframe version?
  3. The dental wrapper uses GnuCOBOL, but ADJCORE was originally written for Enterprise COBOL. What compatibility issues might arise?
  4. Should MedClaim consider migrating the medical claims system to containers as well? What factors would influence this decision?