SAIF.Business.Policy.Premium operations and processes¶
This page is the operation catalog and cross-operation hub for SAIF.Business.Policy.Premium.
Operation catalog¶
| Operation | Intent | Trigger | Inputs | Outputs | Rules | Tables | SQL |
|---|---|---|---|---|---|---|---|
| Retrieve the most recent premium set for a policy period | Retrieve most recent premium set | Caller needs the current premium picture for a policy period | Policy number, policy period effective date, database selection (PremiumSetDatabases)* | A populated clsPremiumSet, or a "new"/empty instance when no row exists* | — | PREM_HIST_SUMMARY | SQL-071 |
| Retrieve class coverages for a premium set | Retrieve class coverages | Premium detail display, recalculation, or reporting | Premium set identifier; optionally an affiliate identifier | clsClassCoverageCollection populated with clsClassCoverage items | BR-001, BR-002, BR-003, BR-004, BR-005, BR-006, BR-007 | PREM_HIST_CLASS_COVERAGE | SQL-041 |
| Save (insert/update) a class coverage line | Persist a class coverage | Premium recalculation or manual premium maintenance saves a premium set | The dirty clsClassCoverage instance | Persisted row; sequence-assigned key on insert | BR-001, BR-002, BR-003, BR-004, BR-005, BR-006, BR-007, BR-025 | PREM_HIST_CLASS_COVERAGE | SQL-122, SQL-017 |
| Compute premium summary adjustment sub-totals | Premium summary adjustment sub-totalling | Premium display / document generation needs grouped premium sub-totals | A collection of iPremiumSummaryAdjustment lines | PremiumSummaryAdjustmentSubTotalList of SubTotalPremiumSummaryAdjustment entries | BR-013, BR-014, BR-015 | — | — |
| Answer a named premium amount query | Premium amount query | Any consumer needs a named premium figure (standard, discounted, estimated, NEAP, …) | An IPremiumAmountProvider (e.g. clsPremiumSet) and a PremiumAmountTypes value (26 members) | A decimal premium amount | BR-016, BR-017 | — | — |
| Build a premium summary adjustment's policy-document description | Policy document adjustment description | Policy document generation renders the premium adjustment lines | The adjustment's type code, factor, base amount, DCBS split count, ELCB status | Display string | BR-018, BR-019, BR-020 | BILLING_MASTER, BILLING_DEFAULTS, PAYMENT_PLAN_TYPE_CODE | SQL-118, SQL-116 |
| Retrieve SAIF Plus information | Get SAIF Plus info | A SAIFPLUS premium summary adjustment needs its descriptive/rate data | in_policy_num, in_policy_period_eff_date | out_pp_eff_date, out_saifplus_eff_date, out_saifplus_desc (100), out_saifplus_rate, out_saifplus_max, out_saifplus_combo_max | — | — | SQL-118 |
| Determine ELCB status | Determine employers-liability coverage bonus status | Description building and adjusted-rate handling need to know whether ELCB applies | Policy number, policy period effective date | ELCB status code; sets m_HasELCB | BR-021 | POLICY_PERIOD_EMP_LIAB | SQL-117 |
| Determine the NCCI statistical class number | Determine NCCI stat class | Statistical reporting requires the NCCI stat class for an adjustment | Seven input parameters | out_stat_class (4 chars, ParameterDirection.ReturnValue) | BR-022 | — | SQL-119 |
| Recalculate modified premium on a specified rate tier | Recalculate modified premium on a specified tier | Renewal/what-if premium recalculation on a chosen rate tier | Policy identity plus a rate tier (default "E") | Scalar manual premium (out_manual_premium, ParameterDirection.ReturnValue) | — | — | SQL-120 |
| Retrieve DCBS splits | Get DCBS splits | DCBS assessment processing needs the split values for a premium set | Premium set / policy identity | Scalar split value(s) | — | PREM_HIST_PREM_ADJUSTMENT | SQL-124 |
| Merge renewal and period rating plans | Get applicable rating plans | Rating needs the effective plan list for a policy | Renewal rating plan and policy period rating plans | Ordered sequence of iPolicyPeriodRatingPlan | BR-023 | POLICY_RENEWAL_RATING_PLAN, POLICY_PERIOD_RATING_PLAN | — |
| Retrieve reported payroll for premium history | Get reported payroll | Class coverage needs reported payroll from premium history summary | Policy/period identifiers | Reported payroll amount | BR-026 | PREM_HIST_CLASS_COVERAGE | SQL-040 |
Process flow diagram¶
The following diagram visualizes the main premium workflow.
flowchart TD
Start([Caller needs premium data]) --> Set[Retrieve premium set]
Set --> Coverage[Retrieve class coverages]
Coverage --> Save{Persist changes?}
Save -->|Yes| Persist[Save class coverage]
Save -->|No| Totals[Compute subtotals]
Persist --> Totals
Totals --> Amount[Answer premium amount query]
Amount --> Helpers[Description and helper lookups]
Helpers --> Done([Return results])
Database interactions¶
| Operation | SQL | Tables | Type |
|---|---|---|---|
| Retrieve the most recent premium set for a policy period | SQL-071 | PREM_HIST_SUMMARY | Read / helper |
| Retrieve class coverages for a premium set | SQL-041 | PREM_HIST_CLASS_COVERAGE | Read / helper |
| Save (insert/update) a class coverage line | SQL-122, SQL-017 | PREM_HIST_CLASS_COVERAGE | Write |
| Build a premium summary adjustment's policy-document description | SQL-118, SQL-116 | BILLING_MASTER, BILLING_DEFAULTS, PAYMENT_PLAN_TYPE_CODE | Read / helper |
| Retrieve SAIF Plus information | SQL-118 | — | Read / helper |
| Determine ELCB status | SQL-117 | POLICY_PERIOD_EMP_LIAB | Read / helper |
| Determine the NCCI statistical class number | SQL-119 | — | Read / helper |
| Recalculate modified premium on a specified rate tier | SQL-120 | — | Read / helper |
| Retrieve DCBS splits | SQL-124 | PREM_HIST_PREM_ADJUSTMENT | Read / helper |
| Merge renewal and period rating plans | — | POLICY_RENEWAL_RATING_PLAN, POLICY_PERIOD_RATING_PLAN | Read / helper |
| Retrieve reported payroll for premium history | SQL-040 | PREM_HIST_CLASS_COVERAGE | Read / helper |
Failure and edge-case behavior¶
- Class-coverage persistence treats any
RowsAffected <> 1outcome as a BOF contention error through BR-025. - Subtotal generation refuses mixed rating-rule masters through BR-013.
- Premium-amount queries return zero when no subtotal matches, and NEAP uses base amounts through BR-016.
Stored procedure operations¶
| Operation | Description | Source | Link |
|---|---|---|---|
| Recalculate manual premium on a specified rate tier | Given a premium history set's total MAN-type premium adjustment, recompute what that manual premium would be under a different rate tier, using the ratio of the two tiers' rate factors. | pk72195_renewal.calc_manual_on_specified_tier |
Details |
| Get reported payroll | Sum the reported (flagged) payroll for a class coverage line across its adjusted-rate-class detail rows. | pk73059_prem_hist_summary.get_reported_payroll |
Details |
| Get SAIF Plus information | Retrieve the SAIF Plus discount's descriptive text, rate, and maximum/combination-maximum values for a policy period. | sp72652_get_saifplus (→ pk73300_saifplus.get_saifplus) |
Details |
| Determine NCCI statistical class | Resolve the NCCI statistical reporting class code for a premium adjustment, using one of three lookup strategies keyed by the adjustment type code (CRP/MRP/SARAP/MARIT/FELA vs. INC vs. general). | sp72151_determine_ncci_stat |
Details |
Related documentation¶
Note: Statements marked with * were inferred from code structure, naming conventions, or contextual evidence where direct confirmation was not available in source artifacts. Statements marked with ** could not be confirmed; treat as unknown until verified.
Sources¶
Business\SAIF.Business.Policy.Premium\clsPremiumSet.vbBusiness\SAIF.Business.Policy.Premium\clsClassCoverage.vbBusiness\SAIF.Business.Policy.Premium\clsPremiumSummaryAdjustment.vbBusiness\SAIF.Business.Policy.Premium\SubTotalPremiumSummaryAdjustment.vbBusiness\SAIF.Business.Policy.Premium\iPremiumAmountProvider.vbBusiness\SAIF.Business.Policy.Premium\iPolicyRatingPlan.vb