Skip to content

clsProviderSearch.clsSearchCriteria

clsSearchCriteria is the nested input model that a caller populates before invoking clsProviderSearch.searchForProvider(). It carries every searchable field (name, tax ID, other ID, provider type, service type, MCO name, business/person flag, street, city, state, zip, area code, phone) and hosts the three BOF rule-engine validations that gate whether a search request is well-formed, even though searchForProvider does not itself check IsValid before executing.

Purpose

  • Requires at least one search field to be populated before the criteria is considered valid (BR-SRCH-001).
  • Requires a supplied zip code to be numeric, while allowing an empty zip code (BR-SRCH-002).
  • Requires a supplied tax ID (hyphens removed) to be fewer than 10 characters (BR-SRCH-003).

Context

  • Namespace: SAIF.Business.View.Provider
  • Assembly/package: SAIF.Business.View.Provider (embedded/project-compiled); also distributed as the NuGet package SAIF.BOF.Business.View.Provider.

Public members

Member Signature Purpose
ProviderName Property ProviderName As String Name text matched (prefix LIKE) against last name or business name, upper-cased and trimmed (BR-SRCH-008); the field the "at least one criterion" rule validates (BR-SRCH-001).
TaxId Property TaxId As String Tax ID to match via a join to provider_tax_id; must be fewer than 10 characters after hyphens are stripped (BR-SRCH-003).
OtherId Property OtherId As String Alternate identifier matched via a join to provider_identity.
ProviderType Property ProviderType As String Provider type code to restrict results to, joined against PROVIDER_TYPE_CODE.
ServiceType Property ServiceType As String Service type code to restrict results to, joined against provider_service.
MCOName Property MCOName As String MCO plan name used to restrict results via a join to mco_provider.
BusinessPerson Property BusinessPerson As String Selector mapped to BUSINESS_FLAG = 'Y'/'N'/unrestricted for "BUSINESS"/"PERSON"/any other value (BR-SRCH-004).
Street Property Street As String Street text matched with a prefix LIKE against the address, upper-cased and trimmed (BR-SRCH-008).
City Property City As String City value used as an exact-match address filter.
State Property State As String State value used as an exact-match address filter.
ZipCode Property ZipCode As String Zip code filter; must be numeric if supplied, empty is allowed (BR-SRCH-002).
AreaCode Property AreaCode As String Area code used as a phone-number filter component.
PhoneNum Property PhoneNum As String Phone number filter; matched with a prefix LIKE after -/. characters are stripped (BR-SRCH-008).
IsValid ReadOnly Property IsValid As Boolean (overridden from clsBusinessBase) True only when BR-SRCH-001, BR-SRCH-002, and BR-SRCH-003 all pass; not automatically enforced before a search executes.
IsDirty ReadOnly Property IsDirty As Boolean (overridden from clsBusinessBase) Indicates in-memory field changes since the criteria object was reset; has no effect on persistence since this type performs no writes (BR-DATA-001).

Behavioral notes

  • Rule_ValidCriteria ("Error: Enter your search criteria"), Rule_ValidZipCode ("Error: Zip code must be numeric"), and Rule_ValidTaxId ("Error: The tax id is too long") are registered rule-engine checks evaluated on this object; they are not invoked automatically by clsProviderSearch.searchForProvider.
  • Callers wanting to enforce these validations must check IsValid (or the individual broken-rule collection) themselves before calling searchForProvider.*

Constraints and usage notes

  • resetSearchCriteria() on the owning clsProviderSearch clears this object; reuse across multiple unrelated searches should go through that reset path rather than mutating fields directly, to avoid carrying stale criteria between calls.*

Note: Statements marked with * were inferred from code structure, naming conventions, or contextual evidence where direct confirmation was not available in source artifacts. Statements marked with ** could not be confirmed; treat as unknown until verified.

Sources

  • SAIF.Business.View.Provider/clsProviderSearch.vb