Skip to content

PhysicalAndPaymentMatchRule

PhysicalAndPaymentMatchRule is an IProviderMatchRule for billers that supplied both a physical and a payment address: when those two addresses textually match each other, it delegates to PhysicalOnlyMatchRule; otherwise it independently matches the physical and payment addresses against two-address provider locations and requires both matches to intersect to the same unique location (DOM-BR-025). It is part of the ProviderIndexerV2 rule set for operation OP-DOM-04 (DOM-BR-028).

Purpose

  • Applies only when the biller has both a physical and a payment address (DOM-BR-023).
  • When the biller's physical and payment addresses match each other, reduces to the simpler single-address matching implemented by PhysicalOnlyMatchRule.
  • Otherwise independently matches the physical and payment addresses against two-address provider locations and requires the two matched-location sets to intersect to exactly one location (DOM-BR-025).

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
PhysicalAndPaymentMatchRule (constructor) public PhysicalAndPaymentMatchRule(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 both physical and payment addresses, then either delegates to PhysicalOnlyMatchRule (when those addresses match) or intersects independent physical/payment matches, returning null when neither path finds a unique location (DOM-BR-025).

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

  • Delegating to PhysicalOnlyMatchRule when the physical and payment addresses match means this rule reuses that rule's single-address-location semantics rather than duplicating the logic*.

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