Skip to content

SAIF.Business.Claim.ThirdParty operations and processes

This page is the operation catalog and cross-operation hub for SAIF.Business.Claim.ThirdParty. The library exposes nine operations covering third-party recovery case management, recovery participants (people, companion claims, firms), expenses and their approval workflow, liens and settlements, distributions and refunds, notes and tasks, case search and prediction/statute analytics, billed-cost and payment reconciliation, and batch new-claim intake with adjuster assignment. Each operation's detailed, step-by-step logic lives in its own page under operations/.

Operation catalog

Operation Intent Trigger Inputs Outputs Rules Tables SQL
Maintain recovery case Create, retrieve, update, and delete third-party recovery cases, cascade firm associations, and drive status-based task/letter generation clsThirdPartyCase.NewThirdPartyCase/GetThirdPartyCase followed by property edits and Save() ClaimID, date of injury, adjuster code, case status, closure code, statute/suit dates Persisted THRDPARTY_CASE row; cascaded firm saves; status-driven tasks; letter print flags BR-009, BR-010, BR-011, BR-012, BR-013, BR-005 THRDPARTY_CASE SQL-054, SQL-058
Manage recovery participants Persist third-party people, standalone firms, and companion claim associations for a case clsThrdparty.NewThirdParty/GetThirdParty, clsThrdPartyFirm.NewThrdPartyFirm, or clsThrdpartyCompanionClaim.NewThrdpartyCompanionClaim followed by Save() Case sequence number, person name/DOB/phone/fax, firm company name/phone/fax, companion claim number Persisted person, firm, and companion-claim rows; resolved companion-claim worker name and conflict warnings BR-014, BR-015, BR-016, BR-017, BR-007, BR-005 THRDPARTY_CASE, THRDPARTY_COMPANION_CLAIM SQL-025, SQL-080, SQL-039, SQL-055
Manage expenses Create, validate, and approve third-party recovery expenses against case-level approval thresholds clsThrdpartyExpense.NewThrdpartyExpense/GetThrdpartyExpense followed by Save(); clsThrdpartyExpenseApproval.SetExpenseApproval Case sequence number, expense type, amount, expense date, budget code, recovery amount Persisted THRDPARTY_EXPENSE rows; case-level approval status (PEND/APPR/DISA/NOTR) BR-018, BR-019, BR-020, BR-001 THRDPARTY_CASE, THRDPARTY_EXPENSE SQL-060, SQL-061
Manage liens and settlements Persist liens, lien categories, settlements, and settlement detail rows, reconciling settlement totals to their detail lines clsThrdpartyLien.NewThrdpartyLien, clsThrdpartySettlement.NewThrdpartySettlement, or clsThrdpartySettlementDetail.NewThrdpartySettlementDetail followed by Save() Case/lien identifiers, lien date, settlement type/date/amount, settlement detail category codes and amounts Persisted lien, lien category, settlement, and settlement detail rows BR-021, BR-022, BR-023, BR-024, BR-005 THRDPARTY_LIEN, THRDPARTY_LIEN_CATEGORY, THRDPARTY_CASE SQL-056, SQL-058, SQL-065, SQL-072
Manage distributions and refunds Persist distribution records reconciling check amounts against claim-cost, refund, employer-credit, and other amounts clsThirdpartyDistribution.NewThirdpartyDistribution/GetThirdpartyDistribution followed by Save() Case/distribution identifiers, payee name, check number/date/amount, refund/other amounts and names Persisted distribution rows; read-only distribution history and refundee data BR-025, BR-026, BR-027, BR-002, BR-005 THRDPARTY_CASE SQL-030, SQL-066
Manage notes and tasks Persist recovery notes and assigned tasks, including a multi-outcome guard on deleting a case's last remaining task clsThirdpartyNote.NewThirdPartyNote/clsThirdpartyTask.NewThirdpartyTask followed by property edits and Save() Case sequence number, note category/text, task code, task text, assignee, due date, marked-for-delete flag Persisted THRDPARTY_CASE-scoped note rows and THRDPARTY_TASK rows; blocked or warned deletions BR-028, BR-029, BR-030, BR-003, BR-004, BR-005 THRDPARTY_CASE, THRDPARTY_TASK SQL-028, SQL-031, SQL-059, SQL-045, SQL-046
Run case search and predictions Search recovery cases and compute/validate lien-recovery predictions, plus read-only statute-date, unit-stat, and claim-condition lookups clsThrdpartyCaseSearchCollection criteria-based search; clsThrdpartyPrediction.GetThrdpartyPrediction/NewThrdpartyPrediction followed by Save() Search criteria, lien sequence number, prediction percent factor or amount, prediction status code, claim ID Filtered case-search collection; persisted THRDPARTY_PREDICTION/THRDPARTY_PREDICTION_DETAIL rows; read-only statute-date, unit-stat, and claim-condition projections BR-031, BR-032, BR-005 THRDPARTY_CASE, THRDPARTY_PREDICTION, THRDPARTY_PREDICTION_DETAIL SQL-044, SQL-048, SQL-047, SQL-067, SQL-036
Retrieve billed-cost and payment details Reconcile medical bill-audit service and claim payment transaction detail amounts between lien and non-lien portions; look up cost category codes and policy note/mail routing clsBillAuditService.Save(); clsClaimPaymentTransDetail.Save(); direct calls to clsClaimCostCategoryCode and clsPolicyNote Lien/non-lien/allowed amounts, lien/non-lien/unknown/transaction amounts, policy number, team code, memo text Persisted reconciled bill-audit service and payment transaction detail rows; cost-category lookups; inserted policy memo entries and resolved team mail IDs BR-033 THRDPARTY_BILL_SERVICE, TP_CLAIM_COST_CATEGORY_CODE SQL-017, SQL-071, SQL-040, SQL-032, SQL-033
New claim intake and adjuster assignment Batch-process newly reported claims and open recovery cases, assign recovery adjusters, and generate initial follow-up tasks clsThirdPartyNewClaim.NewThirdPartyNewClaim(runDate).Save(); clsClaimActivityManager.NewClaimActivityManager(runDate).Save() Run date; new-claim list rows (claim ID, claim number, policy number, DOI, security flags); open-case list rows with task code/text/assignee New THRDPARTY_CASE rows with assigned adjuster; new THRDPARTY_TASK rows; processed-record count; per-record error messages BR-034, BR-005 THRDPARTY_CASE, THRDPARTY_TASK SQL-041, SQL-042

Note: New claim intake and adjuster assignment was not present in the prior flat-format documentation for this library; it was identified through direct source tracing of clsThirdPartyNewClaim.vb, clsClaimActivityManager.vb, and clsAdjusterAssignment.vb.

Process flow diagram

The following diagram shows how the nine operations relate: a recovery case is created or retrieved (directly, or via batch new-claim intake with automatic adjuster assignment), participants and financial sub-records are maintained against it, and search/prediction and billed-cost/payment reconciliation support downstream reporting.

flowchart TD
    Start([Caller initiates recovery workflow]) --> Batch{Batch new-claim<br>intake run?}
    Batch -->|Yes| Intake[New claim intake and<br>adjuster assignment]
    Batch -->|No| CaseOp[Maintain recovery case]
    Intake --> CaseOp
    CaseOp --> Participants[Manage recovery participants]
    CaseOp --> Expenses[Manage expenses]
    CaseOp --> Liens[Manage liens and settlements]
    CaseOp --> Distributions[Manage distributions and refunds]
    CaseOp --> NotesTasks[Manage notes and tasks]
    CaseOp --> Search[Run case search and predictions]
    Search --> BilledCost[Retrieve billed-cost<br>and payment details]
    Liens --> BilledCost
    Participants --> Edit[Caller edits properties]
    Expenses --> Edit
    Liens --> Edit
    Distributions --> Edit
    NotesTasks --> Edit
    Search --> Edit
    Edit --> Validate{Validation rules pass?}
    Validate -->|No| Errors([Broken rules returned;<br>changes retained in memory])
    Validate -->|Yes| Save[Save via PK82033_THIRDPARTY<br>package-backed criteria]
    Save --> Concurrency{RowsAffected = 1?}
    Concurrency -->|Yes| Done([Changes persisted;<br>objects marked clean])
    Concurrency -->|No| Contention([DB contention error added;<br>save reported as failed])
    BilledCost --> ReadOnly([Reconciled or read-only<br>projection returned])

Database interactions

The following table summarizes which operations read from or write to the database. Per-step SQL and table citations live in each operation's detail page under operations/.

Operation SQL Tables Type
Maintain recovery case SQL-054, SQL-058 THRDPARTY_CASE Read/Write
Manage recovery participants SQL-025, SQL-080, SQL-039, SQL-055 THRDPARTY_CASE, THRDPARTY_COMPANION_CLAIM Read/Write
Manage expenses SQL-060, SQL-061 THRDPARTY_CASE, THRDPARTY_EXPENSE Read/Write
Manage liens and settlements SQL-056, SQL-058, SQL-065, SQL-072 THRDPARTY_LIEN, THRDPARTY_LIEN_CATEGORY, THRDPARTY_CASE Read/Write
Manage distributions and refunds SQL-030, SQL-066 THRDPARTY_CASE Read/Write
Manage notes and tasks SQL-028, SQL-031, SQL-059, SQL-045, SQL-046 THRDPARTY_CASE, THRDPARTY_TASK Read/Write
Run case search and predictions SQL-044, SQL-048, SQL-047, SQL-067, SQL-036 THRDPARTY_CASE, THRDPARTY_PREDICTION, THRDPARTY_PREDICTION_DETAIL Read/Write
Retrieve billed-cost and payment details SQL-017, SQL-071, SQL-040, SQL-032, SQL-033 THRDPARTY_BILL_SERVICE, TP_CLAIM_COST_CATEGORY_CODE Read/Write
New claim intake and adjuster assignment SQL-041, SQL-042 THRDPARTY_CASE, THRDPARTY_TASK Read/Write

Stored procedure operations

Operations implemented in Oracle stored procedures referenced by this library.

Operation Description Source Link
PK82033_THIRDPARTY package operations Package-backed insert, update, delete, and list operations (case, task, note, expense, companion claim, settlement, prediction, distribution, and related entities) used across all nine operations. PK82033_THIRDPARTY Details
Policy memo and mail routing Direct, non-package-backed stored procedure calls used by the billed-cost and payment details operation to insert policy memo entries and resolve team mail IDs. sp72155_insert_memo_entry, policy_pkg.get_team_mailid SQL-033, SQL-032

Failure and edge-case behavior

  • Optimistic/contention checking is the dominant failure mode: every persisting operation checks the affected row count and adds an insert/update/delete error instead of throwing (BR-005). Detailed per-operation behavior is documented on each operation page.
  • Several reconciliation rules (settlement totals, distribution check amounts, prediction dispersement, bill-audit/payment-detail lien splits) use exact equality checks rather than a rounding tolerance, so even one-cent discrepancies fail validation.
  • Warning-severity rules (statute date month/day mismatch, task due date on a non-work day, expense approval thresholds, prediction pending-approval, companion-claim conflict) surface messages without necessarily blocking the save.
  • The last-task-delete guard in Manage notes and tasks requires a confirmed second delete attempt within the same object instance; a fresh retrieval resets that confirmation state.
  • New-claim adjuster assignment falls back to the last-iterated range entry when no policy or claim-number-range match is found, rather than failing or assigning an explicit "unassigned" adjuster.
  • Some source-registered rules are commented out or otherwise unregistered at runtime (a lien expense-amount rule, a claim-costs-amount rule on distribution, and an expense security-rule stub that always returns True); they are documented in the relevant operation pages as inactive rather than omitted.
  • clsPolicyNote's memo-insert and mail-ID lookup calls bypass the standard BOF save/business-rule pipeline, issuing their stored procedures directly with no RulesAffected/row-count protection of their own.

Note: Statements marked with * were inferred from code structure, naming conventions, or contextual evidence where direct confirmation was not available in source artifacts. Detailed inferred/unknown confidence markers are applied per-statement within each operation's detail page under operations/.

Sources

  • Business\SAIF.Business.Claim.ThirdParty\clsThirdPartyCase.vb
  • Business\SAIF.Business.Claim.ThirdParty\clsThrdparty.vb
  • Business\SAIF.Business.Claim.ThirdParty\clsThrdPartyFirm.vb
  • Business\SAIF.Business.Claim.ThirdParty\clsThrdpartyCompanionClaim.vb
  • Business\SAIF.Business.Claim.ThirdParty\clsThrdpartyExpense.vb
  • Business\SAIF.Business.Claim.ThirdParty\clsThrdpartyExpenseApproval.vb
  • Business\SAIF.Business.Claim.ThirdParty\clsThrdpartyLien.vb
  • Business\SAIF.Business.Claim.ThirdParty\clsThrdpartySettlement.vb
  • Business\SAIF.Business.Claim.ThirdParty\clsThrdpartySettlementDetail.vb
  • Business\SAIF.Business.Claim.ThirdParty\clsThirdpartyDistribution.vb
  • Business\SAIF.Business.Claim.ThirdParty\clsThirdpartyNote.vb
  • Business\SAIF.Business.Claim.ThirdParty\clsThirdpartyTask.vb
  • Business\SAIF.Business.Claim.ThirdParty\clsThrdpartyCaseSearchCollection.vb
  • Business\SAIF.Business.Claim.ThirdParty\clsThrdpartyPrediction.vb
  • Business\SAIF.Business.Claim.ThirdParty\clsBillAuditService.vb
  • Business\SAIF.Business.Claim.ThirdParty\clsClaimPaymentTransDetail.vb
  • Business\SAIF.Business.Claim.ThirdParty\clsPolicyNote.vb
  • Business\SAIF.Business.Claim.ThirdParty\clsThirdPartyNewClaim.vb
  • Business\SAIF.Business.Claim.ThirdParty\clsClaimActivityManager.vb
  • Business\SAIF.Business.Claim.ThirdParty\clsAdjusterAssignment.vb