﻿---
title: clsClassCoverage
summary: API reference for clsClassCoverage.
status: draft
owner: Technical Writer
last_reviewed: 2026-07-31
library: SAIF.Business.Policy.Premium
reference_type: package
---

# clsClassCoverage

Concrete class coverage business object; persists exposure, payroll, and class-level premium data to the `PREM_HIST_CLASS_COVERAGE` Oracle table, using `CLASS_COVERAGE_SEQ.NEXTVAL` to generate sequence keys. Inherits `clsClassCoverageBase` and is the primary persisted form of class coverage within a premium set.*

## Purpose
- Persists a single class coverage line (payroll, exposure, premium) to `PREM_HIST_CLASS_COVERAGE` using the BOF data portal.*
- Serves as the concrete entity within `clsClassCoverageCollection` for class-level premium accumulation and retrieval.*

## Context
- Namespace: `SAIF.Business.Policy.Premium`
- Assembly/package: `SAIF.Business.Policy.Premium`

## Public members
| Member | Signature | Purpose |
| --- | --- | --- |
| ClassNumber | `Public ReadOnly Property ClassNumber() As String` | Builds the combined manual class number and usage code used to identify the class coverage line. |
| PremiumSetID | `Public Property PremiumSetID() As Decimal` | Calculates reported premium from reported payroll and the manual class rate. |
| PolicyPeriodEffectiveDate | `Public ReadOnly Property PolicyPeriodEffectiveDate() As Date` | The effective date of the policy period to which this rating plan applies. |
| IsWaivedPayroll | `Public ReadOnly Property IsWaivedPayroll() As Boolean` | Indicates whether waived payroll applies in this business object.* |
| EffectiveDate | `Public ReadOnly Property EffectiveDate() As Date` | The date from which this record is effective. |
| ExpirationDate | `Public ReadOnly Property ExpirationDate() As Date` | The date on which this record expires; null indicates no expiration.* |
| ManualClassRate | `Public ReadOnly Property ManualClassRate() As Decimal` | Numeric manual class rate value used by this type's rating, billing, or reporting logic.* |
| ReportedPayrollAmount | `Public ReadOnly Property ReportedPayrollAmount() As Decimal` | Numeric reported payroll amount value used by this type's rating, billing, or reporting logic.* |
| ReportedPremiumAmount | `Public ReadOnly Property ReportedPremiumAmount() As Decimal` | Numeric reported premium amount value used by this type's rating, billing, or reporting logic.* |
| AnnualPayroll | `Public ReadOnly Property AnnualPayroll() As Decimal` | Calculates reported premium from reported payroll and the manual class rate. |
| ParentLocationSequenceNumber | `Public ReadOnly Property ParentLocationSequenceNumber() As Decimal` | The sequence number of the parent location for hierarchical location structures.* |
| PeriodPremium | `Public ReadOnly Property PeriodPremium() As Decimal` | Calculates reported premium from reported payroll and the manual class rate. |
| PolicyNumber | `Public ReadOnly Property PolicyNumber() As Decimal` | The numeric policy number identifying the policy to which this record belongs. |
| BusinessSequenceNumber | `Public ReadOnly Property BusinessSequenceNumber() As Decimal` | The business sequence number linking this location to its insured business entity.* |
| UpdateDate | `Public ReadOnly Property UpdateDate() As Date` | The timestamp of the most recent update to this record.* |
| UpdateUser | `Public ReadOnly Property UpdateUser() As String` | The username of the account that last modified this record.* |
| AffiliateEffectiveDate | `Public ReadOnly Property AffiliateEffectiveDate() As Date` | Calculates reported premium from reported payroll and the manual class rate. |
| ActualPayrollAmount | `Public ReadOnly Property ActualPayrollAmount() As Decimal` | Calculates reported premium from reported payroll and the manual class rate. |
| ActualPremiumAmount | `Public ReadOnly Property ActualPremiumAmount() As Decimal` | Calculates reported premium from reported payroll and the manual class rate. |
| DisplaySortNumber | `Public ReadOnly Property DisplaySortNumber() As Decimal` | Calculates reported premium from reported payroll and the manual class rate. |
| RateAdjustments | `Public ReadOnly Property RateAdjustments() As clsClassCoverageRateAdjustmentCollection` | Calculates reported premium from reported payroll and the manual class rate. |
| DataPortalInfo | `Public ReadOnly Property DataPortalInfo() As IDataPortalInfo` | Calculates reported premium from reported payroll and the manual class rate. |
| IsValid | `Public Overrides ReadOnly Property IsValid() As Boolean` | Returns True when all registered business rules pass; delegates to the framework rule engine. |
| IsDirty | `Public Overrides ReadOnly Property IsDirty() As Boolean` | Returns True when one or more tracked properties have been modified since the last save or MarkOld() call. |
| GetFederalMinimumWage | `Public Function GetFederalMinimumWage() As Decimal` | Loads a cls class coverage that matches the supplied lookup criteria. |
| Save | `Public Overrides Function Save() As Boolean` | Persists this instance and all child objects to Oracle through the BOF data portal; returns True on success. |
| SaveChild | `Public Overrides Function SaveChild() As Boolean` | Persists this instance as a child entity within a parent save transaction. |
| SaveChildren | `Public Function SaveChildren() As Boolean` | Iterates each child collection and persists all dirty child items. |
| GetNextClassCoverageSeq | `Public Shared Function GetNextClassCoverageSeq(ByVal inDpi As IDataPortalInfo, Optional ByVal inPremiumSetDatabase As PremiumSetDatabases = PremiumSetDatabases.Enterprise) As Decimal` | Retrieves the next Oracle sequence value used when creating a new cls class coverage row. |
| IsEffectoveDateNull | `Public Function IsEffectoveDateNull() As Boolean` | Tests whether `EffectoveDate` is null/unset in the backing Oracle column; returns True when the value has not been populated.* |
| IsExpirationDateNull | `Public Function IsExpirationDateNull() As Boolean` | Tests whether `ExpirationDate` is null/unset in the backing Oracle column; returns True when the value has not been populated.* |
| IsManualClassRateNull | `Public Function IsManualClassRateNull() As Boolean` | Tests whether `ManualClassRate` is null/unset in the backing Oracle column; returns True when the value has not been populated.* |
| IsAnnualPayrollNull | `Public Function IsAnnualPayrollNull() As Boolean` | Tests whether `AnnualPayroll` is null/unset in the backing Oracle column; returns True when the value has not been populated.* |
| IsParentLocationSequenceNumberNull | `Public Function IsParentLocationSequenceNumberNull() As Boolean` | Tests whether `ParentLocationSequenceNumber` is null/unset in the backing Oracle column; returns True when the value has not been populated.* |
| IsPeriodPayrollAmountNull | `Public Function IsPeriodPayrollAmountNull() As Boolean` | Tests whether `PeriodPayrollAmount` is null/unset in the backing Oracle column; returns True when the value has not been populated.* |
| IsPeriodPremiumNull | `Public Function IsPeriodPremiumNull() As Boolean` | Tests whether `PeriodPremium` is null/unset in the backing Oracle column; returns True when the value has not been populated.* |
| IsPolicyNumberNull | `Public Function IsPolicyNumberNull() As Boolean` | Tests whether `PolicyNumber` is null/unset in the backing Oracle column; returns True when the value has not been populated.* |
| IsBusinessSequenceNumberNull | `Public Function IsBusinessSequenceNumberNull() As Boolean` | Tests whether `BusinessSequenceNumber` is null/unset in the backing Oracle column; returns True when the value has not been populated.* |
| IsUpdateDateNull | `Public Function IsUpdateDateNull() As Boolean` | Tests whether `UpdateDate` is null/unset in the backing Oracle column; returns True when the value has not been populated.* |
| IsUpdateUserNull | `Public Function IsUpdateUserNull() As Boolean` | Tests whether `UpdateUser` is null/unset in the backing Oracle column; returns True when the value has not been populated.* |
| IsAffiliateEffectiveDateNull | `Public Function IsAffiliateEffectiveDateNull() As Boolean` | Tests whether `AffiliateEffectiveDate` is null/unset in the backing Oracle column; returns True when the value has not been populated.* |
| IsActualPayrollAmountNull | `Public Function IsActualPayrollAmountNull() As Boolean` | Tests whether `ActualPayrollAmount` is null/unset in the backing Oracle column; returns True when the value has not been populated.* |
| IsActualPremiumAmountNull | `Public Function IsActualPremiumAmountNull() As Boolean` | Tests whether `ActualPremiumAmount` is null/unset in the backing Oracle column; returns True when the value has not been populated.* |
| IsDisplaySortNumberNull | `Public Function IsDisplaySortNumberNull() As Boolean` | Tests whether `DisplaySortNumber` is null/unset in the backing Oracle column; returns True when the value has not been populated.* |
| Equals | `Public Overloads Shared Function Equals(ByVal objA As Object, ByVal objB As Object) As Boolean` | Static overload: compares two Object references for equality using value-equality semantics.* |
| Equals | `Public Overloads Overrides Function Equals(ByVal inObject As Object) As Boolean` | Compares this instance with another `Object` instance for value equality.* |
| Equals | `Public Overloads Function Equals(ByVal inObject As clsClassCoverage) As Boolean` | Compares this instance with another `clsClassCoverage` instance for value equality.* |
| Equals | `Public Overloads Function Equals(ByVal inClassCoverageID As Decimal) As Boolean` | Compares this instance with another instance of the same type for value equality.* |
| GetHashCode | `Public Overrides Function GetHashCode() As Integer` | Returns a hash code consistent with the value-equality implementation. |
| ToString | `Public Overrides Function ToString() As String` | Returns a string representation of this instance, typically for diagnostics.* |
| GetClassCoverage | `Public Shared Function GetClassCoverage(ByVal inDataportal As IDataPortalInfo, ByVal inClassCoverageSequenceNumber As Decimal, ByVal inPremiumSetID As Decimal, ByRef inPeriodRatingInfo As iPeriodRatingInfo, Optional ByVal inPremiumSetDatabase As PremiumSetDatabases = PremiumSetDatabases.Enterprise) As clsClassCoverage` | Loads a cls class coverage that matches the supplied lookup criteria. |
| IsDuplicate | `Public Overrides Function IsDuplicate(ByVal inObject As Object) As Boolean` | Executes the is duplicate behavior defined by this type. |
## Behavioral notes
- Source file: `Business\SAIF.Business.Policy.Premium\clsClassCoverage.vb`.

## Constraints and usage notes
- Sequence key (`CLASS_COVERAGE_SEQ.NEXTVAL`) is assigned by Oracle on first save; business rules [BR-001](../../../../../business-rules.md#br-001-manual-class-number-is-required), [BR-002](../../../../../business-rules.md#br-002-manual-class-number-must-resolve), [BR-003](../../../../../business-rules.md#br-003-manual-class-usage-code-is-required), [BR-004](../../../../../business-rules.md#br-004-class-and-usage-must-match-rating-period), [BR-005](../../../../../business-rules.md#br-005-employee-and-rate-type-codes-are-required), [BR-006](../../../../../business-rules.md#br-006-fela-classes-are-blocked-on-assigned-risk-periods), [BR-007](../../../../../business-rules.md#br-007-manual-class-type-must-match-the-base-class) (defined on `clsClassCoverageBase`) govern valid exposure and premium combinations.*


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