﻿---
title: clsRateTierFactor
summary: API reference for clsRateTierFactor.
status: draft
owner: Technical Writer
last_reviewed: 2026-07-31
library: SAIF.Business.Policy.Rating
reference_type: package
---
# clsRateTierFactor
Represents an effective-dated risk-type factor. The class supplies the state or federal multiplier chosen by benefit-jurisdiction rules.
## Purpose
- Represents an effective-dated risk-type factor.
- The class supplies the state or federal multiplier chosen by benefit-jurisdiction rules.
## Context
- Namespace: `SAIF.Business.Policy.Rating`
- Assembly/package: `SAIF.Business.Policy.Rating`
## Public members
| Member | Signature | Purpose |
| --- | --- | --- |
| RiskTypeCode | `Public ReadOnly Property RiskTypeCode() As String` | Risk-tier code identifying which state or federal factor row was loaded. |
| Description | `Public ReadOnly Property Description() As String` | Human-readable description for the risk-tier code from `RISK_TYPE_DESCRIPTION`. |
| EffectiveDate | `Public ReadOnly Property EffectiveDate() As Date` | Start date from which this risk-tier factor row applies. |
| ExpirationDate | `Public ReadOnly Property ExpirationDate() As Date` | Optional end date after which this risk-tier factor row no longer applies. |
| RiskTypeFactor | `Public ReadOnly Property RiskTypeFactor() As Decimal` | Stored state-jurisdiction multiplier for this risk-type row. |
| FederalRiskTypeFactor | `Public ReadOnly Property FederalRiskTypeFactor() As Decimal` | Stored federal-jurisdiction multiplier for this risk-type row. |
| AdjustedRateFactor | `Public Property AdjustedRateFactor(ByVal inAdjustedRateProvider As iAdjustedRateProvider) As Decimal Implements iAdjustedRateFactor.Factor` | Returns the federal multiplier for federal benefit jurisdiction, the state multiplier for state jurisdiction, and the neutral factor otherwise. |
| IsApplicableTo | `Public ReadOnly Property IsApplicableTo(ByVal inRiskTypeCode As String, ByVal inDate As Date) As Boolean` | Checks whether this row matches a requested risk type and covers the supplied date. |
| IsValid | `Public Overrides ReadOnly Property IsValid() As Boolean` | Delegates validity to the base BOF rules, including the nonblank risk-type requirement enforced by `ValidRateTier`. |
| IsDirty | `Public Overrides ReadOnly Property IsDirty() As Boolean` | Reports whether this factor object or its BOF-managed state has changed since load or save. |
| SetExpirationDateNull | `Public Sub SetExpirationDateNull()` | Clears the expiration date so the risk-tier factor remains open-ended. |
| SetRiskTypeFactorNull | `Public Sub SetRiskTypeFactorNull()` | Clears the stored state-jurisdiction multiplier from the row. |
| IsExpirationDateNull | `Public Function IsExpirationDateNull() As Boolean` | Indicates that the risk-tier factor row has no stored expiration date. |
| IsRiskTypeFactorNull | `Public Function IsRiskTypeFactorNull() As Boolean` | Reports whether the stored state-jurisdiction multiplier is unset. |
| IsFederalRiskTypeFactorNull | `Public Function IsFederalRiskTypeFactorNull() As Boolean` | Reports whether the stored federal-jurisdiction multiplier is unset. |
| Equals | `Public Overloads Shared Function Equals(ByVal objA As Object, ByVal objB As Object) As Boolean` | Compares two objects as rate-tier-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 `clsRateTierFactor` with the same risk type code and effective date. |
| Equals | `Public Overloads Function Equals(ByVal inObject As clsRateTierFactor) As Boolean` | Treats two factor instances as the same row when both risk type code and effective date match. |
| GetHashCode | `Public Overrides Function GetHashCode() As Integer` | Hashes `RiskTypeCode`, the value this type uses as its identity key in keyed collections. |
| ToString | `Public Overrides Function ToString() As String` | Formats the instance as the concatenation of its risk type code and effective date. |
| GetRateTierFactor | `Public Shared Function GetRateTierFactor(ByVal inDataportal As IDataPortalInfo, ByVal inRiskTypeCode As String, ByVal inEffectiveDate As Date) As clsRateTierFactor` | Retrieves the an effective-dated risk-type factor identified by the key values or effective-date criteria supplied by the caller. |
| ValidRateTier | `Public Function ValidRateTier(ByVal target As Object, ByVal ruleargs As clsRuleArgs) As Boolean` | Rejects factor objects whose risk type code is blank. |
| RiskTypeCode | `Public Property RiskTypeCode() As String` | Risk-type code used to retrieve a specific factor row. |
| DescrEffDate | `Public Property DescrEffDate() As Date` | Effective-date key used to retrieve a specific `RISK_TYPE_DESCRIPTION` row. |
| 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 inRiskTypeCode As String, ByVal inEffectiveDate As Date)` | Creates a criteria-backed instance seeded with `inRiskTypeCode`, `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
- Provider-aware factor selection chooses the federal multiplier for federal benefit jurisdiction, the state multiplier for state jurisdiction, and the neutral factor otherwise.
## Constraints and usage notes
- Use the provider-aware `AdjustedRateFactor(...)` member rather than reading raw multiplier fields when you need the value the base-rate pipeline applies.
> **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\clsRateTierFactor.vb`
