---
title: PolicyOutputDocumentExtensions
summary: API reference for PolicyOutputDocumentExtensions.
status: draft
owner: SAIF.Core documentation team
last_reviewed: 2026-09-24
library: SAIF.Data
reference_type: package
---

# PolicyOutputDocumentExtensions

Query provider exposing 9 data-access operation(s) (`AddAgencyViewableDocuments`, `AddDocument`, `AddDocuments`, `GeneratePacket`, `GetDocStatus`, `GetDocumentType` and 3 more) against 14 distinct table(s); see [sql/index.md](../../sql/index.md) for the full ORM operation catalog.

## Purpose
- Provides read/write access to 14 table(s) via NHibernate `IQueryable<T>`/`GetRepository<T>()` calls documented in [sql/index.md](../../sql/index.md).
- Exposes 9 public query/command method(s) consumed by higher application layers; see [database-tables.md](../../database-tables.md) for the underlying schema.

## Context
- Namespace: `SAIF.Data.Queries.OutputDocuments`
- Assembly/package: `SAIF.Data`

## Public members
| Member | Signature | Purpose |
| --- | --- | --- |
| ForPolicy | `static IQueryable<PolicyOutputDocument> ForPolicy(this IQueryable<PolicyOutputDocument> query, long policyNumber)` | Performs the `ForPolicy` operation.* |
| ForPolicyOrAccount | `static IQueryable<PolicyOutputDocument> ForPolicyOrAccount(this IQueryable<PolicyOutputDocument> query,
            long policyNumber, string accountNumber)` | Performs the `ForPolicyOrAccount` operation.* |
| Released | `static IQueryable<PolicyOutputDocument> Released(this IQueryable<PolicyOutputDocument> query)` | Performs the `Released` operation.* |
| AgencyViewable | `static IQueryable<PolicyOutputDocument> AgencyViewable(this IQueryable<PolicyOutputDocument> query)` | Performs the `AgencyViewable` operation.* |
| AgencyInboxViewable | `static IQueryable<PolicyOutputDocument> AgencyInboxViewable(this IQueryable<PolicyOutputDocument> query)` | Performs the `AgencyInboxViewable` operation.* |
| Held | `static IQueryable<PolicyOutputDocument> Held(this IQueryable<PolicyOutputDocument> query)` | Performs the `Held` operation.* |
| Pending | `static IQueryable<PolicyOutputDocument> Pending(this IQueryable<PolicyOutputDocument> query)` | Performs the `Pending` operation.* |
| HeldAndPending | `static IQueryable<PolicyOutputDocument> HeldAndPending(this IQueryable<PolicyOutputDocument> query)` | Performs the `HeldAndPending` operation.* |
| ForAgency | `static IQueryable<PolicyOutputDocument> ForAgency(this IQueryable<PolicyOutputDocument> query, long agencyId)` | Performs the `ForAgency` operation.* |
| ReleasedOnOrAfter | `static IQueryable<PolicyOutputDocument> ReleasedOnOrAfter(this IQueryable<PolicyOutputDocument> query, DateTime date)` | Performs the `ReleasedOnOrAfter` operation.* |
| ForProducer | `static IQueryable<PolicyOutputDocument> ForProducer(this IQueryable<PolicyOutputDocument> query, long producerId)` | Performs the `ForProducer` operation.* |
| NonViewed | `static IQueryable<PolicyOutputDocument> NonViewed(this IQueryable<PolicyOutputDocument> query)` | Performs the `NonViewed` operation.* |
| ForCategory | `static IQueryable<PolicyOutputDocument> ForCategory(this IQueryable<PolicyOutputDocument> query, string documentCategory)` | Performs the `ForCategory` operation.* |
| ForParentPolicy | `static IQueryable<PolicyOutputDocument> ForParentPolicy(this IQueryable<PolicyOutputDocument> query, long parentPolicyNumber)` | Performs the `ForParentPolicy` operation.* |
| ForRelationshipType | `static IQueryable<PolicyOutputDocument> ForRelationshipType(this IQueryable<PolicyOutputDocument> query, string relationshipType)` | Performs the `ForRelationshipType` operation.* |
| ForDocumentTypes | `static IQueryable<PolicyOutputDocument> ForDocumentTypes(this IQueryable<PolicyOutputDocument> query, string documentType)` | Performs the `ForDocumentTypes` operation.* |
| ForReleaseDate | `static IQueryable<PolicyOutputDocument> ForReleaseDate(this IQueryable<PolicyOutputDocument> query, DateTime releaseDate)` | Performs the `ForReleaseDate` operation.* |
| ForDocumentDate | `static IQueryable<PolicyOutputDocument> ForDocumentDate(this IQueryable<PolicyOutputDocument> query, DateTime documentDate)` | Performs the `ForDocumentDate` operation.* |

## Behavioral notes
- Query methods build LINQ expressions over `IQueryable<T>` obtained via `Factory.GetRepository<T>()` and execute them against the underlying NHibernate session.*

## Constraints and usage notes
- Instances are constructed with an `IRepositoryFactory` and are expected to be resolved through dependency injection rather than instantiated directly.*

> **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
- `Data/SAIF.Data/Queries/OutputDocuments/PolicyOutputDocumentExtensions.cs`
