﻿---
title: clsStandardPolicyHeaderDataProvider
summary: API reference for clsStandardPolicyHeaderDataProvider.
status: draft
owner: SAIF Documentation Generation
last_reviewed: 2026-07-31
library: SAIF.Application.Policy
reference_type: package
---

# clsStandardPolicyHeaderDataProvider

`clsStandardPolicyHeaderDataProvider` composes the rendered policy-header payload exposed by this library. It loads the supporting policy and agency objects, resolves and filters associations, applies demo masking, derives cancellation status, and exposes user-facing messages and help text.

## Purpose
- Provide the concrete header payload consumed by policy-header callers.
- Centralize the policy-header behaviors that combine delegated data reads, local filtering, and display-specific logic.

## Context
- Namespace: `SAIF.Application.Policy.PolicyHeader`
- Assembly/package: `SAIF.Application.Policy`

## Public members
| Member | Signature | Purpose |
| --- | --- | --- |
| `New` | `Sub New(ByVal inDPI As IDataPortalInfo, ByVal inPolicyNumber As Decimal, ByVal inSecurityPrincipal As clsSecurityPrincipal, Optional ByVal inTargetAssociationTypes As IEnumerable(Of IPolicyAssociationType) = Nothing)` | Creates the provider for one policy, principal, and optional association-type target set. |
| `DemoMode` | `ReadOnly Property DemoMode As Boolean` | Caches whether this provider should substitute demo-safe header values instead of real agency or policyholder identifiers. |
| `AgencyName` | `ReadOnly Property AgencyName As String` | Renders the agency label for the header, substituting the fixed demo-safe text "SAIF Appointed Agent" for non-SAIF agencies when [BR-118](../../business-rules.md#br-118-demo-mode-masks-policyholder-values) applies. |
| `LegalName` | `ReadOnly Property LegalName As String` | Renders the policyholder legal name for the header, substituting the fixed demo-safe label when [BR-118](../../business-rules.md#br-118-demo-mode-masks-policyholder-values) applies. |
| `MarketTypeDescription` | `ReadOnly Property MarketTypeDescription As String` | Formats the policy market-type value into a spaced, header-ready label. |
| `ValidatedAssociations` | `ReadOnly Property ValidatedAssociations As IEnumerable(Of IPolicyHeaderAssociation)` | Exposes only the header association rows that survive both user-type ownership filtering and association-type resource authorization. |
| `PolicyAssociationParent` | `ReadOnly Property PolicyAssociationParent(ByVal inAssociationType As IPolicyAssociationType) As IPolicyHeaderAssociation` | Resolves the single parent row behind the requested association type so header labels can describe the owning relationship. |
| `PolicyName` | `ReadOnly Property PolicyName As String` | Renders the policyholder display name for the header, substituting the fixed demo-safe value when [BR-118](../../business-rules.md#br-118-demo-mode-masks-policyholder-values) applies. |
| `PolicyNumber` | `ReadOnly Property PolicyNumber As Decimal` | Exposes the policy identifier for which the provider loaded and formats header data. |
| `RateAccountNumber` | `ReadOnly Property RateAccountNumber As Decimal` | Surfaces the ER-combination parent policy number as the header's rate-account identifier, or `0` when no ER combination exists. |
| `RelationshipDescription` | `ReadOnly Property RelationshipDescription As String` | Builds the relationship label from the parent relationship association's type description and policy number, leaving it blank when no relationship row exists. |
| `StatusDescription` | `ReadOnly Property StatusDescription As String` | Builds the final header status string from the policy status, appending `Coverage Bound` per [BR-119](../../business-rules.md#br-119-coverage-bound-indicator-requires-bound-status-and-period) and adding the Oracle [`SP72268_GET_CANCEL_STATUS`](../../procedures/sp72268-get-cancel-status.md) result only for SAIF employees per [BR-120](../../business-rules.md#br-120-cancellation-status-is-for-saif-employees-only). |
| `Messages` | `ReadOnly Property Messages As IEnumerable(Of String)` | Builds the header's informational message list, currently emitting other-states coverage text and optional alternate-period detail. |
| `HelpTexts` | `ReadOnly Property HelpTexts As PolicyHeaderHelpTextCollection` | Lazy-loads the `POLHD` help-text collection that supplies display labels and association-type help for the header. |

## Behavioral notes
- The provider lazy-loads policy, agency, associations, messages, and help text.
- Cancellation status is retrieved through a direct Oracle function call and shown only to SAIF employees.

## Constraints and usage notes
- Association filtering combines ownership rules with association-type authorization before values are exposed.

## Sources
- `Application\SAIF.Application.Policy\PolicyHeader\clsStandardPolicyHeaderDataProvider.vb`
