---
title: "PK82538_ONLINE_801_CLAIM stored procedure documentation"
summary: Oracle procedure documentation for PK82538_ONLINE_801_CLAIM.
status: draft
owner: SAIF Doc Gen
last_reviewed: 2026-07-28
library: SAIF.Business.Claim.Entry
reference_type: package
---

# PK82538_ONLINE_801_CLAIM

## Overview

| Field | Value |
| --- | --- |
| **Schema** | WCIS_DBA |
| **Type** | PACKAGE |
| **Status** | Found in Oracle during Stage 1b analysis |
| **Calling libraries** | `SAIF.Business.Claim.Entry` |
| **Calling classes** | `cls801Document`, `cls801Submission`, `cls801SubmissionData`, `clsSubmissionResult` |

## Purpose

This package is invoked by the library's BOF persistence or retrieval paths and is documented here from the calling-code contracts captured during Stage 1b analysis.

## Procedures / Methods

### document_insert

| Field | Value |
| --- | --- |
| **Returns** | Result set or rowcount contract depends on the calling SQL wrapper. |
| **Called by** | `cls801Document` |

**Description:** Oracle procedure call surfaced through the BOF criteria wrapper.

#### Parameters

| Parameter | Direction | Type | Default | Description |
| --- | --- | --- | --- | --- |
| `:UpdateNum` | Input | Unknown | — | Passed from cls801Document via BeforeInsert. |
| `:UpdateUser` | Input | Unknown | — | Passed from cls801Document via BeforeInsert. |
| `:UpdateDate` | Input | Unknown | — | Passed from cls801Document via BeforeInsert. |
| `:CreateUser` | Input | Unknown | — | Passed from cls801Document via BeforeInsert. |
| `:CreateDate` | Input | Unknown | — | Passed from cls801Document via BeforeInsert. |

### document_update

| Field | Value |
| --- | --- |
| **Returns** | Result set or rowcount contract depends on the calling SQL wrapper. |
| **Called by** | `cls801Document` |

**Description:** Oracle procedure call surfaced through the BOF criteria wrapper.

#### Parameters

| Parameter | Direction | Type | Default | Description |
| --- | --- | --- | --- | --- |
| `:LastUpdateNum` | Input | Unknown | — | Passed from cls801Document via BeforeUpdate. |
| `:UpdateNum` | Input | Unknown | — | Passed from cls801Document via BeforeUpdate. |
| `:UpdateUser` | Input | Unknown | — | Passed from cls801Document via BeforeUpdate. |
| `:UpdateDate` | Input | Unknown | — | Passed from cls801Document via BeforeUpdate. |

### document_select

| Field | Value |
| --- | --- |
| **Returns** | Result set or rowcount contract depends on the calling SQL wrapper. |
| **Called by** | See package overview |

**Description:** Oracle procedure call surfaced through the BOF criteria wrapper.

### document_select_by_imageseqnum

| Field | Value |
| --- | --- |
| **Returns** | Result set or rowcount contract depends on the calling SQL wrapper. |
| **Called by** | See package overview |

**Description:** Oracle procedure call surfaced through the BOF criteria wrapper.

### submission_insert

| Field | Value |
| --- | --- |
| **Returns** | Result set or rowcount contract depends on the calling SQL wrapper. |
| **Called by** | `cls801Submission` |

**Description:** Oracle procedure call surfaced through the BOF criteria wrapper.

#### Parameters

| Parameter | Direction | Type | Default | Description |
| --- | --- | --- | --- | --- |
| `:CreateUser` | Input | Unknown | — | Passed from cls801Submission via BeforeInsert. |
| `:CreateDate` | Input | Unknown | — | Passed from cls801Submission via BeforeInsert. |

### submission_update

| Field | Value |
| --- | --- |
| **Returns** | Result set or rowcount contract depends on the calling SQL wrapper. |
| **Called by** | `cls801Submission` |

**Description:** Oracle procedure call surfaced through the BOF criteria wrapper.

#### Parameters

| Parameter | Direction | Type | Default | Description |
| --- | --- | --- | --- | --- |
| `:LastUpdateNum` | Input | Unknown | — | Passed from cls801Submission via BeforeUpdate. |
| `:UpdateNum` | Input | Unknown | — | Passed from cls801Submission via BeforeUpdate. |
| `:UpdateUser` | Input | Unknown | — | Passed from cls801Submission via BeforeUpdate. |
| `:UpdateDate` | Input | Unknown | — | Passed from cls801Submission via BeforeUpdate. |

### submission_delete

| Field | Value |
| --- | --- |
| **Returns** | Result set or rowcount contract depends on the calling SQL wrapper. |
| **Called by** | `cls801Submission` |

**Description:** Oracle procedure call surfaced through the BOF criteria wrapper.

#### Parameters

| Parameter | Direction | Type | Default | Description |
| --- | --- | --- | --- | --- |
| `:SubSeqNum` | Input | Unknown | — | Passed from cls801Submission via BeforeDelete. |
| `:LastUpdateNum` | Input | Unknown | — | Passed from cls801Submission via BeforeDelete. |

### submission_select

| Field | Value |
| --- | --- |
| **Returns** | Result set or rowcount contract depends on the calling SQL wrapper. |
| **Called by** | See package overview |

**Description:** Oracle procedure call surfaced through the BOF criteria wrapper.

### submission_claim_select

| Field | Value |
| --- | --- |
| **Returns** | Result set or rowcount contract depends on the calling SQL wrapper. |
| **Called by** | See package overview |

**Description:** Oracle procedure call surfaced through the BOF criteria wrapper.

### submission_policy_select

| Field | Value |
| --- | --- |
| **Returns** | Result set or rowcount contract depends on the calling SQL wrapper. |
| **Called by** | `clsSubmissionResult` |

**Description:** Oracle procedure call surfaced through the BOF criteria wrapper.

#### Parameters

| Parameter | Direction | Type | Default | Description |
| --- | --- | --- | --- | --- |
| `—` | — | — | — | No explicit bind parameters were found in the matched caller. |

### submission_cleanup_select

| Field | Value |
| --- | --- |
| **Returns** | Result set or rowcount contract depends on the calling SQL wrapper. |
| **Called by** | See package overview |

**Description:** Oracle procedure call surfaced through the BOF criteria wrapper.

### incomplete_submission_select

| Field | Value |
| --- | --- |
| **Returns** | Result set or rowcount contract depends on the calling SQL wrapper. |
| **Called by** | `clsSubmissionResult` |

**Description:** Oracle procedure call surfaced through the BOF criteria wrapper.

#### Parameters

| Parameter | Direction | Type | Default | Description |
| --- | --- | --- | --- | --- |
| `—` | — | — | — | No explicit bind parameters were found in the matched caller. |

### submission_data_insert

| Field | Value |
| --- | --- |
| **Returns** | Result set or rowcount contract depends on the calling SQL wrapper. |
| **Called by** | `cls801SubmissionData` |

**Description:** Oracle procedure call surfaced through the BOF criteria wrapper.

#### Parameters

| Parameter | Direction | Type | Default | Description |
| --- | --- | --- | --- | --- |
| `:CreateDate` | Input | Unknown | — | Passed from cls801SubmissionData via BeforeInsert. |
| `:CreateUser` | Input | Unknown | — | Passed from cls801SubmissionData via BeforeInsert. |

### submission_data_update

| Field | Value |
| --- | --- |
| **Returns** | Result set or rowcount contract depends on the calling SQL wrapper. |
| **Called by** | `cls801SubmissionData` |

**Description:** Oracle procedure call surfaced through the BOF criteria wrapper.

#### Parameters

| Parameter | Direction | Type | Default | Description |
| --- | --- | --- | --- | --- |
| `:LastUpdateNum` | Input | Unknown | — | Passed from cls801SubmissionData via BeforeUpdate. |
| `:UpdateDate` | Input | Unknown | — | Passed from cls801SubmissionData via BeforeUpdate. |
| `:UpdateUser` | Input | Unknown | — | Passed from cls801SubmissionData via BeforeUpdate. |
| `:UpdateNum` | Input | Unknown | — | Passed from cls801SubmissionData via BeforeUpdate. |

### submission_data_delete

| Field | Value |
| --- | --- |
| **Returns** | Result set or rowcount contract depends on the calling SQL wrapper. |
| **Called by** | `cls801SubmissionData` |

**Description:** Oracle procedure call surfaced through the BOF criteria wrapper.

#### Parameters

| Parameter | Direction | Type | Default | Description |
| --- | --- | --- | --- | --- |
| `:SubSeqNum` | Input | Unknown | — | Passed from cls801SubmissionData via BeforeDelete. |
| `:LastUpdateNum` | Input | Unknown | — | Passed from cls801SubmissionData via BeforeDelete. |

### submission_data_select

| Field | Value |
| --- | --- |
| **Returns** | Result set or rowcount contract depends on the calling SQL wrapper. |
| **Called by** | `cls801SubmissionData` |

**Description:** Oracle procedure call surfaced through the BOF criteria wrapper.

#### Parameters

| Parameter | Direction | Type | Default | Description |
| --- | --- | --- | --- | --- |
| `:SubSeqNum` | Input | Unknown | — | Passed from cls801SubmissionData via BeforeRetrieve. |

## Business Rules

| Rule ID | Rule | Condition | Action |
| --- | --- | --- | --- |
| PR-001 | Updates only succeed when the caller-supplied `LastUpdateNum` matches the current row version. | `WHERE ... UPDATE_NUM = LastUpdateNum` in `submission_update`. | Returns `SQL%ROWCOUNT`; the BOF caller treats non-1 results as a contention failure. |
| PR-002 | Deletes only succeed when the caller-supplied `LastUpdateNum` matches the current row version. | `WHERE ... UPDATE_NUM = LastUpdateNum` in `submission_delete` and `submission_data_delete`. | Returns `SQL%ROWCOUNT` so the caller can reject stale deletes. |
| PR-003 | Document updates are version-checked with `LastUpdateNum`. | `WHERE CL_801_DOCUMENT_SEQ_NUM = DocSeqNum and update_num = LastUpdateNum`. | Protects Online 801 document rows from lost updates. |

> These rules are also documented in [Business rules](../business-rules.md).

## Operations

| Operation | Description | Trigger |
| --- | --- | --- |
| Retrieve Online 801 submissions | Returns submission rows by submission ID, claim ID, policy number, or retention-date cleanup mode. | `cls801Submission` retrieval helpers and cleanup utilities. |
| Persist Online 801 submission headers | Inserts, updates, and deletes Online 801 submission header rows. | `cls801Submission.BeforeInsert`, `BeforeUpdate`, and `BeforeDelete`. |
| Persist Online 801 submission detail | Inserts, updates, retrieves, and deletes Online 801 submission detail rows. | `cls801SubmissionData` CRUD lifecycle methods. |
| Persist Online 801 documents | Retrieves and maintains Online 801 document metadata keyed by claim or image sequence number. | `cls801Document` CRUD and helper retrieval methods. |

> These operations are also listed in [Operations and processes](../operations-processes.md).

## Source Code

<details>
<summary>PL/SQL package specification</summary>

```sql
-- Actual PL/SQL spec retrieved from Oracle via Legends CLI
-- Source: DBA_SOURCE / ALL_SOURCE for WCIS_DBA.PK82538_ONLINE_801_CLAIM
PACKAGE                   PK82538_ONLINE_801_CLAIM
AS
   /*****************************************************************
   *PROGRAMMER     ANALYST                 DATE       MOD #
   * Gregg Milks                        02/06/2012   New.
   *******************************************************************/
   TYPE ref_cursor IS REF CURSOR;

   PROCEDURE submission_select (
      SubSeqNum   IN     CL_801_SUBMISSION.CL_801_SUBMISSION_SEQ_NUM%TYPE,
      recordset OUT ref_cursor);

   PROCEDURE submission_claim_select (
      ClaimID   IN     CL_801_SUBMISSION.CLAIM_ID%TYPE,
      recordset OUT ref_cursor);

   PROCEDURE submission_policy_select (
      PolicyNum   IN     CL_801_SUBMISSION.POLICY_NUM%TYPE,
      recordset   OUT ref_cursor);

  PROCEDURE submission_cleanup_select (
      RetentionDate   IN     Date,
      recordset   OUT ref_cursor);

  PROCEDURE Incomplete_Submission_select (
      RetentionDate   IN     Date,
      recordset   OUT ref_cursor);


   FUNCTION submission_insert (
      SubSeqNum                 IN CL_801_SUBMISSION.CL_801_SUBMISSION_SEQ_NUM%TYPE,
      ClaimID                   IN CL_801_SUBMISSION.CLAIM_ID%TYPE,
      PolicyNum                    IN CL_801_SUBMISSION.POLICY_NUM%TYPE,
      SubmissionStatusCode      IN CL_801_SUBMISSION.SUBMISSION_STATUS_CODE%TYPE,
      Box8InjuryDescr           IN CL_801_SUBMISSION.BOX8_INJURY_DESCR%TYPE,
      Box8LeftSideInjuryFlag    IN CL_801_SUBMISSION.BOX8_LEFT_SIDE_INJURY_FLAG%TYPE,
      Box8RightSideInjuryFlag   IN CL_801_SUBMISSION.BOX8_RIGHT_SIDE_INJURY_FLAG%TYPE,
      Box10SaifEventDescr        IN CL_801_SUBMISSION.BOX10_SAIF_EVENT_DESCR%TYPE,
      InitialSubmitDate         IN CL_801_SUBMISSION.INITIAL_SUBMIT_DATE%TYPE,
      CreateUser                IN CL_801_SUBMISSION.CREATE_USER%TYPE,
      CreateDate                IN CL_801_SUBMISSION.CREATE_DATE%TYPE)
      RETURN NUMBER;
   FUNCTION submission_update (
      SubSeqNum                 IN CL_801_SUBMISSION.CL_801_SUBMISSION_SEQ_NUM%TYPE,
      ClaimID                   IN CL_801_SUBMISSION.CLAIM_ID%TYPE,
      PolicyNum                    IN CL_801_SUBMISSION.POLICY_NUM%TYPE,
      SubmissionStatusCode      IN CL_801_SUBMISSION.SUBMISSION_STATUS_CODE%TYPE,
      Box8InjuryDescr           IN CL_801_SUBMISSION.BOX8_INJURY_DESCR%TYPE,
      Box8LeftSideInjuryFlag    IN CL_801_SUBMISSION.BOX8_LEFT_SIDE_INJURY_FLAG%TYPE,
      Box8RightSideInjuryFlag   IN CL_801_SUBMISSION.BOX8_RIGHT_SIDE_INJURY_FLAG%TYPE,
      Box10SaifEventDescr        IN CL_801_SUBMISSION.BOX10_SAIF_EVENT_DESCR%TYPE,
      InitialSubmitDate         IN CL_801_SUBMISSION.INITIAL_SUBMIT_DATE%TYPE,
      UpdateNum                 IN CL_801_SUBMISSION.UPDATE_NUM%TYPE,
      UpdateUser                IN CL_801_SUBMISSION.UPDATE_USER%TYPE,
      UpdateDate                IN CL_801_SUBMISSION.UPDATE_DATE%TYPE,
      LastUpdateNum             IN CL_801_SUBMISSION.UPDATE_NUM%TYPE)
      RETURN NUMBER;
   FUNCTION submission_delete (
      SubSeqNum IN CL_801_SUBMISSION.CL_801_SUBMISSION_SEQ_NUM%TYPE,
      LastUpdateNum           IN CL_801_SUBMISSION.UPDATE_NUM%TYPE)
      RETURN NUMBER;


    PROCEDURE submission_data_select (
        SubSeqNum   IN     CL_801_SUBMISSION_DATA.CL_801_SUBMISSION_SEQ_NUM%TYPE,
        recordset OUT ref_cursor);

    FUNCTION submission_data_insert (
        SubSeqNum IN CL_801_SUBMISSION_DATA.CL_801_SUBMISSION_SEQ_NUM%TYPE,
        WorkerID IN CL_801_SUBMISSION_DATA.WORKER_ID%TYPE,
        WorkerPersonID IN CL_801_SUBMISSION_DATA.WORKER_PERSON_SEQ_NUM%TYPE,
        SubmissionPersonID IN CL_801_SUBMISSION_DATA.SUBMISSION_PERSON_SEQ_NUM%TYPE,
        ProviderPersonID IN CL_801_SUBMISSION_DATA.PROVIDER_PERSON_SEQ_NUM%TYPE,
        InsurancePersonID IN CL_801_SUBMISSION_DATA.INSURANCE_PERSON_SEQ_NUM%TYPE,
        SupervisedPersonID IN CL_801_SUBMISSION_DATA.SUPERVISED_PERSON_SEQ_NUM%TYPE,
        EventPersonID IN CL_801_SUBMISSION_DATA.EVENT_PERSON_SEQ_NUM%TYPE,
        Box1InjuryDate IN CL_801_SUBMISSION_DATA.BOX1_INJURY_DATE%TYPE,
        Box2LeaveWorkDate IN CL_801_SUBMISSION_DATA.BOX2_LEAVE_WORK_DATE%TYPE,
        Box3BeganWorkTime IN CL_801_SUBMISSION_DATA.BOX3_BEGAN_WORK_TIME%TYPE,
        Box4MondayOffFlag IN CL_801_SUBMISSION_DATA.BOX4_MONDAY_OFF_FLAG%TYPE,
        Box4TuesdayOffFlag IN CL_801_SUBMISSION_DATA.BOX4_TUESDAY_OFF_FLAG%TYPE,
        Box4WednesdayOffFlag IN CL_801_SUBMISSION_DATA.BOX4_WEDNESDAY_OFF_FLAG%TYPE,
        Box4ThursdayOffFlag IN CL_801_SUBMISSION_DATA.BOX4_THURSDAY_OFF_FLAG%TYPE,
        Box4FridayOffFlag IN CL_801_SUBMISSION_DATA.BOX4_FRIDAY_OFF_FLAG%TYPE,
        Box4SaturdayOffFlag IN CL_801_SUBMISSION_DATA.BOX4_SATURDAY_OFF_FLAG%TYPE,
        Box4SundayOffFlag IN CL_801_SUBMISSION_DATA.BOX4_SUNDAY_OFF_FLAG%TYPE,
        Box5InjuryTime IN CL_801_SUBMISSION_DATA.BOX5_INJURY_TIME%TYPE,
        Box6LeaveWorkTime IN CL_801_SUBMISSION_DATA.BOX6_LEAVE_WORK_TIME%TYPE,
        Box7ShiftStartTime IN CL_801_SUBMISSION_DATA.BOX7_SHIFT_START_TIME%TYPE,
        Box7ShiftEndTime IN CL_801_SUBMISSION_DATA.BOX7_SHIFT_END_TIME%TYPE,
        Box9MultipleEmployerFlag IN CL_801_SUBMISSION_DATA.BOX9_MULTIPLE_EMPR_FLAG%TYPE,
        Box11PrimaryFirstName IN CL_801_SUBMISSION_DATA.BOX11_PRIMARY_FIRST_NAME%TYPE,
        Box11PrimaryLastName IN CL_801_SUBMISSION_DATA.BOX11_PRIMARY_LAST_NAME%TYPE,
        Box11PrimaryMiddleName IN CL_801_SUBMISSION_DATA.BOX11_PRIMARY_MIDDLE_NAME%TYPE,
        Box11PrimaryNameExtension IN CL_801_SUBMISSION_DATA.BOX11_PRIMARY_EXTENSION_NAME%TYPE,
        Box12LanguagePrefCode IN CL_801_SUBMISSION_DATA.BOX12_LANGUAGE_PREF_CODE%TYPE,
        Box12WorkerLanguageOtherText IN CL_801_SUBMISSION_DATA.BOX12_WORKER_LANG_OTHER_TEXT%TYPE,
        Box13BirthDate IN CL_801_SUBMISSION_DATA.BOX13_BIRTH_DATE%TYPE,
        Box14GenderCode IN CL_801_SUBMISSION_DATA.BOX14_GENDER_CODE%TYPE,
        Box17PrimaryTaxID IN CL_801_SUBMISSION_DATA.BOX17_PRIMARY_TAX_ID%TYPE,
        Box18WorkerOccupationDescr IN CL_801_SUBMISSION_DATA.BOX18_WORKER_OCCUPATION_DESCR%TYPE,
        Box20WitnessNames IN CL_801_SUBMISSION_DATA.BOX20_WITNESS_NAMES%TYPE,
        Box23PriorBodyPartFlagCode IN CL_801_SUBMISSION_DATA.BOX23_PRIOR_BDY_PART_FLAG_CODE%TYPE,
        Box23PriorBodyPartText IN CL_801_SUBMISSION_DATA.BOX23_PRIOR_BODY_PART_TEXT%TYPE,
        Box24InpatientFlagCode IN CL_801_SUBMISSION_DATA.BOX24_INPATIENT_FLAG_CODE%TYPE,
        Box24OvernightInpatientText IN CL_801_SUBMISSION_DATA.BOX24_OVERNIGHT_INPATIENT_TEXT%TYPE,
        Box25ERTreatmentFlagCode IN CL_801_SUBMISSION_DATA.BOX25_ER_TREATMENT_FLAG_CODE%TYPE,
        Box25ERTreatmentText IN CL_801_SUBMISSION_DATA.BOX25_ER_TREATMENT_TEXT%TYPE,
        Box30EmployerLegalName IN CL_801_SUBMISSION_DATA.BOX30_EMPLOYER_LEGAL_NAME%TYPE,
        Box32FEINText IN CL_801_SUBMISSION_DATA.BOX32_FEIN_TEXT%TYPE,
        Box33WLClientBusinessName IN CL_801_SUBMISSION_DATA.BOX33_WL_CLIENT_BUS_NAME%TYPE,
        Box34ClientFEINText IN CL_801_SUBMISSION_DATA.BOX34_CLIENT_FEIN_TEXT%TYPE,
        Box36InsurancePolicyNum IN CL_801_SUBMISSION_DATA.BOX36_INS_POLICY_NUM%TYPE,
        Box38NatureOfBusiness IN CL_801_SUBMISSION_DATA.BOX38_NATURE_OF_BUS_TXT%TYPE,
        Box40HardwareCauseFlagCode IN CL_801_SUBMISSION_DATA.BOX40_HARDWARE_CAUSE_FLAG_CODE%TYPE,
        Box40HardwareCausedText IN CL_801_SUBMISSION_DATA.BOX40_HARDWARE_CAUSED_TEXT%TYPE,
        Box40PersonCausedText IN CL_801_SUBMISSION_DATA.BOX40_PERSON_CAUSED_TEXT%TYPE,
        Box40PersonCausedFlagCode IN CL_801_SUBMISSION_DATA.BOX40_PERSON_CAUSED_FLAG_CODE%TYPE,
        Box41SAIFProviderPayrollClass IN CL_801_SUBMISSION_DATA.BOX41_SAIF_PROV_PAY_CLASS_CODE%TYPE,
        Box42MultiWorkerInjFlagCode IN CL_801_SUBMISSION_DATA.BOX42_MULTI_WORKER_FLAG_CODE%TYPE,
        Box43EmploymentInjuryCode IN CL_801_SUBMISSION_DATA.BOX43_EMPLOYMENT_INJURY_CODE%TYPE,
        Box43EmploymentInjuryText IN CL_801_SUBMISSION_DATA.BOX43_EMPLOYMENT_INJURY_TEXT%TYPE,
        Box44OSHACaseNum IN CL_801_SUBMISSION_DATA.BOX44_OSHA_CASE_NUM%TYPE,
        Box45KnowledgeDate IN CL_801_SUBMISSION_DATA.BOX45_KNOWLEDGE_DATE%TYPE,
        Box46WageAmount IN CL_801_SUBMISSION_DATA.BOX46_WAGE_AMT%TYPE,
        Box46WageUnitCode IN CL_801_SUBMISSION_DATA.BOX46_WAGE_UNIT_CODE%TYPE,
        Box47WorkerHireDate IN CL_801_SUBMISSION_DATA.BOX47_WORKER_HIRE_DATE%TYPE,
        Box48DeathDate IN CL_801_SUBMISSION_DATA.BOX48_DEATH_DATE%TYPE,
        Box49RTWNotReturnedFlag IN CL_801_SUBMISSION_DATA.BOX49_RTW_NOT_RETURNED_FLAG%TYPE,
        Box49RTWRegularDate IN CL_801_SUBMISSION_DATA.BOX49_RTW_REGULAR_DATE%TYPE,
        Box49RTWModifiedDate IN CL_801_SUBMISSION_DATA.BOX49_RTW_MODIFIED_DATE%TYPE,
        Box49RTWRegularWorkFlag IN CL_801_SUBMISSION_DATA.BOX49_RTW_REGULAR_FLAG%TYPE,
        Box49RTWModifiedWorkFlag IN CL_801_SUBMISSION_DATA.BOX49_RTW_MODIFIED_FLAG%TYPE,
        Box50RTWRegularHWFlagCode IN CL_801_SUBMISSION_DATA.BOX50_RTW_REGULAR_HW_FLAG_CODE%TYPE,
        EmployerProvidedExtraText IN CL_801_SUBMISSION_DATA.EMPR_PROVIDED_EXTRA_TEXT%TYPE,
        EmployerProvidedWorkerAreaText IN CL_801_SUBMISSION_DATA.EMPR_PROVIDED_WORKER_AREA_TXT%TYPE,
        EmployerProvidedWorkerDeptDesc IN CL_801_SUBMISSION_DATA.EMPR_PROV_WORKER_DEPT_DESCR%TYPE,
        EmployerProvidedShiftCode IN CL_801_SUBMISSION_DATA.EMPR_PROVIDED_SHIFT_CODE%TYPE,
        EmployerProvidedPayClassCode IN CL_801_SUBMISSION_DATA.EMPR_PROV_PAYROLL_CLASS_CODE%TYPE,
        ClaimNotesText IN CL_801_SUBMISSION_DATA.CLAIM_NOTES_TEXT%TYPE,
        Use801SSNFlag IN CL_801_SUBMISSION_DATA.USE_801_SSN_FLAG%TYPE,
        Use801NameFlag IN CL_801_SUBMISSION_DATA.USE_801_NAME_FLAG%TYPE,
        WorkerDataVerifiedFlag IN CL_801_SUBMISSION_DATA.WORKER_DATA_VERIFIED_FLAG%TYPE,
        CreateDate IN CL_801_SUBMISSION_DATA.CREATE_DATE%TYPE,
        CreateUser IN CL_801_SUBMISSION_DATA.CREATE_USER%TYPE,
        AllowDataReplacementFlag IN CL_801_SUBMISSION_DATA.ALLOW_DATA_REPLACEMENT_FLAG%TYPE)
        RETURN NUMBER;

    FUNCTION submission_data_update (
        SubSeqNum IN CL_801_SUBMISSION_DATA.CL_801_SUBMISSION_SEQ_NUM%TYPE,
        WorkerID IN CL_801_SUBMISSION_DATA.WORKER_ID%TYPE,
        WorkerPersonID IN CL_801_SUBMISSION_DATA.WORKER_PERSON_SEQ_NUM%TYPE,
        SubmissionPersonID IN CL_801_SUBMISSION_DATA.SUBMISSION_PERSON_SEQ_NUM%TYPE,
        ProviderPersonID IN CL_801_SUBMISSION_DATA.PROVIDER_PERSON_SEQ_NUM%TYPE,
        InsurancePersonID IN CL_801_SUBMISSION_DATA.INSURANCE_PERSON_SEQ_NUM%TYPE,
        SupervisedPersonID IN CL_801_SUBMISSION_DATA.SUPERVISED_PERSON_SEQ_NUM%TYPE,
        EventPersonID IN CL_801_SUBMISSION_DATA.EVENT_PERSON_SEQ_NUM%TYPE,
        Box1InjuryDate IN CL_801_SUBMISSION_DATA.BOX1_INJURY_DATE%TYPE,
        Box2LeaveWorkDate IN CL_801_SUBMISSION_DATA.BOX2_LEAVE_WORK_DATE%TYPE,
        Box3BeganWorkTime IN CL_801_SUBMISSION_DATA.BOX3_BEGAN_WORK_TIME%TYPE,
        Box4MondayOffFlag IN CL_801_SUBMISSION_DATA.BOX4_MONDAY_OFF_FLAG%TYPE,
        Box4TuesdayOffFlag IN CL_801_SUBMISSION_DATA.BOX4_TUESDAY_OFF_FLAG%TYPE,
        Box4WednesdayOffFlag IN CL_801_SUBMISSION_DATA.BOX4_WEDNESDAY_OFF_FLAG%TYPE,
        Box4ThursdayOffFlag IN CL_801_SUBMISSION_DATA.BOX4_THURSDAY_OFF_FLAG%TYPE,
        Box4FridayOffFlag IN CL_801_SUBMISSION_DATA.BOX4_FRIDAY_OFF_FLAG%TYPE,
        Box4SaturdayOffFlag IN CL_801_SUBMISSION_DATA.BOX4_SATURDAY_OFF_FLAG%TYPE,
        Box4SundayOffFlag IN CL_801_SUBMISSION_DATA.BOX4_SUNDAY_OFF_FLAG%TYPE,
        Box5InjuryTime IN CL_801_SUBMISSION_DATA.BOX5_INJURY_TIME%TYPE,
        Box6LeaveWorkTime IN CL_801_SUBMISSION_DATA.BOX6_LEAVE_WORK_TIME%TYPE,
        Box7ShiftStartTime IN CL_801_SUBMISSION_DATA.BOX7_SHIFT_START_TIME%TYPE,
        Box7ShiftEndTime IN CL_801_SUBMISSION_DATA.BOX7_SHIFT_END_TIME%TYPE,
        Box9MultipleEmployerFlag IN CL_801_SUBMISSION_DATA.BOX9_MULTIPLE_EMPR_FLAG%TYPE,
        Box11PrimaryFirstName IN CL_801_SUBMISSION_DATA.BOX11_PRIMARY_FIRST_NAME%TYPE,
        Box11PrimaryLastName IN CL_801_SUBMISSION_DATA.BOX11_PRIMARY_LAST_NAME%TYPE,
        Box11PrimaryMiddleName IN CL_801_SUBMISSION_DATA.BOX11_PRIMARY_MIDDLE_NAME%TYPE,
        Box11PrimaryNameExtension IN CL_801_SUBMISSION_DATA.BOX11_PRIMARY_EXTENSION_NAME%TYPE,
        Box12LanguagePrefCode IN CL_801_SUBMISSION_DATA.BOX12_LANGUAGE_PREF_CODE%TYPE,
        Box12WorkerLanguageOtherText IN CL_801_SUBMISSION_DATA.BOX12_WORKER_LANG_OTHER_TEXT%TYPE,
        Box13BirthDate IN CL_801_SUBMISSION_DATA.BOX13_BIRTH_DATE%TYPE,
        Box14GenderCode IN CL_801_SUBMISSION_DATA.BOX14_GENDER_CODE%TYPE,
        Box17PrimaryTaxID IN CL_801_SUBMISSION_DATA.BOX17_PRIMARY_TAX_ID%TYPE,
        Box18WorkerOccupationDescr IN CL_801_SUBMISSION_DATA.BOX18_WORKER_OCCUPATION_DESCR%TYPE,
        Box20WitnessNames IN CL_801_SUBMISSION_DATA.BOX20_WITNESS_NAMES%TYPE,
        Box23PriorBodyPartFlagCode IN CL_801_SUBMISSION_DATA.BOX23_PRIOR_BDY_PART_FLAG_CODE%TYPE,
        Box23PriorBodyPartText IN CL_801_SUBMISSION_DATA.BOX23_PRIOR_BODY_PART_TEXT%TYPE,
        Box24InpatientFlagCode IN CL_801_SUBMISSION_DATA.BOX24_INPATIENT_FLAG_CODE%TYPE,
        Box24OvernightInpatientText IN CL_801_SUBMISSION_DATA.BOX24_OVERNIGHT_INPATIENT_TEXT%TYPE,
        Box25ERTreatmentFlagCode IN CL_801_SUBMISSION_DATA.BOX25_ER_TREATMENT_FLAG_CODE%TYPE,
        Box25ERTreatmentText IN CL_801_SUBMISSION_DATA.BOX25_ER_TREATMENT_TEXT%TYPE,
        Box30EmployerLegalName IN CL_801_SUBMISSION_DATA.BOX30_EMPLOYER_LEGAL_NAME%TYPE,
        Box32FEINText IN CL_801_SUBMISSION_DATA.BOX32_FEIN_TEXT%TYPE,
        Box33WLClientBusinessName IN CL_801_SUBMISSION_DATA.BOX33_WL_CLIENT_BUS_NAME%TYPE,
        Box34ClientFEINText IN CL_801_SUBMISSION_DATA.BOX34_CLIENT_FEIN_TEXT%TYPE,
        Box36InsurancePolicyNum IN CL_801_SUBMISSION_DATA.BOX36_INS_POLICY_NUM%TYPE,
        Box38NatureOfBusiness IN CL_801_SUBMISSION_DATA.BOX38_NATURE_OF_BUS_TXT%TYPE,
        Box40HardwareCauseFlagCode IN CL_801_SUBMISSION_DATA.BOX40_HARDWARE_CAUSE_FLAG_CODE%TYPE,
        Box40HardwareCausedText IN CL_801_SUBMISSION_DATA.BOX40_HARDWARE_CAUSED_TEXT%TYPE,
        Box40PersonCausedText IN CL_801_SUBMISSION_DATA.BOX40_PERSON_CAUSED_TEXT%TYPE,
        Box40PersonCausedFlagCode IN CL_801_SUBMISSION_DATA.BOX40_PERSON_CAUSED_FLAG_CODE%TYPE,
        Box41SAIFProviderPayrollClass IN CL_801_SUBMISSION_DATA.BOX41_SAIF_PROV_PAY_CLASS_CODE%TYPE,
        Box42MultiWorkerInjFlagCode IN CL_801_SUBMISSION_DATA.BOX42_MULTI_WORKER_FLAG_CODE%TYPE,
        Box43EmploymentInjuryCode IN CL_801_SUBMISSION_DATA.BOX43_EMPLOYMENT_INJURY_CODE%TYPE,
        Box43EmploymentInjuryText IN CL_801_SUBMISSION_DATA.BOX43_EMPLOYMENT_INJURY_TEXT%TYPE,
        Box44OSHACaseNum IN CL_801_SUBMISSION_DATA.BOX44_OSHA_CASE_NUM%TYPE,
        Box45KnowledgeDate IN CL_801_SUBMISSION_DATA.BOX45_KNOWLEDGE_DATE%TYPE,
        Box46WageAmount IN CL_801_SUBMISSION_DATA.BOX46_WAGE_AMT%TYPE,
        Box46WageUnitCode IN CL_801_SUBMISSION_DATA.BOX46_WAGE_UNIT_CODE%TYPE,
        Box47WorkerHireDate IN CL_801_SUBMISSION_DATA.BOX47_WORKER_HIRE_DATE%TYPE,
        Box48DeathDate IN CL_801_SUBMISSION_DATA.BOX48_DEATH_DATE%TYPE,
        Box49RTWNotReturnedFlag IN CL_801_SUBMISSION_DATA.BOX49_RTW_NOT_RETURNED_FLAG%TYPE,
        Box49RTWRegularDate IN CL_801_SUBMISSION_DATA.BOX49_RTW_REGULAR_DATE%TYPE,
        Box49RTWModifiedDate IN CL_801_SUBMISSION_DATA.BOX49_RTW_MODIFIED_DATE%TYPE,
        Box49RTWRegularWorkFlag IN CL_801_SUBMISSION_DATA.BOX49_RTW_REGULAR_FLAG%TYPE,
        Box49RTWModifiedWorkFlag IN CL_801_SUBMISSION_DATA.BOX49_RTW_MODIFIED_FLAG%TYPE,
        Box50RTWRegularHWFlagCode IN CL_801_SUBMISSION_DATA.BOX50_RTW_REGULAR_HW_FLAG_CODE%TYPE,
        EmployerProvidedExtraText IN CL_801_SUBMISSION_DATA.EMPR_PROVIDED_EXTRA_TEXT%TYPE,
        EmployerProvidedWorkerAreaText IN CL_801_SUBMISSION_DATA.EMPR_PROVIDED_WORKER_AREA_TXT%TYPE,
        EmployerProvidedWorkerDeptDesc IN CL_801_SUBMISSION_DATA.EMPR_PROV_WORKER_DEPT_DESCR%TYPE,
        EmployerProvidedShiftCode IN CL_801_SUBMISSION_DATA.EMPR_PROVIDED_SHIFT_CODE%TYPE,
        EmployerProvidedPayClassCode IN CL_801_SUBMISSION_DATA.EMPR_PROV_PAYROLL_CLASS_CODE%TYPE,
        ClaimNotesText IN CL_801_SUBMISSION_DATA.CLAIM_NOTES_TEXT%TYPE,
        Use801SSNFlag IN CL_801_SUBMISSION_DATA.USE_801_SSN_FLAG%TYPE,
        Use801NameFlag IN CL_801_SUBMISSION_DATA.USE_801_NAME_FLAG%TYPE,
        WorkerDataVerifiedFlag IN CL_801_SUBMISSION_DATA.WORKER_DATA_VERIFIED_FLAG%TYPE,
        LastUpdateNum IN CL_801_SUBMISSION_DATA.UPDATE_NUM%TYPE,
        UpdateDate IN CL_801_SUBMISSION_DATA.UPDATE_DATE%TYPE,
        UpdateUser IN CL_801_SUBMISSION_DATA.UPDATE_USER%TYPE,
        UpdateNum IN CL_801_SUBMISSION_DATA.UPDATE_NUM%TYPE,
        AllowDataReplacementFlag IN CL_801_SUBMISSION_DATA.ALLOW_DATA_REPLACEMENT_FLAG%TYPE
        )
        RETURN NUMBER;

    FUNCTION submission_data_delete (
        SubSeqNum IN CL_801_SUBMISSION_DATA.CL_801_SUBMISSION_SEQ_NUM%TYPE,
        LastUpdateNum IN CL_801_SUBMISSION_DATA.UPDATE_NUM%TYPE)
        RETURN NUMBER;


   PROCEDURE document_select (
      ClaimID   IN     CL_801_DOCUMENT.CLAIM_ID%TYPE,
      recordset  OUT ref_cursor);

   PROCEDURE document_select_by_imageseqnum (
      ImageSeqNum   IN     CL_801_DOCUMENT.IMAGE_SEQ_NUM%TYPE,
      recordset  OUT ref_cursor);

   FUNCTION document_insert (
      DocSeqNum     IN CL_801_DOCUMENT.CL_801_DOCUMENT_SEQ_NUM%TYPE,
      ClaimID     IN CL_801_DOCUMENT.CLAIM_ID%TYPE,
      FileName      IN CL_801_DOCUMENT.FILE_NAME%TYPE,
      DocTypeCode   IN CL_801_DOCUMENT.CL_801_DOCUMENT_TYPE_CODE%TYPE,
      ImageSeqNum   IN CL_801_DOCUMENT.IMAGE_SEQ_NUM%TYPE,
      UpdateNum     IN CL_801_DOCUMENT.UPDATE_NUM%TYPE,
      UpdateUser    IN CL_801_DOCUMENT.UPDATE_USER%TYPE,
      UpdateDate    IN CL_801_DOCUMENT.UPDATE_DATE%TYPE,
      CreateUser    IN CL_801_DOCUMENT.CREATE_USER%TYPE,
      CreateDate    IN CL_801_DOCUMENT.CREATE_DATE%TYPE)
      RETURN NUMBER;

   FUNCTION document_update (
      DocSeqNum     IN CL_801_DOCUMENT.CL_801_DOCUMENT_SEQ_NUM%TYPE,
      ClaimID     IN CL_801_DOCUMENT.CLAIM_ID%TYPE,
      FileName      IN CL_801_DOCUMENT.FILE_NAME%TYPE,
      DocTypeCode   IN CL_801_DOCUMENT.CL_801_DOCUMENT_TYPE_CODE%TYPE,
      ImageSeqNum   IN CL_801_DOCUMENT.IMAGE_SEQ_NUM%TYPE,
      UpdateNum     IN CL_801_DOCUMENT.UPDATE_NUM%TYPE,
      UpdateUser    IN CL_801_DOCUMENT.UPDATE_USER%TYPE,
      UpdateDate    IN CL_801_DOCUMENT.UPDATE_DATE%TYPE,
      LastUpdateNum IN CL_801_DOCUMENT.UPDATE_NUM%TYPE)
      RETURN NUMBER;

END;
 /
```

</details>

<details>
<summary>PL/SQL package/procedure body</summary>

```sql
-- Actual PL/SQL body retrieved from Oracle via Legends CLI
-- Source: DBA_SOURCE / ALL_SOURCE for WCIS_DBA.PK82538_ONLINE_801_CLAIM
PACKAGE BODY                            PK82538_ONLINE_801_CLAIM
AS
   /*****************************************************************
   *PROGRAMMER     ANALYST                 DATE       MOD
   * Gregg Milks                        02/06/2012   New.
   *******************************************************************/

   PROCEDURE submission_select (
      SubSeqNum   IN     CL_801_SUBMISSION.CL_801_SUBMISSION_SEQ_NUM%TYPE,
      recordset OUT ref_cursor)
   IS
   BEGIN
      OPEN recordset FOR
         SELECT CL_801_SUBMISSION_SEQ_NUM AS SubSeqNum,
                CLAIM_ID AS ClaimID,
                POLICY_NUM as PolicyNum,
                SUBMISSION_STATUS_CODE AS SubmissionStatusCode,
                BOX8_INJURY_DESCR AS Box8InjuryDescr,
                BOX8_LEFT_SIDE_INJURY_FLAG AS Box8LeftSideInjuryFlag,
                BOX8_RIGHT_SIDE_INJURY_FLAG AS Box8RightSideInjuryFlag,
                BOX10_SAIF_EVENT_DESCR AS Box10SaifEventDescr,
                INITIAL_SUBMIT_DATE AS InitialSubmitDate,
                S.UPDATE_NUM AS UpdateNum,
                S.UPDATE_USER AS UpdateUser,
                S.UPDATE_DATE AS UpdateDate,
                S.CREATE_USER AS CreateUser,
                S.CREATE_DATE AS CreateDate,
                NVL(EXT.PERSON_SEQ_NUM, 0) as CreatePersonId
           FROM CL_801_SUBMISSION S, EXT_USER EXT
          WHERE S.CL_801_SUBMISSION_SEQ_NUM = SubSeqNum
          AND S.CREATE_USER = EXT.ACTIVE_DIRECTORY_ID (+);
   END submission_select;

   PROCEDURE submission_claim_select (
      ClaimID   IN     CL_801_SUBMISSION.CLAIM_ID%TYPE,
      recordset OUT ref_cursor)
   IS
   BEGIN
      OPEN recordset FOR
         SELECT CL_801_SUBMISSION_SEQ_NUM AS SubSeqNum,
                CLAIM_ID AS ClaimID,
                POLICY_NUM as PolicyNum,
                SUBMISSION_STATUS_CODE AS SubmissionStatusCode,
                BOX8_INJURY_DESCR AS Box8InjuryDescr,
                BOX8_LEFT_SIDE_INJURY_FLAG AS Box8LeftSideInjuryFlag,
                BOX8_RIGHT_SIDE_INJURY_FLAG AS Box8RightSideInjuryFlag,
                BOX10_SAIF_EVENT_DESCR AS Box10SaifEventDescr,
                INITIAL_SUBMIT_DATE AS InitialSubmitDate,
                S.UPDATE_NUM AS UpdateNum,
                S.UPDATE_USER AS UpdateUser,
                S.UPDATE_DATE AS UpdateDate,
                S.CREATE_USER AS CreateUser,
                S.CREATE_DATE AS CreateDate,
                NVL(EXT.PERSON_SEQ_NUM, 0) as CreatePersonId
           FROM CL_801_SUBMISSION  S, EXT_USER EXT
          WHERE CLAIM_ID = ClaimID
          AND S.CREATE_USER = EXT.ACTIVE_DIRECTORY_ID (+);
   END submission_claim_select;

   PROCEDURE submission_policy_select (
      PolicyNum   IN     CL_801_SUBMISSION.POLICY_NUM%TYPE,
      recordset   OUT ref_cursor)
   IS
   BEGIN
      OPEN recordset FOR
         SELECT CL_801_SUBMISSION_SEQ_NUM AS SubSeqNum,
                CLAIM_ID AS ClaimID,
                POLICY_NUM as PolicyNum,
                SUBMISSION_STATUS_CODE AS SubmissionStatusCode,
                BOX8_INJURY_DESCR AS Box8InjuryDescr,
                BOX8_LEFT_SIDE_INJURY_FLAG AS Box8LeftSideInjuryFlag,
                BOX8_RIGHT_SIDE_INJURY_FLAG AS Box8RightSideInjuryFlag,
                BOX10_SAIF_EVENT_DESCR AS Box10SaifEventDescr,
                INITIAL_SUBMIT_DATE AS InitialSubmitDate,
                UPDATE_NUM AS UpdateNum,
                UPDATE_USER AS UpdateUser,
                UPDATE_DATE AS UpdateDate,
                CREATE_USER AS CreateUser,
                CREATE_DATE AS CreateDate
           FROM CL_801_SUBMISSION
          WHERE POLICY_NUM = PolicyNum;
   END submission_policy_select;

 PROCEDURE submission_cleanup_select (
      RetentionDate   IN     Date,
      recordset       OUT ref_cursor
      )
   IS
   BEGIN
      OPEN recordset FOR
         SELECT s.CL_801_SUBMISSION_SEQ_NUM AS SubSeqNum,
                CLAIM_ID AS ClaimID,
                POLICY_NUM as PolicyNum,
                SUBMISSION_STATUS_CODE AS SubmissionStatusCode,
                BOX8_INJURY_DESCR AS Box8InjuryDescr,
                BOX8_LEFT_SIDE_INJURY_FLAG AS Box8LeftSideInjuryFlag,
                BOX8_RIGHT_SIDE_INJURY_FLAG AS Box8RightSideInjuryFlag,
                BOX10_SAIF_EVENT_DESCR AS Box10SaifEventDescr,
                INITIAL_SUBMIT_DATE AS InitialSubmitDate,
                s.UPDATE_NUM AS UpdateNum,
                s.UPDATE_USER AS UpdateUser,
                s.UPDATE_DATE AS UpdateDate,
                s.CREATE_USER AS CreateUser,
                s.CREATE_DATE AS CreateDate
           FROM CL_801_SUBMISSION s , CL_801_SUBMISSION_DATA d
          WHERE s.CL_801_SUBMISSION_SEQ_NUM = d.CL_801_SUBMISSION_SEQ_NUM
            AND D.UPDATE_DATE < RetentionDate;
   END submission_cleanup_select;

PROCEDURE Incomplete_Submission_select (
      RetentionDate   IN     Date,
      recordset       OUT ref_cursor
      )
   IS
   BEGIN
      OPEN recordset FOR
         SELECT CL_801_SUBMISSION_SEQ_NUM AS SubSeqNum,
                CLAIM_ID AS ClaimID,
                POLICY_NUM as PolicyNum,
                SUBMISSION_STATUS_CODE AS SubmissionStatusCode,
                BOX8_INJURY_DESCR AS Box8InjuryDescr,
                BOX8_LEFT_SIDE_INJURY_FLAG AS Box8LeftSideInjuryFlag,
                BOX8_RIGHT_SIDE_INJURY_FLAG AS Box8RightSideInjuryFlag,
                BOX10_SAIF_EVENT_DESCR AS Box10SaifEventDescr,
                INITIAL_SUBMIT_DATE AS InitialSubmitDate,
                S.UPDATE_NUM AS UpdateNum,
                S.UPDATE_USER AS UpdateUser,
                S.UPDATE_DATE AS UpdateDate,
                S.CREATE_USER AS CreateUser,
                trunc(S.CREATE_DATE) AS CreateDate,
                NVL(EXT.PERSON_SEQ_NUM, 0) as CreatePersonId
           FROM CL_801_SUBMISSION S, EXT_USER EXT
          WHERE trunc(S.CREATE_DATE) <= RetentionDate
            AND S.CREATE_USER = EXT.ACTIVE_DIRECTORY_ID
            AND SUBMISSION_STATUS_CODE = 'INC'
            Order by S.POLICY_NUM, S.CREATE_DATE;
   END Incomplete_Submission_select;

   FUNCTION submission_insert (
      SubSeqNum                 IN CL_801_SUBMISSION.CL_801_SUBMISSION_SEQ_NUM%TYPE,
      ClaimID                   IN CL_801_SUBMISSION.CLAIM_ID%TYPE,
      PolicyNum                    IN CL_801_SUBMISSION.POLICY_NUM%TYPE,
      SubmissionStatusCode      IN CL_801_SUBMISSION.SUBMISSION_STATUS_CODE%TYPE,
      Box8InjuryDescr           IN CL_801_SUBMISSION.BOX8_INJURY_DESCR%TYPE,
      Box8LeftSideInjuryFlag    IN CL_801_SUBMISSION.BOX8_LEFT_SIDE_INJURY_FLAG%TYPE,
      Box8RightSideInjuryFlag   IN CL_801_SUBMISSION.BOX8_RIGHT_SIDE_INJURY_FLAG%TYPE,
      Box10SaifEventDescr        IN CL_801_SUBMISSION.BOX10_SAIF_EVENT_DESCR%TYPE,
      InitialSubmitDate         IN CL_801_SUBMISSION.INITIAL_SUBMIT_DATE%TYPE,
      CreateUser                IN CL_801_SUBMISSION.CREATE_USER%TYPE,
      CreateDate                IN CL_801_SUBMISSION.CREATE_DATE%TYPE)
      RETURN NUMBER
   AS
   BEGIN
      INSERT INTO CL_801_SUBMISSION (CL_801_SUBMISSION_SEQ_NUM,
                                     CLAIM_ID,
                                     POLICY_NUM,
                                     SUBMISSION_STATUS_CODE,
                                     BOX8_INJURY_DESCR,
                                     BOX8_LEFT_SIDE_INJURY_FLAG,
                                     BOX8_RIGHT_SIDE_INJURY_FLAG,
                                     BOX10_SAIF_EVENT_DESCR,
                                     INITIAL_SUBMIT_DATE,
                                     UPDATE_NUM,
                                     UPDATE_USER,
                                     UPDATE_DATE,
                                     CREATE_USER,
                                     CREATE_DATE)
           VALUES (SubSeqNum,
                   ClaimID,
                   PolicyNum,
                   SubmissionStatusCode,
                   Box8InjuryDescr,
                   Box8LeftSideInjuryFlag,
                   Box8RightSideInjuryFlag,
                   Box10SaifEventDescr,
                   InitialSubmitDate,
                   0,
                   null,
                   null,
                   CreateUser,
                   CreateDate);

      RETURN SQL%ROWCOUNT;
   END submission_insert;

   FUNCTION submission_update (
      SubSeqNum                 IN CL_801_SUBMISSION.CL_801_SUBMISSION_SEQ_NUM%TYPE,
      ClaimID                   IN CL_801_SUBMISSION.CLAIM_ID%TYPE,
      PolicyNum                    IN CL_801_SUBMISSION.POLICY_NUM%TYPE,
      SubmissionStatusCode      IN CL_801_SUBMISSION.SUBMISSION_STATUS_CODE%TYPE,
      Box8InjuryDescr           IN CL_801_SUBMISSION.BOX8_INJURY_DESCR%TYPE,
      Box8LeftSideInjuryFlag    IN CL_801_SUBMISSION.BOX8_LEFT_SIDE_INJURY_FLAG%TYPE,
      Box8RightSideInjuryFlag   IN CL_801_SUBMISSION.BOX8_RIGHT_SIDE_INJURY_FLAG%TYPE,
      Box10SaifEventDescr        IN CL_801_SUBMISSION.BOX10_SAIF_EVENT_DESCR%TYPE,
      InitialSubmitDate         IN CL_801_SUBMISSION.INITIAL_SUBMIT_DATE%TYPE,
      UpdateNum                 IN CL_801_SUBMISSION.UPDATE_NUM%TYPE,
      UpdateUser                IN CL_801_SUBMISSION.UPDATE_USER%TYPE,
      UpdateDate                IN CL_801_SUBMISSION.UPDATE_DATE%TYPE,
      LastUpdateNum             IN CL_801_SUBMISSION.UPDATE_NUM%TYPE)
      RETURN NUMBER
   AS
   BEGIN
      UPDATE CL_801_SUBMISSION
         SET CL_801_SUBMISSION.CL_801_SUBMISSION_SEQ_NUM = SubSeqNum,
             CL_801_SUBMISSION.CLAIM_ID = ClaimID,
             CL_801_SUBMISSION.POLICY_NUM = PolicyNum,
             CL_801_SUBMISSION.SUBMISSION_STATUS_CODE = SubmissionStatusCode,
             CL_801_SUBMISSION.BOX8_INJURY_DESCR = Box8InjuryDescr,
             CL_801_SUBMISSION.BOX8_LEFT_SIDE_INJURY_FLAG = Box8LeftSideInjuryFlag,
             CL_801_SUBMISSION.BOX8_RIGHT_SIDE_INJURY_FLAG = Box8RightSideInjuryFlag,
             CL_801_SUBMISSION.BOX10_SAIF_EVENT_DESCR = Box10SaifEventDescr,
             CL_801_SUBMISSION.INITIAL_SUBMIT_DATE = InitialSubmitDate,
             CL_801_SUBMISSION.UPDATE_NUM = UpdateNum,
             CL_801_SUBMISSION.UPDATE_USER = UpdateUser,
             CL_801_SUBMISSION.UPDATE_DATE = UpdateDate
       WHERE     CL_801_SUBMISSION_SEQ_NUM = SubSeqNum
             AND UPDATE_NUM = LastUpdateNum;

      RETURN SQL%ROWCOUNT;
   END submission_update;

   FUNCTION submission_delete (
      SubSeqNum IN CL_801_SUBMISSION.CL_801_SUBMISSION_SEQ_NUM%TYPE,
      LastUpdateNum IN CL_801_SUBMISSION.UPDATE_NUM%TYPE)
      RETURN NUMBER
   AS
   BEGIN
      DELETE FROM CL_801_SUBMISSION
            WHERE CL_801_SUBMISSION_SEQ_NUM = SubSeqNum and update_num = LastUpdateNum;

      RETURN SQL%ROWCOUNT;
   END submission_delete;


    PROCEDURE submission_data_select (
        SubSeqNum   IN     CL_801_SUBMISSION_DATA.CL_801_SUBMISSION_SEQ_NUM%TYPE,
        recordset  OUT ref_cursor)
        IS
        BEGIN
            open recordset for
                select
                    CL_801_SUBMISSION_DATA.CL_801_SUBMISSION_SEQ_NUM      AS SubSeqNum,
                    CL_801_SUBMISSION_DATA.WORKER_ID                                                AS WorkerID,
                    CL_801_SUBMISSION_DATA.WORKER_PERSON_SEQ_NUM             AS WorkerPersonID,
                    CL_801_SUBMISSION_DATA.SUBMISSION_PERSON_SEQ_NUM       AS SubmissionPersonID,
                    CL_801_SUBMISSION_DATA.PROVIDER_PERSON_SEQ_NUM         AS ProviderPersonID,
                    CL_801_SUBMISSION_DATA.INSURANCE_PERSON_SEQ_NUM        AS InsurancePersonID,
                    CL_801_SUBMISSION_DATA.SUPERVISED_PERSON_SEQ_NUM      AS SupervisedPersonID,
                    CL_801_SUBMISSION_DATA.EVENT_PERSON_SEQ_NUM               AS EventPersonID,
                    CL_801_SUBMISSION_DATA.BOX1_INJURY_DATE               AS Box1InjuryDate,
                    CL_801_SUBMISSION_DATA.BOX2_LEAVE_WORK_DATE           AS Box2LeaveWorkDate,
                    CL_801_SUBMISSION_DATA.BOX3_BEGAN_WORK_TIME           AS Box3BeganWorkTime,
                    CL_801_SUBMISSION_DATA.BOX4_MONDAY_OFF_FLAG           AS Box4MondayOffFlag,
                    CL_801_SUBMISSION_DATA.BOX4_TUESDAY_OFF_FLAG          AS Box4TuesdayOffFlag,
                    CL_801_SUBMISSION_DATA.BOX4_WEDNESDAY_OFF_FLAG        AS Box4WednesdayOffFlag,
                    CL_801_SUBMISSION_DATA.BOX4_THURSDAY_OFF_FLAG         AS Box4ThursdayOffFlag,
                    CL_801_SUBMISSION_DATA.BOX4_FRIDAY_OFF_FLAG           AS Box4FridayOffFlag,
                    CL_801_SUBMISSION_DATA.BOX4_SATURDAY_OFF_FLAG         AS Box4SaturdayOffFlag,
                    CL_801_SUBMISSION_DATA.BOX4_SUNDAY_OFF_FLAG           AS Box4SundayOffFlag,
                    CL_801_SUBMISSION_DATA.BOX5_INJURY_TIME               AS Box5InjuryTime,
                    CL_801_SUBMISSION_DATA.BOX6_LEAVE_WORK_TIME           AS Box6LeaveWorkTime,
                    CL_801_SUBMISSION_DATA.BOX7_SHIFT_START_TIME          AS Box7ShiftStartTime,
                    CL_801_SUBMISSION_DATA.BOX7_SHIFT_END_TIME            AS Box7ShiftEndTime,
                    CL_801_SUBMISSION_DATA.BOX9_MULTIPLE_EMPR_FLAG        AS Box9MultipleEmployerFlag,
                    CL_801_SUBMISSION_DATA.BOX11_PRIMARY_FIRST_NAME       AS Box11PrimaryFirstName,
                    CL_801_SUBMISSION_DATA.BOX11_PRIMARY_LAST_NAME        AS Box11PrimaryLastName,
                    CL_801_SUBMISSION_DATA.BOX11_PRIMARY_MIDDLE_NAME      AS Box11PrimaryMiddleName,
                    CL_801_SUBMISSION_DATA.BOX11_PRIMARY_EXTENSION_NAME      AS Box11PrimaryExtensionName,
                    CL_801_SUBMISSION_DATA.BOX12_LANGUAGE_PREF_CODE      AS Box12LanguagePrefCode,
                    CL_801_SUBMISSION_DATA.BOX12_WORKER_LANG_OTHER_TEXT   AS Box12WorkerLanguageOtherText,
                    CL_801_SUBMISSION_DATA.BOX13_BIRTH_DATE               AS Box13BirthDate,
                    CL_801_SUBMISSION_DATA.BOX14_GENDER_CODE              AS Box14GenderCode,
                    CL_801_SUBMISSION_DATA.BOX17_PRIMARY_TAX_ID           AS Box17PrimaryTaxID,
                    CL_801_SUBMISSION_DATA.BOX18_WORKER_OCCUPATION_DESCR  AS Box18WorkerOccupationDescr,
                    CL_801_SUBMISSION_DATA.BOX20_WITNESS_NAMES            AS Box20WitnessNames,
                    CL_801_SUBMISSION_DATA.BOX23_PRIOR_BDY_PART_FLAG_CODE     AS Box23PriorBodyPartFlagCode,
                    CL_801_SUBMISSION_DATA.BOX23_PRIOR_BODY_PART_TEXT     AS Box23PriorBodyPartText,
                    CL_801_SUBMISSION_DATA.BOX24_INPATIENT_FLAG_CODE      AS Box24InpatientFlagCode,
                    CL_801_SUBMISSION_DATA.BOX24_OVERNIGHT_INPATIENT_TEXT AS Box24OvernightInpatientText,
                    CL_801_SUBMISSION_DATA.BOX25_ER_TREATMENT_FLAG_CODE        AS Box25ERTreatmentFlagCode,
                    CL_801_SUBMISSION_DATA.BOX25_ER_TREATMENT_TEXT        AS Box25ERTreatmentText,
                    CL_801_SUBMISSION_DATA.BOX30_EMPLOYER_LEGAL_NAME      AS Box30EmployerLegalName,
                    CL_801_SUBMISSION_DATA.BOX32_FEIN_TEXT                AS Box32FEINText,
                    CL_801_SUBMISSION_DATA.BOX33_WL_CLIENT_BUS_NAME       AS Box33WLClientBusinessName,
                    CL_801_SUBMISSION_DATA.BOX34_CLIENT_FEIN_TEXT         AS Box34ClientFEINText,
                    CL_801_SUBMISSION_DATA.BOX36_INS_POLICY_NUM           AS Box36InsurancePolicyNum,
                    CL_801_SUBMISSION_DATA.BOX38_NATURE_OF_BUS_TXT        AS Box38NatureOfBusiness,
                    CL_801_SUBMISSION_DATA.BOX40_HARDWARE_CAUSE_FLAG_CODE AS Box40HardwareCauseFlagCode,
                    CL_801_SUBMISSION_DATA.BOX40_HARDWARE_CAUSED_TEXT     AS Box40HardwareCausedText,
                    CL_801_SUBMISSION_DATA.BOX40_PERSON_CAUSED_TEXT       AS Box40PersonCausedText,
                    CL_801_SUBMISSION_DATA.BOX40_PERSON_CAUSED_FLAG_CODE  AS Box40PersonCausedFlagCode,
                    CL_801_SUBMISSION_DATA.BOX41_SAIF_PROV_PAY_CLASS_CODE AS Box41SAIFProviderPayrollClass,
                    CL_801_SUBMISSION_DATA.BOX42_MULTI_WORKER_FLAG_CODE   AS Box42MultiWorkerInjFlagCode,
                    CL_801_SUBMISSION_DATA.BOX43_EMPLOYMENT_INJURY_CODE   AS Box43EmploymentInjuryCode,
                    CL_801_SUBMISSION_DATA.BOX43_EMPLOYMENT_INJURY_TEXT       AS Box43EmploymentInjuryText,
                    CL_801_SUBMISSION_DATA.BOX44_OSHA_CASE_NUM            AS Box44OSHACaseNum,
                    CL_801_SUBMISSION_DATA.BOX45_KNOWLEDGE_DATE           AS Box45KnowledgeDate,
                    CL_801_SUBMISSION_DATA.BOX46_WAGE_AMT                 AS Box46WageAmount,
                    CL_801_SUBMISSION_DATA.BOX46_WAGE_UNIT_CODE           AS Box46WageUnitCode,
                    CL_801_SUBMISSION_DATA.BOX47_WORKER_HIRE_DATE         AS Box47WorkerHireDate,
                    CL_801_SUBMISSION_DATA.BOX48_DEATH_DATE               AS Box48DeathDate,
                    CL_801_SUBMISSION_DATA.BOX49_RTW_NOT_RETURNED_FLAG          AS Box49RTWNotReturnedFlag,
                    CL_801_SUBMISSION_DATA.BOX49_RTW_REGULAR_DATE         AS Box49RTWRegularDate,
                    CL_801_SUBMISSION_DATA.BOX49_RTW_MODIFIED_DATE        AS Box49RTWModifiedDate,
                    CL_801_SUBMISSION_DATA.BOX49_RTW_REGULAR_FLAG         AS Box49RTWRegularWorkFlag,
                    CL_801_SUBMISSION_DATA.BOX49_RTW_MODIFIED_FLAG        AS Box49RTWModifiedWorkFlag,
                    CL_801_SUBMISSION_DATA.BOX50_RTW_REGULAR_HW_FLAG_CODE      AS Box50RTWRegularHWFlagCode,
                    CL_801_SUBMISSION_DATA.EMPR_PROVIDED_EXTRA_TEXT     AS EmployerProvidedExtraText,
                    CL_801_SUBMISSION_DATA.EMPR_PROVIDED_WORKER_AREA_TXT  AS EmployerProvidedWorkerAreaText,
                    CL_801_SUBMISSION_DATA.EMPR_PROV_WORKER_DEPT_DESCR    AS EmployerProvidedWorkerDeptDesc,
                    CL_801_SUBMISSION_DATA.EMPR_PROVIDED_SHIFT_CODE       AS EmployerProvidedShiftCode,
                    CL_801_SUBMISSION_DATA.EMPR_PROV_PAYROLL_CLASS_CODE   AS EmployerProvidedPayClassCode,
                    CL_801_SUBMISSION_DATA.CLAIM_NOTES_TEXT               AS ClaimNotesText,
                    CL_801_SUBMISSION_DATA.USE_801_SSN_FLAG             AS Use801SSNFlag,
                    CL_801_SUBMISSION_DATA.USE_801_NAME_FLAG            AS Use801NameFlag,
                    CL_801_SUBMISSION_DATA.WORKER_DATA_VERIFIED_FLAG AS WorkerDataVerifiedFlag,
                    CL_801_SUBMISSION_DATA.CREATE_DATE                    AS CreateDate,
                    CL_801_SUBMISSION_DATA.CREATE_USER                    AS CreateUser,
                    CL_801_SUBMISSION_DATA.UPDATE_DATE                    AS UpdateDate,
                    CL_801_SUBMISSION_DATA.UPDATE_USER                    AS UpdateUser,
                    CL_801_SUBMISSION_DATA.UPDATE_NUM                     AS UpdateNum,
                    CL_801_SUBMISSION_DATA.ALLOW_DATA_REPLACEMENT_FLAG AS AllowDataReplacementFlag
                from    cl_801_submission_data
                where   cl_801_submission_seq_num = SubSeqNum;
        END submission_data_select;

    FUNCTION submission_data_insert (
        SubSeqNum IN CL_801_SUBMISSION_DATA.CL_801_SUBMISSION_SEQ_NUM%TYPE,
        WorkerID IN CL_801_SUBMISSION_DATA.WORKER_ID%TYPE,
        WorkerPersonID IN CL_801_SUBMISSION_DATA.WORKER_PERSON_SEQ_NUM%TYPE,
        SubmissionPersonID IN CL_801_SUBMISSION_DATA.SUBMISSION_PERSON_SEQ_NUM%TYPE,
        ProviderPersonID IN CL_801_SUBMISSION_DATA.PROVIDER_PERSON_SEQ_NUM%TYPE,
        InsurancePersonID IN CL_801_SUBMISSION_DATA.INSURANCE_PERSON_SEQ_NUM%TYPE,
        SupervisedPersonID IN CL_801_SUBMISSION_DATA.SUPERVISED_PERSON_SEQ_NUM%TYPE,
        EventPersonID IN CL_801_SUBMISSION_DATA.EVENT_PERSON_SEQ_NUM%TYPE,
        Box1InjuryDate IN CL_801_SUBMISSION_DATA.BOX1_INJURY_DATE%TYPE,
        Box2LeaveWorkDate IN CL_801_SUBMISSION_DATA.BOX2_LEAVE_WORK_DATE%TYPE,
        Box3BeganWorkTime IN CL_801_SUBMISSION_DATA.BOX3_BEGAN_WORK_TIME%TYPE,
        Box4MondayOffFlag IN CL_801_SUBMISSION_DATA.BOX4_MONDAY_OFF_FLAG%TYPE,
        Box4TuesdayOffFlag IN CL_801_SUBMISSION_DATA.BOX4_TUESDAY_OFF_FLAG%TYPE,
        Box4WednesdayOffFlag IN CL_801_SUBMISSION_DATA.BOX4_WEDNESDAY_OFF_FLAG%TYPE,
        Box4ThursdayOffFlag IN CL_801_SUBMISSION_DATA.BOX4_THURSDAY_OFF_FLAG%TYPE,
        Box4FridayOffFlag IN CL_801_SUBMISSION_DATA.BOX4_FRIDAY_OFF_FLAG%TYPE,
        Box4SaturdayOffFlag IN CL_801_SUBMISSION_DATA.BOX4_SATURDAY_OFF_FLAG%TYPE,
        Box4SundayOffFlag IN CL_801_SUBMISSION_DATA.BOX4_SUNDAY_OFF_FLAG%TYPE,
        Box5InjuryTime IN CL_801_SUBMISSION_DATA.BOX5_INJURY_TIME%TYPE,
        Box6LeaveWorkTime IN CL_801_SUBMISSION_DATA.BOX6_LEAVE_WORK_TIME%TYPE,
        Box7ShiftStartTime IN CL_801_SUBMISSION_DATA.BOX7_SHIFT_START_TIME%TYPE,
        Box7ShiftEndTime IN CL_801_SUBMISSION_DATA.BOX7_SHIFT_END_TIME%TYPE,
        Box9MultipleEmployerFlag IN CL_801_SUBMISSION_DATA.BOX9_MULTIPLE_EMPR_FLAG%TYPE,
        Box11PrimaryFirstName IN CL_801_SUBMISSION_DATA.BOX11_PRIMARY_FIRST_NAME%TYPE,
        Box11PrimaryLastName IN CL_801_SUBMISSION_DATA.BOX11_PRIMARY_LAST_NAME%TYPE,
        Box11PrimaryMiddleName IN CL_801_SUBMISSION_DATA.BOX11_PRIMARY_MIDDLE_NAME%TYPE,
        Box11PrimaryNameExtension IN CL_801_SUBMISSION_DATA.BOX11_PRIMARY_EXTENSION_NAME%TYPE,
        Box12LanguagePrefCode IN CL_801_SUBMISSION_DATA.BOX12_LANGUAGE_PREF_CODE%TYPE,
        Box12WorkerLanguageOtherText IN CL_801_SUBMISSION_DATA.BOX12_WORKER_LANG_OTHER_TEXT%TYPE,
        Box13BirthDate IN CL_801_SUBMISSION_DATA.BOX13_BIRTH_DATE%TYPE,
        Box14GenderCode IN CL_801_SUBMISSION_DATA.BOX14_GENDER_CODE%TYPE,
        Box17PrimaryTaxID IN CL_801_SUBMISSION_DATA.BOX17_PRIMARY_TAX_ID%TYPE,
        Box18WorkerOccupationDescr IN CL_801_SUBMISSION_DATA.BOX18_WORKER_OCCUPATION_DESCR%TYPE,
        Box20WitnessNames IN CL_801_SUBMISSION_DATA.BOX20_WITNESS_NAMES%TYPE,
        Box23PriorBodyPartFlagCode IN CL_801_SUBMISSION_DATA.BOX23_PRIOR_BDY_PART_FLAG_CODE%TYPE,
        Box23PriorBodyPartText IN CL_801_SUBMISSION_DATA.BOX23_PRIOR_BODY_PART_TEXT%TYPE,
        Box24InpatientFlagCode IN CL_801_SUBMISSION_DATA.BOX24_INPATIENT_FLAG_CODE%TYPE,
        Box24OvernightInpatientText IN CL_801_SUBMISSION_DATA.BOX24_OVERNIGHT_INPATIENT_TEXT%TYPE,
        Box25ERTreatmentFlagCode IN CL_801_SUBMISSION_DATA.BOX25_ER_TREATMENT_FLAG_CODE%TYPE,
        Box25ERTreatmentText IN CL_801_SUBMISSION_DATA.BOX25_ER_TREATMENT_TEXT%TYPE,
        Box30EmployerLegalName IN CL_801_SUBMISSION_DATA.BOX30_EMPLOYER_LEGAL_NAME%TYPE,
        Box32FEINText IN CL_801_SUBMISSION_DATA.BOX32_FEIN_TEXT%TYPE,
        Box33WLClientBusinessName IN CL_801_SUBMISSION_DATA.BOX33_WL_CLIENT_BUS_NAME%TYPE,
        Box34ClientFEINText IN CL_801_SUBMISSION_DATA.BOX34_CLIENT_FEIN_TEXT%TYPE,
        Box36InsurancePolicyNum IN CL_801_SUBMISSION_DATA.BOX36_INS_POLICY_NUM%TYPE,
        Box38NatureOfBusiness IN CL_801_SUBMISSION_DATA.BOX38_NATURE_OF_BUS_TXT%TYPE,
        Box40HardwareCauseFlagCode IN CL_801_SUBMISSION_DATA.BOX40_HARDWARE_CAUSE_FLAG_CODE%TYPE,
        Box40HardwareCausedText IN CL_801_SUBMISSION_DATA.BOX40_HARDWARE_CAUSED_TEXT%TYPE,
        Box40PersonCausedText IN CL_801_SUBMISSION_DATA.BOX40_PERSON_CAUSED_TEXT%TYPE,
        Box40PersonCausedFlagCode IN CL_801_SUBMISSION_DATA.BOX40_PERSON_CAUSED_FLAG_CODE%TYPE,
        Box41SAIFProviderPayrollClass IN CL_801_SUBMISSION_DATA.BOX41_SAIF_PROV_PAY_CLASS_CODE%TYPE,
        Box42MultiWorkerInjFlagCode IN CL_801_SUBMISSION_DATA.BOX42_MULTI_WORKER_FLAG_CODE%TYPE,
        Box43EmploymentInjuryCode IN CL_801_SUBMISSION_DATA.BOX43_EMPLOYMENT_INJURY_CODE%TYPE,
        Box43EmploymentInjuryText IN CL_801_SUBMISSION_DATA.BOX43_EMPLOYMENT_INJURY_TEXT%TYPE,
        Box44OSHACaseNum IN CL_801_SUBMISSION_DATA.BOX44_OSHA_CASE_NUM%TYPE,
        Box45KnowledgeDate IN CL_801_SUBMISSION_DATA.BOX45_KNOWLEDGE_DATE%TYPE,
        Box46WageAmount IN CL_801_SUBMISSION_DATA.BOX46_WAGE_AMT%TYPE,
        Box46WageUnitCode IN CL_801_SUBMISSION_DATA.BOX46_WAGE_UNIT_CODE%TYPE,
        Box47WorkerHireDate IN CL_801_SUBMISSION_DATA.BOX47_WORKER_HIRE_DATE%TYPE,
        Box48DeathDate IN CL_801_SUBMISSION_DATA.BOX48_DEATH_DATE%TYPE,
        Box49RTWNotReturnedFlag IN CL_801_SUBMISSION_DATA.BOX49_RTW_NOT_RETURNED_FLAG%TYPE,
        Box49RTWRegularDate IN CL_801_SUBMISSION_DATA.BOX49_RTW_REGULAR_DATE%TYPE,
        Box49RTWModifiedDate IN CL_801_SUBMISSION_DATA.BOX49_RTW_MODIFIED_DATE%TYPE,
        Box49RTWRegularWorkFlag IN CL_801_SUBMISSION_DATA.BOX49_RTW_REGULAR_FLAG%TYPE,
        Box49RTWModifiedWorkFlag IN CL_801_SUBMISSION_DATA.BOX49_RTW_MODIFIED_FLAG%TYPE,
        Box50RTWRegularHWFlagCode IN CL_801_SUBMISSION_DATA.BOX50_RTW_REGULAR_HW_FLAG_CODE%TYPE,
        EmployerProvidedExtraText IN CL_801_SUBMISSION_DATA.EMPR_PROVIDED_EXTRA_TEXT%TYPE,
        EmployerProvidedWorkerAreaText IN CL_801_SUBMISSION_DATA.EMPR_PROVIDED_WORKER_AREA_TXT%TYPE,
        EmployerProvidedWorkerDeptDesc IN CL_801_SUBMISSION_DATA.EMPR_PROV_WORKER_DEPT_DESCR%TYPE,
        EmployerProvidedShiftCode IN CL_801_SUBMISSION_DATA.EMPR_PROVIDED_SHIFT_CODE%TYPE,
        EmployerProvidedPayClassCode IN CL_801_SUBMISSION_DATA.EMPR_PROV_PAYROLL_CLASS_CODE%TYPE,
        ClaimNotesText IN CL_801_SUBMISSION_DATA.CLAIM_NOTES_TEXT%TYPE,
        Use801SSNFlag IN  CL_801_SUBMISSION_DATA.USE_801_SSN_FLAG%TYPE,
        Use801NameFlag IN CL_801_SUBMISSION_DATA.USE_801_NAME_FLAG%TYPE,
        WorkerDataVerifiedFlag IN CL_801_SUBMISSION_DATA.WORKER_DATA_VERIFIED_FLAG%TYPE,
        CreateDate IN CL_801_SUBMISSION_DATA.CREATE_DATE%TYPE,
        CreateUser IN CL_801_SUBMISSION_DATA.CREATE_USER%TYPE,
        AllowDataReplacementFlag IN CL_801_SUBMISSION_DATA.ALLOW_DATA_REPLACEMENT_FLAG%TYPE)
        RETURN NUMBER
    AS
    BEGIN
        insert into cl_801_submission_data (
            CL_801_SUBMISSION_SEQ_NUM,
            WORKER_ID,
            WORKER_PERSON_SEQ_NUM,
            SUBMISSION_PERSON_SEQ_NUM,
            PROVIDER_PERSON_SEQ_NUM,
            INSURANCE_PERSON_SEQ_NUM,
            SUPERVISED_PERSON_SEQ_NUM,
            EVENT_PERSON_SEQ_NUM,
            BOX1_INJURY_DATE,
            BOX2_LEAVE_WORK_DATE,
            BOX3_BEGAN_WORK_TIME,
            BOX4_MONDAY_OFF_FLAG,
            BOX4_TUESDAY_OFF_FLAG,
            BOX4_WEDNESDAY_OFF_FLAG,
            BOX4_THURSDAY_OFF_FLAG,
            BOX4_FRIDAY_OFF_FLAG,
            BOX4_SATURDAY_OFF_FLAG,
            BOX4_SUNDAY_OFF_FLAG,
            BOX5_INJURY_TIME,
            BOX6_LEAVE_WORK_TIME,
            BOX7_SHIFT_START_TIME,
            BOX7_SHIFT_END_TIME,
            BOX9_MULTIPLE_EMPR_FLAG,
            BOX11_PRIMARY_FIRST_NAME,
            BOX11_PRIMARY_LAST_NAME,
            BOX11_PRIMARY_MIDDLE_NAME,
            BOX11_PRIMARY_EXTENSION_NAME,
            BOX12_LANGUAGE_PREF_CODE,
            BOX12_WORKER_LANG_OTHER_TEXT,
            BOX13_BIRTH_DATE,
            BOX14_GENDER_CODE,
            BOX17_PRIMARY_TAX_ID,
            BOX18_WORKER_OCCUPATION_DESCR,
            BOX20_WITNESS_NAMES,
            BOX23_PRIOR_BDY_PART_FLAG_CODE,
            BOX23_PRIOR_BODY_PART_TEXT,
            BOX24_INPATIENT_FLAG_CODE,
            BOX24_OVERNIGHT_INPATIENT_TEXT,
            BOX25_ER_TREATMENT_FLAG_CODE,
            BOX25_ER_TREATMENT_TEXT,
            BOX30_EMPLOYER_LEGAL_NAME,
            BOX32_FEIN_TEXT,
            BOX33_WL_CLIENT_BUS_NAME,
            BOX34_CLIENT_FEIN_TEXT,
            BOX36_INS_POLICY_NUM,
            BOX38_NATURE_OF_BUS_TXT,
            BOX40_HARDWARE_CAUSE_FLAG_CODE,
            BOX40_HARDWARE_CAUSED_TEXT,
            BOX40_PERSON_CAUSED_TEXT,
            BOX40_PERSON_CAUSED_FLAG_CODE,
            BOX41_SAIF_PROV_PAY_CLASS_CODE,
            BOX42_MULTI_WORKER_FLAG_CODE,
            BOX43_EMPLOYMENT_INJURY_CODE,
            BOX43_EMPLOYMENT_INJURY_TEXT,
            BOX44_OSHA_CASE_NUM,
            BOX45_KNOWLEDGE_DATE,
            BOX46_WAGE_AMT,
            BOX46_WAGE_UNIT_CODE,
            BOX47_WORKER_HIRE_DATE,
            BOX48_DEATH_DATE,
            BOX49_RTW_NOT_RETURNED_FLAG,
            BOX49_RTW_REGULAR_DATE,
            BOX49_RTW_MODIFIED_DATE,
            BOX49_RTW_REGULAR_FLAG,
            BOX49_RTW_MODIFIED_FLAG,
            BOX50_RTW_REGULAR_HW_FLAG_CODE,
            EMPR_PROVIDED_EXTRA_TEXT,
            EMPR_PROVIDED_WORKER_AREA_TXT,
            EMPR_PROV_WORKER_DEPT_DESCR,
            EMPR_PROVIDED_SHIFT_CODE,
            EMPR_PROV_PAYROLL_CLASS_CODE,
            CLAIM_NOTES_TEXT,
            USE_801_SSN_FLAG,
            USE_801_NAME_FLAG,
            WORKER_DATA_VERIFIED_FLAG,
            CREATE_DATE,
            CREATE_USER,
            UPDATE_NUM,
            ALLOW_DATA_REPLACEMENT_FLAG
            )
            Values (
            SubSeqNum,
            WorkerID,
            WorkerPersonID,
            SubmissionPersonID,
            ProviderPersonID,
            InsurancePersonID,
            SupervisedPersonID,
            EventPersonID,
            Box1InjuryDate,
            Box2LeaveWorkDate,
            Box3BeganWorkTime,
            Box4MondayOffFlag,
            Box4TuesdayOffFlag,
            Box4WednesdayOffFlag,
            Box4ThursdayOffFlag,
            Box4FridayOffFlag,
            Box4SaturdayOffFlag,
            Box4SundayOffFlag,
            Box5InjuryTime,
            Box6LeaveWorkTime,
            Box7ShiftStartTime,
            Box7ShiftEndTime,
            Box9MultipleEmployerFlag,
            Box11PrimaryFirstName,
            Box11PrimaryLastName,
            Box11PrimaryMiddleName,
            Box11PrimaryNameExtension,
            Box12LanguagePrefCode,
            Box12WorkerLanguageOtherText,
            Box13BirthDate,
            Box14GenderCode,
            Box17PrimaryTaxID,
            Box18WorkerOccupationDescr,
            Box20WitnessNames,
            Box23PriorBodyPartFlagCode,
            Box23PriorBodyPartText,
            Box24InpatientFlagCode,
            Box24OvernightInpatientText,
            Box25ERTreatmentFlagCode,
            Box25ERTreatmentText,
            Box30EmployerLegalName,
            Box32FEINText,
            Box33WLClientBusinessName,
            Box34ClientFEINText,
            Box36InsurancePolicyNum,
            Box38NatureOfBusiness,
            Box40HardwareCauseFlagCode,
            Box40HardwareCausedText,
            Box40PersonCausedText,
            Box40PersonCausedFlagCode,
            Box41SAIFProviderPayrollClass,
            Box42MultiWorkerInjFlagCode,
            Box43EmploymentInjuryCode,
            Box43EmploymentInjuryText,
            Box44OSHACaseNum,
            Box45KnowledgeDate,
            Box46WageAmount,
            Box46WageUnitCode,
            Box47WorkerHireDate,
            Box48DeathDate,
            Box49RTWNotReturnedFlag,
            Box49RTWRegularDate,
            Box49RTWModifiedDate,
            Box49RTWRegularWorkFlag,
            Box49RTWModifiedWorkFlag,
            Box50RTWRegularHWFlagCode,
            EmployerProvidedExtraText,
            EmployerProvidedWorkerAreaText,
            EmployerProvidedWorkerDeptDesc,
            EmployerProvidedShiftCode,
            EmployerProvidedPayClassCode,
            ClaimNotesText,
            Use801SSNFlag,
            Use801NameFlag,
            WorkerDataVerifiedFlag,
            CreateDate,
            CreateUser,
            0,
            AllowDataReplacementFlag
            );

        return SQL%ROWCOUNT;
    END submission_data_insert;

    FUNCTION submission_data_update (
        SubSeqNum IN CL_801_SUBMISSION_DATA.CL_801_SUBMISSION_SEQ_NUM%TYPE,
        WorkerID IN CL_801_SUBMISSION_DATA.WORKER_ID%TYPE,
        WorkerPersonID IN CL_801_SUBMISSION_DATA.WORKER_PERSON_SEQ_NUM%TYPE,
        SubmissionPersonID IN CL_801_SUBMISSION_DATA.SUBMISSION_PERSON_SEQ_NUM%TYPE,
        ProviderPersonID IN CL_801_SUBMISSION_DATA.PROVIDER_PERSON_SEQ_NUM%TYPE,
        InsurancePersonID IN CL_801_SUBMISSION_DATA.INSURANCE_PERSON_SEQ_NUM%TYPE,
        SupervisedPersonID IN CL_801_SUBMISSION_DATA.SUPERVISED_PERSON_SEQ_NUM%TYPE,
        EventPersonID IN CL_801_SUBMISSION_DATA.EVENT_PERSON_SEQ_NUM%TYPE,
        Box1InjuryDate IN CL_801_SUBMISSION_DATA.BOX1_INJURY_DATE%TYPE,
        Box2LeaveWorkDate IN CL_801_SUBMISSION_DATA.BOX2_LEAVE_WORK_DATE%TYPE,
        Box3BeganWorkTime IN CL_801_SUBMISSION_DATA.BOX3_BEGAN_WORK_TIME%TYPE,
        Box4MondayOffFlag IN CL_801_SUBMISSION_DATA.BOX4_MONDAY_OFF_FLAG%TYPE,
        Box4TuesdayOffFlag IN CL_801_SUBMISSION_DATA.BOX4_TUESDAY_OFF_FLAG%TYPE,
        Box4WednesdayOffFlag IN CL_801_SUBMISSION_DATA.BOX4_WEDNESDAY_OFF_FLAG%TYPE,
        Box4ThursdayOffFlag IN CL_801_SUBMISSION_DATA.BOX4_THURSDAY_OFF_FLAG%TYPE,
        Box4FridayOffFlag IN CL_801_SUBMISSION_DATA.BOX4_FRIDAY_OFF_FLAG%TYPE,
        Box4SaturdayOffFlag IN CL_801_SUBMISSION_DATA.BOX4_SATURDAY_OFF_FLAG%TYPE,
        Box4SundayOffFlag IN CL_801_SUBMISSION_DATA.BOX4_SUNDAY_OFF_FLAG%TYPE,
        Box5InjuryTime IN CL_801_SUBMISSION_DATA.BOX5_INJURY_TIME%TYPE,
        Box6LeaveWorkTime IN CL_801_SUBMISSION_DATA.BOX6_LEAVE_WORK_TIME%TYPE,
        Box7ShiftStartTime IN CL_801_SUBMISSION_DATA.BOX7_SHIFT_START_TIME%TYPE,
        Box7ShiftEndTime IN CL_801_SUBMISSION_DATA.BOX7_SHIFT_END_TIME%TYPE,
        Box9MultipleEmployerFlag IN CL_801_SUBMISSION_DATA.BOX9_MULTIPLE_EMPR_FLAG%TYPE,
        Box11PrimaryFirstName IN CL_801_SUBMISSION_DATA.BOX11_PRIMARY_FIRST_NAME%TYPE,
        Box11PrimaryLastName IN CL_801_SUBMISSION_DATA.BOX11_PRIMARY_LAST_NAME%TYPE,
        Box11PrimaryMiddleName IN CL_801_SUBMISSION_DATA.BOX11_PRIMARY_MIDDLE_NAME%TYPE,
        Box11PrimaryNameExtension IN CL_801_SUBMISSION_DATA.BOX11_PRIMARY_EXTENSION_NAME%TYPE,
        Box12LanguagePrefCode IN CL_801_SUBMISSION_DATA.BOX12_LANGUAGE_PREF_CODE%TYPE,
        Box12WorkerLanguageOtherText IN CL_801_SUBMISSION_DATA.BOX12_WORKER_LANG_OTHER_TEXT%TYPE,
        Box13BirthDate IN CL_801_SUBMISSION_DATA.BOX13_BIRTH_DATE%TYPE,
        Box14GenderCode IN CL_801_SUBMISSION_DATA.BOX14_GENDER_CODE%TYPE,
        Box17PrimaryTaxID IN CL_801_SUBMISSION_DATA.BOX17_PRIMARY_TAX_ID%TYPE,
        Box18WorkerOccupationDescr IN CL_801_SUBMISSION_DATA.BOX18_WORKER_OCCUPATION_DESCR%TYPE,
        Box20WitnessNames IN CL_801_SUBMISSION_DATA.BOX20_WITNESS_NAMES%TYPE,
        Box23PriorBodyPartFlagCode IN CL_801_SUBMISSION_DATA.BOX23_PRIOR_BDY_PART_FLAG_CODE%TYPE,
        Box23PriorBodyPartText IN CL_801_SUBMISSION_DATA.BOX23_PRIOR_BODY_PART_TEXT%TYPE,
        Box24InpatientFlagCode IN CL_801_SUBMISSION_DATA.BOX24_INPATIENT_FLAG_CODE%TYPE,
        Box24OvernightInpatientText IN CL_801_SUBMISSION_DATA.BOX24_OVERNIGHT_INPATIENT_TEXT%TYPE,
        Box25ERTreatmentFlagCode IN CL_801_SUBMISSION_DATA.BOX25_ER_TREATMENT_FLAG_CODE%TYPE,
        Box25ERTreatmentText IN CL_801_SUBMISSION_DATA.BOX25_ER_TREATMENT_TEXT%TYPE,
        Box30EmployerLegalName IN CL_801_SUBMISSION_DATA.BOX30_EMPLOYER_LEGAL_NAME%TYPE,
        Box32FEINText IN CL_801_SUBMISSION_DATA.BOX32_FEIN_TEXT%TYPE,
        Box33WLClientBusinessName IN CL_801_SUBMISSION_DATA.BOX33_WL_CLIENT_BUS_NAME%TYPE,
        Box34ClientFEINText IN CL_801_SUBMISSION_DATA.BOX34_CLIENT_FEIN_TEXT%TYPE,
        Box36InsurancePolicyNum IN CL_801_SUBMISSION_DATA.BOX36_INS_POLICY_NUM%TYPE,
        Box38NatureOfBusiness IN CL_801_SUBMISSION_DATA.BOX38_NATURE_OF_BUS_TXT%TYPE,
        Box40HardwareCauseFlagCode IN CL_801_SUBMISSION_DATA.BOX40_HARDWARE_CAUSE_FLAG_CODE%TYPE,
        Box40HardwareCausedText IN CL_801_SUBMISSION_DATA.BOX40_HARDWARE_CAUSED_TEXT%TYPE,
        Box40PersonCausedText IN CL_801_SUBMISSION_DATA.BOX40_PERSON_CAUSED_TEXT%TYPE,
        Box40PersonCausedFlagCode IN CL_801_SUBMISSION_DATA.BOX40_PERSON_CAUSED_FLAG_CODE%TYPE,
        Box41SAIFProviderPayrollClass IN CL_801_SUBMISSION_DATA.BOX41_SAIF_PROV_PAY_CLASS_CODE%TYPE,
        Box42MultiWorkerInjFlagCode IN CL_801_SUBMISSION_DATA.BOX42_MULTI_WORKER_FLAG_CODE%TYPE,
        Box43EmploymentInjuryCode IN CL_801_SUBMISSION_DATA.BOX43_EMPLOYMENT_INJURY_CODE%TYPE,
        Box43EmploymentInjuryText IN CL_801_SUBMISSION_DATA.BOX43_EMPLOYMENT_INJURY_TEXT%TYPE,
        Box44OSHACaseNum IN CL_801_SUBMISSION_DATA.BOX44_OSHA_CASE_NUM%TYPE,
        Box45KnowledgeDate IN CL_801_SUBMISSION_DATA.BOX45_KNOWLEDGE_DATE%TYPE,
        Box46WageAmount IN CL_801_SUBMISSION_DATA.BOX46_WAGE_AMT%TYPE,
        Box46WageUnitCode IN CL_801_SUBMISSION_DATA.BOX46_WAGE_UNIT_CODE%TYPE,
        Box47WorkerHireDate IN CL_801_SUBMISSION_DATA.BOX47_WORKER_HIRE_DATE%TYPE,
        Box48DeathDate IN CL_801_SUBMISSION_DATA.BOX48_DEATH_DATE%TYPE,
        Box49RTWNotReturnedFlag IN CL_801_SUBMISSION_DATA.BOX49_RTW_NOT_RETURNED_FLAG%TYPE,
        Box49RTWRegularDate IN CL_801_SUBMISSION_DATA.BOX49_RTW_REGULAR_DATE%TYPE,
        Box49RTWModifiedDate IN CL_801_SUBMISSION_DATA.BOX49_RTW_MODIFIED_DATE%TYPE,
        Box49RTWRegularWorkFlag IN CL_801_SUBMISSION_DATA.BOX49_RTW_REGULAR_FLAG%TYPE,
        Box49RTWModifiedWorkFlag IN CL_801_SUBMISSION_DATA.BOX49_RTW_MODIFIED_FLAG%TYPE,
        Box50RTWRegularHWFlagCode IN CL_801_SUBMISSION_DATA.BOX50_RTW_REGULAR_HW_FLAG_CODE%TYPE,
        EmployerProvidedExtraText IN CL_801_SUBMISSION_DATA.EMPR_PROVIDED_EXTRA_TEXT%TYPE,
        EmployerProvidedWorkerAreaText IN CL_801_SUBMISSION_DATA.EMPR_PROVIDED_WORKER_AREA_TXT%TYPE,
        EmployerProvidedWorkerDeptDesc IN CL_801_SUBMISSION_DATA.EMPR_PROV_WORKER_DEPT_DESCR%TYPE,
        EmployerProvidedShiftCode IN CL_801_SUBMISSION_DATA.EMPR_PROVIDED_SHIFT_CODE%TYPE,
        EmployerProvidedPayClassCode IN CL_801_SUBMISSION_DATA.EMPR_PROV_PAYROLL_CLASS_CODE%TYPE,
        ClaimNotesText IN CL_801_SUBMISSION_DATA.CLAIM_NOTES_TEXT%TYPE,
        Use801SSNFlag IN  CL_801_SUBMISSION_DATA.USE_801_SSN_FLAG%TYPE,
        Use801NameFlag IN CL_801_SUBMISSION_DATA.USE_801_NAME_FLAG%TYPE,
        WorkerDataVerifiedFlag IN CL_801_SUBMISSION_DATA.WORKER_DATA_VERIFIED_FLAG%TYPE,
        LastUpdateNum IN CL_801_SUBMISSION_DATA.UPDATE_NUM%TYPE,
        UpdateDate IN CL_801_SUBMISSION_DATA.UPDATE_DATE%TYPE,
        UpdateUser IN CL_801_SUBMISSION_DATA.UPDATE_USER%TYPE,
        UpdateNum IN CL_801_SUBMISSION_DATA.UPDATE_NUM%TYPE,
        AllowDataReplacementFlag IN CL_801_SUBMISSION_DATA.ALLOW_DATA_REPLACEMENT_FLAG%TYPE)
        RETURN NUMBER
    AS
    BEGIN
        update cl_801_submission_data
        set
            CL_801_SUBMISSION_SEQ_NUM = SubSeqNum,
            WORKER_ID = WorkerID,
            WORKER_PERSON_SEQ_NUM = WorkerPersonID,
            SUBMISSION_PERSON_SEQ_NUM = SubmissionPersonID,
            PROVIDER_PERSON_SEQ_NUM = ProviderPersonID,
            INSURANCE_PERSON_SEQ_NUM = InsurancePersonID,
            SUPERVISED_PERSON_SEQ_NUM = SupervisedPersonID,
            EVENT_PERSON_SEQ_NUM = EventPersonID,
            BOX1_INJURY_DATE = Box1InjuryDate,
            BOX2_LEAVE_WORK_DATE = Box2LeaveWorkDate,
            BOX3_BEGAN_WORK_TIME = Box3BeganWorkTime,
            BOX4_MONDAY_OFF_FLAG = Box4MondayOffFlag,
            BOX4_TUESDAY_OFF_FLAG = Box4TuesdayOffFlag,
            BOX4_WEDNESDAY_OFF_FLAG = Box4WednesdayOffFlag,
            BOX4_THURSDAY_OFF_FLAG = Box4ThursdayOffFlag,
            BOX4_FRIDAY_OFF_FLAG = Box4FridayOffFlag,
            BOX4_SATURDAY_OFF_FLAG = Box4SaturdayOffFlag,
            BOX4_SUNDAY_OFF_FLAG = Box4SundayOffFlag,
            BOX5_INJURY_TIME = Box5InjuryTime,
            BOX6_LEAVE_WORK_TIME = Box6LeaveWorkTime,
            BOX7_SHIFT_START_TIME = Box7ShiftStartTime,
            BOX7_SHIFT_END_TIME = Box7ShiftEndTime,
            BOX9_MULTIPLE_EMPR_FLAG = Box9MultipleEmployerFlag,
            BOX11_PRIMARY_FIRST_NAME = Box11PrimaryFirstName,
            BOX11_PRIMARY_LAST_NAME = Box11PrimaryLastName,
            BOX11_PRIMARY_MIDDLE_NAME = Box11PrimaryMiddleName,
            BOX11_PRIMARY_EXTENSION_NAME = Box11PrimaryNameExtension,
            BOX12_LANGUAGE_PREF_CODE = Box12LanguagePrefCode,
            BOX12_WORKER_LANG_OTHER_TEXT = Box12WorkerLanguageOtherText,
            BOX13_BIRTH_DATE = Box13BirthDate,
            BOX14_GENDER_CODE = Box14GenderCode,
            BOX17_PRIMARY_TAX_ID = Box17PrimaryTaxID,
            BOX18_WORKER_OCCUPATION_DESCR = Box18WorkerOccupationDescr,
            BOX20_WITNESS_NAMES = Box20WitnessNames,
            BOX23_PRIOR_BDY_PART_FLAG_CODE = Box23PriorBodyPartFlagCode,
            BOX23_PRIOR_BODY_PART_TEXT = Box23PriorBodyPartText,
            BOX24_INPATIENT_FLAG_CODE = Box24InpatientFlagCode,
            BOX24_OVERNIGHT_INPATIENT_TEXT = Box24OvernightInpatientText,
            BOX25_ER_TREATMENT_FLAG_CODE = Box25ERTreatmentFlagCode,
            BOX25_ER_TREATMENT_TEXT = Box25ERTreatmentText,
            BOX30_EMPLOYER_LEGAL_NAME = Box30EmployerLegalName,
            BOX32_FEIN_TEXT = Box32FEINText,
            BOX33_WL_CLIENT_BUS_NAME = Box33WLClientBusinessName,
            BOX34_CLIENT_FEIN_TEXT = Box34ClientFEINText,
            BOX36_INS_POLICY_NUM = Box36InsurancePolicyNum,
            BOX38_NATURE_OF_BUS_TXT = Box38NatureOfBusiness,
            BOX40_HARDWARE_CAUSE_FLAG_CODE = Box40HardwareCauseFlagCode,
            BOX40_HARDWARE_CAUSED_TEXT = Box40HardwareCausedText,
            BOX40_PERSON_CAUSED_TEXT = Box40PersonCausedText,
            BOX40_PERSON_CAUSED_FLAG_CODE = Box40PersonCausedFlagCode,
            BOX41_SAIF_PROV_PAY_CLASS_CODE = Box41SAIFProviderPayrollClass,
            BOX42_MULTI_WORKER_FLAG_CODE = Box42MultiWorkerInjFlagCode,
            BOX43_EMPLOYMENT_INJURY_CODE = Box43EmploymentInjuryCode,
            BOX43_EMPLOYMENT_INJURY_TEXT = Box43EmploymentInjuryText,
            BOX44_OSHA_CASE_NUM = Box44OSHACaseNum,
            BOX45_KNOWLEDGE_DATE = Box45KnowledgeDate,
            BOX46_WAGE_AMT = Box46WageAmount,
            BOX46_WAGE_UNIT_CODE = Box46WageUnitCode,
            BOX47_WORKER_HIRE_DATE = Box47WorkerHireDate,
            BOX48_DEATH_DATE = Box48DeathDate,
            BOX49_RTW_NOT_RETURNED_FLAG = Box49RTWNotReturnedFlag,
            BOX49_RTW_REGULAR_DATE = Box49RTWRegularDate,
            BOX49_RTW_MODIFIED_DATE = Box49RTWModifiedDate,
            BOX49_RTW_REGULAR_FLAG = Box49RTWRegularWorkFlag,
            BOX49_RTW_MODIFIED_FLAG = Box49RTWModifiedWorkFlag,
            BOX50_RTW_REGULAR_HW_FLAG_CODE = Box50RTWRegularHWFlagCode,
            EMPR_PROVIDED_EXTRA_TEXT = EmployerProvidedExtraText,
            EMPR_PROVIDED_WORKER_AREA_TXT = EmployerProvidedWorkerAreaText,
            EMPR_PROV_WORKER_DEPT_DESCR = EmployerProvidedWorkerDeptDesc,
            EMPR_PROVIDED_SHIFT_CODE = EmployerProvidedShiftCode,
            EMPR_PROV_PAYROLL_CLASS_CODE = EmployerProvidedPayClassCode,
            CLAIM_NOTES_TEXT = ClaimNotesText,
            USE_801_SSN_FLAG               = Use801SSNFlag,
            USE_801_NAME_FLAG              = Use801NameFlag,
            WORKER_DATA_VERIFIED_FLAG      = WorkerDataVerifiedFlag,
            UPDATE_DATE                    = UpdateDate,
            UPDATE_USER                    = UpdateUser,
            UPDATE_NUM                     = UpdateNum,
            ALLOW_DATA_REPLACEMENT_FLAG = AllowDataReplacementFlag
        where cl_801_submission_seq_num = SubSeqNum and update_num = LastUpdateNum;

        return SQL%ROWCOUNT;
    END submission_data_update;

    FUNCTION submission_data_delete (
        SubSeqNum IN CL_801_SUBMISSION_DATA.CL_801_SUBMISSION_SEQ_NUM%TYPE,
        LastUpdateNum IN CL_801_SUBMISSION_DATA.UPDATE_NUM%TYPE)
        RETURN NUMBER
    AS
    BEGIN
        delete from cl_801_submission_data
        where cl_801_submission_seq_num = SubSeqNum and update_num = LastUpdateNum;

        return SQL%ROWCOUNT;
    END submission_data_delete;


   PROCEDURE document_select (
      ClaimID   IN     CL_801_DOCUMENT.CLAIM_ID%TYPE,
      recordset  OUT ref_cursor)
   IS
   BEGIN
      OPEN recordset FOR
         SELECT D.CL_801_DOCUMENT_SEQ_NUM AS DocSeqNum,
                D.CLAIM_ID AS ClaimID,
                D.IMAGE_SEQ_NUM AS ImageSeqNum,
                D.FILE_NAME AS FileName,
                D.CL_801_DOCUMENT_TYPE_CODE AS DocTypeCode,
                DTC.CODE_DESCR as DocTypeCodeDescr,
                D.CREATE_USER AS CreateUser,
                D.CREATE_DATE AS CreateDate,
                D.UPDATE_NUM AS UpdateNum,
                D.UPDATE_USER AS UpdateUser,
                D.UPDATE_DATE AS UpdateDate,
                0 as StoredImageSeqNum,
                0 as ErrorImageSeqNum
           FROM  CL_801_DOCUMENT d
                LEFT JOIN CL_801_DOCUMENT_TYPE_CODE dtc
                   ON D.CL_801_DOCUMENT_TYPE_CODE = dtc.CODE
          WHERE d.CLAIM_ID = ClaimID;
   END document_select;

   PROCEDURE document_select_by_imageseqnum (
      ImageSeqNum   IN     CL_801_DOCUMENT.IMAGE_SEQ_NUM%TYPE,
      recordset  OUT ref_cursor)
   IS
   BEGIN
      OPEN recordset FOR
         SELECT D.CL_801_DOCUMENT_SEQ_NUM AS DocSeqNum,
                D.CLAIM_ID AS ClaimID,
                D.IMAGE_SEQ_NUM AS ImageSeqNum,
                D.FILE_NAME AS FileName,
                D.CL_801_DOCUMENT_TYPE_CODE AS DocTypeCode,
                DTC.CODE_DESCR as DocTypeCodeDescr,
                D.CREATE_USER AS CreateUser,
                D.CREATE_DATE AS CreateDate,
                D.UPDATE_NUM AS UpdateNum,
                D.UPDATE_USER AS UpdateUser,
                D.UPDATE_DATE AS UpdateDate,
                0 as StoredImageSeqNum,
                0 as ErrorImageSeqNum
           FROM  CL_801_DOCUMENT d
                LEFT JOIN CL_801_DOCUMENT_TYPE_CODE dtc
                   ON D.CL_801_DOCUMENT_TYPE_CODE = dtc.CODE
          WHERE d.IMAGE_SEQ_NUM = ImageSeqNum;
   END document_select_by_imageseqnum;

   FUNCTION document_insert (
      DocSeqNum     IN CL_801_DOCUMENT.CL_801_DOCUMENT_SEQ_NUM%TYPE,
      ClaimID     IN CL_801_DOCUMENT.CLAIM_ID%TYPE,
      FileName      IN CL_801_DOCUMENT.FILE_NAME%TYPE,
      DocTypeCode   IN CL_801_DOCUMENT.CL_801_DOCUMENT_TYPE_CODE%TYPE,
      ImageSeqNum   IN CL_801_DOCUMENT.IMAGE_SEQ_NUM%TYPE,
      UpdateNum     IN CL_801_DOCUMENT.UPDATE_NUM%TYPE,
      UpdateUser    IN CL_801_DOCUMENT.UPDATE_USER%TYPE,
      UpdateDate    IN CL_801_DOCUMENT.UPDATE_DATE%TYPE,
      CreateUser    IN CL_801_DOCUMENT.CREATE_USER%TYPE,
      CreateDate    IN CL_801_DOCUMENT.CREATE_DATE%TYPE)
      RETURN NUMBER
   IS
      v_update_count   NUMBER;
   BEGIN
      INSERT INTO CL_801_DOCUMENT (CL_801_DOCUMENT_SEQ_NUM,
                                   CLAIM_ID,
                                   FILE_NAME,
                                   CL_801_DOCUMENT_TYPE_CODE,
                                   IMAGE_SEQ_NUM,
                                   UPDATE_NUM,
                                   UPDATE_USER,
                                   UPDATE_DATE,
                                   CREATE_USER,
                                   CREATE_DATE)
           VALUES (DocSeqNum,
                   ClaimID,
                   FileName,
                   DocTypeCode,
                   ImageSeqNum,
                   UpdateNum,
                   UpdateUser,
                   UpdateDate,
                   CreateUser,
                   CreateDate);

      v_update_count := SQL%ROWCOUNT;
      RETURN v_update_count;
   END document_insert;

   FUNCTION document_update (
      DocSeqNum     IN CL_801_DOCUMENT.CL_801_DOCUMENT_SEQ_NUM%TYPE,
      ClaimID     IN CL_801_DOCUMENT.CLAIM_ID%TYPE,
      FileName      IN CL_801_DOCUMENT.FILE_NAME%TYPE,
      DocTypeCode   IN CL_801_DOCUMENT.CL_801_DOCUMENT_TYPE_CODE%TYPE,
      ImageSeqNum   IN CL_801_DOCUMENT.IMAGE_SEQ_NUM%TYPE,
      UpdateNum IN CL_801_DOCUMENT.UPDATE_NUM%TYPE,
      UpdateUser IN CL_801_DOCUMENT.UPDATE_USER%TYPE,
      UpdateDate IN CL_801_DOCUMENT.UPDATE_DATE%TYPE,
      LastUpdateNum IN CL_801_DOCUMENT.UPDATE_NUM%TYPE)
        RETURN NUMBER
   AS
   BEGIN
        UPDATE CL_801_DOCUMENT
        SET
            CLAIM_ID = ClaimID,
            FILE_NAME = FileName,
            CL_801_DOCUMENT_TYPE_CODE = DocTypeCode,
            IMAGE_SEQ_NUM = ImageSeqNum,
            UPDATE_NUM = UpdateNum,
            UPDATE_USER = UpdateUser,
            UPDATE_DATE = UpdateDate
        WHERE CL_801_DOCUMENT_SEQ_NUM = DocSeqNum and update_num = LastUpdateNum;

        RETURN SQL%ROWCOUNT;
   END document_update;

END;
```

</details>

## Related documentation

- [Procedure catalog](index.md)
- [Business rules](../business-rules.md)
- [Operations and processes](../operations-processes.md)
- [SQL catalog](../sql/index.md)

> **Note:** Statements marked with `**` could not be confirmed; treat them as unknown until verified.

## Sources

- `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`
