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¶
- Lazy-load the current policy through
clsPolicy.GetPolicy(DPI, PolicyNumber). -
Origin: The delegated retrieval flow is documented in Retrieve a policy (optionally masked).
- Lazy-load the producing agency through
clsProducer.GetProducer(DPI, Policy.AgentNumber).Agency. -
Origin: Producer retrieval is documented in Retrieve producers.
- Load all header associations through
clsPolicyHeaderAssociationFactory.GetPolicyHeaderAssociations, optionally constrained by target association types. -
Origin: The delegated association flow is documented in Resolve policy-header associations.
- Apply ownership filtering and then restrict the rows to association types present in the validated association-type set (BR-112, BR-116).
- Render display values.
- Demo mode substitutes fixed values for agency name, legal name, and policy name (BR-118).
- Status description appends
Coverage Boundonly when both policy and most-recent period are bound (BR-119). - 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.
- Show the returned value only for SAIF employees (BR-120).
- Normalize null or
DBNullreturn values to the empty string (BR-121). - Compute the rate-account number from the ER-combination parent and build the relationship description from the policy-relationship parent (BR-122, BR-123).
- Build the informational message set, including the other-states-coverage message when applicable (BR-124).
- Build the
POLHDhelp-text collection for the header labels and association descriptions (BR-125). -
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¶
RateAccountNumberandRelationshipDescriptionread from the unfiltered association set rather thanValidatedAssociations. Whether that is intentional could not be confirmed.**- The exact package mapping for
GetTotalDepositOnHandwas 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.
Related documentation¶
Sources¶
Application\SAIF.Application.Policy\PolicyHeader\clsStandardPolicyHeaderDataProvider.vbBusiness\SAIF.Business.Policy.Core\clsPolicy.vbBusiness\SAIF.Business.Policy.Agency\clsProducer.vbBusiness\SAIF.Business.View.Policy\Associations\clsPolicyHeaderAssociationFactory.vbBusiness\SAIF.Business\clsHelpText.vb