Skip to content

clsActiveBenefitSchedule

clsActiveBenefitSchedule owns an active benefit schedule row and drives the benefit-payment stop-processing workflow, deciding per schedule whether a scheduled payment was released and updating or deleting the corresponding rows accordingly (see Benefit-payment stop processing).

Purpose

  • Retrieves and persists active benefit-schedule rows keyed by claim and benefit-payment sequence number (SQL-011, SQL-038, SQL-053).
  • Calls out to ClaimServices.hasReleasedScheduledPayment(...) (external SAIF.Business package) to decide the stop-processing branch.**
  • Composes a human-readable task description via ReturnTask() for downstream task creation.*

Context

  • Namespace: SAIF.Business.Claim
  • Assembly/package: SAIF.Business.Claim.dll

Public members

Member Signature Purpose
ProcessBenefitPayment Public Function ProcessBenefitPayment(claimId As Decimal, callingApplication As CallingApplication, Optional callingFunction As CallingFunction) As Boolean Runs the stop-processing workflow: updates the schedule to RemainingPaymentCount = 1 when a released payment exists (BR-009), otherwise deletes the payment row (BR-010).
ReturnTask Public Function ReturnTask() As String Composes a human-readable task description from the CallingApplication, CallingFunction, and StopStatus enums for downstream task creation.*
CallingApplication Public Enum CallingApplication Identifies which calling application initiated the stop-processing request.
CallingFunction Public Enum CallingFunction Identifies which calling function initiated the stop-processing request.
StopStatus Public Enum StopStatus Records whether the outcome was Released (payment updated) or Deleted (payment row removed).

Behavioral notes

  • clsBenefitSchedule.vb (excluded from compilation) duplicates most of this class's logic byte-for-byte.*
  • Zero-row updates/deletes raise #PAYUPD#/#PAYDEL# and return False rather than throwing.

Constraints and usage notes

  • Callers must supply a valid claimId; callingFunction is optional and only affects the composed task description.

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.Claim/clsActiveBenefitSchedule.vb