Skip to content

PhysicalAndFacilityMatchRule

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

Purpose

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

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

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

  • Because this rule accepts either "physical and facility" or "physical, payment, and facility" billers, ProviderIndexerV2 can include it in both the narrow and wide rule chains (DOM-BR-028)*.

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