Skip to content

clsProviderServiceContractInfo

clsProviderServiceContractInfo represents one service contract for a provider location from PROVIDER_SERVICE_CONTRACT. When a contract carries a non-blank plan ID, it is decorated with MCOPlanInfo in the same way clsMCOProvider is, subject to the same plan-match validation. Its visibility in a loaded list is governed by an offset window applied at the owning list's construction time, not by a property on this type itself.

Purpose

  • Carries the effective/expiration date window and terms for one provider service contract.
  • Is decorated with matching MCOPlanInfo when a non-blank plan ID is present, validated the same way MCO enrollments are (BR-MCO-001).
  • Applies the shared date-window evaluation pattern to determine whether the contract is currently in effect (BR-DATE-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
ProviderLocationID ReadOnly Property ProviderLocationID As Decimal Identifies the location this service contract applies to.
PlanID ReadOnly Property PlanID As String The MCO plan identifier for this contract, if any; when non-blank it is checked against the attached MCOPlanInfo (BR-MCO-001).
Plan ReadOnly Property Plan As MCOPlanInfo The plan detail object attached via SetPlan when PlanID is non-blank.
EffectiveDate ReadOnly Property EffectiveDate As Date Date from which this contract applies (eff_date); also the ordering key for the owning list (ORDER BY eff_date desc).
ExpirationDate ReadOnly Property ExpirationDate As Date Date after which this contract no longer applies (exp_date), if one exists.
IsActive ReadOnly Property IsActive As Boolean True when the contract is currently within its effective/expiration window (BR-DATE-001).
IsExpired ReadOnly Property IsExpired As Boolean True when the contract's expiration date is in the past.
HasExpirationDate ReadOnly Property HasExpirationDate As Boolean True when an expiration date is set for this contract.
IsInEffect Function IsInEffect(asOfDate As Date) As Boolean True when the given date is on/after the effective date and, if an expiration date exists, on/before it (BR-DATE-001).
SetPlan Sub SetPlan(plan As MCOPlanInfo) Attaches plan detail to this contract, throwing ApplicationException("MCO plan submitted does not match plan assigned.") if the plan's ID does not match PlanID (BR-MCO-001).

Behavioral notes

  • OP-12: contracts are loaded and, when a plan ID is present, decorated by calling SetPlan during clsProviderServiceContractList's constructor, applying BR-MCO-001 exactly as clsMCOProviderList does for enrollments.
  • Visibility of a given contract in a loaded list depends on the offset window applied by the owning clsProviderServiceContractList constructor, not on any property of this type (BR-PSVC-001).

Constraints and usage notes

  • Read-only data holder with no create/update/delete surface; represents contract terms as recorded, not an editable object.
  • A contract whose plan data does not match the plan lookup will throw during list construction, not lazily — callers should be prepared for exceptions when first loading clsProviderLocation.ServiceContracts (BR-MCO-001).*

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/clsProviderServiceContract.vb