Skip to content

UnitStatServices

UnitStatServices is a public class in SAIF.Business that supplies unit-stat reporting helpers for NCCI policy-number formatting, policy-unit splitting, and valuation-cycle date calculations.

Purpose

  • Retrieves formatted NCCI policy numbers and active policy-unit effective dates through data-portal queries.
  • Splits extended policy periods into one or two reportable unit ranges for NCCI reporting.
  • Builds valuation schedules and derives first, last, and current valuation-cycle dates for a unit.
  • Exposes the UREStartDate cutoff used to choose five versus ten valuation periods.

Context

  • Namespace: SAIF.Business
  • Assembly/package: SAIF.Business

Public members

Member Signature Purpose
UREStartDate Public Const UREStartDate As Date = #1/1/2002# Defines the cutoff date used when choosing whether a unit receives 5 or 10 report valuation periods.
GetNCCIPolicyNumber Public Shared Function GetNCCIPolicyNumber(ByVal inDPI As IDataPortalInfo, ByVal inPolicyNumber As Decimal, ByVal inPolicyPeriodEffectiveDate As Date) As String Queries and returns the formatted NCCI policy number built from market type, policy number, subcode, and policy suffix.
GetUnitSplitDate Public Shared Function GetUnitSplitDate(ByVal inPolicyPeriodEffectiveDate As Date, ByVal inPolicyPeriodExpirationDate As Date) As Date Returns the split date used to divide extended policy periods into two NCCI reporting units.
GetPolicyPeriodUnits Public Shared Function GetPolicyPeriodUnits(ByVal inPolicyPeriodEffectiveDate As Date, ByVal inPolicyPeriodExpirationDate As Date, ByVal inCancelDate As Date) As List(Of DateRange) Builds the one or two DateRange unit periods that should be reported for the policy term and cancel date.
GetReportValuationPeriods Public Shared Function GetReportValuationPeriods(ByVal inUnitEffectiveDate As Date) As Generic.List(Of clsReportValuationPeriod) Generates the ordered list of report valuation periods for a unit, including SAIF and NCCI valuation dates.
GetValuationNumber Public Shared Function GetValuationNumber(ByVal inProcessDate As Date, ByVal inUnitEffectiveDate As Date) As Decimal Returns the valuation-cycle number that contains the supplied process date.
GetFirstValuationDate Public Shared Function GetFirstValuationDate(ByVal inUnitEffectiveDate As Date) As Date Returns the valuation date for the first original report on the unit.
GetLastValuationDate Public Shared Function GetLastValuationDate(ByVal inUnitEffectiveDate As Date) As Date Returns the end date of the final generated report valuation period.
GetPolicyUnitEffectiveDate Public Shared Function GetPolicyUnitEffectiveDate(ByVal inDPI As IDataPortalInfo, ByVal inPolicyNumber As Decimal, ByVal inProcessDate As Date) As Date Looks up the effective date of the active policy unit covering the supplied process date.
clsReportValuationPeriod Public Class clsReportValuationPeriod Defines the public nested value object used to hold valuation number, begin/end dates, and valuation dates for a report cycle.

Behavioral notes

  • GetUnitSplitDate returns Date.MinValue unless the expiration date is more than one year and 16 days after the effective date.
  • GetPolicyPeriodUnits emits one unit for unsplit periods and otherwise creates two units unless the cancel date falls on or before the split date.
  • GetReportValuationPeriods starts the first report cycle 18 months after the first day of the unit effective month and creates 5 cycles before UREStartDate, otherwise 10.
  • GetValuationNumber returns 0 before the first cycle and the last cycle number after the final cycle.

Constraints and usage notes

  • GetNCCIPolicyNumber and GetPolicyUnitEffectiveDate require a valid IDataPortalInfo with access to the underlying policy tables.
  • GetPolicyUnitEffectiveDate returns Date.MinValue when no matching active unit is found.
  • GetNCCIPolicyNumber converts the first portal-request result directly to String, so callers should expect the database query to supply a scalar result.

Sources

  • Business\SAIF.Business\UnitStatServices.vb