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 packageSAIF.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"), andRule_ValidTaxId("Error: The tax id is too long") are registered rule-engine checks evaluated on this object; they are not invoked automatically byclsProviderSearch.searchForProvider.- Callers wanting to enforce these validations must check
IsValid(or the individual broken-rule collection) themselves before callingsearchForProvider.*
Constraints and usage notes¶
resetSearchCriteria()on the owningclsProviderSearchclears 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