Skip to content

PolicyInformation

Provides shared, read-only policy lookups that bypass the BOF Criteria pattern and issue direct Oracle requests for policy dates, market classification, ownership, print status, and rating-related scalars. Its callers receive business-ready values, while the class hides the specific SQL or stored-procedure call used to retrieve them.

Purpose

  • Centralize small policy-data lookups so callers do not embed ad hoc SQL for common date and classification questions.
  • Translate raw database values into library enums such as Enums.MarketTypes and Enums.PolicyOwnershipSystems.
  • Wrap one stored-procedure call for minimum premium retrieval alongside the scalar queries used elsewhere in the library.

Context

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

Public members

Member Signature Purpose
MaxPolicyEffectiveDate Public Shared ReadOnly Property MaxPolicyEffectiveDate(ByVal inDPI As IDataPortalInfo, ByVal inPolicyNumber As Decimal) As Date Returns the most recent effective date found for the policy in POLICY_PERIOD using SQL-008.
PolicyPeriodExpirationDate Public Shared ReadOnly Property PolicyPeriodExpirationDate(ByVal inDPI As IDataPortalInfo, ByVal inPolicyNumber As Decimal, ByVal inPolicyPeriodEffectiveDate As Date) As Date Returns the expiration date for the requested policy period from POLICY_PERIOD or POLICY_PERIOD_NON_WCIS using SQL-011.
AnniversaryRateDate Public Shared ReadOnly Property AnniversaryRateDate(ByVal inDPI As IDataPortalInfo, ByVal inPolicyNumber As Decimal, ByVal inPolicyPeriodEffectiveDate As Date) As Date Returns the anniversary rate date for the requested policy period using SQL-004.
MarketType Public Shared ReadOnly Property MarketType(ByVal inDPI As IDataPortalInfo, ByVal inPolicyNumber As Decimal) As Enums.MarketTypes Looks up the policy's market type code and converts it to Enums.MarketTypes using SQL-005.
MaxPremiumHistorySetId Public Shared ReadOnly Property MaxPremiumHistorySetId(ByVal inDPI As IDataPortalInfo, ByVal inPolicyNumber As Decimal, ByVal inPolicyPeriodEffectiveDate As Date) As Decimal Returns the highest qualifying premium-history set ID for the policy period using SQL-009.
PolicyMinimumPremium Public Shared ReadOnly Property PolicyMinimumPremium(ByVal inDPI As IDataPortalInfo, ByVal inPremHistSetID As Decimal) As Decimal Calls the rating package procedure and returns the out_minimum_premium_amount output from SQL-010.
IsInformationPagePrinted Public Shared ReadOnly Property IsInformationPagePrinted(ByVal inDPI As IDataPortalInfo, ByVal inPolicyNumber As Decimal, ByVal inPolicyPeriodEffectiveDate As Date) As Boolean Checks whether a printed P401 endorsement exists for the policy period using SQL-007.
GetPolicyOwnershipSystem Public Shared ReadOnly Property GetPolicyOwnershipSystem(ByVal inDPI As IDataPortalInfo, ByVal inPolicyNumber As Decimal) As Enums.PolicyOwnershipSystems Calls the Oracle ownership function and maps the result to WCIS or SAIFQuote using SQL-006.

Behavioral notes

  • MaxPolicyEffectiveDate, PolicyPeriodExpirationDate, and AnniversaryRateDate each build a scalar portal request, execute it immediately, and cast the returned value to Date.
  • MarketType trims the returned code and converts it through Enums.ConvertMarketType(...).
  • MaxPremiumHistorySetId is the only date/policy scalar that explicitly guards for DBNull; it returns 0 when no qualifying row is returned.
  • PolicyMinimumPremium swallows any exception from the stored-procedure execution in an empty Catch block, so database or provider failures can fall through to the default return path.**
  • PolicyMinimumPremium reads out_minimum_premium_amount but never uses the out_expense_constant_amount output value after retrieval.
  • MaxPolicyEffectiveDate and PolicyPeriodExpirationDate cast DataRequest.Result directly to Date without a DBNull guard, so behavior when the query returns no row could not be confirmed.**

Constraints and usage notes

  • Every member requires an IDataPortalInfo instance because all data access is routed through the framework data-access layer.
  • The class contains commented-out legacy SQL members and properties; only the eight public shared members above are active.
  • GetPolicyOwnershipSystem relies on the database function returning a value that .ToBoolean can interpret as true or false.

Note: Statements marked with ** could not be confirmed; treat as unknown until verified.

Sources

  • SAIF.Business.Policy\PolicyInformation.vb