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

# ClaimQueryProvider

Query provider exposing 17 data-access operation(s) (`GetActiveClaimsWithOutstandingReserves`, `GetAttendingPhysician`, `GetClaimFromInjuryClaimCrossReference`, `GetClaimLegalRepresentative`, `GetClaimPersonAddresses`, `GetClaimRequestDecisions` and 11 more) against 17 distinct table(s); see [sql/index.md](../../sql/index.md) for the full ORM operation catalog.

## Purpose
- Provides read/write access to 17 table(s) via NHibernate `IQueryable<T>`/`GetRepository<T>()` calls documented in [sql/index.md](../../sql/index.md).
- Exposes 17 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.Claims`
- Assembly/package: `SAIF.Data`

## Public members
| Member | Signature | Purpose |
| --- | --- | --- |
| Date | `DateTime? Date { get; set; }` | Date/time value for date.* |
| Amount | `Decimal Amount { get; set; }` | Monetary amount for amount.* |
| IsValidClaim | `bool IsValidClaim(long claimId)` | Indicates whether valid claim.* |
| IsValidClaim | `bool IsValidClaim(string claimNumber)` | Indicates whether valid claim.* |
| HasLegalRepresentativeHistory | `bool HasLegalRepresentativeHistory(long claimId)` | Indicates whether legal representative history.* |
| GetClaim | `InjuryClaim GetClaim(long claimId)` | Retrieves claim.* |
| GetClaim | `InjuryClaim GetClaim(string claimNumber)` | Retrieves claim.* |
| GetLatestMco | `McoLocation GetLatestMco(long claimId)` | Retrieves latest mco.* |
| GetAllMcoLocations | `IEnumerable<McoLocation> GetAllMcoLocations(long claimId)` | Retrieves all mco locations.* |
| GetClaimFromInjuryClaimCrossReference | `InjuryClaim GetClaimFromInjuryClaimCrossReference(string customerClaimNumber)` | Executes an ORM query ([SQL-056](../../sql/SQL-056-claim-query-provider-get-claim-from-injury-claim-cross-reference.md)) against [LPT_CLAIM_CROSS_REFERENCE](../../database-tables.md#lpt_claim_cross_reference). |
| GetAttendingPhysician | `AttendingPhysician GetAttendingPhysician(long claimId)` | Executes an ORM query ([SQL-057](../../sql/SQL-057-claim-query-provider-get-attending-physician.md)) against [PROVIDER_LOCATION](../../database-tables.md#provider_location). |
| GetClaimStatusDate | `DateTime GetClaimStatusDate(long claimId)` | Executes an ORM query ([SQL-058](../../sql/SQL-058-claim-query-provider-get-claim-status-date.md)) against [CL_CLAIM_STATUS_ACTIVITY](../../database-tables.md#cl_claim_status_activity). |
| GetWorkStatus | `ClaimWorkStatus GetWorkStatus(long claimId)` | Retrieves work status.* |
| GetWorkReleaseStatus | `ClaimWorkReleaseStatus GetWorkReleaseStatus(long claimId)` | Retrieves work release status.* |
| GetLatestClaimTypeActivity | `ClaimTypeActivity GetLatestClaimTypeActivity(long claimId)` | Retrieves latest claim type activity.* |
| GetClaimTypeActivity | `IEnumerable<ClaimTypeActivity> GetClaimTypeActivity(long claimId)` | Retrieves claim type activity.* |
| GetClaimPersonAddresses | `IEnumerable<ClaimPersonAddress> GetClaimPersonAddresses(long personId)` | Executes an ORM query ([SQL-059](../../sql/SQL-059-claim-query-provider-get-claim-person-addresses.md)) against [CL_CLAIM_PERSON_ADDRESS](../../database-tables.md#cl_claim_person_address). |
| GetClaimsMissingTaxId | `IEnumerable<InjuryClaim> GetClaimsMissingTaxId(DateTime lookbackDate)` | Executes an ORM query ([SQL-060](../../sql/SQL-060-claim-query-provider-get-claims-missing-tax-id.md)) against [CL_INJURY_CLAIM](../../database-tables.md#cl_injury_claim), [CL_CLAIM_PERSON](../../database-tables.md#cl_claim_person). |
| GetLatestClaimStatus | `ClaimStatusDetail GetLatestClaimStatus(long claimId)` | Retrieves latest claim status.* |
| GetCompensabilityStatus | `CompensabilityStatusCode GetCompensabilityStatus(long claimId)` | Retrieves compensability status.* |
| GetClaimStatusActivity | `IEnumerable<ClaimStatusActivity> GetClaimStatusActivity(long claimId)` | Executes an ORM query ([SQL-061](../../sql/SQL-061-claim-query-provider-get-claim-status-activity.md)) against [CL_CLAIM_STATUS_ACTIVITY](../../database-tables.md#cl_claim_status_activity). |
| GetClaimRequestDecisions | `IEnumerable<ClaimRequestDecision> GetClaimRequestDecisions(long claimId)` | Executes an ORM query ([SQL-062](../../sql/SQL-062-claim-query-provider-get-claim-request-decisions.md)) against [CL_CLAIM_REQUEST_DECISION](../../database-tables.md#cl_claim_request_decision). |
| GetWcdStatusHistory | `IEnumerable<ClaimStatusDetail> GetWcdStatusHistory(long claimId)` | Retrieves wcd status history.* |
| GetOriginalAcceptance | `ClaimRequestDecision GetOriginalAcceptance(long claimId)` | Executes an ORM query ([SQL-063](../../sql/SQL-063-claim-query-provider-get-original-acceptance.md)) against [CL_CLAIM_REQUEST_DECISION](../../database-tables.md#cl_claim_request_decision), [CL_REQUEST_TYPE_CODE](../../database-tables.md#cl_request_type_code), [CLAIM_DECISION_CODE](../../database-tables.md#claim_decision_code). |
| GetClaimLegalRepresentative | `ClaimLegalRepresentative GetClaimLegalRepresentative(long claimId)` | Executes an ORM query ([SQL-064](../../sql/SQL-064-claim-query-provider-get-claim-legal-representative.md)) against [CL_CLAIM_LEGAL_REPRESENTATIVE](../../database-tables.md#cl_claim_legal_representative). |
| GetResponsibility | `ClaimResponsibility GetResponsibility(long claimId)` | Retrieves responsibility.* |
| GetVocationalCoordinator | `VocationalResponsibilityCode GetVocationalCoordinator(long claimId)` | Retrieves vocational coordinator.* |
| GetRTWAdjusterMailId | `string GetRTWAdjusterMailId(long claimId)` | Retrieves RTW adjuster mail id.* |
| GetMcoEnrollmentDate | `DateTime GetMcoEnrollmentDate(long claimId)` | Retrieves mco enrollment date.* |
| GetConditions | `IEnumerable<MedicalCondition> GetConditions(long claimId)` | Executes an ORM query ([SQL-065](../../sql/SQL-065-claim-query-provider-get-conditions.md)) against [CL_MEDICAL_CONDITION](../../database-tables.md#cl_medical_condition), [CL_INJURY_CLAIM](../../database-tables.md#cl_injury_claim). |
| GetActiveClaimsWithOutstandingReserves | `IEnumerable<long> GetActiveClaimsWithOutstandingReserves()` | Executes an ORM query ([SQL-066](../../sql/SQL-066-claim-query-provider-get-active-claims-with-outstanding-reserves.md)) against [CL_INJURY_CLAIM](../../database-tables.md#cl_injury_claim). |
| GetVocationalDetails | `IEnumerable<VocationalDetail> GetVocationalDetails(long claimId)` | Retrieves vocational details.* |
| GetPharmacyEligibilityReport | `PharmacyEligibilityReport GetPharmacyEligibilityReport(long claimId)` | Executes an ORM query ([SQL-067](../../sql/SQL-067-claim-query-provider-get-pharmacy-eligibility-report.md)) against [CL_PHARMACY_ELIGIBILITY_REPORT](../../database-tables.md#cl_pharmacy_eligibility_report). |
| GetEaipPeriods | `IEnumerable<EaipPeriod> GetEaipPeriods(long claimId)` | Executes an ORM query ([SQL-068](../../sql/SQL-068-claim-query-provider-get-eaip-periods.md)) against [EAIP_PERIOD](../../database-tables.md#eaip_period), [CL_INJURY_CLAIM](../../database-tables.md#cl_injury_claim). |
| GetThirdPartyCase | `ThirdPartyCase GetThirdPartyCase(long claimId)` | Executes an ORM query ([SQL-069](../../sql/SQL-069-claim-query-provider-get-third-party-case.md)) against [THRDPARTY_CASE](../../database-tables.md#thrdparty_case). |
| GetRtwCase | `RTWCase GetRtwCase(long claimId)` | Executes an ORM query ([SQL-070](../../sql/SQL-070-claim-query-provider-get-rtw-case.md)) against [RTW_CASE](../../database-tables.md#rtw_case). |
| GetLastPayment | `FinancialTransaction GetLastPayment(long claimId)` | Retrieves last payment.* |
| GetClaimStatusCode | `ClaimStatusCode GetClaimStatusCode(string code)` | Executes an ORM query ([SQL-071](../../sql/SQL-071-claim-query-provider-get-claim-status-code.md)) against [claim_status_code](../../database-tables.md#claim_status_code). |
| GetClaimTypeCode | `ClaimTypeCode GetClaimTypeCode(string code)` | Executes an ORM query ([SQL-072](../../sql/SQL-072-claim-query-provider-get-claim-type-code.md)) against [CL_CLAIM_TYPE_CODE](../../database-tables.md#cl_claim_type_code). |
| GetRecoverableOverpaymentBalance | `decimal GetRecoverableOverpaymentBalance(long claimId)` | Retrieves recoverable overpayment balance.* |
| ClaimQueryProvider(IRepositoryFactory factory, IBillQueryProvider billQueryProvider, ILegalQueryProvider legalQueryProvider, IReserveQueryProvider reserveQueryProvider, IWorkerQueryProvider workerQueryProvider, IPolicyQueryProvider policyQueryProvider, IEmployeeQueryProvider employeeQueryProvider, ICCClaimApiService claimApiService, IClaimDataApiClient gwClaimDataApiClient) | `ClaimQueryProvider(IRepositoryFactory factory, IBillQueryProvider billQueryProvider, ILegalQueryProvider legalQueryProvider, IReserveQueryProvider reserveQueryProvider, IWorkerQueryProvider workerQueryProvider, IPolicyQueryProvider policyQueryProvider, IEmployeeQueryProvider employeeQueryProvider, ICCClaimApiService claimApiService, IClaimDataApiClient gwClaimDataApiClient)` | 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/Claims/ClaimQueryProvider.cs`
