Two files, then the case builds itself
The two demographic ratios come off the member data and the ICR comes off the claims MIS, so the engine needs both — one file is not enough. Excel, CSV or TSV; the first sheet is read.
The census as the incumbent broker kept it. Headers and relationship labels can be in any shape.
Claim-level rows. Excel matters here because the totals have to be re-addable independently.
Where the premium actually lives. Drop it here and the inception premium is read off it with the line it came from, instead of being retyped.
There is a synthetic pair built to exercise the engine: 40 employees, 18 parents, messy relationship labels across seven spellings, a few missing dates of birth and a mix of day-first and month-first date formats. It trips the parental-selection flag and lands ICR just over 100%.
What this does not do yet
- Emit the insurer-ready member file — blocked on the member data template that goes out as “format attached”
- Draft the gap list to the prospect, or the RFQ body
- Completeness checks — blocked on the required-field enumeration