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

# clsProviderServiceContractList

API reference for clsProviderServiceContractList.

## Purpose
- List wrapper (`Inherits Generic.List(Of clsProviderServiceContractInfo)`) that executes its own direct retrieval query from its constructor, filtered by a supplied provider location ID and an expiration-offset window.
- 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, Optional ByVal inOffset As Decimal = 721)` | Executes a hand-built `SELECT` against `PROVIDER_SERVICE_CONTRACT` filtered by `PROVIDER_LOCATION_SEQ_NUM` and (when `inOffset > 0`) an `exp_date is null or exp_date > (sysdate - :Offset)` predicate, ordered by `eff_date desc` (documented as [SQL-016](../../sql/SQL-016-saif-business-view-provider.md); see [BR-002](../../business-rules.md#br-002-provider-service-contract-expiration-window)). Constructs a `clsProviderServiceContractInfo` per row, resolves its MCO plan when `PlanID` is non-blank, and adds it to the list. |

## Behavioral notes
- This class inherits `System.Collections.Generic.List(Of clsProviderServiceContractInfo)` directly rather than any BOF collection base — it is not a `clsBusinessCollection` and has no `IBusinessCriteria`/`Criteria`.
- `inOffset` defaults to 721 days; a value of `0` (or less) omits the expiration predicate entirely, returning all contracts regardless of expiration.
- Some contracts have no MCO assigned: when `PlanID` is blank, `SetPlan` is skipped and the item's `Plan` property remains unset (see [clsProviderServiceContractInfo](clsProviderServiceContractInfo.md)).

## Constraints and usage notes
- There is no shared `Get...`/`New...` static retrieval function; the public constructor is the sole population path.

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

| 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 clsProviderServiceContractInfo` | Gets or sets the item at the supplied zero-based index. |
| Add(item) | `Sub Add(ByVal item As clsProviderServiceContractInfo)` | Appends one item to the end of the list. |
| Remove(item) | `Function Remove(ByVal item As clsProviderServiceContractInfo) 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 clsProviderServiceContractInfo) As Boolean` | Returns whether the list contains the supplied item. |
| IndexOf(item) | `Function IndexOf(ByVal item As clsProviderServiceContractInfo) 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 clsProviderServiceContractInfo)` | Inserts an item at the supplied zero-based index. |
| CopyTo(array, index) | `Sub CopyTo(ByVal array() As clsProviderServiceContractInfo, ByVal arrayIndex As Integer)` | Copies list items into the supplied destination array starting at `arrayIndex`. |
| GetEnumerator() | `Function GetEnumerator() As IEnumerator(Of clsProviderServiceContractInfo)` | Returns a generic enumerator over the list items. |
| ToArray() | `Function ToArray() As clsProviderServiceContractInfo()` | Returns a new array containing the current list items. |
| Sort() | `Sub Sort()` | Sorts the list in place using the default comparer for `clsProviderServiceContractInfo`. |
| Find(predicate) | `Function Find(ByVal match As Predicate(Of clsProviderServiceContractInfo)) As clsProviderServiceContractInfo` | Returns the first item matching the supplied predicate, or the element type's default value when none match. |

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