clsMCOProviderList¶
clsMCOProviderList is a self-loading List(Of clsMCOProvider) that queries MCO_PROVIDER directly via SqlHelper.ResultSetQuery in its constructor and decorates each row with plan information from SAIF.Business's GetMCOInfo. It backs clsProviderLocation.MCOList and is one of the direct-query style types that bypass this library's portal/criteria pattern.
Purpose¶
- Loads all MCO enrollments for a specific provider location in one direct SQL execution.
- Cross-references each loaded enrollment's plan ID against
GetMCOInfo's plan lookup, surfacing a data-integrity failure immediately if the plans do not match (BR-MCO-001).
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 |
|---|---|---|
.ctor |
Sub New(dpi As IDataPortalInfo, providerLocationID As Decimal) |
Queries MCO_PROVIDER bound on :ProviderLocationID (OP-11, SQL-MCO-01), then calls SetPlan(GetMCOInfo(dpi).Plan(prov.PlanID)) for each row, applying BR-MCO-001. |
Item |
Default Property Item(index As Integer) As clsMCOProvider (from List(Of clsMCOProvider)) |
Returns the MCO enrollment at the given position in the loaded list. |
Count |
ReadOnly Property Count As Integer (from List(Of clsMCOProvider)) |
Number of MCO enrollments loaded for the location. |
GetEnumerator |
Function GetEnumerator() As List(Of clsMCOProvider).Enumerator (from List(Of clsMCOProvider)) |
Enumerates the loaded enrollments in query result order. |
Behavioral notes¶
- OP-11: constructing this list will throw
ApplicationException("MCO plan submitted does not match plan assigned.")if any row's recordedPlanIDdoes not match the plan returned byGetMCOInfo(BR-MCO-001) — a caller loadingclsProviderLocation.MCOListshould be prepared for this exception to surface on read, not just on write. GetMCOInfois implemented inSAIF.Businessand its internal lookup logic is outside this repository.**
Constraints and usage notes¶
- Loading this list is a database round trip plus a dependency call to
GetMCOInfo; consumers readingclsProviderLocation.MCOListrepeatedly should cache the result rather than re-triggering the load.* - No create/update/delete surface — load-only list.
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/clsMCOProvider.vb