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

# IAuditQueryProvider

Contract implemented by `AuditQueryProvider`.

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

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

## Public members
| Member | Signature | Purpose |
| --- | --- | --- |
| ProviderQueries | `IProviderQueryProvider ProviderQueries { get; }` | Value of provider queries exposed by this type.* |
| ServiceCodeQueries | `IServiceCodeQueryProvider ServiceCodeQueries { get; }` | Coded value identifying service code queries.* |
| NoteQueries | `IAuditNoteQueryProvider NoteQueries { get; }` | Value of note queries exposed by this type.* |
| PaymentQueries | `IClaimPaymentQueryProvider PaymentQueries { get; }` | Value of payment queries exposed by this type.* |
| GetAudit | `CbpAudit GetAudit(long auditId)` | Retrieves audit.* |
| GetAuditForBill | `CbpAudit GetAuditForBill(long billId)` | Retrieves audit for bill.* |
| GetNonDuplicateServiceCount | `int GetNonDuplicateServiceCount(long billId)` | Retrieves non duplicate service count.* |
| GetPhysicalMedicineCount | `int GetPhysicalMedicineCount(long claimId)` | Retrieves physical medicine count.* |
| IsNurseReviewRequired | `bool IsNurseReviewRequired(long billId)` | Indicates whether nurse review required.* |
| GetServices | `IEnumerable<CbpAuditedService> GetServices(long claimId, long billIdToExclude, DateTime fromDate, DateTime thruDate)` | Retrieves services.* |
| GetOriginalBills | `IEnumerable<long> GetOriginalBills(long billId)` | Retrieves original bills.* |
| GetAdjustmentType | `CbpAuditAdjustmentType GetAdjustmentType(string code)` | Retrieves adjustment type.* |
| GetNationalDrugCode | `CbpNationalDrug GetNationalDrugCode(string code)` | Retrieves national drug code.* |

## 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) (`AuditQueryProvider`) 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/IAuditQueryProvider.cs`
