Skip to content

iPolicyPeriodBase

iPolicyPeriodBase extends iPeriodRatingInfo and IDateRange into the full contract a policy-period implementation must satisfy — covering claims-reimbursement eligibility, financial system, coverage ranges, sales plan, and issuance/renewal metadata. Implementations live outside this library, making it a core part of the library's contract layer and integration boundary with consumers such as SAIF.Business.View.Policy.*

Purpose

  • Declare the full set of read-only attributes a policy period must expose — dates, financial/coverage flags, sales and renewal metadata — so multiple implementers can be treated uniformly by rating and reporting code.
  • Extend iPeriodRatingInfo so every policy period is automatically comparable via BaseEquals/BaseGetHashCode and classifiable via IsVoluntary/IsAssignedRisk (BR-POL-015, BR-POL-018).
  • Extend IDateRange so a policy period can be treated as a date range by generic range-aware logic.

Context

  • Namespace: SAIF.Business.Policy
  • Assembly/package: SAIF.Business.Policy (PolicyCommon)

Public members

Member Signature Purpose
CancelDate ReadOnly Property CancelDate As Date Date the policy period was cancelled.
ClaimsReimbursementEffectiveDate ReadOnly Property ClaimsReimbursementEffectiveDate As Date Start of the claims-reimbursement eligibility window.
ClaimsReimbursementExpirationDate ReadOnly Property ClaimsReimbursementExpirationDate As Date End of the claims-reimbursement eligibility window.
CreateDate ReadOnly Property CreateDate As Date Date the policy period record was created.
CreateUser ReadOnly Property CreateUser As String User who created the policy period record.
PeriodRange ReadOnly Property PeriodRange As <range type> The policy period's own date range (effective to expiration).
CoverageRange ReadOnly Property CoverageRange As <range type> The date range during which coverage is actually in force.
EndOfCoverageDate ReadOnly Property EndOfCoverageDate As Date Last date coverage applies for the period.
FinancialSystem ReadOnly Property FinancialSystem As Enums.FinancialSystems Financial system that owns the period's financial data.
GoverningClassCode ReadOnly Property GoverningClassCode As String Governing class code for the policy period.
IsClaimsReimbursementEligible ReadOnly Property IsClaimsReimbursementEligible As Boolean Whether the period is eligible for claims reimbursement.
IsFinancePremium ReadOnly Property IsFinancePremium As Boolean Whether the period's premium is financed.
IsPerpetualMidPolicyARD ReadOnly Property IsPerpetualMidPolicyARD As Boolean Whether the anniversary rating date perpetually falls mid-policy.
IsPerpetualMidPolicyRED ReadOnly Property IsPerpetualMidPolicyRED As Boolean Whether the rating effective date perpetually falls mid-policy.
LastDateOfCoverage ReadOnly Property LastDateOfCoverage As Date Last calendar date coverage is in force.
OriginalExpirationDate ReadOnly Property OriginalExpirationDate As Date Original (pre-amendment) expiration date of the period.
PayrollReportFrequency ReadOnly Property PayrollReportFrequency As Enums.PayrollReportFrequencies How often payroll is reported for the period.
SalesPlan ReadOnly Property SalesPlan As Enums.SalesPlans The period's sales plan.
SalesPlanCode ReadOnly Property SalesPlanCode As String Raw sales plan code backing SalesPlan.
PolicyIssuanceSystem ReadOnly Property PolicyIssuanceSystem As Enums.PolicyIssuanceSystems System that issued the policy.
PolicyNumber ReadOnly Property PolicyNumber As Decimal Policy number the period belongs to.
PolicyRenewalTrack ReadOnly Property PolicyRenewalTrack As Enums.RenewalTracks Whether the policy renews manually or automatically.
PolicySuffix ReadOnly Property PolicySuffix As <type> Suffix distinguishing periods within the same policy number.
StandardPremiumAmount ReadOnly Property StandardPremiumAmount As Decimal Standard (unprorated) premium amount for the period.
ProratedStandardPremiumAmount(inAsOfDate) Function ProratedStandardPremiumAmount(inAsOfDate As Date) As Decimal Computes the standard premium prorated as of a given date.
UpdateDate ReadOnly Property UpdateDate As Date Date the policy period record was last updated.
UpdateUser ReadOnly Property UpdateUser As String User who last updated the policy period record.
IsFlatCancelled ReadOnly Property IsFlatCancelled As Boolean Whether the period was flat-cancelled.
IsRenewalPeriod ReadOnly Property IsRenewalPeriod As Boolean Whether the period is a renewal of a prior period.
IsCurrent ReadOnly Property IsCurrent As Boolean Whether the period is the current active period.
HasCoverage ReadOnly Property HasCoverage As Boolean Whether the period currently provides coverage.
IsArrearsBillingPlan ReadOnly Property IsArrearsBillingPlan As Boolean Whether the period bills in arrears.
IsIssued ReadOnly Property IsIssued As Boolean Whether the period has been issued.
Equals (2 overloads) Function Equals(...) As Boolean Contract hooks for equality comparisons specific to policy periods, in addition to the inherited iPeriodRatingInfo equality.

Inherited public members

Members in this section are inherited from iPeriodRatingInfo and IDateRange, both declared in this library/framework. They are available on this type through interface inheritance.

Member Signature Purpose Origin
AnniversaryRatingDate ReadOnly Property AnniversaryRatingDate As Date Anniversary rating date used in rating-period equality (BR-POL-018). SAIF.Business.Policy — iPeriodRatingInfo
RatingEffectiveDate ReadOnly Property RatingEffectiveDate As Date Rating effective date used in rating-period equality (BR-POL-018). SAIF.Business.Policy — iPeriodRatingInfo
IsARDExtended ReadOnly Property IsARDExtended As Boolean Indicates whether the anniversary rating date has been extended (BR-POL-018). SAIF.Business.Policy — iPeriodRatingInfo
IsREDExtended ReadOnly Property IsREDExtended As Boolean Indicates whether the rating effective date has been extended (BR-POL-018). SAIF.Business.Policy — iPeriodRatingInfo
EffectiveDate ReadOnly Property EffectiveDate As Date Period effective date used in rating-period equality (BR-POL-018). SAIF.Business.Policy — iPeriodRatingInfo
ExpirationDate ReadOnly Property ExpirationDate As Date Period expiration date used in rating-period equality (BR-POL-018). SAIF.Business.Policy — iPeriodRatingInfo
RateTierCode ReadOnly Property RateTierCode As String Rate tier code used in rating-period equality (BR-POL-018). SAIF.Business.Policy — iPeriodRatingInfo
MarketType ReadOnly Property MarketType As Enums.MarketTypes Market type used by IsVoluntary/IsAssignedRisk and rating-period equality (BR-POL-015, BR-POL-018). SAIF.Business.Policy — iPeriodRatingInfo

Behavioral notes

  • No local implementer of iPolicyPeriodBase exists in this repository; implementations live in consuming applications outside this codebase.**

Constraints and usage notes

  • IDateRange/DateRange are framework-inherited types whose namespace was inferred from context, not directly confirmed.*

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

  • SAIF.Business.Policy/iPolicyPeriodBase.vb