Skip to content

SAIF.Business.Policy.Rating operations and processes

This page is the operation hub for SAIF.Business.Policy.Rating. It covers rate computation, manual-class retrieval, delete guards, stored-procedure lookups, and date-effective factor selection.

Operation catalog

Operation Intent Trigger Inputs Outputs Rules Tables SQL
Compute the adjusted rate for a class ClassRateExtensions.AdjustedRate(Target, inRateTierFactor, inUSLHWFactor, AccidentLimitFactors, OtherFactors) (ClassRateExtensions.vb:39-58) Premium rating needs the final rate for a rated class line An iAdjustedRateProvider target, a clsRateTierFactor, a clsUSLHWCompFactor, a sequence of accident-limit iAdjustedRateFactor, a sequence of other iAdjustedRateFactor Decimal rate rounded to 6 decimal places BR-001, BR-010 — —
Compute the base rate for a class ClassRateExtensions.BaseRate(Target, inRateTierFactor, inUSLHWFactor, AccidentLimitFactors) (ClassRateExtensions.vb:60-75) Called by OP-001, or directly when only the base rate is needed iAdjustedRateProvider, rate tier factor, USL&HW factor, accident-limit factors Decimal base rate rounded to 4 decimal places using arithmetic (not banker's) rounding BR-002, BR-011, BR-012, BR-029 USLHW_COMP_FACTOR SQL-046
Resolve the rate file sequence number for a period clsManualClassBaseCollection.GetRateFileSeqNum(inDataPortalInfo, inPeriodRatingInfo) (clsManualClassBaseCollection.vb:188-211) Rating needs to know which published rate file governs a policy period IDataPortalInfo, iPeriodRatingInfo (supplies anniversary rating date and rate tier code) Decimal rate file sequence number BR-041 RATE_FILE_MASTER SQL-021
Resolve a manual class key (rate lookup) clsManualClassBase.GetManualClassBaseKey(inDataportal, inPeriodRatingInfo, inClassEffectiveDate, ByRef inoutManualClassNumberAndUsageCode, ByRef outRateFileSeqNum) (clsManualClassBase.vb:1225-1268) A class number must be resolved to the rate file and (possibly replaced) class number that actually applies Class number/usage code (in-out), class effective date, period rating info Updated class number/usage code and rate file sequence number (both ByRef) BR-013, BR-014, BR-034, BR-035, BR-036, BR-037, BR-038, BR-039, BR-040 RATE_FILE_MASTER, MANUAL_CLASS_BASE SQL-019
Retrieve a manual class base clsManualClassBase.GetManualClassBase (4 overloads) / GetDefaultManualClassBase Rating or maintenance needs the published attributes of a manual class Depending on overload: rate file sequence number + class number, or period rating info + class number A populated clsManualClassBase BR-003 MANUAL_CLASS_BASE SQL-020, SQL-021, SQL-019
Delete a manual class base with referential guard clsManualClassBase.CanDeleteManualClassBaseRecord then BeforeDelete/AfterDelete (clsManualClassBase.vb:1341-1383, :889-910) Rate-file maintenance wants to remove a manual class from a rate file Manual class number, WCIS rate file sequence number Boolean eligibility, then the delete itself BR-004, BR-005, BR-006 PREM_HIST_CLASS_COVERAGE, MANUAL_CLASS_BASE SQL-017, SQL-056
Delete all manual class bases for a rate file clsManualClassBaseCollection.DeleteManualClassBasebyRateFileSeqNum (clsManualClassBaseCollection.vb:327-365) A rate file is being withdrawn or reloaded WCIS rate file sequence number Boolean success BR-007 MANUAL_CLASS_BASE SQL-057
Guard a rate file master delete clsRateFileMaster.CanDeleteRateFileMasterRecord (clsRateFileMaster.vb:494-534) Maintenance wants to delete a rate file WCIS rate file sequence number Boolean eligibility BR-005, BR-008 MANUAL_CLASS_BASE SQL-032
Retrieve the class description paragraph clsManualClassBase.GetClassParagraph(inDPI, ManualClassNumberAndUsageCode, inParagraphEffectiveDate, inMarketType) (clsManualClassBase.vb:848-884) Documents or screens need the printed description paragraph for a class Class number/usage code, paragraph effective date, market type Paragraph text, trimmed; empty string when none BR-009 MANUAL_CLASS_PARAGRAPH_USAGE, MANUAL_CLASS_PARAGRAPH SQL-018
Retrieve period rating information clsPeriodRatingInfo.GetPeriodRatingInfo and .GetCurrentPeriodRatingInfo (clsPeriodRatingInfo.vb:197-243) Any rating call that needs the period context (ARD, market type, rate tier, dates) Policy number, and (for the dated overload) policy period effective date A clsPeriodRatingInfo — empty when no row matches BR-015, BR-016, BR-017 POLICY, POLICY_PERIOD, POLICY_PERIOD_NON_WCIS SQL-027
Select the applicable rate tier factor RateTierFactorExtensions.AppliesTo(target, inRiskTypeCode, inDate) + clsRateTierFactor.IsApplicableTo (clsRateTierFactorCollection.vb:356-361) Base rate computation needs the risk-type factor in force A sequence of clsRateTierFactor, a risk type code, a date The first matching factor, or Nothing BR-018, BR-026 RISK_TYPE_DESCRIPTION SQL-037
Select rating plan factors in force RatingPlanFactorExtensions.AsOfDate and .RatingPlan (clsRatingPlanFactorCollection.vb:434-444) Validating or applying a rating plan modification factor A sequence of clsRatingPlanFactor, a date and/or a Enums.RatingPlans value Filtered sequence BR-019, BR-020, BR-027 RATING_PLAN_CODE, RATING_PLAN_FACTOR SQL-038, SQL-039, SQL-040
Select active prepay frequencies PrepayFrequencyExtensions.ActiveAsOf(Target, inAsOfDate) (clsPrepayFrequencyCollection.vb:426-431) Presenting the prepay options available on a given date A sequence of clsPrepayFrequency, a date Filtered sequence BR-021, BR-025, BR-032 PREPAY_DISCOUNT_FACTOR, PREPAY_FREQUENCY_CODE SQL-029, SQL-030, SQL-031

Process flow diagram

The following diagram visualizes the primary operational flow across the library.

flowchart TD
  Start([Caller requests rating data]) --> Period[Retrieve period rating info]
  Period --> Filing[Resolve rate file sequence number]
  Filing --> ClassKey[Retrieve manual class key and rate]
  ClassKey --> ManualClass[Retrieve manual class base]
  ManualClass --> Factors[Select dated factors]
  Factors --> Rate[Base and adjusted rate computation]

Inherited operations and processes

From clsBusinessBase (SAIF.Framework.Core)

Operation Intent Provided by Origin Embedded in
Manage edit session Open, commit, or roll back an in-memory edit scope for a BOF business object.† clsBusinessBase SAIF.Framework.Core Retrieve a manual class base
Evaluate business object rules Execute registered BOF rules and surface broken-rule state.† clsBusinessBase SAIF.Framework.Core Retrieve a manual class base

Database interactions

Operation SQL Tables Type
Compute the base rate for a class SQL-046 USLHW_COMP_FACTOR Read
Resolve the rate file sequence number for a period SQL-021 RATE_FILE_MASTER Read
Resolve a manual class key (rate lookup) SQL-019 RATE_FILE_MASTER, MANUAL_CLASS_BASE Read
Retrieve a manual class base SQL-020, SQL-021, SQL-019 MANUAL_CLASS_BASE Read
Delete a manual class base with referential guard SQL-017, SQL-056 PREM_HIST_CLASS_COVERAGE, MANUAL_CLASS_BASE Write
Delete all manual class bases for a rate file SQL-057 MANUAL_CLASS_BASE Write
Guard a rate file master delete SQL-032 MANUAL_CLASS_BASE Read
Retrieve the class description paragraph SQL-018 MANUAL_CLASS_PARAGRAPH_USAGE, MANUAL_CLASS_PARAGRAPH Read
Retrieve period rating information SQL-027 POLICY, POLICY_PERIOD, POLICY_PERIOD_NON_WCIS Read
Select the applicable rate tier factor SQL-037 RISK_TYPE_DESCRIPTION Read
Select rating plan factors in force SQL-038, SQL-039, SQL-040 RATING_PLAN_CODE, RATING_PLAN_FACTOR Read
Select active prepay frequencies SQL-029, SQL-030, SQL-031 PREPAY_DISCOUNT_FACTOR, PREPAY_FREQUENCY_CODE Read

Failure and edge-case behavior

  • RateTierFactorExtensions.AppliesTo can return Nothing, so callers must guard the result before dereferencing it.**
  • Bulk delete suppresses exception detail and returns only False on failure.

Stored procedure operations

Operation Description Source Link
Determine applicable ARD Computes the anniversary-rating date that governs class lookup. pk73059_prem_hist_summary.get_applicable_ard Details
Resolve class rate in current filing Resolves class, replacement-class, and outstanding-filing logic. pk73059_prem_hist_summary.sp62005_retrieve_rate Details
Return active rate-file sequence number Returns the active non-outstanding filing for an ARD and risk type. PK73193_submission.get_rate_file_seq_num Details

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.Rating\ClassRateExtensions.vb
  • Business\SAIF.Business.Policy.Rating\clsManualClassBase.vb
  • Business\SAIF.Business.Policy.Rating\clsManualClassBaseCollection.vb
  • Business\SAIF.Business.Policy.Rating\clsPeriodRatingInfo.vb
  • Business\SAIF.Business.Policy.Rating\clsPrepayFrequencyCollection.vb
  • Business\SAIF.Business.Policy.Rating\clsRateFileMaster.vb