Skip to content

Assemble the policy header payload

This operation builds the policy-header payload returned to consuming applications. It loads supporting policy and agency objects, retrieves and filters header associations, applies demo masking, derives cancellation status, and exposes help text and informational messages.

Field Value
Operation ID OP-07
Trigger A consumer reads any IPolicyHeaderDataProvider member
Inputs DPI, policy number, security principal, optional target association types
Outputs Rendered policy-header values, filtered associations, messages, help texts, and cancellation-status text
Primary components clsStandardPolicyHeaderDataProvider
Entry point Application\SAIF.Application.Policy\PolicyHeader\clsStandardPolicyHeaderDataProvider.vb

Steps

  1. Lazy-load the current policy through clsPolicy.GetPolicy(DPI, PolicyNumber).
  2. Origin: The delegated retrieval flow is documented in Retrieve a policy (optionally masked).

  3. Lazy-load the producing agency through clsProducer.GetProducer(DPI, Policy.AgentNumber).Agency.
  4. Origin: Producer retrieval is documented in Retrieve producers.

  5. Load all header associations through clsPolicyHeaderAssociationFactory.GetPolicyHeaderAssociations, optionally constrained by target association types.
  6. Origin: The delegated association flow is documented in Resolve policy-header associations.

  7. Apply ownership filtering and then restrict the rows to association types present in the validated association-type set (BR-112, BR-116).
  8. Render display values.
  9. Demo mode substitutes fixed values for agency name, legal name, and policy name (BR-118).
  10. Status description appends Coverage Bound only when both policy and most-recent period are bound (BR-119).
  11. Derive cancellation status by invoking SQL-001 against POLICY, POLICY_STATUS_CODE, POLICY_DEMAND, POLICY_PERIOD_PAYROLL_AUDIT, AUDIT_CODE, CANCELLATION, and COLLECTION_LEGAL_ACTION.
  12. Show the returned value only for SAIF employees (BR-120).
  13. Normalize null or DBNull return values to the empty string (BR-121).
  14. Compute the rate-account number from the ER-combination parent and build the relationship description from the policy-relationship parent (BR-122, BR-123).
  15. Build the informational message set, including the other-states-coverage message when applicable (BR-124).
  16. Build the POLHD help-text collection for the header labels and association descriptions (BR-125).
  17. Origin: Help-text retrieval is documented in Help text retrieval.

Process flow

The following diagram visualizes policy-header composition.

flowchart TD
    Start([Header value requested]) --> Policy[Load policy]
    Policy --> Agency[Load agency]
    Agency --> Assoc[Load header associations]
    Assoc --> Filter[Apply association security and ownership filters]
    Filter --> Render[Render display fields and masks]
    Render --> Cancel[Derive cancellation status]
    Cancel --> Extras[Build messages, help text, relationship, and rate account]
    Extras --> Done([Return header payload])

Failure and edge-case behavior

  • RateAccountNumber and RelationshipDescription read from the unfiltered association set rather than ValidatedAssociations. Whether that is intentional could not be confirmed.**
  • The exact package mapping for GetTotalDepositOnHand was not confirmed in the findings, so deposit-on-hand behavior is documented outside this header path.**

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

Sources

  • Application\SAIF.Application.Policy\PolicyHeader\clsStandardPolicyHeaderDataProvider.vb
  • Business\SAIF.Business.Policy.Core\clsPolicy.vb
  • Business\SAIF.Business.Policy.Agency\clsProducer.vb
  • Business\SAIF.Business.View.Policy\Associations\clsPolicyHeaderAssociationFactory.vb
  • Business\SAIF.Business\clsHelpText.vb