SAIF.Business.Claim.Maintenance operations and processes¶
This page is the operation catalog and cross-operation hub for SAIF.Business.Claim.Maintenance. The library exposes twelve operations covering claim-header maintenance, accident/injury data, claim adjustments executed through Oracle packages, and the ancillary collections (support orders, vocational data, disability activity, work release/status, medical conditions, COVID-19 testing, policy history, attending physicians) that hang off a claim. 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 |
|---|---|---|---|---|---|---|---|
| Claim detail CRUD | Retrieve and update the core claim header and its dependent child collections | clsClaimDetail.GetClaimDetail(dpi, claimID) followed by property edits and Save() |
ClaimID, mutable CL_INJURY_CLAIM header fields, UpdateNum, IDataPortalInfo |
Populated claim-detail object; persisted header update; derived pharmacy/legal-rep/policy side effects | BR-CM-001, BR-CM-009, BR-CM-010, BR-CM-011, BR-CM-012, BR-CM-013, BR-CM-014, BR-CM-015, BR-CM-016, BR-CM-017, BR-CM-018, BR-CM-019, BR-CM-020, BR-CM-021, BR-CM-022, BR-CM-023, BR-CM-024, BR-CM-025, BR-CM-026, BR-CM-027, BR-CM-028, BR-CM-029, BR-CM-030, BR-CM-031, BR-CM-032, BR-CM-033, BR-CM-034, BR-CM-035, BR-CM-036, BR-CM-037, BR-CM-038, BR-CM-039 | CL_INJURY_CLAIM, CL_MERGED_CLAIM, CL_MEDICAL_CONDITION, CL_CLAIM_LEGAL_REPRESENTATIVE, MCO_GSA_LOCATION, CL_CLAIM_PERSON, CL_BENEFIT_PERIOD | SQL-032, SQL-033, SQL-034, SQL-035, SQL-036, SQL-037, SQL-038, SQL-039, SQL-040, SQL-041, SQL-086, SQL-087 |
| Accident injury management | Maintain injury date, injury circumstances, and injury address on a claim | clsAccidentInjury.GetAccidentInjury(dpi, claimID) followed by property edits and Save() |
ClaimID, injury/exposure fields, injury address, supporting claim dates |
Updated CL_INJURY_CLAIM row; conditional three-day-wait deletion; federal awards set to pending |
BR-CM-001, BR-CM-040, BR-CM-041, BR-CM-042, BR-CM-043, BR-CM-044, BR-CM-045, BR-CM-046, BR-CM-047, BR-CM-048, BR-CM-049, BR-CM-050, BR-CM-051, BR-CM-052, BR-CM-053, BR-CM-054, BR-CM-055, BR-CM-056, BR-CM-057, BR-CM-058 | CL_INJURY_CLAIM, CL_CLAIM_PERSON, ZIP_MCO_COUNTY, CL_DISABILITY_AUTH_ACTIVITY, CL_MEDICAL_CONDITION, CL_CLAIM_REQUEST_DECISION, CL_CLAIM_WORK_RELEASE_STATUS, CL_CLAIM_TD_THREE_DAY_WAIT | SQL-021, SQL-022, SQL-023, SQL-024, SQL-025, SQL-026, SQL-027, SQL-081, SQL-106 |
| Claim adjustment | Void, combine, transfer, or restore a claim through PK82140_CLAIM_ADJUSTMENTS |
Caller selects an AdjustmentAction, populates the matching context objects, and calls Save() |
Adjustment type selector, current claim, combine claim, transfer worker and claim collection, acting user | Stored-function row count per adjustment; broken rules on validation or contention failure | BR-CM-007, BR-PROC-001, BR-PROC-002, BR-PROC-003 | CL_INJURY_CLAIM, CL_CLAIM_PERSON | SQL-029, SQL-030, SQL-031, SQL-082, SQL-083, SQL-084, SQL-085 |
| Support order management | Create, update, delete, and connect child-support withholding orders for a worker | Caller invokes the support-order factories or collection retrieve and calls Save() |
WorkerID, order fields, selected claim connections, acting user |
Persisted support order and connection rows; generated to-do tasks; validation errors and warnings | BR-CM-001, BR-CM-002, BR-CM-003, BR-CM-004, BR-CM-005, BR-CM-006, BR-CM-008 | CL_CLAIM_SUPPORT_ORDER_CONN, CL_INJURY_CLAIM, DUAL | SQL-001, SQL-002, SQL-008, SQL-009, SQL-049, SQL-050, SQL-051, SQL-052, SQL-054, SQL-055, SQL-056, SQL-057, SQL-058, SQL-059, SQL-060, SQL-092, SQL-110, SQL-111 |
| Vocational data retrieval | Load and maintain the vocational-detail history for a claim | clsVocationalDetailCollection.GetVocationalDetails(dpi, claimID) and collection Save() |
ClaimID, vocational status/date, rehab provider, counselor, responsibility code |
Populated vocational-detail collection; inserted/updated/deleted detail rows; synchronized claim responsibility code | BR-CM-001 | VOCATIONAL_DETAIL, CL_INJURY_CLAIM | SQL-017, SQL-073, SQL-099, SQL-118 |
| Vocational coordinators | Resolve and cache the vocational reference lists used to validate a vocational detail | Any read of the coordinator, provider, status, or status-detail lists, or rule evaluation during IsValid |
IDataPortalInfo only — the lookups are process-wide reference data |
Cached coordinator, provider, status, and status-detail lookups; resolved display names; validation errors | None catalogued* | None documented* | None catalogued* |
| Disability activity tracking | Maintain disability status activity and disability authorization activity history for a claim | Caller retrieves either activity collection, edits or adds items, and calls Save() |
ClaimID, disability date, authorization reason code and date, sequence numbers, UpdateNum |
Persisted activity rows; latest/current activity items; max disability date used by the claim header | BR-CM-001 | CL_CLAIM_DISABILITY_ACTIVITY, CL_DISABILITY_AUTH_ACTIVITY, CL_INJURY_CLAIM | SQL-003, SQL-013, SQL-042, SQL-043, SQL-064, SQL-065, SQL-088, SQL-095, SQL-107, SQL-114 |
| Work release/status management | Maintain work release and work status history under the injury-claim aggregate | Caller retrieves clsWorkStatusInjuryClaim, adds or edits rows, and calls Save() |
ClaimID, work release/status codes and dates, sequence numbers, UpdateNum, leave-work date |
Persisted work release and work status rows; updated claim header dates; broken-rule collection | BR-CM-001 | CL_CLAIM_WORK_RELEASE_STATUS, CL_CLAIM_WORK_STATUS, CL_INJURY_CLAIM | SQL-018, SQL-019, SQL-074, SQL-075, SQL-076, SQL-100, SQL-101, SQL-102, SQL-119, SQL-120 |
| Medical condition management | Maintain medical conditions, omitted conditions, and their compensability decision history | Caller retrieves the condition collections, edits conditions or decisions, and calls Save() |
Claim data, condition fields, diagnosis codes, decision and denial fields | Persisted condition, decision, and omitted-condition rows; generated claim tasks; validation messages | BR-CM-001 | CL_MEDICAL_CONDITION, CL_COND_COMPENSABILITY_DECISN, CL_OMITTED_COND_DENIED, CBP_DIAGNOSIS | SQL-011, SQL-014, SQL-015, SQL-062, SQL-067, SQL-068, SQL-069, SQL-071, SQL-094, SQL-096, SQL-097, SQL-115, SQL-116 |
| COVID-19 testing history | Append and read the COVID-19 testing history for a claim | NewCovid19TestingHistory or GetCovid19TestingHistoryCollection, followed by Save() |
ClaimID, tested-for-COVID-19 flag, test result code, acting user |
Inserted testing-history rows; history collection ordered by create date descending | None registered* | CL_COVID19_TESTING_HISTORY | SQL-012, SQL-063 |
| Policy history tracking | Record policy-number changes on a claim as an append-only policy history | Caller sets clsClaimPolicy.PolicyNum and calls Save(); the history page retrieves read-only |
ClaimID, new policy number, policy sub-code, acting user |
Updated claim header policy fields; inserted policy-history rows; in-memory history collection | BR-CM-001 | CL_INJURY_CLAIM, CL_CLAIM_POLICY_HISTORY | SQL-005, SQL-045, SQL-046, SQL-089 |
| Attending physician retrieval | Read attending physicians and alternate care providers for a claim from the claim-contacts API | clsAttendingPhysicianCollection.GetAttendingPhysicians(dpi, claimID) |
IDataPortalInfo, ClaimID |
Read-only collection of attending physicians with resolved termination reasons | None documented* | ATTENDING_PHYS_EXP_REASON_CODE | SQL-028 |
Process flow diagram¶
The following diagram shows how the twelve operations relate across the claim-maintenance lifecycle: a claim is retrieved, its header and injury data are maintained, ancillary collections are edited, adjustments are executed through Oracle packages, and all changes converge on a save that enforces optimistic concurrency.
flowchart TD
Start([Caller requests claim maintenance]) --> Retrieve[Retrieve claim context<br>by ClaimID or WorkerID]
Retrieve --> Header[Claim header maintenance]
Header --> Detail[Claim detail CRUD]
Header --> Injury[Accident injury management]
Header --> Policy[Policy history tracking]
Retrieve --> Ancillary[Ancillary claim collections]
Ancillary --> Conditions[Medical condition management]
Ancillary --> Disability[Disability activity tracking]
Ancillary --> WorkRel[Work release and status management]
Ancillary --> Voc[Vocational data retrieval]
Voc --> VocRef[Vocational coordinators<br>cached reference lookups]
Ancillary --> Covid[COVID-19 testing history]
Ancillary --> Support[Support order management]
Retrieve --> External[Attending physician retrieval<br>claim contacts API]
Retrieve --> Adjust{Claim adjustment<br>requested?}
Adjust -->|Yes| Proc[Void, combine, transfer,<br>or restore via PK82140]
Adjust -->|No| Edit[Caller edits properties]
Detail --> Edit
Injury --> Edit
Policy --> Edit
Conditions --> Edit
Disability --> Edit
WorkRel --> Edit
Voc --> Edit
Covid --> Edit
Support --> Edit
Edit --> Validate{Validation rules pass?}
Validate -->|No| Errors([Broken rules returned;<br>changes retained in memory])
Validate -->|Yes| Save[Save cascade:<br>children then header]
Save --> Concurrency{RowsAffected = 1?}
Proc --> Concurrency
Concurrency -->|Yes| Done([Changes persisted;<br>objects marked clean])
Concurrency -->|No| Contention([DB contention error added;<br>save reported as failed])
External --> ReadOnly([Read-only 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/.
Stored procedure operations¶
Operations implemented in Oracle packages referenced by this library.
| Operation | Description | Source | Link |
|---|---|---|---|
| Void claim | Voids an active claim and returns a rows-affected count for the contention check. | PK82140_CLAIM_ADJUSTMENTS.VoidClaim |
Details |
| Combine claim | Combines the current claim into another claim for the same worker and policy. | PK82140_CLAIM_ADJUSTMENTS.CombineClaim |
Details |
| Transfer claim | Transfers one claim at a time to a different worker. | PK82140_CLAIM_ADJUSTMENTS.TransferClaim |
Details |
| Restore claim | Restores a voided claim to its own current worker. | PK82140_CLAIM_ADJUSTMENTS.RestoreClaim |
Details |
| Support order persistence and checks | Insert, update, delete, award/payment existence checks, connection reads, and to-do task determination for support orders.* | PK82141_SUPPORT_ORDER.* |
Details |
| Vocational data reads | Vocational-detail retrieval by claim and the coordinator reference list.* | PK82003_VOCDATA.* |
Details |
Failure and edge-case behavior¶
- Optimistic concurrency is the dominant failure mode: every persisting operation checks the affected row count and adds a DB contention error instead of throwing (BR-CM-001). Detailed per-operation behavior is documented on each operation page.
- Retrieve paths generally return an empty or unfilled object when no row matches, rather than raising a not-found error; callers must check the populated state themselves.
- Warning-severity rules (nearby-claim, payment-about-to-be-issued, closed-claim medically-stationary date, policy coverage) surface messages without blocking the save.
- Claim transfer is the only adjustment that loops over multiple claims; it stops at the first contention failure and leaves the remaining claims untransferred.
PK82141_SUPPORT_ORDERandPK82003_VOCDATAcould not be located in the Oracle catalog, so the behavior documented for those calls is derived from the VB call sites and parameter shapes rather than verified package bodies.*- Attending physician retrieval depends on an external REST service and is read-only; its collection save always returns false.
Related documentation¶
- Index
- Overview
- Architecture
- Dependencies
- Business rules
- Database tables
- SQL catalog
- Procedures
- API reference
Note: Statements marked with
*were inferred from code structure, naming conventions, or contextual evidence where direct confirmation was not available in source artifacts.
Sources¶
Business\SAIF.Business.Claim.Maintenance\clsClaimDetail.vbBusiness\SAIF.Business.Claim.Maintenance\clsAccidentInjury.vbBusiness\SAIF.Business.Claim.Maintenance\clsClaimAdjustment.vbBusiness\SAIF.Business.Claim.Maintenance\clsClaimSupportOrder.vbBusiness\SAIF.Business.Claim.Maintenance\clsClaimSupportOrderCollection.vbBusiness\SAIF.Business.Claim.Maintenance\clsClaimSupportOrderConn.vbBusiness\SAIF.Business.Claim.Maintenance\clsClaimSupportOrderConnCollection.vbBusiness\SAIF.Business.Claim.Maintenance\clsVocationalDetail.vbBusiness\SAIF.Business.Claim.Maintenance\clsVocationalDetailCollection.vbBusiness\SAIF.Business.Claim.Maintenance\clsVocationalStatusDetail.vbBusiness\SAIF.Business.Claim.Maintenance\clsClaimDisabilityActivity.vbBusiness\SAIF.Business.Claim.Maintenance\clsClaimDisabilityActivityCollection.vbBusiness\SAIF.Business.Claim.Maintenance\clsDisabilityAuthActivity.vbBusiness\SAIF.Business.Claim.Maintenance\clsDisabilityAuthActivityCollection.vbBusiness\SAIF.Business.Claim.Maintenance\clsWorkRelease.vbBusiness\SAIF.Business.Claim.Maintenance\clsWorkReleaseCollection.vbBusiness\SAIF.Business.Claim.Maintenance\clsWorkStatus.vbBusiness\SAIF.Business.Claim.Maintenance\clsWorkStatusCollection.vbBusiness\SAIF.Business.Claim.Maintenance\clsWorkStatusInjuryClaim.vbBusiness\SAIF.Business.Claim.Maintenance\clsMedicalCondition.vbBusiness\SAIF.Business.Claim.Maintenance\clsMedicalConditionCollection.vbBusiness\SAIF.Business.Claim.Maintenance\clsOmittedCondition.vbBusiness\SAIF.Business.Claim.Maintenance\clsOmittedConditionCollection.vbBusiness\SAIF.Business.Claim.Maintenance\clsConditionDecision.vbBusiness\SAIF.Business.Claim.Maintenance\clsConditionDecisionCollection.vbBusiness\SAIF.Business.Claim.Maintenance\clsCovid19TestingHistory.vbBusiness\SAIF.Business.Claim.Maintenance\clsCovid19TestingHistoryCollection.vbBusiness\SAIF.Business.Claim.Maintenance\clsClaimPolicy.vbBusiness\SAIF.Business.Claim.Maintenance\clsClaimPolicyHistory.vbBusiness\SAIF.Business.Claim.Maintenance\clsClaimPolicyHistoryCollection.vbBusiness\SAIF.Business.Claim.Maintenance\clsAttendingPhysician.vbBusiness\SAIF.Business.Claim.Maintenance\clsAttendingPhysicianCollection.vbBusiness\SAIF.Business.Claim.Maintenance\CCClaimDataApi\AttendingPhysicians.vbBusiness\SAIF.Business.Claim.Maintenance\CCClaimDataApi\ClaimContactsResponse.vbBusiness\SAIF.Business.Claim.Maintenance\CCClaimDataApi\Contact.vbBusiness\SAIF.Business.Claim.Maintenance\CCClaimDataApi\ResponseData.vbBusiness\SAIF.Business.Claim.Maintenance\CCClaimDataApi\WorkerRepresentatives.vb