Skip to content

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.

Operation SQL Tables Type
Retrieve a group association SQL-021 GROUP_ASSOCIATION Read
Retrieve all group associations SQL-022 GROUP_ASSOCIATION Read
Persist group associations (insert / update / delete) SQL-002, SQL-003, SQL-010, SQL-011, SQL-030, SQL-031, SQL-038, SQL-039 DUAL, GROUP_ASSOCIATION Write
Load a group's chapters SQL-018 GROUP_CHAPTER Read
Create and persist a chapter SQL-017 GROUP_CHAPTER Read
Retrieve a group contact SQL-020 GROUP_ASSOCIATION_CONTACT Read
Supply the group discount factor to rating SQL-004, SQL-012, SQL-023, SQL-024, SQL-032, SQL-040 DUAL, GROUP_ASSOCIATION_DETAIL Read / Write
Evaluate group underwriting eligibility inputs SQL-005, SQL-013, SQL-025, SQL-033, SQL-041 DUAL, GROUP_UNDERWRITING_CRITERIA Read / Write
Maintain a group's significant classes 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 DUAL, GROUP_ELIGIBILITY_CTL, GROUP_ELIGIBILITY_CLASS Read / Write
Link a policy period to a group SQL-006, SQL-014, SQL-026, SQL-034, SQL-042 DUAL, POLICY_PERIOD_GROUP_ASSOC Read / Write

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 NEXTVAL syntax, leaving create-path sequence generation unresolved.**

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.vb
  • Business\SAIF.Business.Policy.Group\clsChapterCollection.vb
  • Business\SAIF.Business.Policy.Group\clsClassSignificance.vb
  • Business\SAIF.Business.Policy.Group\clsContact.vb
  • Business\SAIF.Business.Policy.Group\clsGroupAssociation.vb
  • Business\SAIF.Business.Policy.Group\clsGroupAssociationCollection.vb
  • Business\SAIF.Business.Policy.Group\clsGroupAssociationDiscount.vb
  • Business\SAIF.Business.Policy.Group\clsGroupAssociationDiscountCollection.vb
  • Business\SAIF.Business.Policy.Group\clsGroupUnderwritingCriteria.vb
  • Business\SAIF.Business.Policy.Group\clsPolicyPeriodGroupAssociation.vb
  • Business\SAIF.Business.Policy.Group\clsSignificantClass.vb
  • Business\SAIF.Business.Policy.Group\clsSignificantClassCollection.vb