GET /groups/{groupId}/members: each employee’s coverage anddeduction.GET /groups/{groupId}/account: the plan, including the per-tier premium split (plan.tiers) and the employer’s chosen percentages (plan.employerContribution).
404 not_found until the group is enrolled.
One employee’s deduction
FromGET /groups/{groupId}/members, for an employee covering a spouse and a child under a plan where the employer covers 100% of employee-only premium and 90% of the added premium for dependents:
deduction.medical.employeeMonthlyCentsis the employee’s monthly medical share. It comes from the employer’s approved plan terms, the same amount the employee saw when enrolling.deduction.dentalVisionis set when the employee has active dental or vision coverage with an employee contribution.deduction.perPaycheck.employeeCentsis what to deduct from each paycheck: the monthly total (medical plus dental and vision) converted with the payroll calendar Prescience has on file: monthly × 12 ÷ 52 forweekly, × 12 ÷ 26 forbiweekly, and divided by the pay days in a month fordays_of_month.perPaycheckisnullwhen no payroll calendar is on file; use the monthly amounts with your own calendar instead.deduction.perPaycheck.employerCentsis the company’s medical contribution per paycheck (medical.employerMonthlyCents, converted and rounded the same way). Post it as the employer contribution for the pay period, for example ascompany_contribution_amounton the employee’s Check benefit. It is0for a waiver.deduction.perPaycheck.paychecksPerYearis the number of pay runs a year on that calendar (52, 26, or 12 × the pay days in a month).employeeCents × paychecksPerYear ÷ 12matches the monthly total to within rounding; see Rounding.deduction.preTaxistruewhen the employer runs a Section 125 premium-only plan, so the deduction is pre-tax.deduction.billingis what the employer is billed each month for this household, from Prescience’s verified rate schedule. It is there so both sides can reconcile; don’t deduct from it.deduction.rateMismatchistruewhen it differs frommedical.totalMonthlyCentsby more than $1. The deduction still applies, but tell Prescience. When there’s no billed rate,billingisnullandbillingReasonsays why (no_rate_schedule,billing_baseline_pendingorhousehold_not_billable). Both arenullfor members who aren’t enrolled.
Rounding
Each per-paycheck amount is rounded once, to whole cents:round(monthly ÷ paychecks per month), where paychecks per month is 52/12 for weekly, 26/12 for biweekly, or the pay days in a month for days_of_month. The same amount applies to every paycheck, so a year of paychecks can differ from 12 × the monthly amount by a few cents. For Tom above, 26 × 1,468.74 against 12 × 1,468.80, six cents short.
The monthly amounts (medical, dentalVision) are the source of truth. Pick one:
- Accept the drift. At most half a cent per paycheck, so under $0.27 a year on a weekly calendar. Prescience does not reconcile employee deductions against the monthly amount.
- True up on the last paycheck of the plan year. Deduct
12 × monthly − employeeCents × (paychecksPerYear − 1)on the final paycheck beforeplan.coverageEnd, and do the same foremployerCentsagainstmedical.employerMonthlyCents.
Coverage tiers
The plan prices three tiers.coverage.tier on /members and plan.tiers[].tier on /account use the same three values, set by how many dependents the employee covers:
A spouse, domestic partner and child each count as one dependent. Quotes and the census count four household shapes (
employeeOnly, employeeSpouse, employeeChildren, family); on the plan, “employee + spouse” and “employee + one child” are both employee_plus_one, and an employee with two or more children and no spouse is family. To find what an employee pays, match coverage.tier to the plan.tiers entry with the same tier, or read the employee’s own deduction directly.
When there’s nothing to deduct, or no amount yet
coverage.status and deduction.reason tell you why.
Never treat
null as zero.
The plan-level split
plan.tiers on GET /groups/{groupId}/account gives the monthly split, deductible and out-of-pocket maximum for every tier, which is what you show the employer. For the same synthetic plan:
plan.employerContribution holds the percentages the employer chose (employeePct, dependentPct) and the allowed range. policyMismatch is true when the approved per-tier amounts differ from what those percentages imply by more than $1; the approved amounts still apply, but tell Prescience.
HSA elections
Each employee chooses in Prescience how much of their pay goes into their HSA, pre-tax, for the rest of the tax year.GET /groups/{groupId}/members returns that choice as hsaElection. Add it to their payroll:
targetCentsis the total to withhold fromeffectiveDatethrough December 31 ofcontributionYear. Split it across the employee’s remaining paychecks on your calendar: you know the real pay dates, locked payrolls, missed checks and terminations.contributionLimitis Check’shsa_contribution_limit(singleorfamily) for the employee’shsabenefit.versionchanges whenever the employee saves a new election. Apply each version once; when it changes, recompute the split from the neweffectiveDate.hsaElectionisnullwhen the employee hasn’t made an election.targetCents: 0means they elected nothing. Don’t treat the two the same.- It is the saved election only. It doesn’t say what was withheld or deposited, and reading it doesn’t authorize Prescience to collect anything.
Check records the deduction and lowers take-home pay; it doesn’t deposit the money. Prescience deposits only what you report as withheld. How those results reach Prescience is agreed during onboarding.
Keeping deductions current
SyncGET /groups/{groupId}/members daily and before each payroll run. A deduction changes when an employee enrolls, waives, adds or removes a dependent, or when Prescience approves new plan terms (plan.termsRevision on /account increases). New hires and terminations still originate in your platform and reach Prescience through census sync.