What you’ll use
Models - benefit coverage, benefit, dependentBefore you start
- The connector has synced, and the customer’s benefits module is in scope.
- The integration returns benefit coverage - see Model availability.
Steps
1
Read coverage with its enrollment expanded
benefit returns the enrollment inline, which saves a second pass over the benefits endpoint. To narrow to one enrollment, filter on benefit_id.The endpoint takes no date filters, so scope to what is in force from the expanded enrollment: drop rows whose end_date has passed, and rows whose effective_date is still ahead.Result: Coverage amounts with the plan each one belongs to.2
Work out who each amount covers
amount is the resolved coverage figure, and the members on the record define what it applies to. is_employee_covered says whether the employee is included, and covered_dependents lists the dependent IDs the amount extends to.One enrollment can produce several coverage rows. A plan insuring each member for a separate figure returns a row per member, while a plan with a single composite figure returns one row carrying the employee and every covered dependent together.Result: Each amount attached to the people it insures.
3
Turn the gap into a recommendation
covered_dependents holds IDs. Read dependents for the ages and relationships behind them, then compare that against every dependent the employee has on record.A household insured for less than it needs is the gap, and a family of four sitting on an employee-only row is the clearest version of it. What closes it is a supplemental option already in the employer’s menu, such as critical illness, hospital indemnity or accident cover.coverage_tier on the expanded enrollment is an enum, and a source system can return a value outside the documented set - see Enum values.Result: Employees whose existing cover leaves a measurable gap.Coverage changes at open enrollment, on qualifying life events, and whenever a dependent is added. Re-read with
modified_after instead of refetching the population - see modified_after.Frequently Asked Questions
benefit-coverages returns an empty collection
benefit-coverages returns an empty collection
Check Model availability for this integration, then confirm the model is in scope for the connector.
A coverage row has no matching enrollment
A coverage row has no matching enrollment
Join on
benefit, not on the employee. Going via the employee produces cross-products where someone holds several plans.Amounts look implausible
Amounts look implausible
Check
currency before comparing, since a population spread across countries returns several. Then check you are reading coverage rather than contribution: employee_contribution and company_contribution sit on the enrollment, amount sits on the coverage.A row shows nobody covered
A row shows nobody covered
is_employee_covered is false and covered_dependents is empty, so no member is attached to the amount. Report it with the connector ID and the coverage id.Related
- Read benefit enrollments - the plans and enrollments coverage hangs off
- Benefits - the four benefit models and how they link
- Benefit Coverage endpoints - the API reference