Supply the group discount factor to rating¶
Retrieves a group discount row and exposes it through the iAdjustedRateFactor contract used by rating callers.
| Field | Value |
|---|---|
| Operation ID | OP-007 |
| Trigger | The rating engine requests the group adjustment factor for a policy |
| Inputs | iAdjustedRateProvider |
| Outputs | Either the persisted group discount or NonApplicableAdjustedRateFactor. |
| Primary components | clsGroupAssociationDiscount.GetGroupAssociationDiscount, Factor |
| Entry point | Business\SAIF.Business.Policy.Group\clsGroupAssociationDiscount.vb |
Steps¶
GetGroupAssociationDiscount(dpi, groupAssociationCode, effectiveDate)retrieves the discount row for the group as of the effective date fromGROUP_ASSOCIATION_DETAIL.- On
Factorget, evaluateIsValid(framework rule state, including BR-013). - Branch — if valid, return
GroupDiscount; otherwise returnNonApplicableAdjustedRateFactor. (BR-014) - On
Factorset, assignGroupDiscount. IsTentativeexposesTentativeFlag.ToBoolean(persisted asPENDING_FLAG) so callers can distinguish a proposed discount from an approved one. (BR-015)- Database statements executed or relied on by this operation: SQL-004, SQL-012, SQL-023, SQL-024, SQL-032, SQL-040; affected tables: DUAL, GROUP_ASSOCIATION_DETAIL.
Process flow¶
The following diagram visualizes this operation's control flow.
flowchart TD
Start([Trigger]) --> Step1[Build criteria / load state]
Step1 --> Step2[Apply local business logic]
Step2 --> Decision{Valid and complete?}
Decision -->|Yes| Step3[Return data or persist rows]
Decision -->|No| EndErr([Return BOF validation or SQL-state issues])
Step3 --> EndOk([Operation completes])
Failure and edge-case behavior¶
- The collection retrieve SQL-024 is unfiltered and can scan all rows when callers use the collection path.
Related documentation¶
Sources¶
Business\SAIF.Business.Policy.Group\clsGroupAssociationDiscount.vb