Skip to content

PhysicalOnlyMatchPhysicalWithPayment

PhysicalOnlyMatchPhysicalWithPayment is an IProviderMatchRule used when a biller has only a physical address, but the match should be resolved against a provider location known to carry exactly two non-expired, non-correspondence addresses (i.e. a location that also has a payment address on file even though the biller did not supply one): it matches the biller's physical address against such two-address locations and requires the match to remain unique among locations with exactly two non-expired addresses. It is part of the ProviderIndexerV2 rule set for operation OP-DOM-04 (DOM-BR-028).

Purpose

  • Applies only when the biller supplied a physical address and no payment or facility address, distinguishing it from PhysicalOnlyMatchRule's single-address-location matching by instead targeting provider locations that carry two non-expired addresses (DOM-BR-022).
  • Requires the physical-address match to be unique among candidate provider locations that have exactly two non-expired addresses, returning null when zero or more than one such location matches.

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
PhysicalOnlyMatchPhysicalWithPayment (constructor) public PhysicalOnlyMatchPhysicalWithPayment(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, then returns the unique two-address provider location whose physical address matches, 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

  • Targeting two-address provider locations lets this rule find a match even when the biller itself never supplied a payment address, as long as the candidate provider location has one on file*.

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