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

# IPolicyQueryProvider

Contract implemented by `PolicyQueryProvider`.

## Purpose
- Defines the members that `PolicyQueryProvider` must provide to callers of this abstraction.

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

## Public members
| Member | Signature | Purpose |
| --- | --- | --- |
| LocationQueries | `ILocationQueryProvider LocationQueries { get; }` | Value of location queries exposed by this type.* |
| GetPolicy | `Policy GetPolicy(long policyNumber)` | Retrieves policy.* |
| GetBusiness | `Business GetBusiness(long policyNumber)` | Retrieves business.* |
| GetNonPolicyAccount | `NonEmployerAccount GetNonPolicyAccount(long accountNumber)` | Retrieves non policy account.* |
| GetPolicyTeamFunction | `PolicyTeamFunction GetPolicyTeamFunction(long policyNumber, string teamFunctionCode)` | Retrieves policy team function.* |
| GetGroupAssociation | `PolicyPeriodGroupAssoc GetGroupAssociation(long policyNumber, DateTime effectiveDate)` | Retrieves group association.* |
| GetPayrollReportForReportId | `PolicyPeriodPayrollAudit GetPayrollReportForReportId(long reportId)` | Retrieves payroll report for report id.* |

## Behavioral notes
- As an interface, this type defines no executable behavior of its own; behavior is determined by its implementation(s).*

## Constraints and usage notes
- Callers should depend on this interface rather than the concrete implementation(s) (`PolicyQueryProvider`) to preserve testability.*

> **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/IPolicyQueryProvider.cs`
