---
title: MCOInfo
summary: API reference for MCOInfo.
status: draft
owner: SAIF
last_reviewed: 2026-07-24
library: SAIF.Business
reference_type: package
---

# MCOInfo

`MCOInfo` is a serializable public class in `SAIF.Business` that loads managed care organization plan and location data and exposes keyed access to the resulting in-memory collections.

## Purpose
- Loads MCO plan records from `MCO_PLAN` into a keyed collection of `MCOPlanInfo` objects.
- Loads MCO location records from `MCO_GSA_LOCATION`, links each location to its plan, and stores them by MCO ID.
- Exposes enumerations of plans and locations plus keyed lookups for individual plan and MCO entries.

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

## Public members
| Member | Signature | Purpose |
| --- | --- | --- |
| `Plans` | `Public ReadOnly Property Plans() As IEnumerable(Of MCOPlanInfo)` | Returns all loaded MCO plans. |
| `MCOLocations` | `Public ReadOnly Property MCOLocations() As IEnumerable(Of MCOLocationInfo)` | Returns all loaded MCO locations. |
| `Plan` | `Public ReadOnly Property Plan(ByVal inPlanID As String) As MCOPlanInfo` | Returns the plan associated with the supplied plan ID. |
| `MCO` | `Public ReadOnly Property MCO(ByVal inMCOID As String) As MCOLocationInfo` | Returns the location associated with the supplied MCO ID, or `Nothing` when it is not present. |
| `New` | `Public Sub New(ByVal inDataPortalInfo As IDataPortalInfo)` | Loads the MCO plan and location collections from the database and wires locations back to their plans. |

## Behavioral notes
- Construction is eager: the constructor immediately queries both `MCO_PLAN` and `MCO_GSA_LOCATION`.
- Each loaded location is connected to its plan by calling `SetPlan` and then `Loc.Plan.AddLocation(Loc)`.
- `MCO(inMCOID)` checks `ContainsKey` and returns `Nothing` for unknown IDs, while `Plan(inPlanID)` indexes the plan collection directly.

## Constraints and usage notes
- A valid `IDataPortalInfo` is required to construct the object because all data is loaded during initialization.
- There is no parameterless public constructor; callers must supply a portal context.
- The class documents and exposes only top-level `MCOInfo` members here; `MCOPlanInfo` and `MCOLocationInfo` are separate public types declared later in the same source file.

## Sources
- `Business\SAIF.Business\MCOInfo.vb`
