﻿---
title: clsStatPremiumClass
summary: API reference for clsStatPremiumClass.
status: draft
owner: Technical Writer
last_reviewed: 2026-07-31
library: SAIF.Business.Policy.Rating
reference_type: package
---
# clsStatPremiumClass
Represents an NCCI statistical premium class row. The class supports callers by turning stored codes into the enum, description, or related lookup values used in business logic.
## Purpose
- Represents an NCCI statistical premium class row.
- The class supports callers by turning stored codes into the enum, description, or related lookup values used in business logic.
## Context
- Namespace: `SAIF.Business.Policy.Rating`
- Assembly/package: `SAIF.Business.Policy.Rating`
## Public members
| Member | Signature | Purpose |
| --- | --- | --- |
| StatClassNumber | `Public Property StatClassNumber() As String` | Primary key NCCI statistical class number for the row loaded from `STAT_PREMIUM_CLASS`. |
| ERModSubjectFlag | `Public Property ERModSubjectFlag() As String` | Stores the raw `Y`/`N` indicator that the class participates in experience-rating modification. |
| SAIFOnlyFlag | `Public Property SAIFOnlyFlag() As String` | Stores the raw indicator that the statistical class is SAIF-only rather than reportable to NCCI. |
| PerCapitaFlag | `Public Property PerCapitaFlag() As String` | Stores the raw indicator that this class uses per-capita or aircraft-seat-surcharge handling. |
| ProrateExposureFlag | `Public Property ProrateExposureFlag() As String` | Stores the raw indicator that unit-stat exposure for this class must be prorated. |
| RetroEvalPremiumType | `Public Property RetroEvalPremiumType() As String` | Optional retro-rating premium type code associated with this statistical class. |
| RetroEvalPremiumProrateCode | `Public Property RetroEvalPremiumProrateCode() As String` | Optional code controlling how retro-evaluation premium is prorated for the class. |
| PrimaryStatutoryTransCode | `Public Property PrimaryStatutoryTransCode() As String` | Optional primary statutory transaction code reported for this statistical class. |
| SecondaryStatutoryTransCode | `Public Property SecondaryStatutoryTransCode() As String` | Optional secondary statutory transaction code reported with the primary statutory code. |
| IncludeStandardPremiumFlag | `Public Property IncludeStandardPremiumFlag() As String` | Stores the raw indicator for whether this class contributes to standard premium. |
| AssessmentFlag | `Public Property AssessmentFlag() As String` | Stores the raw indicator that this statistical class represents an assessment. |
| IsERModSubject | `Public ReadOnly Property IsERModSubject() As Boolean` | Normalizes `ERModSubjectFlag` to `True` when the row is marked `Y`. |
| IsSAIFOnly | `Public ReadOnly Property IsSAIFOnly() As Boolean` | Normalizes `SAIFOnlyFlag` to `True` when the class is marked as SAIF-only. |
| IsPerCapitaClass | `Public ReadOnly Property IsPerCapitaClass() As Boolean` | Normalizes `PerCapitaFlag` to `True` for per-capita or aircraft-seat-surcharge classes. |
| IsProrateExposure | `Public ReadOnly Property IsProrateExposure() As Boolean` | Normalizes `ProrateExposureFlag` to `True` when unit-stat exposure must be prorated. |
| IsIncludedInStandardPremium | `Public ReadOnly Property IsIncludedInStandardPremium() As Boolean` | Normalizes `IncludeStandardPremiumFlag` to indicate whether the class counts in standard premium. |
| IsAssessment | `Public ReadOnly Property IsAssessment() As Boolean` | Normalizes `AssessmentFlag` to indicate whether the class number is an assessment class. |
| IsValid | `Public Overrides ReadOnly Property IsValid() As Boolean` | Delegates validity to the base BOF rule set for the current statistical-class object. |
| IsDirty | `Public Overrides ReadOnly Property IsDirty() As Boolean` | Reports whether this statistical-class object or its BOF-managed state has changed since load or save. |
| SetRetroEvalPremiumTypeNull | `Public Sub SetRetroEvalPremiumTypeNull()` | Clears the optional retro-rating premium type code. |
| SetRetroEvalPremProrateCodeNull | `Public Sub SetRetroEvalPremProrateCodeNull()` | Clears the optional retro-evaluation premium prorate code. |
| SetPrimaryStatutoryTransCodeNull | `Public Sub SetPrimaryStatutoryTransCodeNull()` | Clears the optional primary statutory transaction code. |
| SetSecondaryStatutoryTransCodeNull | `Public Sub SetSecondaryStatutoryTransCodeNull()` | Clears the optional secondary statutory transaction code. |
| IsRetroEvalPremiumTypeNull | `Public Function IsRetroEvalPremiumTypeNull() As Boolean` | Indicates that no retro-rating premium type code is stored for the class. |
| IsRetroEvalPremProrateCodeNull | `Public Function IsRetroEvalPremProrateCodeNull() As Boolean` | Indicates that no retro-evaluation premium prorate code is stored for the class. |
| IsPrimaryStatutoryTransCodeNull | `Public Function IsPrimaryStatutoryTransCodeNull() As Boolean` | Indicates that no primary statutory transaction code is stored for the class. |
| IsSecondaryStatutoryTransCodeNull | `Public Function IsSecondaryStatutoryTransCodeNull() As Boolean` | Indicates that no secondary statutory transaction code is stored for the class. |
| Equals | `Public Overloads Shared Function Equals(ByVal objA As Object, ByVal objB As Object) As Boolean` | Compares two objects as statistical-premium-class records using the type-specific equality logic. |
| Equals | `Public Overloads Overrides Function Equals(ByVal inObject As Object) As Boolean` | Treats another object as equal when it is a `clsStatPremiumClass` with the same stat class number. |
| Equals | `Public Overloads Function Equals(ByVal inObject As clsStatPremiumClass) As Boolean` | Treats two statistical premium class instances as the same row when their stat class numbers match. |
| GetHashCode | `Public Overrides Function GetHashCode() As Integer` | Hashes `StatClassNumber`, the value this type uses as its identity key in keyed collections. |
| ToString | `Public Overrides Function ToString() As String` | Formats the instance as its statistical class number. |
| NewStatPremiumClass | `Public Shared Function NewStatPremiumClass(ByVal inDataportal As IDataPortalInfo, ByVal inStatClassNumber As String) As clsStatPremiumClass` | Creates a new managed statistical-premium-class object seeded with the supplied stat class number. |
| GetStatPremiumClass | `Public Shared Function GetStatPremiumClass(ByVal inDataportal As IDataPortalInfo, ByVal inStatClassNumber As String) As clsStatPremiumClass` | Retrieves the an NCCI statistical premium class row identified by the key values or effective-date criteria supplied by the caller. |
| StatClassNumber | `Public Property StatClassNumber() As String` | Carries the primary-key stat class number used by create, retrieve, update, and delete SQL. |
| New | `Public Sub New(ByVal inDataPortalInfo As IDataPortalInfo)` | Creates an empty BOF object shell that shared factory methods or retrieval logic can populate with a loaded row. |
| New | `Public Sub New(ByVal inDataPortalInfo As IDataPortalInfo, ByVal inStatClassNumber As String)` | Creates a criteria-backed instance seeded with `inStatClassNumber` so the next retrieval runs in the caller's requested context. |
## Inherited public members
| Member | Signature | Purpose | Origin |
| --- | --- | --- | --- |
| Rules | `Property Rules As clsRulesManager` | Owns the BOF rules manager used to evaluate registered validation logic.† | `SAIF.Framework.Core` — `clsBusinessBase` |
| BeginEdit | `Sub BeginEdit()` | Opens an n-level edit session for the business object.† | `SAIF.Framework.Core` — `clsBusinessBase` |
| CancelEdit | `Sub CancelEdit()` | Rolls back the active edit scope.† | `SAIF.Framework.Core` — `clsBusinessBase` |
| ApplyEdit | `Sub ApplyEdit()` | Commits the active edit scope.† | `SAIF.Framework.Core` — `clsBusinessBase` |
| Error | `ReadOnly Property Error As String` | Surfaces aggregate broken-rule text through `IDataErrorInfo`.† | `SAIF.Framework.Core` — `clsBusinessBase` |
## Behavioral notes
- Most callers retrieve the row through a shared factory and then use its derived enum or related-lookup helpers rather than working directly with raw codes.
## Constraints and usage notes
- Use the shared factory instead of constructing the type directly so the criteria object and BOF validation rules are populated consistently.
> **Note:** Statements marked with `†` are derived from dependency library
> documentation via the Legends CLI. They describe inherited behavior from the
> indicated origin library and should be verified if the dependency version changes.
## Sources
- `Business\SAIF.Business.Policy.Rating\clsStatPremiumClass.vb`
