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

# OutputDocumentQueryProvider

Query provider exposing 9 data-access operation(s) (`DocumentStatusCodeQuery`, `DocumentSystemDate`, `GetAccountNumber`, `GetCategoryCodes`, `GetDocumentDate`, `GetPolicyOutputDocument` and 3 more) against 6 distinct table(s); see [sql/index.md](../../sql/index.md) for the full ORM operation catalog.

## Purpose
- Provides read/write access to 6 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 |
| --- | --- | --- |
| GetReleasedStatus | `DocumentStatusCode GetReleasedStatus()` | Executes an ORM query ([SQL-181](../../sql/SQL-181-output-document-query-provider-get-released-status.md)) against [document_status_code](../../database-tables.md#document_status_code). |
| GetUnReleasedDocumentsPriorToDate | `IEnumerable<PolicyOutputDocument> GetUnReleasedDocumentsPriorToDate(DateTime releaseDate)` | Retrieves un released documents prior to date.* |
| GetAccountNumber | `string GetAccountNumber(long policyNumber)` | Executes an ORM query ([SQL-182](../../sql/SQL-182-output-document-query-provider-get-account-number.md)) against [POLICY](../../database-tables.md#policy). |
| GetDocumentDate | `DateTime GetDocumentDate()` | Executes an ORM query ([SQL-183](../../sql/SQL-183-output-document-query-provider-get-document-date.md)) against [batch_process_log](../../database-tables.md#batch_process_log). |
| GetPolicyOutputDocument | `PolicyOutputDocument GetPolicyOutputDocument(long documentId)` | Executes an ORM query ([SQL-185](../../sql/SQL-185-output-document-query-provider-get-policy-output-document.md)) against [policy_output_document](../../database-tables.md#policy_output_document). |
| GetPolicyOutputDocumentsByImageId | `IEnumerable<PolicyOutputDocument> GetPolicyOutputDocumentsByImageId(long imageId)` | Retrieves policy output documents by image id.* |
| GetHeldDocumentsForNotification | `IEnumerable<PolicyOutputDocument> GetHeldDocumentsForNotification()` | Retrieves held documents for notification.* |
| GetReleasedAgencyViewablePolicyOutputDocuments | `IEnumerable<PolicyOutputDocument> GetReleasedAgencyViewablePolicyOutputDocuments(long policyNumber)` | Retrieves released agency viewable policy output documents.* |
| GetReleasedAgencyViewablePolicyOutputDocuments | `IEnumerable<PolicyOutputDocument> GetReleasedAgencyViewablePolicyOutputDocuments(long policyNumber, string documentCategory)` | Retrieves released agency viewable policy output documents.* |
| GetHeldAndPendingAgencyViewablePolicyOutputDocuments | `IEnumerable<PolicyOutputDocument> GetHeldAndPendingAgencyViewablePolicyOutputDocuments(long policyNumber)` | Retrieves held and pending agency viewable policy output documents.* |
| GetPolicyOutputDocumentsForInbox | `IEnumerable<PolicyOutputDocument> GetPolicyOutputDocumentsForInbox(bool showOnlyUnreadDocuments, DateTime releaseDate, long agencyId)` | Retrieves policy output documents for inbox.* |
| GetPolicyOutputDocumentsForInbox | `IEnumerable<PolicyOutputDocument> GetPolicyOutputDocumentsForInbox(bool showOnlyUnreadDocuments, DateTime releaseDate, long agencyId, long producerId)` | Retrieves policy output documents for inbox.* |
| GetPolicyOutputDocuments | `IEnumerable<PolicyOutputDocument> GetPolicyOutputDocuments(long policyNumber, DateTime documentDate, DateTime releaseDate)` | Retrieves policy output documents.* |
| GetManualAddOutputDocumentTypeCodes | `IEnumerable<OutputDocumentTypeCode> GetManualAddOutputDocumentTypeCodes()` | Retrieves manual add output document type codes.* |
| GetOutputDocumentTypeCode | `OutputDocumentTypeCode GetOutputDocumentTypeCode(string documentTypeCode)` | Retrieves output document type code.* |
| GetOutputDocumentTypeCodeByPackageCode | `OutputDocumentTypeCode GetOutputDocumentTypeCodeByPackageCode(string packetName)` | Retrieves output document type code by package code.* |
| GetCategoryCodes | `IEnumerable<OutputDocumentCategoryCode> GetCategoryCodes()` | Executes an ORM query ([SQL-188](../../sql/SQL-188-output-document-query-provider-get-category-codes.md)) against [output_document_category_code](../../database-tables.md#output_document_category_code). |
| CheckDocumentExist | `bool CheckDocumentExist(PolicyOutputDocument document, string documentTypeCode)` | Performs the `CheckDocumentExist` operation.* |
| GetReleasedAgencyViewableChildOutputDocuments | `IEnumerable<PolicyOutputDocument> GetReleasedAgencyViewableChildOutputDocuments(PolicyOutputDocument doc)` | Retrieves released agency viewable child output documents.* |
| OutputDocumentQueryProvider(IRepositoryFactory factory) | `OutputDocumentQueryProvider(IRepositoryFactory factory)` | Initializes a new instance, wiring the repository factory used by this provider's query methods.* |

## 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/OutputDocumentQueryProvider.cs`
