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

# clsRatingRuleMaster

Governs sub-total premium computation (OP-004); holds the master record for a rating rule including effective/expiration dates, financial system code, and the set of applicable `PremiumAdjustmentTypeCodes`. All premium adjustments sharing the same `RatingRuleMasterId` must use the same rule ([BR-013](../../../../../../business-rules.md#br-013-subtotals-must-use-one-rating-rule-master)). The `AppliesTo(date)` method tests whether this rule is effective for a given date.*

## Purpose
- Provides the governing rule master for sub-total premium computation (OP-004), including the adjustment types and date range for which the rule is effective.*
- Retrieved by `GetRatingRuleMaster` factory methods (by as-of date and optional financial system); consumed by rating workflows that enforce [BR-013](../../../../../../business-rules.md#br-013-subtotals-must-use-one-rating-rule-master) consistency across premium adjustments.*

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

## Public members
| Member | Signature | Purpose |
| --- | --- | --- |
| ID | `Public ReadOnly Property ID() As Decimal` | The Oracle-assigned numeric identifier for this record. |
| EffectiveDate | `Public ReadOnly Property EffectiveDate() As Date` | The date from which this record is effective. |
| FinancialSystemCode | `Public ReadOnly Property FinancialSystemCode() As String` | The financial system code (e.g., WCIS) identifying the system under which this rule is applied.* |
| ExpirationDate | `Public ReadOnly Property ExpirationDate() As Date` | The date on which this record expires; null indicates no expiration.* |
| PremiumAdjustmentTypeCodes | `Public ReadOnly Property PremiumAdjustmentTypeCodes() As IEnumerable(Of clsPremiumAdjustmentTypeCode)` | The collection of premium adjustment type codes governed by this rating rule master. |
| AppliesTo | `Public ReadOnly Property AppliesTo(ByVal inAsOfDate As Date) As Boolean` | Returns True when this rating rule master record is effective as of the supplied date.* |
| 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.* |
| 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 clsRatingRuleMaster) As Boolean` | Compares this instance with another `clsRatingRuleMaster` instance for value equality.* |
| GetHashCode | `Public Overrides Function GetHashCode() As Integer` | Returns a hash code consistent with the value-equality implementation. |
| GetRatingRuleMaster | `Public Shared Function GetRatingRuleMaster(ByVal inDataportal As IDataPortalInfo, ByVal inAsOfDate As Date, Optional ByVal inFinancialSystem As Enums.FinancialSystems = Enums.FinancialSystems.WCIS) As clsRatingRuleMaster` | Loads a cls rating rule master that matches the supplied lookup criteria. |
| GetRatingRuleMaster | `Public Shared Function GetRatingRuleMaster(ByVal inDataportal As IDataPortalInfo, ByVal inAsOfDate As Date, ByVal inFinancialSystemCode As String) As clsRatingRuleMaster` | Loads a cls rating rule master that matches the supplied lookup criteria. |
## 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\Rating\clsRatingRuleMaster.vb`.

## Constraints and usage notes
- All adjustments sharing the same `RatingRuleMasterId` must use this rule ([BR-013](../../../../../../business-rules.md#br-013-subtotals-must-use-one-rating-rule-master)). The `AppliesTo(date)` method should be used to validate date applicability before applying adjustments. `ExpirationDate` may be null for currently active rules.*


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