Provider reference data lookups¶
A cluster of small classes back the code lists and reference tables that every other provider-domain operation validates against or displays: provider type, address/contact/identity/ineligibility-reason/relationship/service codes, the CBP service catalog, and MCO plans. Most are simple full-CRUD code tables maintained by administrators; a few are read-only lookups layered over another table.
| Field | Value |
|---|---|
| Operation ID | OP-PRV-14 |
| Trigger | Any read of a provider code/reference list, or resolution of a code description during another operation's validation or display |
| Inputs | Code value (and, for clsCBPService, an effective date) |
| Outputs | Code description and derived boolean flags; for the API helpers, a Contact Manager route call |
| Primary components | clsProviderTypeCode, clsProviderType, clsProviderAddressCode, clsProviderContactCode, clsProviderIdentityCode, clsProviderIneligibilityReasonCode, clsProviderRelationshipCode, clsProviderServiceCode, clsCBPService, clsCBPServiceType, clsMCOPlan, clsProviderUtility |
| Entry point | Business\SAIF.Business.Provider\clsProviderTypeCode.vb |
Steps¶
- Full-CRUD code tables.
clsProviderTypeCode(PROVIDER_TYPE_CODE),clsProviderAddressCode(PROVIDER_ADDRESS_CODE),clsProviderContactCode(PROVIDER_CONTACT_CODE),clsProviderIdentityCode(PROVIDER_IDENTITY_CODE),clsProviderIneligibilityReasonCode(PROVIDER_INELIG_REASON_CD),clsProviderRelationshipCode(PROVIDER_RELATIONSHIP_CODE),clsProviderServiceCode(PROVIDER_SERVICE_CODE), andclsMCOPlan(MCO_PLAN) all follow the same standard BOF CRUD pipeline:BeforeRetrieve/Insert/Update/DeletesetUpdateUser/UpdateDate,AfterInsertrequires a rows-affected value of1or adds"Insert Failed", andAfterUpdate/AfterDeleterequire1or add the DB contention error. None of these classes define anyAddBusinessRules()entries — code-table maintenance carries no additional validation beyond the standard save pipeline.* - Read-only derived views.
clsProviderType.GetProviderType(...)is a read-only facade over PROVIDER_TYPE_CODE that converts severalY/Nflag columns into booleans:IsClaimProfileAllowed,IsDiagnosisRequired,IsMandatoryMco,IsMedicalAudit,IsSelfRegistrationAllowed,IsServiceProvRestricted.clsCBPService.GetCBPService(inCode, inEffDate)readsCBP_SERVICE_CODEleft-joined toCBP_SERVICE_DESCRIPTION, filtering the service code by:EffDate BETWEEN CBP_SERVICE_CODE.EFF_DATE AND NVL(EXP_DATE, '31-Dec-2999'), then orders matching descriptions bySERVICE_DESCR_EFF_DATE DESCand fills only the first row — meaning the effective date parameter constrains the service code's validity window but the description returned is always the newest one on file, not necessarily the one effective as of the requested date.*clsCBPServiceType.GetCBPServiceType(inCode)is a simple read-only lookup overCBP_SERVICE_TYPE_CODE.- Utility SQL helpers (
clsProviderUtility, no object CRUD). GetProviderByProviderLocSeqNumresolvesPROVIDER_LOCATION.PROVIDER_SEQ_NUM— used throughout the maintenance operations to populate DTOs sent to Contact Manager.GetPlanNameByidresolvesMCO_PLAN.MCO_SHORT_DESCR.GetPrimaryLocationFlagByProviderLocSeqNumresolvesPROVIDER_LOCATION.PRIMARY_LOCATION_FLAG, treating only the literal value"Y"asTrue.GetSpecialityDescriptionByCoderesolvesPROVIDER_TYPE_CODE.CODE_DESCR.GetTaxIdByProviderSeqNumjoins PROVIDER to PROVIDER_TAX_ID and returns a trimmed display TIN or an empty string if none is found.- Standalone address/availability API wrappers.
clsAddressApi(used by the Maintain provider address operation) andclsAvailabilityApiboth target Provider API routes underprovider/{0}/....clsAvailabilityApi.UpdateAvailabilty(its method name, misspelled in source) builds anAvailabilityDtoupdate request to routeprovider/{0}/availability; no caller ofclsAvailabilityApiwas found elsewhere in this library, so it appears to be either unused in this repository snapshot or invoked exclusively from a consuming application outside this library.*
Process flow¶
flowchart TD
Start([Another operation needs a code description<br>or reference lookup]) --> Which{Which reference type?}
Which -->|Code table| CRUD[Full CRUD via standard<br>BOF save pipeline; no business rules]
Which -->|Provider type view| TypeView[Read PROVIDER_TYPE_CODE;<br>derive boolean flags]
Which -->|CBP service| CBPLookup[Read CBP_SERVICE_CODE +<br>CBP_SERVICE_DESCRIPTION;<br>latest description only]
Which -->|Utility helper| UtilLookup[Single-purpose SQL read<br>e.g. provider ID, plan name, tax ID]
CRUD --> Done([Description/flags returned to caller])
TypeView --> Done
CBPLookup --> Done
UtilLookup --> Done
Failure and edge-case behavior¶
clsCBPService.GetCBPServicereturns the most recently effective description for a service code rather than the description effective as of the requested date, which could misrepresent historical service descriptions if they changed over time.*clsProviderUtility.GetPrimaryLocationFlagByProviderLocSeqNumtreats any value other than the exact string"Y"asFalse, including nulls or unexpected codes.clsAvailabilityApihas no identified caller in this repository snapshot; its behavior should be verified against consuming applications before relying on it.**- None of the code-table classes enforce uniqueness or referential-integrity rules beyond what the database itself enforces —
AddBusinessRules()is empty on all of them.*
Related documentation¶
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¶
Business\SAIF.Business.Provider\clsProviderTypeCode.vbBusiness\SAIF.Business.Provider\clsProviderType.vbBusiness\SAIF.Business.Provider\clsProviderAddressCode.vbBusiness\SAIF.Business.Provider\clsProviderContactCode.vbBusiness\SAIF.Business.Provider\clsProviderIdentityCode.vbBusiness\SAIF.Business.Provider\clsProviderIneligibilityReasonCode.vbBusiness\SAIF.Business.Provider\clsProviderRelationshipCode.vbBusiness\SAIF.Business.Provider\clsProviderServiceCode.vbBusiness\SAIF.Business.Provider\clsCBPService.vbBusiness\SAIF.Business.Provider\clsCBPServiceType.vbBusiness\SAIF.Business.Provider\clsMCOPlan.vbBusiness\SAIF.Business.Provider\clsProviderUtility.vbBusiness\SAIF.Business.Provider\Api\clsAddressApi.vbBusiness\SAIF.Business.Provider\Api\clsAvailabilityApi.vb