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

# IErrorConditionHandler

`IErrorConditionHandler` is the contract that decouples the indexing and generation callers (`PatientIndexer`, `ProviderIndexer`/`ProviderIndexerV2`, `BillServiceIndexer`, `GenerateCbpBills`) from the concrete `ErrorConditionHandler` implementation, so those callers can record data-quality errors during [OP-DOM-07](../../operations-processes.md#op-dom-07) processing without depending on the entity-persistence details ([DOM-BR-070](../../business-rules.md#dom-br-070-error-recording)).

## Purpose
- Declares the four error-recording operations (provider, patient, bill-service, bill-service-provider) that any implementation must support so callers can record errors polymorphically.

## Context
- Namespace: `SAIF.Domain.Model.Claims.Ebilling`
- Assembly/package: `SAIF.Domain` (packaged in `SAIF.SAIFCode.Core`)

## Public members
| Member | Signature | Purpose |
| --- | --- | --- |
| AddProviderError | `void AddProviderError(EbillProvider provider, string errorText)` | Records an error against `provider`; implemented as a pended, provider-flagged error by `ErrorConditionHandler` ([DOM-BR-070](../../business-rules.md#dom-br-070-error-recording)). |
| AddPatientError | `void AddPatientError(EbillPatient patient, string errorText)` | Records an error against `patient`; implemented as a pended, non-provider-flagged error by `ErrorConditionHandler` ([DOM-BR-070](../../business-rules.md#dom-br-070-error-recording)). |
| AddBillServiceError | `void AddBillServiceError(Ebill bill, string errorText, bool isPending = true)` | Records an error against `bill`, with the pended state controlled by `isPending`; implemented by `ErrorConditionHandler` ([DOM-BR-070](../../business-rules.md#dom-br-070-error-recording)). |
| AddBillServiceProviderError | `void AddBillServiceProviderError(EbillService service, string errorText)` | Records an error against `service`'s provider; implemented as a pended, provider-flagged error by `ErrorConditionHandler` ([DOM-BR-070](../../business-rules.md#dom-br-070-error-recording)). |

## Behavioral notes
- The interface carries no state and no default-interface-method bodies; all recording semantics (which flags get set) live entirely in the implementing class*.

## Constraints and usage notes
- `SAIF.Domain` provides exactly one implementation, `ErrorConditionHandler`; the interface exists primarily to make callers unit-testable against a substitute handler*.

> **Note:** Statements marked with `*` were inferred from code structure, naming
> conventions, or contextual evidence where direct confirmation was not available
> in source artifacts.

## Sources
- `Domain/SAIF.Domain/Model/Claims/Ebilling/IErrorConditionHandler.cs`
- `Domain/SAIF.Domain/Model/Claims/Ebilling/ErrorConditionHandler.cs`
