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

# IProviderMatchRule

`IProviderMatchRule` is the contract every individual address-matching strategy (`PhysicalOnlyMatchRule`, `PhysicalOnlyMatchPhysicalWithPayment`, `PhysicalAndPaymentMatchRule`, `PhysicalAndFacilityMatchRule`, `PaymentAndFacilityMatchRule`, `PaymentOnlyMatchRule`, `PhysicalPaymentAndFacilityMatchRule`, `ThreeAddressNoFacilityMatchesMatchRule`) implements, so `ProviderMatcher` and `ProviderIndexerV2` can build and evaluate an ordered rule set (per [DOM-BR-028](../../business-rules.md#dom-br-028-v2-indexing)) without depending on any specific rule's matching logic.

## Purpose
- Defines the single evaluation operation each address-matching rule provides: attempt to find one unique `ProviderLocation` that satisfies the rule's specific combination of physical/payment/facility address matches, given whether two-line bill addresses should be concatenated ([DOM-BR-029](../../business-rules.md#dom-br-029-matching)).

## Context
- Namespace: `SAIF.Domain.Claims.Ebilling.Indexing`
- Assembly/package: `SAIF.Domain` (`Domain/SAIF.Domain/SAIF.Domain.csproj`, .NET Framework 4.6.2 class library)

## Public members
| Member | Signature | Purpose |
| --- | --- | --- |
| UniqueProviderLocationMatch | `ProviderLocation UniqueProviderLocationMatch(bool concatenateTwoLineBillAddresses)` | Evaluates the rule's specific address-combination logic and returns the single unique matched `ProviderLocation`, or `null` when the rule's conditions are not met or produce more than one candidate. |

## Behavioral notes
- Every implementing class also derives from `ProviderMatchBase`, which supplies the shared address-comparison helpers each rule composes to satisfy this interface*.

> **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/Claims/Ebilling/Indexing/IProviderMatchRule.cs`
