---
title: IClaimReportDataRetriever
summary: API reference for IClaimReportDataRetriever.
status: draft
owner: SAIF Doc Gen
last_reviewed: 2026-09-24
library: SAIF.Services
reference_type: package
---

# IClaimReportDataRetriever

Defines the contract for retrieving claim-level data needed to report on broken provider relationships (worker representation, attending physician, and benefit payment scenarios), implemented by `ClaimReportDataRetriever` and consumed by `ClaimReportingService` to drive the broken-provider-relationship report.

## Purpose
- Declares lookups for claims linked to a provider relationship by relationship category (legal representative, attending physician, benefit payment).
- Declares a lookup for provider relationships that have expired on or after a given effective date.
- Declares a method to build a per-claim `ReportItem` summarizing a claim's status, provider names, and adjuster contact for reporting.

## Context
- Namespace: `SAIF.Services.Claims.Reports`
- Assembly/package: `SAIF.Services` (packaged inside the `SAIF.SAIFCode.Core` NuGet package)

## Public members
| Member | Signature | Purpose |
| --- | --- | --- |
| GetLegalRepClaimsWithProviderRelationship(providerLocationId, parentProviderLocationId) | `IEnumerable<long> GetLegalRepClaimsWithProviderRelationship(long providerLocationId, long parentProviderLocationId)` | Returns the claim IDs where the given provider/parent-provider location pair serves as legal representative. |
| GetAttendingPhysicianClaimsWithProviderRelationship(providerLocationId, parentProviderLocationId) | `IEnumerable<long> GetAttendingPhysicianClaimsWithProviderRelationship(long providerLocationId, long parentProviderLocationId)` | Returns the claim IDs where the given provider/parent-provider location pair serves as attending physician. |
| GetBenefitPaymentClaimsWithProviderRelationship(providerLocationId, parentProviderLocationId) | `IEnumerable<long> GetBenefitPaymentClaimsWithProviderRelationship(long providerLocationId, long parentProviderLocationId)` | Returns the claim IDs linked to the provider/parent-provider location pair through benefit payments. |
| GetExpiredRelationships(effectiveDate) | `IEnumerable<ProviderRelationship> GetExpiredRelationships(DateTime effectiveDate)` | Returns provider relationships that expired on or after the given date and have no currently active replacement relationship. |
| GetReportDetails(claimId, relationship) | `ReportItem GetReportDetails(long claimId, ProviderRelationship relationship)` | Builds a `ReportItem` describing the claim's status, provider identities, and responsible adjuster for the given expired provider relationship. |

## Behavioral notes
- This interface is the sole abstraction `ClaimReportingService` uses to source report data, keeping report orchestration decoupled from the underlying query providers.*

## Constraints and usage notes
- Implementations are expected to return empty (not exceptional) results when no matching claims/relationships exist, based on `ClaimReportDataRetriever`'s behavior.*

> **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
- Services/SAIF.Services/Claims/Reports/ClaimReportDataRetriever.cs
