Skip to content

SAIF.Business.Claim.Legal operations and processes

This page is the operation catalog and cross-operation hub for this library.

Operation catalog

Operation Intent Trigger Inputs Outputs Rules Tables SQL
Attorney assignment batch Run the automated attorney assignment batch and process results Scheduled/manual batch run Assignment run parameters Assignment results, notifications, calendar updates BR-ASG-001, BR-ASG-002 SCHEDULE SQL-046, SQL-048
Hearing scheduling and calendar sync Create/update/delete hearing schedules and sync Exchange calendars Save/delete on clsLegalSchedule Schedule fields Persisted schedule, Exchange appointments BR-SC-001, BR-SC-009 SCHEDULE SQL-011, SQL-033, SQL-101, SQL-174, SQL-200
Case consolidation Merge secondary legal cases into a primary case ConsolidateCases(DPI) call Selected case DPI list Consolidated case, copied schedules/notes/file locations BR-CO-001 — SQL-076, SQL-077, SQL-163, SQL-164
File creation / mailing Build legal case evaluations and set file-create/mail dates UpdateCreateFile(inDPI, mailedDate) call Selected case IDs, mailed date LCE records, file-create date BR-CF-001 — SQL-006, SQL-078, SQL-165
Letter request generation Retrieve and enrich legal letter requests for Xpressions output Letter print job Letter type, claim number Xpressions XML payload, printed date — — SQL-102, SQL-103, SQL-175
Appeal brief deadline cascade Compute and cascade Brief 1/2/3 due dates on appeal save Setting Brief1Due/Brief1Filed Review level, filed/due dates Cascaded Brief 2/3 due dates BR-AP-005, BR-AP-007 — SQL-001, SQL-015, SQL-152
Code table loading Load and cache 31 code-table lookups First access via GetCodeTable(Of T) — Cached code-table collections — — SQL-120 through SQL-150
Standard BOF persistence lifecycle Create/retrieve/update/delete each business entity through Criteria SQL properties Save() / Create() / Delete() on any entity Entity property values Persisted row, RowsAffected contention check — — See per-class rows in SQL catalog

Process flow diagram

The following diagram visualizes the primary attorney assignment operational flow.

flowchart TD
    Start([Start assignment batch]) --> MaxSeq[GetMaxSeq]
    MaxSeq --> RunProc[pk80005_assignment.run_assignment]
    RunProc --> GetResults[GetAssignmentResults]
    GetResults --> Decision{Result code?}
    Decision -->|CA| UpdateFL["updateFileLocation +<br>updateLCE"]
    Decision -->|CAC| UpdateFLConflict["updateFileLocation +<br>updateLCE + conflict<br>notification"]
    Decision -->|Other| Skip[No downstream update]
    UpdateFL --> SendNotif[SendNotifications]
    UpdateFLConflict --> SendNotif
    SendNotif --> UpdateOutlook[updateOutlook ASSIGN]
    UpdateOutlook --> End([End])

Inherited operations and processes

No inherited operations from framework base classes were identified with sufficient evidence to document separately; all entity persistence lifecycle behavior (Create()/Save()/Before*/After* hooks) is provided by SAIF.BOF.Framework.* base classes but the specific inherited method bodies were not resolved for this run.*

Database interactions

Operation SQL Tables Type
Attorney assignment batch SQL-046, SQL-048 — (procedure-internal) Read/Write
Hearing scheduling and calendar sync SQL-011, SQL-033, SQL-101, SQL-174, SQL-200 SCHEDULE Read/Write
Case consolidation SQL-076, SQL-077, SQL-163, SQL-164 — (procedure-internal) Read/Write
File creation / mailing SQL-006, SQL-078, SQL-165 — (procedure-internal) Read/Write
Letter request generation SQL-102, SQL-103, SQL-175 LEGAL.VW_CASES Read/Write
Appeal brief deadline cascade SQL-001, SQL-015, SQL-152 — (procedure-internal) Read/Write
Code table loading SQL-120 through SQL-150 Various code tables Read

Failure and edge-case behavior

  • Every AfterInsert/AfterUpdate/AfterDelete hook checks RowsAffected <> 1 and raises AddErrorMessage("InsertError"/"UpdateError"/"DeleteError", clsConstants.Messages.DBContentionError) when the check fails — this is the library's optimistic-concurrency (lost-update) control for every inline-SQL entity.
  • Unsupported CRUD operations on a Criteria class throw New ApplicationException(clsConstants.Messages.InvalidSQLProperty) rather than silently no-oping.
  • Non-production environments (GetApplicationEnvironment() <> ApplicationEnvironment.Prod) redirect mailbox/calendar operations in clsConsolidations, clsLegalSchedule, and clsAttorneySchedule to test mailboxes (ztstatt2/ztstatt3/ztstatt4).
  • clsHearingLocation.CanDeleteLocation and the clsLegalPerson delete guard enforce application-level referential integrity (a hearing location or legal person referenced elsewhere cannot be deleted).

Stored procedure operations

Operations implemented in Oracle stored procedures referenced by this library. Real PL/SQL source (spec and, for pk80001_legalnet/pk80005_assignment, body) was retrieved via the Legends CLI; see Procedures.

Operation Description Source Link
Legal case CRUD Insert/retrieve/update/delete a legal case pk80001_legalnet.InsertLegalCase / getLegalCase / UpdateLegalCase / DeleteLegalCase Details
Case search Resolve a case by identifier or search cases by claim ID list pk80001_legalnet.findCase / Casesearch Details
Hearing schedule lifecycle Insert/update/delete hearing schedule rows and recompute hearing sequence pk80001_legalnet.insertSchedule / updateSchedule / deleteSchedule / updateHearingSeqNum Details
Appeal lifecycle Insert/retrieve/update/delete appeals and appeal extensions pk80001_legalnet.insertAppeal / getAppeal / updateAppeal / deleteappeal / insertAppealExtension / updateAppealExtension Details
Case outcome lifecycle Insert/retrieve/update/delete case outcomes, outcome issues, and outcome staff pk80001_legalnet.InsertCaseOutcome / GetCaseOutcome / updateCaseOutcome / DeleteCaseOutcome / updateOutcomeIssue / updateOutcomeStaff Details
Consolidation lifecycle Merge/split consolidated legal cases and maintain hearing-sequence bookkeeping pk80001_legalnet.getConsolidatedCases / UpdateConsolidatedCase / checkOtherCases Details
File location lifecycle Track and revert versioned legal-file physical location history pk80001_legalnet.getFileLocation / insertFileLocation / updateFileLocation / popfilelocation Details
Mail-date / OAR / reconsideration lifecycle Build mail worklists and set OAR/reconsideration mail dates and flags pk80001_legalnet.mailDateList / setMailDate / setMailOARFlag / setNoMailDate Details
Attorney profile lifecycle Insert/retrieve/update attorney profile records pk80001_legalnet.insertAttyProfile / getAttyProfile / updateAttyProfile Details
Attorney assignment run Execute the attorney assignment batch — conflict/rotation/calendar/load checks and case-status/schedule updates pk80005_assignment.assignIt / assignItBalanced / insert_results / updateSchedule Details
Assignment results review Retrieve new/historical assignment results and lists pk80005_assignment.get_results / get_assign_results / get_assign_list Details
Attorney conflict and schedule review Surface past hearings, conflict hearings, and schedule conflicts for an attorney pk80005_assignment.getAttorneyPastHearings / getAttorneyConflictHearings / getAttorneyScheduleConflict Details
Legal letter selection Select and update legal letter requests pk82289_legalnet_letters.SelectLetterRequests / SelectLetter / UpdateLetterRequest / GetWorkerInfo Details

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.Legal\LegalNet\clsAssignmentProcess.vb
  • SAIF.Business.Claim.Legal\LegalNet\clsLegalSchedule.vb
  • SAIF.Business.Claim.Legal\LegalNet\clsConsolidations.vb
  • SAIF.Business.Claim.Legal\LegalNet\clsCreateFile.vb
  • SAIF.Business.Claim.Legal\Print\clsLetterRequest.vb
  • SAIF.Business.Claim.Legal\LegalNet\clsAppeal.vb
  • SAIF.Business.Claim.Legal\mdlCodeTables.vb