Skip to content

iPolicyPeriodBase

Defines the broader policy-period contract built on iPeriodRatingInfo and IDateRange. It combines coverage dates, billing/rating classifications, issuance and renewal metadata, financial-system ownership, premium values, and lifecycle flags so downstream policy components can reason about one policy period through a single interface.

Purpose

  • Provide a shared policy-period shape for consumers that need more than the core rating fields.
  • Combine coverage window data, financial/rating classifications, and issue/cancel lifecycle facts in one contract.
  • Let implementing policy-period types participate in both generic date-range handling and policy-specific logic.

Context

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

Public members

Member Signature Purpose
AnniversaryRatingDate Property AnniversaryRatingDate() As Date Supplies the anniversary rate date used by rating logic.
RatingEffectiveDate Property RatingEffectiveDate() As Date Supplies the effective date used for rating calculations.
IsARDExtended Property IsARDExtended() As Boolean Indicates whether the anniversary rate date has been extended.
IsREDExtended Property IsREDExtended() As Boolean Indicates whether the rating effective date has been extended.
EffectiveDate Property EffectiveDate() As Date Supplies the policy-period effective date.
ExpirationDate Property ExpirationDate() As Date Supplies the policy-period expiration date.
RateTierCode Property RateTierCode() As String Supplies the rate-tier identifier used for rating.
MarketType Property MarketType() As Policy.Enums.MarketTypes Supplies the market classification for the period.
CancelDate ReadOnly Property CancelDate() As Date Supplies the date on which the policy period was cancelled when cancellation occurs.
ClaimsReimbursementEffectiveDate ReadOnly Property ClaimsReimbursementEffectiveDate() As Date Supplies the start of the claims-reimbursement eligibility window.
ClaimsReimbursementExpirationDate ReadOnly Property ClaimsReimbursementExpirationDate() As Date Supplies the end of the claims-reimbursement eligibility window.
CreateDate ReadOnly Property CreateDate() As Date Supplies the audit timestamp for when the period record was created.
CreateUser ReadOnly Property CreateUser() As String Supplies the audit user that created the period record.
PeriodRange ReadOnly Property PeriodRange() As DateRange Supplies the policy period as a reusable date-range value object.
CoverageRange ReadOnly Property CoverageRange() As DateRange Supplies the actual coverage window as a reusable date-range value object.
EndOfCoverageDate ReadOnly Property EndOfCoverageDate() As Date Supplies the last day coverage remains in force for the period.
FinancialSystem ReadOnly Property FinancialSystem() As Policy.Enums.FinancialSystems Supplies the financial system responsible for the period.
GoverningClassCode ReadOnly Property GoverningClassCode() As String Supplies the governing classification code used by policy/rating consumers.
IsClaimsReimbursementEligible ReadOnly Property IsClaimsReimbursementEligible() As Boolean Indicates whether the period qualifies for claims reimbursement.
IsFinancePremium ReadOnly Property IsFinancePremium() As Boolean Indicates whether the period's premium is financed.
IsPerpetualMidPolicyARD ReadOnly Property IsPerpetualMidPolicyARD() As Boolean Indicates whether the anniversary rate date follows the perpetual mid-policy rule.
IsPerpetualMidPolicyRED ReadOnly Property IsPerpetualMidPolicyRED() As Boolean Indicates whether the rating effective date follows the perpetual mid-policy rule.
LastDateOfCoverage ReadOnly Property LastDateOfCoverage() As Date Supplies the final covered date recognized for the period.
OriginalExpirationDate ReadOnly Property OriginalExpirationDate() As Date Supplies the unmodified expiration date before later changes such as cancellation or extension.
PayrollReportFrequency ReadOnly Property PayrollReportFrequency() As Policy.Enums.PayrollReportFrequencies Supplies the payroll reporting cadence used for the period.
SalesPlan ReadOnly Property SalesPlan() As Policy.Enums.SalesPlans Supplies the sales-plan classification for the period.
SalesPlanCode ReadOnly Property SalesPlanCode() As String Supplies the external sales-plan code associated with the period.
PolicyIssuanceSystem ReadOnly Property PolicyIssuanceSystem() As Policy.Enums.PolicyIssuanceSystems Supplies the system that issued the policy period.
PolicyNumber ReadOnly Property PolicyNumber() As Decimal Identifies the policy to which the period belongs.
PolicyRenewalTrack ReadOnly Property PolicyRenewalTrack() As Policy.Enums.RenewalTracks Supplies the renewal-track classification for the period.
PolicySuffix ReadOnly Property PolicySuffix() As String Supplies the policy suffix used alongside the policy number.
StandardPremiumAmount ReadOnly Property StandardPremiumAmount() As Decimal Supplies the standard premium amount associated with the period.
ProratedStandardPremiumAmount ReadOnly Property ProratedStandardPremiumAmount(ByVal inAsOfDate As Date) As Decimal Returns the standard premium prorated through the supplied as-of date.
UpdateDate ReadOnly Property UpdateDate() As Date Supplies the audit timestamp for the most recent update.
UpdateUser ReadOnly Property UpdateUser() As String Supplies the audit user for the most recent update.
IsFlatCancelled ReadOnly Property IsFlatCancelled() As Boolean Indicates whether the period was cancelled flat rather than after some coverage elapsed.
IsRenewalPeriod ReadOnly Property IsRenewalPeriod() As Boolean Indicates whether the period is a renewal term.
IsCurrent ReadOnly Property IsCurrent() As Boolean Indicates whether the period is the currently active one for the policy.
HasCoverage ReadOnly Property HasCoverage() As Boolean Indicates whether the period currently has coverage in force.
IsArrearsBillingPlan ReadOnly Property IsArrearsBillingPlan As Boolean Indicates whether the period uses an arrears billing plan.
IsIssued ReadOnly Property IsIssued As Boolean Indicates whether the period has been issued; the source comment defines issued periods as having had the information page printed.
Equals Overloads Function Equals(ByVal inPolicyPolicyPeriod As iPolicyPeriodBase) As Boolean Lets implementations compare two policy-period objects for business equivalence.
Equals Overloads Function Equals(ByVal inPolicyNumber As Decimal, ByVal inEffectiveDate As Date) As Boolean Lets implementations compare a policy period to a policy-number/effective-date identity pair.

Behavioral notes

  • The interface inherits both iPeriodRatingInfo and IDateRange, so implementers must satisfy the shared rating contract as well as generic date-range expectations.
  • The source comment on IsIssued ties issuance to whether the information page was printed.

Constraints and usage notes

  • This library defines only the contract; actual behavior such as how a prorated premium is calculated depends on implementing types outside this file.

Sources

  • SAIF.Business.Policy\iPolicyPeriodBase.vb