---
title: Maintain a group's significant classes
summary: Retrieve, classify, insert, update, and delete significant-class rows and their control records.
status: draft
owner: Technical Writer
last_reviewed: 2026-07-31
library: SAIF.Business.Policy.Group
reference_type: package
operation_id: OP-009
trigger: —
---

# Maintain a group's significant classes

Manages the pair of effective-dated eligibility tables that decide which manual classes participate in group underwriting eligibility.

| Field | Value |
| --- | --- |
| **Operation ID** | OP-009 |
| **Trigger** |  |
| **Inputs** | — |
| **Outputs** | Updated significant-class rows plus control-row state and row-count errors when writes fail. |
| **Primary components** | `clsSignificantClassCollection`, `clsSignificantClass`, `clsClassSignificance` |
| **Entry point** | `Business\SAIF.Business.Policy.Group\clsSignificantClassCollection.vb` |

## Steps

1. `GetSignificantClasses(dpi, groupAssociationCode)` retrieves all rows from `GROUP_ELIGIBILITY_CLASS` for the group.
2. Each `clsSignificantClass` exposes its owning `ClassSignificance` (`GROUP_ELIGIBILITY_CTL` row), which carries the group-level effective/expiration dates and the include/exclude flag.
3. `IsIncludedClass` / `IsExcludedClass` compare `ClassSignificance.Significance` to `Significances.Included` / `Significances.Excluded`; `Significance` is derived from `IncludeExcludeFlag = "I"`. ([BR-019](../business-rules.md#br-019-includeexclude-flag-drives-significance), [BR-020](../business-rules.md#br-020-significant-class-filters-follow-significance))
4. `Remove(significantClass)` / `Remove(manualClassNumber)` mark items deleted; `Where(predicate)` returns a filtered `clsSignificantClassCollection`.
5. Save writes through the collection criteria to `GROUP_ELIGIBILITY_CLASS` (insert/update/delete), while `clsClassSignificance` writes the control row to `GROUP_ELIGIBILITY_CTL`.
6. `clsClassSignificance` binds `:UpdateDate`, `:UpdateUser` (30) and `:ExpirationDate` plus the key values on both update and delete. ([BR-021](../business-rules.md#br-021-writes-stamp-update-date-and-user))
7. Database statements executed or relied on by this operation: [SQL-001](../sql/SQL-001-saif-business-policy-group.md), [SQL-007](../sql/SQL-007-saif-business-policy-group.md), [SQL-008](../sql/SQL-008-saif-business-policy-group.md), [SQL-009](../sql/SQL-009-saif-business-policy-group.md), [SQL-015](../sql/SQL-015-saif-business-policy-group.md), [SQL-016](../sql/SQL-016-saif-business-policy-group.md), [SQL-019](../sql/SQL-019-saif-business-policy-group.md), [SQL-027](../sql/SQL-027-saif-business-policy-group.md), [SQL-028](../sql/SQL-028-saif-business-policy-group.md), [SQL-029](../sql/SQL-029-saif-business-policy-group.md), [SQL-035](../sql/SQL-035-saif-business-policy-group.md), [SQL-036](../sql/SQL-036-saif-business-policy-group.md), [SQL-037](../sql/SQL-037-saif-business-policy-group.md), [SQL-043](../sql/SQL-043-saif-business-policy-group.md), [SQL-044](../sql/SQL-044-saif-business-policy-group.md); affected tables: [DUAL](../database-tables.md#dual), [GROUP_ELIGIBILITY_CTL](../database-tables.md#group_eligibility_ctl), [GROUP_ELIGIBILITY_CLASS](../database-tables.md#group_eligibility_class).
   - The singular retrieve/update/delete statements [SQL-027](../sql/SQL-027-saif-business-policy-group.md), [SQL-035](../sql/SQL-035-saif-business-policy-group.md), and [SQL-043](../sql/SQL-043-saif-business-policy-group.md) are truncated at a bare `Where`.
8. Inherited BOF save behavior validates the object or collection, executes the configured criteria SQL, and surfaces row-count failures back on the business object before the caller continues.†

## Process flow

The following diagram visualizes this operation's control flow.

```mermaid
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

- Significant-class maintenance spans both [GROUP_ELIGIBILITY_CTL](../database-tables.md#group_eligibility_ctl) and [GROUP_ELIGIBILITY_CLASS](../database-tables.md#group_eligibility_class), so callers must keep control-row and class-row periods aligned.

## Related documentation
- [Operations and processes](../operations-processes.md)
- [Business rules](../business-rules.md)
- [SQL catalog](../sql/index.md)
- [Database tables](../database-tables.md)

> **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\clsSignificantClassCollection.vb`
