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

# IBillQueryProvider

Contract implemented by `BillQueryProvider`.

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

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

## Public members
| Member | Signature | Purpose |
| --- | --- | --- |
| AuditQueries | `IAuditQueryProvider AuditQueries { get; }` | Value of audit queries exposed by this type.* |
| AuditNoteQueries | `IAuditNoteQueryProvider AuditNoteQueries { get; }` | Value of audit note queries exposed by this type.* |
| ProviderQueries | `IProviderQueryProvider ProviderQueries { get; }` | Value of provider queries exposed by this type.* |
| ServiceCodeQueries | `IServiceCodeQueryProvider ServiceCodeQueries { get; }` | Coded value identifying service code queries.* |
| GetBill | `CbpBill GetBill(long billId)` | Retrieves bill.* |
| BillExists | `bool BillExists(long billId)` | Performs the `BillExists` operation.* |
| GetBillsForClaim | `IEnumerable<CbpBill> GetBillsForClaim(long claimId)` | Retrieves bills for claim.* |
| GetBillIdsForClaim | `IEnumerable<long> GetBillIdsForClaim(long claimId)` | Retrieves bill ids for claim.* |
| GetBillTypes | `IEnumerable<CbpBillTypeCode> GetBillTypes()` | Retrieves bill types.* |
| GetBillStatusHistory | `IEnumerable<CbpBillStatus> GetBillStatusHistory(long billId)` | Retrieves bill status history.* |
| GetCbpProcedureCode | `CbpProcedureCode GetCbpProcedureCode(string code, string icdVersion)` | Retrieves cbp procedure code.* |
| GetBillStatusCode | `CbpBillStatusCode GetBillStatusCode(string status)` | Retrieves bill status code.* |
| GetRegeneratedBillEntrySourceCode | `CbpBillEntrySourceCode GetRegeneratedBillEntrySourceCode()` | Retrieves regenerated bill entry source code.* |
| GetEbillEntrySourceCode | `CbpBillEntrySourceCode GetEbillEntrySourceCode()` | Retrieves ebill entry source code.* |
| GetCbpBillTypeCode | `CbpBillTypeCode GetCbpBillTypeCode(string billType)` | Retrieves cbp bill type code.* |
| GetCbpServiceCodeNotExpired | `CbpServiceCode GetCbpServiceCodeNotExpired(string serviceCode)` | Retrieves cbp service code not expired.* |
| GetCbpServiceCodeExpired | `CbpServiceCode GetCbpServiceCodeExpired(string serviceCode)` | Retrieves cbp service code expired.* |
| GetCbpDiagnosisTypeCode | `CbpDiagnosisTypeCode GetCbpDiagnosisTypeCode(EbillHealthInformation diagnosis)` | Retrieves cbp diagnosis type code.* |
| GetBillServiceTypeCode | `CbpServiceTypeCode GetBillServiceTypeCode(string serviceTypecode)` | Retrieves bill service type code.* |
| GetBillServiceCode | `CbpServiceCode GetBillServiceCode(string serviceCode, string serviceTypeCode)` | Retrieves bill service code.* |
| GetDispenseAsWritten | `PharmacyDispenseAsWrittenCode GetDispenseAsWritten(string dispenseAsWritten)` | Retrieves dispense as written.* |
| GetNationalDrug | `CbpNationalDrug GetNationalDrug(string nationalDrugCode)` | Retrieves national drug.* |
| GetBillAmounts | `decimal GetBillAmounts(long claimId, string paymentCategory, IList<string> billTypes)` | Retrieves bill amounts.* |
| GetStrippedCbpDiagnosis | `string GetStrippedCbpDiagnosis(string diagnosisInformation, string icdVersion)` | Retrieves stripped cbp diagnosis.* |
| GetCbpDiagnosis | `CbpDiagnosis GetCbpDiagnosis(string diagnosisInformation, string icdVersion)` | Retrieves cbp diagnosis.* |
| GetCbpServiceZCode | `CbpServiceCode GetCbpServiceZCode(string serviceCode)` | Retrieves cbp service Z code.* |
| GetCbpServiceZDecDescription | `CbpServiceDescription GetCbpServiceZDecDescription(string serviceCode)` | Retrieves cbp service Z dec description.* |
| GetCbpServiceZDecDescriptionStateless | `CbpServiceDescriptionStateless GetCbpServiceZDecDescriptionStateless(string serviceCode)` | Retrieves cbp service Z dec description stateless.* |
| GetBillServiceCodeStateless | `CbpServiceCodeStateless GetBillServiceCodeStateless(string serviceCode, string serviceTypeCode)` | Retrieves bill service code stateless.* |
| GetIcdVersion | `IcdVersionCode GetIcdVersion(string icdVersion)` | Retrieves icd version.* |

## 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) (`BillQueryProvider`) 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/IBillQueryProvider.cs`
