---
title: clsMCOProviderList
summary: API reference for clsMCOProviderList.
status: draft
owner: SAIF Doc Gen
last_reviewed: 2026-07-24
library: SAIF.Business.View.Provider
reference_type: package
---

# clsMCOProviderList

API reference for clsMCOProviderList.

## Purpose
- List wrapper (`Inherits Generic.List(Of clsMCOProvider)`) that executes its own direct, `StringBuilder`-composed retrieval query from its constructor, filtered by a supplied provider location ID.
- Bypasses the `IBusinessCriteria`/data-portal pattern used by the library's BOF business objects.

## Context
- Namespace: `SAIF.Business.View.Provider`
- Assembly/package: `SAIF.BOF.Business.View.Provider`

## Public members
| Member | Signature | Purpose |
| --- | --- | --- |
| New | `Public Sub New(ByVal inDPI As IDataPortalInfo, ByVal inProviderLocationID As Decimal)` | Executes a hand-built `SELECT` against `MCO_PROVIDER` filtered by `PROVIDER_LOCATION_SEQ_NUM` (documented as [SQL-002](../../sql/SQL-002-saif-business-view-provider.md)) via `SqlHelper.ResultSetQuery`, constructs a `clsMCOProvider` for each row, resolves its `MCOPlanInfo` via `GetMCOInfo(inDPI).Plan(prov.PlanID)`, and adds it to the list. |

## Behavioral notes
- This class inherits `System.Collections.Generic.List(Of clsMCOProvider)` directly rather than any BOF collection base — it is not a `clsBusinessCollection` and has no `IBusinessCriteria`/`Criteria`.
- The constructor is the sole population path; there is no shared `Get...`/`New...` static retrieval function, and the list is fully populated (or empty) as soon as construction completes.
- Each contained `clsMCOProvider`'s `Plan` property is resolved and validated (via `SetPlan`) during construction, so callers never see an enrollment with an unresolved/mismatched plan.

## Constraints and usage notes
- Instances are constructed only through `New(inDPI, inProviderLocationID)`; there is no parameterless constructor.

## Inherited members (from List(Of clsMCOProvider))

| Member | Signature | Purpose |
| --- | --- | --- |
| Count | `ReadOnly Property Count As Integer` | Returns the number of items currently in the list. |
| Item(index) | `Default Public Property Item(ByVal index As Integer) As clsMCOProvider` | Gets or sets the item at the supplied zero-based index. |
| Add(item) | `Sub Add(ByVal item As clsMCOProvider)` | Appends one item to the end of the list. |
| Remove(item) | `Function Remove(ByVal item As clsMCOProvider) As Boolean` | Removes the first matching item and returns whether one was removed. |
| RemoveAt(index) | `Sub RemoveAt(ByVal index As Integer)` | Removes the item at the supplied zero-based index. |
| Clear() | `Sub Clear()` | Removes all items from the list. |
| Contains(item) | `Function Contains(ByVal item As clsMCOProvider) As Boolean` | Returns whether the list contains the supplied item. |
| IndexOf(item) | `Function IndexOf(ByVal item As clsMCOProvider) As Integer` | Returns the zero-based index of the first matching item, or `-1` when absent. |
| Insert(index, item) | `Sub Insert(ByVal index As Integer, ByVal item As clsMCOProvider)` | Inserts an item at the supplied zero-based index. |
| CopyTo(array, index) | `Sub CopyTo(ByVal array() As clsMCOProvider, ByVal arrayIndex As Integer)` | Copies list items into the supplied destination array starting at `arrayIndex`. |
| GetEnumerator() | `Function GetEnumerator() As IEnumerator(Of clsMCOProvider)` | Returns a generic enumerator over the list items. |
| ToArray() | `Function ToArray() As clsMCOProvider()` | Returns a new array containing the current list items. |
| Sort() | `Sub Sort()` | Sorts the list in place using the default comparer for `clsMCOProvider`. |
| Find(predicate) | `Function Find(ByVal match As Predicate(Of clsMCOProvider)) As clsMCOProvider` | Returns the first item matching the supplied predicate, or the element type's default value when none match. |

## Sources
- `Business\SAIF.Business.View.Provider\clsMCOProvider.vb`
