---
title: clsPolicyData.Criteria
summary: API reference for clsPolicyData.Criteria.
status: draft
owner: SAIF Doc Gen
last_reviewed: 2026-07-31
library: SAIF.Business.View.Policy
reference_type: package
---

# clsPolicyData.Criteria

`clsPolicyData.Criteria` is the request object the framework data portal executes on behalf of `clsPolicyData`. It carries the policy number, the caller's access level, and the optional agent and agency filters, and it also owns the SQL text and stored-procedure names used by the header and detail reads. Because the access level travels on the criteria rather than on the retrieved object, the visibility decision is made before any row is read.

## Purpose

- Identifies the policy to retrieve and the caller's access level ([BR-010](../../business-rules.md#br-010-a-non-employer-account-requires-a-non-zero-account-number)).
- Carries the agent and agency filters used when a header read is scoped to one agent.
- Supplies the statement catalog the data portal executes for the header and detail reads (see the [SQL catalog](../../sql/index.md)).

## Context

- Namespace: `SAIF.Business.View.Policy`
- Assembly/package: `SAIF.BOF.Business.View.Policy`
- Declared in: `Business/SAIF.Business.View.Policy/clsPolicyData.vb`

## Public members

| Member | Signature | Purpose |
| --- | --- | --- |
| AgentNum | `Public Property AgentNum() As Decimal` | Identifier of the agent attached to the requested policy.* |
| AgencySeqNum | `Public Property AgencySeqNum() As Decimal` | Identifier of the agency sequence attached to the requested policy.* |
| PolicyNum | `Public Property PolicyNum() As Decimal` | Identifier of the policy attached to the requested policy.* |
| UserAccessLevel | `Public ReadOnly Property UserAccessLevel() As UserAccessLevels` | The user access level recorded on the requested policy.* |
| New | `Public Sub New(ByVal inDataPortalInfo As IDataPortalInfo)` | Builds the criteria for a retrieval, binding it to the data portal that will execute it. |
| New | `Public Sub New(ByVal inDataPortalInfo As IDataPortalInfo, ByVal inPolicyNum As Decimal)` | Builds the criteria for a retrieval, binding it to the data portal that will execute it. |
| New | `Public Sub New(ByVal inDataPortalInfo As IDataPortalInfo, ByVal inPolicyNum As Decimal, ByVal inUserAccessLevel As UserAccessLevels)` | Builds the criteria for a retrieval, binding it to the data portal that will execute it. |

## Constraints and usage notes

- `UserAccessLevel` is fixed at construction; a caller changes visibility by building a new criteria object rather than by mutating an existing one.

> **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

- `Business/SAIF.Business.View.Policy/clsPolicyData.vb`
