Skip to content

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 package SAIF.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 recorded PlanID does not match the plan returned by GetMCOInfo (BR-MCO-001) — a caller loading clsProviderLocation.MCOList should be prepared for this exception to surface on read, not just on write.
  • GetMCOInfo is implemented in SAIF.Business and 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 reading clsProviderLocation.MCOList repeatedly 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