Skip to content

SAIF.Business.View.Policy overview

Documentation context: Front-End Application Component Documented via: LegalMaintenance (LegalMaintenance/LegalMaintenance.vbproj)

SAIF.Business.View.Policy is a read-only business/domain library in the SAIF BOF stack that provides a policy-centric view of Oracle policy data for consumers such as LegalMaintenance and SAIF.Business.Claim.Legal.* Its aggregate root, clsPolicyData, exposes policy header, period, address, agency, team, and association data, and it is the only library in this documentation run that reaches two independent databases: Oracle (primary) and SQL Server, referred to internally as "BDS" (secondary, security-only).

Purpose

  • Provide a read-only projection of policy data for downstream consumers: every IBusinessCriteria implementation returns an empty statement or throws for CreateSQL, InsertSQL, UpdateSQL, and DeleteSQL (BR-VP-027); only RetrieveSQL and dedicated retrieval-only SQL properties carry statements.*
  • Serve as the entry point for consumers via clsPolicyData.GetPolicyData, lazily populating child collections for agency, address, periods, team, trading-as names, and associations.*
  • Maintain both the current policy-to-policy association model and the older, obsolete affiliate model side by side.
  • Enforce policy-level authorization and per-user-type policy-list retrieval through clsPolicySecurity, the library's sole authorization boundary (BR-VP-003, BR-VP-005).
  • Apply demo-user data masking to names, addresses, and identifiers inside the business objects themselves (BR-VP-010).*

Responsibilities

  • Retrieve and assemble a complete policy view (clsPolicyData and its child objects) from Oracle via the BOF DPI.
  • Authorize user access to a given policy and produce the accessible-policy list for a user via a secondary SQL Server ("BDS") connection.
  • Classify and expose policy association data (current model) and affiliated-policy data (legacy, obsolete model).
  • Convert and expose policy status, market type, and user access-level codes.

Key components

  • clsPolicyData: aggregate root for a policy view.
  • clsPolicySecurity: authorization boundary; owns the secondary SQL Server (BDS) data layer.
  • Associations/ + PolicyAssociations.vb: current policy relationship model.
  • clsAffiliatedPolicy / clsAffiliatedPolicyCollection: legacy affiliate model (<Obsolete>).
  • clsPolicyPeriod(Collection), clsPolicyAddress, clsAgency, clsTeamAssignment(Collection), clsTradingAs(Collection): policy-adjacent entities.

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.View.Policy/clsPolicyData.vb
  • SAIF.Business.View.Policy/clsPolicySecurity.vb
  • SAIF.Business.View.Policy/clsPolicyPeriod.vb
  • SAIF.Business.View.Policy/clsTeamAssignment.vb
  • SAIF.Business.View.Policy/clsTeamAssignmentCollection.vb
  • SAIF.Business.View.Policy/Associations/clsPolicyAssociation.vb
  • SAIF.Business.View.Policy/SAIF.Business.View.Policy.vbproj