﻿---
title: clsRatingPlanFactor
summary: API reference for clsRatingPlanFactor.
status: draft
owner: Technical Writer
last_reviewed: 2026-07-31
library: SAIF.Business.Policy.Rating
reference_type: package
---
# clsRatingPlanFactor
Represents an effective-dated rating-plan factor range. The class supplies the effective lower and upper factor limits that rating-plan logic consumes.
## Purpose
- Represents an effective-dated rating-plan factor range.
- The class supplies the effective lower and upper factor limits that rating-plan logic consumes.
## Context
- Namespace: `SAIF.Business.Policy.Rating`
- Assembly/package: `SAIF.Business.Policy.Rating`
## Public members
| Member | Signature | Purpose |
| --- | --- | --- |
| Code | `Public ReadOnly Property Code() As String` | Rating-plan code that keys the retrieved factor row. |
| RatingPlan | `Public ReadOnly Property RatingPlan() As Enums.RatingPlans` | Converts the stored plan code into the library `Enums.RatingPlans` value. |
| EffectiveDate | `Public ReadOnly Property EffectiveDate() As Date` | Start date from which this rating-plan factor row applies. |
| LowerLimit | `Public ReadOnly Property LowerLimit() As Decimal` | Minimum allowed factor value for the rating plan within this effective period. |
| UpperLimit | `Public ReadOnly Property UpperLimit() As Decimal` | Optional maximum allowed factor value for the rating plan within this effective period. |
| ExpirationDate | `Public ReadOnly Property ExpirationDate() As Date` | Optional date after which this factor row no longer applies. |
| NCCIStatCode | `Public ReadOnly Property NCCIStatCode() As String` | Optional NCCI statistical code associated with this rating-plan factor row. |
| MaximumAdjustmentAmount | `Public ReadOnly Property MaximumAdjustmentAmount() As Decimal` | Optional cap on the adjustment amount permitted for this rating-plan factor row. |
| SetUpperLimitNull | `Public Sub SetUpperLimitNull()` | Clears the optional upper-bound factor limit so the range is open-ended. |
| SetExpirationDateNull | `Public Sub SetExpirationDateNull()` | Clears the expiration date so the factor remains effective until superseded. |
| SetNCCIStatCodeNull | `Public Sub SetNCCIStatCodeNull()` | Clears the optional NCCI statistical code associated with the factor row. |
| SetMaximumAdjustmentAmountNull | `Public Sub SetMaximumAdjustmentAmountNull()` | Clears the optional cap on the rating-plan adjustment amount. |
| IsUpperLimitNull | `Public Function IsUpperLimitNull() As Boolean` | Indicates that the factor range has no stored upper bound. |
| IsExpirationDateNull | `Public Function IsExpirationDateNull() As Boolean` | Indicates that the factor row has no stored expiration date. |
| IsNCCIStatCodeNull | `Public Function IsNCCIStatCodeNull() As Boolean` | Indicates that no NCCI statistical code is associated with this factor row. |
| IsMaximumAdjustmentAmountNull | `Public Function IsMaximumAdjustmentAmountNull() As Boolean` | Indicates that no maximum adjustment amount is stored for this factor row. |
| Equals | `Public Overloads Shared Function Equals(ByVal objA As Object, ByVal objB As Object) As Boolean` | Compares two objects as rating-plan-factor rows 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 `clsRatingPlanFactor` with the same plan code. |
| Equals | `Public Overloads Function Equals(ByVal inObject As clsRatingPlanFactor) As Boolean` | Treats two factor instances as the same logical plan row when their codes match. |
| GetHashCode | `Public Overrides Function GetHashCode() As Integer` | Hashes `Code`, the value this type uses as its identity key in keyed collections. |
| GetRatingPlanFactor | `Public Shared Function GetRatingPlanFactor(ByVal inDataportal As IDataPortalInfo, ByVal inRatingPlan As Enums.RatingPlans, ByVal inAsOfDate As Date) As clsRatingPlanFactor` | Retrieves the an effective-dated rating-plan factor range identified by the key values or effective-date criteria supplied by the caller. |
| GetRatingPlanFactor | `Public Shared Function GetRatingPlanFactor(ByVal inDataportal As IDataPortalInfo, ByVal inCode As String, ByVal inAsOfDate As Date) As clsRatingPlanFactor` | Retrieves the an effective-dated rating-plan factor range identified by the key values or effective-date criteria supplied by the caller. |
| ValidRatingPlanFactor | `Public Function ValidRatingPlanFactor(ByVal target As Object, ByVal e As clsRuleArgs) As Boolean` | Rejects factor objects whose plan code is blank. |
| Code | `Public Property Code() As String` | Rating-plan code used to select the effective-dated factor row. |
| EffectiveDate | `Public Property EffectiveDate() As Date` | As-of date used to retrieve the row whose effective span covers that date. |
| 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 inRatingPlan As Enums.RatingPlans, ByVal inEffectiveDate As Date)` | Creates a criteria-backed instance seeded with `inRatingPlan`, `inEffectiveDate` 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
- The object layers convenience logic over the loaded row, such as equality keys, related-row resolution, or validation helpers.
## Constraints and usage notes
- Retrieve the row with the same keys and effective context that the caller will use later, because helper members derive additional data from that loaded state.
> **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\clsRatingPlanFactor.vb`
