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

# clsPremiumSummaryAdjustment

Implements `iPremiumSummaryAdjustment`; persists individual premium summary adjustment line items to the `PREM_HIST_PREM_SUMMARY` Oracle table. This type is insert-only: `UpdateSQL` throws an exception if called ([BR-024](../../../../../business-rules.md#br-024-premium-summary-adjustments-do-not-support-updates)). Supports policy document generation methods (OP-006).*

## Purpose
- Persists a single premium summary adjustment line item to `PREM_HIST_PREM_SUMMARY`; insert-only (no updates per [BR-024](../../../../../business-rules.md#br-024-premium-summary-adjustments-do-not-support-updates)).*
- Implements `iPremiumSummaryAdjustment` to supply individual adjustment lines to premium document and history reporting workflows (OP-006).*

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

## Public members
| Member | Signature | Purpose |
| --- | --- | --- |
| PolicyNumber | `Public ReadOnly Property PolicyNumber() As Decimal` | The numeric policy number identifying the policy to which this record belongs. |
| PolicyPeriodEffectiveDate | `Public ReadOnly Property PolicyPeriodEffectiveDate() As Date` | The effective date of the policy period to which this rating plan applies. |
| PremiumSetID | `Public Property PremiumSetID() As Decimal` | Primary key used to load, compare, and join this premium set with child coverage, adjustment, and billing records. |
| PriorityNumber | `Public ReadOnly Property PriorityNumber() As Decimal` | Business value exposed as priority number for callers of this API.* |
| PremiumAdjustmentTypeCode | `Public ReadOnly Property PremiumAdjustmentTypeCode() As String Implements iPremiumSummaryAdjustment.AdjustmentTypeCode` | Numeric premium adjustment type code value used by this type's rating, billing, or reporting logic.* |
| RatingRuleMasterID | `Public ReadOnly Property RatingRuleMasterID() As Decimal Implements iPremiumSummaryAdjustment.RatingRuleMasterId` | Identifier used to correlate this row with related premium records.* |
| EffectiveDate | `Public ReadOnly Property EffectiveDate() As Date Implements iPremiumSummaryAdjustment.EffectiveDate` | The date from which this record is effective. |
| ExpirationDate | `Public ReadOnly Property ExpirationDate() As Date Implements iPremiumSummaryAdjustment.ExpirationDate` | The date on which this record expires; null indicates no expiration.* |
| EffectiveRange | `Public ReadOnly Property EffectiveRange As DateRange Implements iPremiumSummaryAdjustment.EffectiveRange` | Business value exposed as effective range for callers of this API.* |
| Adjustment | `Public ReadOnly Property Adjustment() As Decimal Implements iPremiumSummaryAdjustment.AdjustmentAmount` | Business value exposed as adjustment for callers of this API.* |
| BaseAmount | `Public ReadOnly Property BaseAmount() As Decimal Implements iPremiumSummaryAdjustment.BaseAmount` | Numeric base amount value used by this type's rating, billing, or reporting logic.* |
| DifferenceAmount | `Public ReadOnly Property DifferenceAmount() As Decimal Implements iPremiumSummaryAdjustment.DifferenceAmount` | Numeric difference amount value used by this type's rating, billing, or reporting logic.* |
| DCBSDifferenceAmount | `Public ReadOnly Property DCBSDifferenceAmount() As Decimal Implements iPremiumSummaryAdjustment.DCBSDifferenceAmount` | Numeric dcbs difference amount value used by this type's rating, billing, or reporting logic.* |
| StatClassNumber | `Public ReadOnly Property StatClassNumber() As String` | Business value exposed as stat class number for callers of this API.* |
| PremiumAdjustmentType | `Public ReadOnly Property PremiumAdjustmentType() As clsPremiumAdjustmentTypeCode Implements iPremiumSummaryAdjustment.AdjustmentType` | Numeric premium adjustment type value used by this type's rating, billing, or reporting logic.* |
| SAIFPlus_Description | `Public ReadOnly Property SAIFPlus_Description() As String` | Human-readable description associated with the current saif plus.* |
| DCBSSplitCount | `Public ReadOnly Property DCBSSplitCount() As Decimal` | Business value exposed as dcbs split count for callers of this API.* |
| IsAdjustedRate | `Public ReadOnly Property IsAdjustedRate() As Boolean` | Indicates whether adjusted rate applies in this business object.* |
| HasELCB | `Public ReadOnly Property HasELCB() As Boolean` | Indicates whether elcb applies in this business object.* |
| RatingRuleMaster | `Public ReadOnly Property RatingRuleMaster As clsRatingRuleMaster Implements iPremiumSummaryAdjustment.RatingRuleMaster` | Business value exposed as rating rule master for callers of this API.* |
| 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. |
| 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 clsPremiumSummaryAdjustment) As Boolean` | Compares this instance with another `clsPremiumSummaryAdjustment` instance for value equality.* |
| Equals | `Public Overloads Function Equals(ByVal inPremiumSetID As Decimal, ByVal inPriorityNumber As Decimal, ByVal inEffectiveDate As Date) As Boolean` | Compares this instance with another instance of the same type for value equality.* |
| Equals | `Public Overloads Function Equals(ByVal inPremiumSetID As Decimal, ByVal inPremAdjustmentTypeCode As String, ByVal inEffectiveDate As Date) 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.* |
| GetPremiumSummaryAdjustment | `Public Shared Function GetPremiumSummaryAdjustment(ByVal inDataportal As IDataPortalInfo, ByVal inPremiumSetID As Decimal, ByVal inPriorityNumber As Decimal, ByVal inEffectiveDate As Date, Optional ByVal inPremiumSetDatabase As PremiumSetDatabases = PremiumSetDatabases.Enterprise) As clsPremiumSummaryAdjustment` | Loads a cls premium summary adjustment that matches the supplied lookup criteria. |
| PolicyDocumentAdjustmentAmount | `Public Function PolicyDocumentAdjustmentAmount() As String` | Executes the policy document adjustment amount behavior defined by this type. |
| PolicyDocumentAdjustmentDescription | `Public Function PolicyDocumentAdjustmentDescription(Optional ByVal inIsEstimated As Boolean = False) As String` | Executes the policy document adjustment description behavior defined by this type. |
## Inherited public members

| Member | Signature | Purpose | Origin |
| --- | --- | --- | --- |
| Rules | `Property Rules As clsRulesManager` | Framework rules manager used to register, evaluate, and surface broken rules on the object.† | `SAIF.Framework.Core — clsBusinessBase` |
| BeginEdit | `Sub BeginEdit()` | Starts an n-level edit session so callers can stage changes.† | `SAIF.Framework.Core — clsBusinessBase` |
| CancelEdit | `Sub CancelEdit()` | Rolls back the active edit session.† | `SAIF.Framework.Core — clsBusinessBase` |
| ApplyEdit | `Sub ApplyEdit()` | Commits the active edit session.† | `SAIF.Framework.Core — clsBusinessBase` |

## Behavioral notes
- Source file: `Business\SAIF.Business.Policy.Premium\clsPremiumSummaryAdjustment.vb`.

## Constraints and usage notes
- Insert-only: calling UpdateSQL on an existing record throws a NotImplementedException ([BR-024](../../../../../business-rules.md#br-024-premium-summary-adjustments-do-not-support-updates)). Records are associated with a specific premium set; the `SubTotalPremiumSummaryAdjustmentTypes` enum classifies adjustment sub-total categories.*


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