Skip to content

PhysicalOnlyMatchRule

PhysicalOnlyMatchRule is the IProviderMatchRule implementation used when a biller's physical address alone (or physical matched against payment/facility/all three) should be enough to identify a unique provider location: it applies when the biller has only a physical address, or when the physical address matches whichever other roles are present, and it matches only against provider locations that have exactly one non-expired, non-correspondence/non-payment address, further narrowed to locations with exactly one non-expired address overall. It is part of the ProviderIndexerV2 rule set for operation OP-DOM-04 (DOM-BR-028) and is also the default fallback rule ProviderMatcher builds when no explicit rule set is supplied.

Purpose

  • Matches a biller's physical address against provider locations that have exactly one qualifying (non-expired, non-correspondence, non-payment) address, applying when the biller has only a physical address or when its physical address matches its payment/facility/all-three addresses (DOM-BR-022, DOM-BR-029).
  • Narrows the initial address match down to provider locations with exactly one non-expired address overall, returning that location only when exactly one such candidate remains.

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
PhysicalOnlyMatchRule (constructor) public PhysicalOnlyMatchRule(IEnumerable<EbillAddress> ebillAddresses, IEnumerable<ProviderAddress> providerAddresses) Initializes the rule with the biller's e-bill addresses and the candidate provider addresses, via ProviderMatchBase.
UniqueProviderLocationMatch public ProviderLocation UniqueProviderLocationMatch(bool concatenateTwoLineBillAddresses) Applies only when the biller has a physical-address-only profile or a matching physical/payment/facility combination, then returns the unique provider location whose only qualifying address matches the physical address, or null otherwise (DOM-BR-029).

Inherited public members

Members in this section are inherited from ProviderMatchBase in SAIF.Domain. They are available on this type through inheritance.

Member Signature Purpose Origin
BillerHasPhysicalPaymentAndFacilityAddresses public bool BillerHasPhysicalPaymentAndFacilityAddresses() Reports whether the biller has all three address roles present. SAIF.Domain — ProviderMatchBase
EbillAddressAndProviderAddressMatch public static bool EbillAddressAndProviderAddressMatch(EbillAddress ebillAddress, ProviderAddress providerAddress, bool concatenateTwoLineBillAddresses) Reports whether an e-bill address matches a candidate provider address on Line1 (optionally concatenated with Line2), City, and zero-padded zip code (DOM-BR-022). SAIF.Domain — ProviderMatchBase
TwoEbillAddressesMatch public static bool TwoEbillAddressesMatch(EbillAddress addressOne, EbillAddress addressTwo) Reports whether two e-bill addresses match on Line1, City, and zero-padded zip code. SAIF.Domain — ProviderMatchBase
GetUniqueLocation public static ProviderLocation GetUniqueLocation(IList<ProviderAddress> matchedAddressesListOne, IList<ProviderAddress> matchedAddressesListTwo) Intersects two matched-address lists by provider-location id and returns the single common ProviderLocation, or null when the intersection is not exactly one location (DOM-BR-025). SAIF.Domain — ProviderMatchBase
GetMatchingProviderAddresses (single address) public static IEnumerable<ProviderAddress> GetMatchingProviderAddresses(EbillAddress ebillAddress, IEnumerable<ProviderAddress> providerAddresses, bool concatenateTwoLineBillAddresses) Filters the candidate provider addresses down to those matching the given e-bill address. SAIF.Domain — ProviderMatchBase
GetMatchingProviderAddresses (address set) public static IEnumerable<ProviderAddress> GetMatchingProviderAddresses(IEnumerable<EbillAddress> ebillAddresses, IEnumerable<ProviderAddress> providerAddresses, bool concatenateBillAddresses) Filters the candidate provider addresses down to those matching any address in the given e-bill address set. SAIF.Domain — ProviderMatchBase
RemoveSpecialCharacters public static string RemoveSpecialCharacters(string input) Strips every character except letters, digits, and spaces from the input, returning null for a null input. SAIF.Domain — ProviderMatchBase

Behavioral notes

  • The rule filters candidate provider locations to those with exactly one address excluding correspondence and payment types before matching, then re-checks that the matched location has exactly one non-expired address overall — a location that passes the first filter but has multiple non-expired addresses of other types will not produce a unique match*.

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/PhysicalOnlyMatchRule.cs
  • Domain/SAIF.Domain/Claims/Ebilling/Indexing/ProviderMatchBase.cs