Skip to content

SAIF.Business.Claim.Entry operations and processes

This page is the operation catalog and cross-operation hub for SAIF.Business.Claim.Entry. The library exposes sixteen operations covering the core claim-entry lifecycle (create, insert, update, delete, number, and duplicate-claim detection), state-specific entry extensions (county-code resolution, multiple-employer letters, work release), pharmacy eligibility CRUD and reporting, and the Online 801 electronic-submission surface (documents, submissions, submission detail, worker lookup, claim submission, and claim search), which is backed by the PK82538_ONLINE_801_CLAIM Oracle package and two ClaimCenter/CCClaimDataApi REST integrations. 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
Create new claim Generate a new CLAIM_ID from an Oracle sequence and initialize claim defaults clsClaimEntry.BeforeCreate / AfterCreate via the data-portal create pipeline Acting worker ID, jurisdiction code New in-memory claim object seeded with default status/coverage/flags None documented* None SQL-001
Insert claim Persist a new claim header to CL_INJURY_CLAIM and, for New-status claims, cascade auxiliary status rows clsClaimEntry.BeforeInsert / AfterInsert during Save() of a new claim Populated claim fields, injury address, IsNewStatus Inserted CL_INJURY_CLAIM row; conditional request-decision, status-activity, type-activity, MCO-eligibility, and policy-history rows BR-CE-004, BR-CE-011, BR-CE-013 CL_INJURY_CLAIM, CL_CLAIM_REQUEST_DECISION, CL_CLAIM_STATUS_ACTIVITY, CL_CLAIM_TYPE_ACTIVITY, CL_CLAIM_MCO_ELIGIBILITY, CL_CLAIM_POLICY_HISTORY SQL-010, SQL-005, SQL-006, SQL-007, SQL-008, SQL-009
Update claim Update all mutable fields on CL_INJURY_CLAIM with optimistic concurrency, re-running the New-status cascade clsClaimEntry.BeforeUpdate / AfterUpdate during Save() of an existing claim Modified claim fields, ClaimID, UpdateNum Updated CL_INJURY_CLAIM row; same conditional auxiliary rows as insert BR-CE-004, BR-CE-011, BR-CE-013 CL_INJURY_CLAIM, CL_CLAIM_REQUEST_DECISION, CL_CLAIM_STATUS_ACTIVITY, CL_CLAIM_TYPE_ACTIVITY, CL_CLAIM_MCO_ELIGIBILITY, CL_CLAIM_POLICY_HISTORY SQL-022, SQL-005, SQL-006, SQL-007, SQL-008, SQL-009
Delete claim Remove all tasks for the claim, then delete the CL_INJURY_CLAIM row clsClaimEntry.BeforeDelete / AfterDelete during Save() of a deleted claim ClaimID Deleted TASK rows and CL_INJURY_CLAIM row, or a DB contention error BR-CE-011 CL_INJURY_CLAIM SQL-027
Number claim / manual claim validation Assign the next system claim number or validate a manually entered claim number Caller calls NumberClaim or ValidManualClaim before save Current SaifClaimNum, or a manually entered claim number Assigned/validated SaifClaimNum and recalculated check digit BR-CE-003, BR-CE-014 None SQL-002
Check multiple claims for worker Detect an existing claim for the same worker within a 14-day injury-date window Caller calls CheckForMultipleClaimsForWorker WorkerID, ClaimID, InjuryDate Matching SAIF claim number, or an empty string BR-CE-012 CL_INJURY_CLAIM SQL-016
State insert extensions Resolve the county code from the injury address and, for New-status claims, queue a multiple-employer letter request clsStateClaimEntry.BeforeInsert / BeforeUpdate Injury address state/zip, MultipleEmprFlag, SaifClaimNum Resolved County on the injury address; conditional CL_MULT_EMPLOYER_LETTER_REQ row BR-CE-007, BR-CE-008, BR-CE-009 ZIP_MCO_COUNTY, CL_MULT_EMPLOYER_LETTER_REQ SQL-019, SQL-015
Work release management Create, update, or delete the claim's work-release-status child record to match the caller-supplied code/date clsStateClaimEntry.IsValid, via UpdateWorkReleaseStatus WorkReleaseCode, WorkReleaseDate, claim deletion state Created/updated/deleted work-release-status child object BR-CE-005, BR-CE-015 None in this library* None in this library*
Pharmacy eligibility CRUD Insert or update a pharmacy eligibility report record for a claim clsPharmacyEligibilityReport.BeforeInsert / BeforeUpdate during Save() ClaimID, eligibility status/effective date, transmit dates Inserted/updated CL_PHARMACY_ELIGIBILITY_REPORT row BR-CE-010, BR-CE-011 CL_PHARMACY_ELIGIBILITY_REPORT SQL-014, SQL-026
Pharmacy report retrieval Extract full, delta, and first-fill pharmacy eligibility report sets for downstream transmission Caller calls GetEligibilityReports, GetEligibilityFFReports, or GetFirstFillEligibilityReports Full/delta extraction flag Sorted eligibility-report collections for transmission BR-CE-016, BR-CE-017, BR-CE-018, BR-CE-019 CL_PHARMACY_ELIGIBILITY_REPORT Not catalogued in the SQL index — inline queries documented on the operation page*
801 document management Create, update, and retrieve Online 801 document metadata rows cls801Document CRUD lifecycle and cls801DocumentCollection retrieval ClaimID, ImageSeqNum, FileName, DocTypeCode Persisted CL_801_DOCUMENT row, or a retrieved/sorted document collection BR-CE-011, BR-PROC-003 CL_801_DOCUMENT SQL-003, SQL-011, SQL-023
801 submission CRUD Create, update, delete, and retrieve Online 801 submission header rows, including worker-lookup-driven duplicate prevention cls801Submission CRUD lifecycle and retrieval helpers PolicyNumber, ClaimID/SubmissionID, submission header fields Persisted CL_801_SUBMISSION row; populated or claim-synthesized submission object BR-CE-011, BR-CE-020, BR-CE-021, BR-PROC-001, BR-PROC-002 CL_801_SUBMISSION SQL-004, SQL-012, SQL-024, SQL-028
801 submission data CRUD Create, update, delete, and retrieve Online 801 submission detail rows, including claim/worker prefill cls801SubmissionData CRUD lifecycle and LoadFromClaim / LoadClaimWorker prefill Submission ID, claim data, worker DTO/ID, Box-field detail Persisted CL_801_SUBMISSION_DATA row and six contact objects BR-CE-011, BR-PROC-002 CL_801_SUBMISSION_DATA SQL-013, SQL-018, SQL-025, SQL-029
Worker lookup via API Resolve a worker (and, when applicable, an in-progress claim) from CCClaimDataApi before an Online 801 submission cls801Submission.FindWorker, delegating to clsFindWorkerAPI Submission name fields, tax ID, birth date, injury date Resolved cls801FindWorkerDTO worker(s); adopted ClaimID on a same-claim match BR-CE-022 None (REST) None
Claim submission via API Submit a completed Online 801 submission to ClaimCenter and adopt the returned ClaimID cls801Submission.SubmitClaim, delegating to clsSubmitClaimByAPI Validated submission and submission-data, acting user ClaimCenter ClaimID; updated submission status Submitted; clsSubmissionResult BR-CE-023 None (REST) None
Claim search via API Search CCClaimDataApi for Online 801 claims matching policy/name/SSN/date criteria clsClaimSearchResultCollection.GetResults, delegating to clsClaimSearchApi PolicyNum, name, SSN, claim number, status flags, date ranges Sorted clsClaimSearchResult collection with display-translated claim number/status BR-CE-024 None (REST) None

Process flow diagram

The following diagram shows how the sixteen operations relate: a claim is created, numbered, and persisted through its core lifecycle; state-specific extensions and pharmacy eligibility hang off the same claim; and the Online 801 surface runs its own parallel lifecycle for documents, submissions, and submission detail, converging on worker lookup and ClaimCenter submission.

flowchart TD
    Start([Caller requests claim entry]) --> Create[Create new claim]
    Create --> Number[Number claim /<br>manual claim validation]
    Number --> Dup{Check multiple claims<br>for worker?}
    Dup -->|Match found| Warn([Caller warned of<br>possible duplicate claim])
    Dup -->|No match| Insert[Insert claim]
    Insert --> StateExt[State insert extensions:<br>county code, multiple-employer letter]
    Insert --> WorkRel[Work release management]
    Insert --> Pharmacy[Pharmacy eligibility CRUD]
    Pharmacy --> PharmReports[Pharmacy report retrieval]
    Create --> Update[Update claim]
    Update --> StateExt
    Update --> WorkRel
    Update --> Pharmacy
    Insert --> Delete{Claim deleted?}
    Update --> Delete
    Delete -->|Yes| DeleteOp[Delete claim]
    Online801Start([Online 801 electronic submission]) --> Search[Claim search via API]
    Online801Start --> WorkerLookup[Worker lookup via API]
    WorkerLookup --> SubCrud[801 submission CRUD]
    SubCrud --> SubDataCrud[801 submission data CRUD]
    SubDataCrud --> DocMgmt[801 document management]
    SubDataCrud --> Submit{Ready to submit?}
    Submit -->|Yes| ClaimSubmit[Claim submission via API]
    ClaimSubmit --> Insert
    Submit -->|No| SubDataCrud

Inherited operations and processes

Operations in this section originate from base classes or business objects provided by dependency libraries. They are inherited or delegated, not implemented in this library.

From clsClaimWorkReleaseStatus and clsClaimEmployeeWorkAddress (SAIF.Business.Claim)

Operation Intent Provided by Origin Embedded in
Work status and work release tracking Create, retrieve, update, and delete the sequence-numbered work-release-status child row clsClaimWorkReleaseStatus SAIF.Business.Claim Work release management
Claim employee work address management Maintain the address of the work site where the injury occurred clsClaimEmployeeWorkAddress SAIF.Business.Claim State insert extensions

Origin: These operations are defined and fully documented in SAIF.Business.Claim, which has been migrated to the current documentation format. See Work status and work release tracking and Claim employee work address management in the SAIF.Business.Claim documentation set.

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
Create new claim SQL-001 DUAL (sequence) Read
Insert claim SQL-010, SQL-005, SQL-006, SQL-007, SQL-008, SQL-009 CL_INJURY_CLAIM, CL_CLAIM_REQUEST_DECISION, CL_CLAIM_STATUS_ACTIVITY, CL_CLAIM_TYPE_ACTIVITY, CL_CLAIM_MCO_ELIGIBILITY, CL_CLAIM_POLICY_HISTORY Write
Update claim SQL-022, SQL-005, SQL-006, SQL-007, SQL-008, SQL-009 CL_INJURY_CLAIM, CL_CLAIM_REQUEST_DECISION, CL_CLAIM_STATUS_ACTIVITY, CL_CLAIM_TYPE_ACTIVITY, CL_CLAIM_MCO_ELIGIBILITY, CL_CLAIM_POLICY_HISTORY Read / Write
Delete claim SQL-027 CL_INJURY_CLAIM Delete
Number claim / manual claim validation SQL-002 DUAL (sequence) Read
Check multiple claims for worker SQL-016 CL_INJURY_CLAIM Read
State insert extensions SQL-019, SQL-015 ZIP_MCO_COUNTY, CL_MULT_EMPLOYER_LETTER_REQ Read / Write
Pharmacy eligibility CRUD SQL-014, SQL-026 CL_PHARMACY_ELIGIBILITY_REPORT Write
Pharmacy report retrieval Not catalogued* CL_PHARMACY_ELIGIBILITY_REPORT Read
801 document management SQL-003, SQL-011, SQL-023 CL_801_DOCUMENT Read / Write (stored procedure)
801 submission CRUD SQL-004, SQL-012, SQL-024, SQL-028 CL_801_SUBMISSION Read / Write (stored procedure)
801 submission data CRUD SQL-013, SQL-018, SQL-025, SQL-029 CL_801_SUBMISSION_DATA Read / Write (stored procedure)
Worker lookup via API None None Read (REST call only)
Claim submission via API None None Write (REST call only)
Claim search via API None None Read (REST call only)

Stored procedure operations

Operations implemented in Oracle stored procedures referenced by this library.

Operation Description Source Link
Retrieve Online 801 submissions Returns submission rows by submission ID, claim ID, policy number, or retention-date cleanup mode. PK82538_ONLINE_801_CLAIM.submission_select Details
Persist Online 801 submission headers Inserts, updates, and deletes Online 801 submission header rows. PK82538_ONLINE_801_CLAIM.submission_insert Details
Persist Online 801 submission detail Inserts, updates, retrieves, and deletes Online 801 submission detail rows. PK82538_ONLINE_801_CLAIM.submission_data_insert Details
Persist Online 801 documents Retrieves and maintains Online 801 document metadata keyed by claim or image sequence number. PK82538_ONLINE_801_CLAIM.document_insert Details

Failure and edge-case behavior

  • Every persisting claim-entry, pharmacy, and Online 801 operation checks the affected row count and adds a DB contention error instead of throwing (BR-CE-011). Detailed per-operation behavior is documented on each operation page.
  • Deleting Online 801 documents is not operational: cls801Document prepares delete parameters, but its criteria class throws InvalidSQLProperty for DeleteSQL, so no document_delete procedure is wired.*
  • 801 submission CRUD retrieval and cleanup paths (submission_select, submission_claim_select, submission_policy_select, submission_cleanup_select, Incomplete_Submission_select) call PK82538_ONLINE_801_CLAIM procedures that are not individually catalogued as SQL-* documents in this run; see the operation page for the traced call sites.*
  • The Claim submission via API flow unconditionally sets IsSubmitted = True on the result object after the local save attempt, regardless of whether the save actually succeeded, which can mask a failed local persist.*
  • Claim submission via API's response handling in clsSubmitClaimByAPI.AfterInsert dereferences response(0) in its own empty-response fallback branch, which throws if the API ever returns a zero-length response array.*
  • Claim search via API does not inspect the wrapper response's status code or handle a missing/empty Data payload before consuming it.*
  • Warning-versus-error severity for duplicate-claim detection is caller-dependent: CheckForMultipleClaimsForWorker itself only returns a claim number string; historical rule wrappers treated a match as a warning rather than a blocking error.*

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.Entry\clsClaimEntry.vb
  • Business\SAIF.Business.Claim.Entry\clsClaimEntryBusinessRules.vb
  • Business\SAIF.Business.Claim.Entry\clsPharmacyEligibility.vb
  • Business\SAIF.Business.Claim.Entry\clsStateClaimEntry.vb
  • Business\SAIF.Business.Claim.Entry\enums.vb
  • Business\SAIF.Business.Claim.Entry\Online801\Submission\cls801Document.vb
  • Business\SAIF.Business.Claim.Entry\Online801\Submission\cls801Submission.vb
  • Business\SAIF.Business.Claim.Entry\Online801\Submission\cls801SubmissionData.vb
  • Business\SAIF.Business.Claim.Entry\Online801\Submission\clsFindWorkerAPI.vb
  • Business\SAIF.Business.Claim.Entry\Online801\Submission\clsSubmitClaimByAPI.vb
  • Business\SAIF.Business.Claim.Entry\Online801\Submission\clsGwNameSuffix.vb
  • Business\SAIF.Business.Claim.Entry\Online801\Submission\cls801FindWorkerDTO.vb
  • Business\SAIF.Business.Claim.Entry\Online801\Submission\cls801SearchCriteriaDTO.vb
  • Business\SAIF.Business.Claim.Entry\Online801\Submission\ApiNewClaimModels\clsNewClaimModel.vb
  • Business\SAIF.Business.Claim.Entry\Online801\Submission\ApiNewClaimModels\Claimant.vb
  • Business\SAIF.Business.Claim.Entry\Online801\Submission\ApiNewClaimModels\EmploymentData.vb
  • Business\SAIF.Business.Claim.Entry\Online801\Submission\ApiNewClaimModels\Policy.vb
  • Business\SAIF.Business.Claim.Entry\Online801\Submission\ApiNewClaimModels\PrimaryAddress.vb
  • Business\SAIF.Business.Claim.Entry\Online801\Search\clsClaimSearchCriteria.vb
  • Business\SAIF.Business.Claim.Entry\Online801\Search\clsClaimSearchResult.vb
  • Business\SAIF.Business.Claim.Entry\Online801\Search\CCClaimDataApi\clsClaimSearchApi.vb
  • Business\SAIF.Business.Claim.Entry\Online801\Search\CCClaimDataApi\CCClaimDataApiClaimSearchCriteria.vb
  • Business\SAIF.Business.Claim.Entry\Online801\CCClaimDataAPIResponseData.vb
  • Business\SAIF.Business.Claim.Entry\Online801\ClaimCenterAPIResponseData.vb
  • Business\SAIF.Business.Claim.Entry\Online801\clsRecordInfo.vb
  • Business\SAIF.Business.Claim.Entry\Online801\mdlCodeTables.vb