Skip to content

PhysicalPaymentAndFacilityMatchRule

PhysicalPaymentAndFacilityMatchRule is an IProviderMatchRule that only applies when the biller has all three address roles: it first tries the fully-matching-addresses path via PhysicalOnlyMatchRule when physical, payment, and facility all agree, otherwise it tries PaymentAndFacilityMatchRule, and if that finds nothing it falls through to PhysicalAndPaymentMatchRule and then PhysicalAndFacilityMatchRule in turn — composing the other rule classes as an internal fallback chain rather than duplicating their address-comparison logic.

Purpose

  • Applies only when the biller has physical, payment, and facility addresses all present (DOM-BR-028).
  • Chooses PhysicalOnlyMatchRule when all three of the biller's addresses match each other, or PaymentAndFacilityMatchRule otherwise, then falls back to PhysicalAndPaymentMatchRule and finally PhysicalAndFacilityMatchRule if the first attempt finds no unique match.

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
PhysicalPaymentAndFacilityMatchRule (constructor) public PhysicalPaymentAndFacilityMatchRule(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 all three address roles, then tries PhysicalOnlyMatchRule/PaymentAndFacilityMatchRule, falling back to PhysicalAndPaymentMatchRule and PhysicalAndFacilityMatchRule in turn until a unique location is found or all attempts are exhausted.

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

  • This rule is not itself part of ProviderIndexerV2's generated rule sets; it composes the other rule classes as an internal fallback chain and is intended for callers that want a single rule covering the three-address biller case in one call*.

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