Skip to content

clsPolicyData

clsPolicyData is the aggregate "policy header" view object for this library and the principal factory surface most callers use to retrieve policy information — it aggregates policy number, name, status, agent/agency, associations, address, MCO, team assignments, and the period collection into a single object, and is consumed throughout the Claims Legal front end wherever a policy needs to be displayed or validated for access.

Purpose

  • Retrieves and aggregates the "policy header" view for a policy via four GetPolicyData overloads (by Criteria, by policy number, by a batch of policy numbers, by policy number + UserAccessLevel) (Retrieve policy header data).
  • Enforces that a policy number must be positive to be considered valid (BR-VP-001).
  • Classifies the requesting user's UserAccessLevel (via the UserAccessLevels enum) to drive downstream demo-user data masking.
  • Exposes an obsolete legacy AffiliateTypes enum, superseded by Associations/clsAssociationTypeCode.

Context

  • Namespace: SAIF.Business.View.Policy
  • Assembly/package: SAIF.Business.View.Policy (embedded library reference)

Public members

Member Signature Purpose
GetPolicyData Shared Function GetPolicyData(DPI As IDataPortalInfo, Criteria As IBusinessCriteria) As clsPolicyData Retrieves a policy header using a caller-supplied Criteria object.
GetPolicyData Shared Function GetPolicyData(DPI As IDataPortalInfo, PolicyNum As Decimal) As clsPolicyData Retrieves a policy header by policy number.
GetPolicyData Shared Function GetPolicyData(DPI As IDataPortalInfo, PolicyNum As Decimal, UserAccessLevel As UserAccessLevels) As clsPolicyData Retrieves a policy header by policy number, tagging the result with a user access level that drives demo-user masking.
GetPolicyData Shared Function GetPolicyData(DPI As IDataPortalInfo, PolicyNums As IEnumerable(Of Decimal)) As IEnumerable(Of clsPolicyData) Retrieves policy headers for a batch of policy numbers.
PolicyNum Property PolicyNum As Decimal The policy number identifying this policy header.
IsValid ReadOnly Property IsValid As Boolean Indicates whether the object currently satisfies all registered business rules, including PolicyNum > 0.
SecurePolicyCode Property SecurePolicyCode As String Flag used by clsPolicySecurity to determine whether the SAIF secure-policy AD-resource gate applies (BR-VP-002).
UserAccessLevels (Enum) Public Enum UserAccessLevels Ordered access-level ranking (SAIFEmployee=1000 down to QuickFileUser=300) used to drive data masking for demo users and to gate clsPolicySecurity authorization decisions.
IsDemoUser ReadOnly Property IsDemoUser As Boolean True when UserAccessLevel is any of the Demo* levels; gates demo-user data masking in this and related classes.
AffiliateTypes (Enum) <Obsolete> Public Enum AffiliateTypes Legacy affiliation classification, superseded by Associations/clsAssociationTypeCode.
Agency ReadOnly Property Agency As clsAgency The agency/agent record associated with this policy.
TeamAssignmentCollection ReadOnly Property TeamAssignmentCollection As clsTeamAssignmentCollection The team-member assignment roster for this policy.
Associations ReadOnly Property Associations As IEnumerable(Of IPolicyHeaderAssociation) Policy-to-policy associations for this policy (parent/child affiliations, groupable associations).

Inherited public members

Members in this section are inherited from clsBusinessBase in saif.framework.core. They are available on this type through inheritance.

Member Signature Purpose Origin
Rules Property Rules As clsRulesManager Owns the rule-registration/enforcement engine used to evaluate business rules such as PolicyNum > 0.† saif.framework.core — clsBusinessBase
BeginEdit Sub BeginEdit() Opens an in-memory editing scope for this object.† saif.framework.core — clsBusinessBase
CancelEdit Sub CancelEdit() Rolls back an in-memory editing scope for this object.† saif.framework.core — clsBusinessBase
ApplyEdit Sub ApplyEdit() Commits an in-memory editing scope for this object.† saif.framework.core — clsBusinessBase
Error (via IDataErrorInfo) ReadOnly Property Error As String Surfaces broken-rule state to data-bound UI controls.† saif.framework.core — clsBusinessBase
Item(columnName) (via IDataErrorInfo) ReadOnly Property Item(columnName As String) As String Surfaces per-column broken-rule messages to data-bound UI controls.† saif.framework.core — clsBusinessBase
AllowCache Public Property AllowCache() As Boolean Controls whether the retrieved object may be cached by the framework's data-access layer.† saif.framework.core — clsBusinessBase

Behavioral notes

  • If no row is found for a requested policy number, an error message is attached to the returned object rather than an exception being thrown.*
  • AddBusinessRules registers ValidPolicyNum against the PolicyNum property; when it fails, the broken-rule message "Error: Invalid policy number." is attached.

Constraints and usage notes

  • AffiliateTypes is marked <Obsolete>; new code should use Associations/clsAssociationTypeCode instead.
  • GetPolicyData delegates its actual retrieval to the BOF Framework's data access layer (saif.framework.core); the SQL/procedure call itself is pk73094_policy_data.getpolicy (SQL-VP-008).

Note: Statements marked with † are derived from dependency library documentation via the Legends CLI. Statements marked with * were inferred from code structure or contextual evidence. Statements marked with ** could not be confirmed; treat as unknown until verified.

Sources

  • SAIF.Business.View.Policy\clsPolicyData.vb