Skip to content

Load MCO enrollments

Loads all MCO plan enrollments for a provider location via a direct-query self-loading list, and attaches plan details retrieved from SAIF.Business, validating that the attached plan matches the assigned plan ID.

Field Value
Operation ID OP-11
Trigger clsProviderLocation.MCOList navigation
Inputs IDataPortalInfo, provider-location ID
Outputs clsMCOProviderList
Primary components clsMCOProviderList..ctor(dpi, providerLocationID)
Entry point SAIF.Business.View.Provider/clsMCOProvider.vb:214

Steps

  1. Query MCO_PROVIDER bound on :ProviderLocationID (SQL-MCO-01).
  2. For each row, create a clsMCOProvider.
  3. Call SetPlan(GetMCOInfo(inDPI).Plan(prov.PlanID)) to attach plan details.
  4. On failure: SetPlan throws ApplicationException("MCO plan submitted does not match plan assigned.") when the plan IDs differ (BR-MCO-001).
  5. Each enrollment's effective window is evaluated with IsInEffect(date) / IsActive / IsExpired, per BR-DATE-001.

Origin: Step 3's GetMCOInfo(dpi) call is implemented in SAIF.Business (a dependency package); its internal steps are not visible in this repository.**

Process flow

The following diagram visualizes this operation's control flow.

flowchart TD
    Start([Caller request]) --> S1[Bind ProviderLocationID]
    S1 --> S2["Execute via<br>SqlHelper.ResultSetQuery"]
    S2 --> S3["Create clsMCOProvider per<br>row"]
    S3 --> S4[GetMCOInfo dpi .Plan PlanID]
    S4 --> S5{Plan ID matches assigned?}
    S5 -->|Yes| S6[SetPlan attaches MCOPlanInfo]
    S5 -->|No| S7([Throws ApplicationException])
    S6 --> EndOk([clsMCOProviderList returned])

Failure and edge-case behavior

  • No matching enrollments: an empty clsMCOProviderList is returned.
  • Mismatched MCO plan ID vs. the plan already assigned raises ApplicationException("MCO plan submitted does not match plan assigned.") (BR-MCO-001).
  • GetMCOInfo internals reside in SAIF.Business and were not traced from this repository.**

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