SAIF.Business.Policy.Group operations and processes¶
This page is the operation catalog and cross-operation hub for SAIF.Business.Policy.Group. The library exposes ten documented operations spanning group retrieval, group persistence, chapter and contact lookup, discount-factor supply, underwriting-eligibility retrieval, significant-class maintenance, and policy-period group membership. Detailed step-by-step logic lives in the per-operation pages under operations/.
Operation catalog¶
| Operation | Intent | Trigger | Inputs | Outputs | Rules | Tables | SQL |
|---|---|---|---|---|---|---|---|
| Retrieve a group association | Retrieve one group master record by group code. | Caller needs a single group's master record | IDataPortalInfo, group code |
A populated clsGroupAssociation marked old. |
BR-001, BR-002, BR-003 | GROUP_ASSOCIATION | SQL-021 |
| Retrieve all group associations | Retrieve the full group catalog for in-memory filtering. | Caller needs the full group catalog for selection or filtering | — | A populated clsGroupAssociationCollection. |
BR-002, BR-003, BR-004 | GROUP_ASSOCIATION | SQL-022 |
| Persist group associations (insert / update / delete) | Insert, update, or delete group master rows through BOF lifecycle hooks. | Caller saves a group association or the collection | — | Rows persisted or generic/contention errors added to the object or collection. | BR-001, BR-009, BR-010, BR-011, BR-012, BR-021 | DUAL, GROUP_ASSOCIATION | SQL-002, SQL-003, SQL-010, SQL-011, SQL-030, SQL-031, SQL-038, SQL-039 |
| Load a group's chapters | Retrieve a groups chapters and seed a placeholder when none exist. | Caller reads clsGroupAssociation.Chapters or requests chapters directly |
— | A clsChapterCollection, or a placeholder chapter when no rows exist. |
BR-005, BR-006, BR-023 | GROUP_CHAPTER | SQL-018 |
| Create and persist a chapter | Create a chapter in memory or retrieve one chapter as of a date. | — | A seeded chapter object or a retrieved effective chapter row. | BR-006, BR-007, BR-008, BR-023 | GROUP_CHAPTER | SQL-017 | |
| Retrieve a group contact | Retrieve the contact for a group or chapter. | — | A populated clsContact. |
BR-023 | GROUP_ASSOCIATION_CONTACT | SQL-020 | |
| Supply the group discount factor to rating | Supply a time-effective group discount factor to rating consumers. | The rating engine requests the group adjustment factor for a policy | iAdjustedRateProvider |
Either the persisted group discount or NonApplicableAdjustedRateFactor. |
BR-013, BR-014, BR-015, BR-021 | DUAL, GROUP_ASSOCIATION_DETAIL | SQL-004, SQL-012, SQL-023, SQL-024, SQL-032, SQL-040 |
| Evaluate group underwriting eligibility inputs | Retrieve underwriting criteria and significant-class inputs for group eligibility evaluation. | Underwriting evaluates whether a policy qualifies for a group | — | Criteria flags, threshold values, and filtered significant classes. | BR-016, BR-017, BR-018, BR-019, BR-020, BR-021 | DUAL, GROUP_UNDERWRITING_CRITERIA | SQL-005, SQL-013, SQL-025, SQL-033, SQL-041 |
| Maintain a group's significant classes | Retrieve, classify, insert, update, and delete significant-class rows and their control records. | — | Updated significant-class rows plus control-row state and row-count errors when writes fail. | BR-009, BR-010, BR-011, BR-012, BR-018, BR-019, BR-020, BR-021 | DUAL, GROUP_ELIGIBILITY_CTL, GROUP_ELIGIBILITY_CLASS | SQL-001, SQL-007, SQL-008, SQL-009, SQL-015, SQL-016, SQL-019, SQL-027, SQL-028, SQL-029, SQL-035, SQL-036, SQL-037, SQL-043, SQL-044 | |
| Link a policy period to a group | Create, retrieve, update, or delete a policy-period group-membership row. | A policy period is enrolled in, changed within, or terminated from a group | — | A persisted or retrieved clsPolicyPeriodGroupAssociation. |
BR-009, BR-010, BR-011, BR-021, BR-022 | DUAL, POLICY_PERIOD_GROUP_ASSOC | SQL-006, SQL-014, SQL-026, SQL-034, SQL-042 |
Process flow diagram¶
The following diagram shows the primary library-level flow between retrieval, evaluation, and persistence operations.
flowchart TD
Start([Caller requests group data]) --> Retrieve[Retrieve group / chapter / contact]
Retrieve --> Filter[Apply in-memory filters or typed accessors]
Filter --> Discount[Supply discount factor]
Filter --> UW[Retrieve underwriting criteria
and significant classes]
Retrieve --> Persist[Persist group, significance,
or membership rows]
UW --> Persist
Persist --> End([Rows saved or BOF errors returned])
Inherited operations and processes¶
Operations in this section originate from framework base classes and are inherited or delegated rather than implemented directly in this library.
From clsBusinessBase (SAIF.Framework.Core)¶
| Operation | Intent | Provided by | Origin | Embedded in |
|---|---|---|---|---|
| Manage edit session | Open, commit, or roll back an in-memory BOF edit scope.† | clsBusinessBase |
SAIF.Framework.Core |
Persist group associations, Maintain a group's significant classes, Link a policy period to a group |
| Evaluate business object rules | Execute shared BOF rules before callers depend on object validity.† | clsBusinessBase |
SAIF.Framework.Core |
Persist group associations, Supply the group discount factor to rating, Evaluate group underwriting eligibility inputs |
| Execute data-portal request | Dispatch criteria SQL to Oracle and hydrate BOF objects.† | clsBusinessBase |
SAIF.Framework.Core |
Retrieve a group association, Load a group's chapters, Retrieve a group contact |
From clsBusinessCollectionBase (SAIF.Framework.Core)¶
| Operation | Intent | Provided by | Origin | Embedded in |
|---|---|---|---|---|
| Save managed business collection | Persist deleted items first, then active children, stopping at the first child failure.† | clsBusinessCollectionBase |
SAIF.Framework.Core |
Persist group associations, Maintain a group's significant classes |
| Traverse collection state | Maintain collection position and expose collection-level validation state.† | clsBusinessCollectionBase |
SAIF.Framework.Core |
Retrieve all group associations, Load a group's chapters, Maintain a group's significant classes |
Database interactions¶
The following table summarizes which operations touch the database. Per-step SQL and table citations live in the operation detail pages.
Failure and edge-case behavior¶
- Chapter creation can seed an in-memory chapter object, but compiled source contains no chapter persistence SQL, so persistence responsibility lies elsewhere or remains incomplete.
- Two collection reads (
SQL-022,SQL-024) scan their full table because no filter is applied. - Nine statements are truncated at a bare
Where, so the affected save/delete/retrieve paths are not executable as written. - The eight sequence reads use placeholder identifiers rather than real Oracle
NEXTVALsyntax, leaving create-path sequence generation unresolved.**
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. Statements marked with
†were retrieved from dependency library documentation via the Legends CLI RAG service.
Sources¶
Business\SAIF.Business.Policy.Group\clsChapter.vbBusiness\SAIF.Business.Policy.Group\clsChapterCollection.vbBusiness\SAIF.Business.Policy.Group\clsClassSignificance.vbBusiness\SAIF.Business.Policy.Group\clsContact.vbBusiness\SAIF.Business.Policy.Group\clsGroupAssociation.vbBusiness\SAIF.Business.Policy.Group\clsGroupAssociationCollection.vbBusiness\SAIF.Business.Policy.Group\clsGroupAssociationDiscount.vbBusiness\SAIF.Business.Policy.Group\clsGroupAssociationDiscountCollection.vbBusiness\SAIF.Business.Policy.Group\clsGroupUnderwritingCriteria.vbBusiness\SAIF.Business.Policy.Group\clsPolicyPeriodGroupAssociation.vbBusiness\SAIF.Business.Policy.Group\clsSignificantClass.vbBusiness\SAIF.Business.Policy.Group\clsSignificantClassCollection.vb