Skip to content

Generate and save claim tasks

This operation gives every derived claim manager a consistent way to raise and persist follow-up tasks, either for the claim currently in context or across multiple claims.

Field Value
Operation ID OP-CLM-6
Trigger A derived manager needing to raise claim tasks during a save
Inputs inMultiClaim flag (default False)
Outputs Success flag (Boolean) from SaveTasks()
Primary components ClaimAppManager.NewTaskGenerator, ClaimAppManager.SaveTasks
Entry point SAIF.Application.Claim/ClaimAppManager.vb

Steps

  1. NewTaskGenerator(inMultiClaim): when inMultiClaim is True, construct New clsClaimTaskGenerator(DPI) for a multi-claim batch; otherwise construct New clsClaimTaskGenerator(DPI, ClaimData) bound to the claim in context (BR-CLM-017).
  2. SaveTasks() returns True immediately when Tasks.Count = 0 (BR-CLM-018); otherwise calls Tasks.Save() and returns Tasks.ErrorCount = 0.
  3. Delegated logic: clsClaimTaskGenerator (SAIF.Business.Tasks.Claim) builds clsClaimTask instances and saves them through clsClaimTaskCollection; underlying task persistence uses the Oracle package pk82036_task (task_insert / task_update / task_delete).*

    Origin: Task persistence is implemented in SAIF.Business.Tasks.Claim (clsClaimTaskGenerator) and executed on behalf of this operation. The save participates in the transaction opened by Transaction-bracketed save when called from within OnWrite().

Process flow

The following diagram visualizes this operation's control flow.

flowchart TD
    Start([NewTaskGenerator called]) --> Multi{inMultiClaim?}
    Multi -->|Yes| BatchGen["New clsClaimTaskGenerator<br>DPI"]
    Multi -->|No| SingleGen["New clsClaimTaskGenerator<br>DPI, ClaimData"]
    BatchGen --> SaveCall[SaveTasks called]
    SingleGen --> SaveCall
    SaveCall --> Count{Tasks.Count = 0?}
    Count -->|Yes| ReturnTrue([Return True])
    Count -->|No| DoSave[Tasks.Save]
    DoSave --> ErrCheck{Tasks.ErrorCount = 0?}
    ErrCheck -->|Yes| ReturnTrue
    ErrCheck -->|No| ReturnFalse([Return False])

Failure and edge-case behavior

  • An empty task set never fails a save.
  • A partially failed task save returns False to the calling OnWrite(), which will roll back the enclosing transaction per Transaction-bracketed save.

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.Application.Claim/ClaimAppManager.vb
  • SAIF.Business.Tasks.Claim/clsClaimTaskGenerator.vb