pk80001_legalnet¶
Overview¶
| Field | Value |
|---|---|
| Schema | WCIS_DBA |
| Type | Package |
| Database | WCIS_DBA / Oracle |
| Calling libraries | SAIF.Business.Claim.Legal |
| Calling classes | clsCaseNote, clsCaseSearch, clsConsolidations, clsCreateFile, clsAppeal, clsAppealExtension, clsCaseOutcome, clsLegalCase, clsLegalSchedule, clsHearingLocationInfo, clsAcknowledgeList, clsAttorneyProfile, clsBoardLog, clsLegalFileLocation, clsLegalCaseEvaluation, clsAttorneyWorkerAssignment, clsMailDate, clsImageAlerts, mdlCodeTables.clsLegalStaffList |
| Member count | 98 (55 members previously catalogued from referencing .NET code, plus 43 additional members present in the retrieved package spec that have no confirmed .NET call site*) |
Package name casing is inconsistent across the source (pk80001_legalnet, Pk80001_Legalnet, pk80001_legalNet, PK80001_LEGALNET). Oracle identifiers are case-insensitive when unquoted, so these are all the same package; names below are normalised to the casing declared in the retrieved spec.
Purpose¶
pk80001_legalnet is the primary Oracle PL/SQL package behind SAIF's LegalNet module. It implements CRUD and lookup logic for legal cases (LEGAL_CASE), hearing schedules (SCHEDULE), appeals and appeal extensions (APPEAL, APPEAL_EXTENSION), case outcomes and their issues/staff (CASE_OUTCOME, OUTCOME_ISSUE, OUTCOME_STAFF), case notes (CASE_NOTE), case costs (CASE_COST), legal file locations (LEGAL_FILE_LOCATION), case consolidation (CONSOLIDATED_CASE), attorney profiles and schedules (ATTORNEY_PROFILE, ATTORNEY_SCHEDULE), legal case employer/other-firm associations (LEGAL_CASE_EMPLOYER, OTHER_FIRM), mail-date/OAR/reconsideration-letter tracking, acknowledgement letters, board logs, letter requests, and image-alert history. It also derives case-search results, assigned-attorney lookups, and hearing-sequence-number bookkeeping used throughout the LegalNet UI and related batch jobs.
Procedures / Methods¶
findCase¶
| Field | Value |
|---|---|
| Returns | recordset (REF CURSOR) |
| Called by | clsCaseSearch |
Description: Looks up a single legal case by an arbitrary case-identifier string, trying identifier types in priority order: WCB number first; if the input is 7 characters or fewer, DCBS number next; then OWCP number; then OALJ number; then BRB number; and finally the appeal number as a last resort. Returns the matching LEGAL_CASE row(s) via recordset.
Parameters¶
| Parameter | Direction | Type | Default | Description |
|---|---|---|---|---|
recordset |
OUT | REF CURSOR | — | Matching legal case row(s). |
in_num |
IN | VARCHAR2 | — | Case identifier to resolve (WCB/DCBS/OWCP/OALJ/BRB/appeal number). |
get_hearing_date¶
| Field | Value |
|---|---|
| Returns | DATE |
| Called by | No confirmed .NET call site* |
Description: Returns the scheduled hearing date for the given legal case's most recent hearing schedule row.*
Parameters¶
| Parameter | Direction | Type | Default | Description |
|---|---|---|---|---|
in_case_seq |
IN | LEGAL_CASE.legal_case_seq_num%TYPE |
— | Legal case sequence number. |
get_consolidated_hearing_seq¶
| Field | Value |
|---|---|
| Returns | NUMBER |
| Called by | No confirmed .NET call site* |
Description: Resolves the most-recent HEAR schedule sequence number for a case's consolidation primary, used by updateHearingSeqNum when a case is a secondary in a consolidation.*
Parameters¶
| Parameter | Direction | Type | Default | Description |
|---|---|---|---|---|
in_case_seq |
IN | LEGAL_CASE.legal_case_seq_num%TYPE |
— | Legal case sequence number. |
get_hearingID¶
| Field | Value |
|---|---|
| Returns | NUMBER |
| Called by | clsHearingLocationInfo |
Description: Returns the schedule sequence number of the case's most recent hearing, used to look up hearing-location detail.
Parameters¶
| Parameter | Direction | Type | Default | Description |
|---|---|---|---|---|
in_case_seq |
IN | LEGAL_CASE.legal_case_seq_num%TYPE |
— | Legal case sequence number. |
get_asgn_atty¶
| Field | Value |
|---|---|
| Returns | VARCHAR2 |
| Called by | clsLegalCase |
Description: Resolves the assigned attorney's display name for a case using a three-tier fallback: (1) the attorney on the case's most recent appeal, (2) the attorney assigned to the case's scheduled hearing, (3) the assigned other-firm name; returns an empty string if none is found (BR-PKG1-005).
Parameters¶
| Parameter | Direction | Type | Default | Description |
|---|---|---|---|---|
IN_case_Seq_num |
IN | LEGAL_CASE.legal_case_seq_num%TYPE |
— | Legal case sequence number. |
get_asgn_atty_id¶
| Field | Value |
|---|---|
| Returns | VARCHAR2 |
| Called by | No confirmed .NET call site* |
Description: Resolves the assigned attorney's employee/person identifier using the same three-tier fallback order as get_asgn_atty (BR-PKG1-005), returning the identifier rather than the display name.*
Parameters¶
| Parameter | Direction | Type | Default | Description |
|---|---|---|---|---|
IN_case_Seq_num |
IN | LEGAL_CASE.legal_case_seq_num%TYPE |
— | Legal case sequence number. |
get_atty_mngr_email¶
| Field | Value |
|---|---|
| Returns | VARCHAR2 |
| Called by | No confirmed .NET call site* |
Description: Returns the email address of the manager of the attorney assigned to the case, used for notification routing.*
Parameters¶
| Parameter | Direction | Type | Default | Description |
|---|---|---|---|---|
aLegalCaseNum |
IN | NUMBER | — | Legal case sequence number. |
get_mailid_for_emplid¶
| Field | Value |
|---|---|
| Returns | VARCHAR2 |
| Called by | No confirmed .NET call site* |
Description: Translates an employee ID into the corresponding mail/user ID (adp_employee.user_id).*
Parameters¶
| Parameter | Direction | Type | Default | Description |
|---|---|---|---|---|
inEmplid |
IN | VARCHAR2 | — | Employee ID to translate. |
get_case_num¶
| Field | Value |
|---|---|
| Returns | VARCHAR2 |
| Called by | No confirmed .NET call site* |
Description: Resolves a single display case number for the given legal case by taking the first non-null value in priority order: WCB number, DCBS number, OWCP number, OALJ number, then BRB number (BR-PKG1-006).
Parameters¶
| Parameter | Direction | Type | Default | Description |
|---|---|---|---|---|
aLegalCaseNum |
IN | NUMBER | — | Legal case sequence number. |
InsertLegalCase¶
| Field | Value |
|---|---|
| Returns | NUMBER (new legal_case_seq_num) |
| Called by | clsLegalCase |
Description: Inserts a new LEGAL_CASE row from the full set of case attributes (request type, WCB/DCBS/OWCP/OALJ/BRB numbers, case status, attorney assignment, OAR/acknowledge/DEF dates, stress-claim flag, consolidation flag, etc.) and returns the new sequence number.
Parameters¶
| Parameter | Direction | Type | Default | Description |
|---|---|---|---|---|
LegalCaseSeqNum |
IN | LEGAL_CASE.LEGAL_CASE_SEQ_NUM%TYPE |
— | Sequence number to assign to the new case. |
CaseTypeCode |
IN | LEGAL_CASE.REQUEST_TYPE_CODE%TYPE |
— | Case type code. |
RequestTypeCode |
IN | LEGAL_CASE.REQUEST_TYPE_CODE%TYPE |
— | Request type code. |
WcbNum |
IN | LEGAL_CASE.WCB_NUM%TYPE |
— | Workers' Compensation Board case number. |
DcbsNum |
IN | LEGAL_CASE.DCBS_NUM%TYPE |
— | DCBS case number. |
CaseStatusCode |
IN | LEGAL_CASE.CASE_STATUS_CODE%TYPE |
— | Case status code. |
claimID |
IN | LEGAL_CASE.claim_id%TYPE |
— | Associated claim ID. |
RequestDate |
IN | LEGAL_CASE.request_date%TYPE |
— | Legal request date. |
WorkerAttyProvLocID |
IN | LEGAL_CASE.WORKER_ATTY_PROV_LOC_ID%TYPE |
— | Worker's attorney provider location ID. |
WorkerAttyFirmProvLocID |
IN | LEGAL_CASE.WORKER_ATTY_FIRM_PROV_LOC_ID%TYPE |
— | Worker's attorney firm provider location ID. |
OarDueDate |
IN | LEGAL_CASE.OAR_DUE_DATE%TYPE |
— | Order allowing/reconsideration due date. |
OarMailedDate |
IN | LEGAL_CASE.OAR_MAILED_DATE%TYPE |
— | OAR mailed date. |
LegalFileCreateDate |
IN | LEGAL_CASE.LEGAL_FILE_CREATE_DATE%TYPE |
— | Legal file creation date. |
CaseWeightValue |
IN | LEGAL_CASE.CASE_WEIGHT_VALUE%TYPE |
— | Case weighting value (BR-PKG1-007). |
AcknowledgeDate |
IN | LEGAL_CASE.ACKNOWLEDGE_DATE%TYPE |
— | Acknowledgement date. |
RequestNewWcbNumFlag |
IN | LEGAL_CASE.REQUEST_ALL_DAY_HEARING_FLAG%TYPE |
— | Flag requesting a new WCB number. |
RequestedByCode |
IN | LEGAL_CASE.REQUESTED_BY_CODE%TYPE |
— | Code identifying who requested the case. |
RequestReceiptDate |
IN | LEGAL_CASE.REQUEST_RECEIPT_DATE%TYPE |
— | Date the request was received. |
RequestPostmarkDate |
IN | LEGAL_CASE.REQUEST_POSTMARK_DATE%TYPE |
— | Postmark date on the request. |
RequestAllDayHearingFlag |
IN | LEGAL_CASE.REQUEST_ALL_DAY_HEARING_FLAG%TYPE |
— | All-day-hearing request flag. |
StressClaimFlag |
IN | LEGAL_CASE.STRESS_CLAIM_FLAG%TYPE |
— | Stress-claim flag (BR-PKG1-007). |
ReconLetterMailedDate |
IN | LEGAL_CASE.RECON_LETTER_MAILED_DATE%TYPE |
— | Reconsideration letter mailed date. |
ReconPacketReceivedDate |
IN | LEGAL_CASE.RECON_PACKET_RECEIVED_DATE%TYPE |
— | Reconsideration packet received date. |
DismissalDate |
IN | LEGAL_CASE.DISMISSAL_DATE%TYPE |
— | Dismissal date. |
SettlementDate |
IN | LEGAL_CASE.SETTLEMENT_DATE%TYPE |
— | Settlement date. |
SendDefFlag |
IN | LEGAL_CASE.SEND_DEF_FLAG%TYPE |
— | Flag to send DEF letter. |
DefSentDate |
IN | LEGAL_CASE.DEF_SENT_DATE%TYPE |
— | DEF letter sent date. |
EmployerEvaluationNum |
IN | LEGAL_CASE.EMPLOYER_EVALUATION_NUM%TYPE |
— | Employer evaluation number. |
ConsolidateCaseFlag |
IN | LEGAL_CASE.CONSOLIDATE_CASE_FLAG%TYPE |
— | Flag indicating case participates in consolidation. |
OwcpNum |
IN | LEGAL_CASE.OWCP_NUM%TYPE |
— | OWCP case number. |
OaljNum |
IN | LEGAL_CASE.OALJ_NUM%TYPE |
— | OALJ case number. |
BrbNum |
IN | LEGAL_CASE.BRB_NUM%TYPE |
— | BRB case number. |
CreateDate |
IN | LEGAL_CASE.CREATE_DATE%TYPE |
— | Audit creation timestamp. |
CreateUser |
IN | LEGAL_CASE.CREATE_USER%TYPE |
— | Audit creation user. |
MostRecentHearingSeqNum |
IN | LEGAL_CASE.MOST_RECENT_HEARING_SEQ_NUM%TYPE |
— | Most recent hearing schedule sequence number. |
ClaimImageAlertsFlag |
IN | LEGAL_CASE.CLAIM_IMAGE_ALERTS_FLAG%TYPE |
— | Claim image-alerts flag. |
UpdateLegalCase¶
| Field | Value |
|---|---|
| Returns | NUMBER (rows-affected/status indicator) |
| Called by | clsLegalCase |
Description: Updates an existing LEGAL_CASE row with the same full set of attributes as InsertLegalCase, replacing CreateDate/CreateUser with UpdateDate/UpdateUser.
Parameters¶
| Parameter | Direction | Type | Default | Description |
|---|---|---|---|---|
LegalCaseSeqNum |
IN | LEGAL_CASE.LEGAL_CASE_SEQ_NUM%TYPE |
— | Case to update. |
CaseTypeCode through ClaimImageAlertsFlag |
IN | (see InsertLegalCase) |
— | Same attribute set as InsertLegalCase, with UpdateDate/UpdateUser replacing CreateDate/CreateUser. |
CREATE_REQUEST_ISSUE¶
| Field | Value |
|---|---|
| Returns | none (procedure) |
| Called by | No confirmed .NET call site* |
Description: Inserts a REQUEST_ISSUE row recording the issue code/text associated with a legal case request; used by UPDATE_LEGALCASE_REQUEST when tracking reconsideration issues (BR-PKG1-007).
Parameters¶
| Parameter | Direction | Type | Default | Description |
|---|---|---|---|---|
in_legal_case_seq |
IN | LEGAL_CASE.legal_Case_seq_num%TYPE |
— | Legal case sequence number. |
in_issue_code |
IN | REQUEST_ISSUE.REQUEST_ISSUE_CODE%TYPE |
— | Request issue code. |
in_issue_text |
IN | REQUEST_ISSUE.REQUEST_ISSUE_TEXT%TYPE |
— | Request issue free text. |
get_case_issue_codes¶
| Field | Value |
|---|---|
| Returns | VARCHAR2 (delimited list of codes) |
| Called by | No confirmed .NET call site* |
Description: Returns a concatenated list of REQUEST_ISSUE codes recorded for the given case.*
Parameters¶
| Parameter | Direction | Type | Default | Description |
|---|---|---|---|---|
in_case_seq_num |
IN | NUMBER | — | Legal case sequence number. |
get_case_issue_text¶
| Field | Value |
|---|---|
| Returns | VARCHAR2 (concatenated text) |
| Called by | clsLegalCase |
Description: Returns the concatenated free-text issue descriptions recorded for the given case's request issues.
Parameters¶
| Parameter | Direction | Type | Default | Description |
|---|---|---|---|---|
in_case_seq_num |
IN | NUMBER | — | Legal case sequence number. |
Casesearch¶
| Field | Value |
|---|---|
| Returns | recordset (search_cursor REF CURSOR of search_rec: WCB number, case status, attorney name, hearing date, request issue, requested-by, case seq num, claim ID) |
| Called by | clsCaseSearch |
Description: Searches legal cases for a comma-delimited list of claim IDs, applying a closed-case filter: when includeClosed = 'Y' no cases are excluded by status, otherwise cases with CASE_STATUS_CODE = 'CLOSE' are excluded (BR-PKG1-001). This is the single procedure backing the legacy CaseSearch/findCase .NET call sites.
Parameters¶
| Parameter | Direction | Type | Default | Description |
|---|---|---|---|---|
recordset |
OUT | search_cursor |
— | Matching case search rows. |
claimIdsCommaDelimited |
IN | VARCHAR2 | — | Comma-delimited list of claim IDs to search. |
includeClosed |
IN | VARCHAR2 | — | 'Y' to include closed cases, otherwise closed cases are excluded. |
updateCaseStatus¶
| Field | Value |
|---|---|
| Returns | none (procedure) |
| Called by | clsConsolidations |
Description: Updates a legal case's status code and, because a status change on a consolidation primary must be reflected on its secondary cases, cascades the same status update to all secondary cases consolidated under the given case (BR-PKG1-002).
Parameters¶
| Parameter | Direction | Type | Default | Description |
|---|---|---|---|---|
aLegalCaseNum |
IN | NUMBER | — | Legal case sequence number. |
newStatus |
IN | VARCHAR2 | — | New case status code. |
updateDate |
IN | DATE | — | Audit update timestamp. |
updateUser |
IN | VARCHAR2 | — | Audit update user. |
updateHearingSeqNum¶
| Field | Value |
|---|---|
| Returns | none (procedure) |
| Called by | clsLegalCase |
Description: Recomputes and stores LEGAL_CASE.MOST_RECENT_HEARING_SEQ_NUM using a three-tier fallback: (1) if the case is a consolidated secondary, use its primary's most recent HEAR schedule via get_consolidated_hearing_seq; (2) otherwise use the case's own most recent HEAR schedule; (3) if neither exists, fall back to the case's own most recent CCALL/INCON/MED schedule. The recalculated value then cascades to any consolidated secondary cases (BR-PKG1-003).
Parameters¶
| Parameter | Direction | Type | Default | Description |
|---|---|---|---|---|
aLegalCaseNum |
IN | NUMBER | — | Legal case sequence number to recompute. |
getLCE¶
| Field | Value |
|---|---|
| Returns | Recordset (REF CURSOR) |
| Called by | clsLegalCaseEvaluation |
Description: Returns the legal case evaluation (LCE) row(s) for a given legal case.
Parameters¶
| Parameter | Direction | Type | Default | Description |
|---|---|---|---|---|
LegalCaseID |
IN | NUMBER | — | Legal case sequence number. |
Recordset |
OUT | REF CURSOR | — | LCE row(s). |
updateLCE¶
| Field | Value |
|---|---|
| Returns | NUMBER (status indicator) |
| Called by | clsLegalCaseEvaluation |
Description: Updates an existing LCE row's excused flag, due/filed dates, adjuster, and case-transfer date.
Parameters¶
| Parameter | Direction | Type | Default | Description |
|---|---|---|---|---|
EvaluationID |
IN | NUMBER | — | LCE sequence number to update. |
IsExcused |
IN | VARCHAR2 | — | Excused flag. |
dueDate |
IN | DATE | — | Evaluation due date. |
filedDate |
IN | DATE | — | Evaluation filed date. |
AdjusterEmployeeID |
IN | VARCHAR2 | — | Adjuster's employee ID. |
casetransferDate |
IN | DATE | — | Case transfer date. |
updateDate |
IN | DATE | — | Audit update timestamp. |
updateUser |
IN | VARCHAR2 | — | Audit update user. |
AsgnAttyEmplid |
IN | VARCHAR2 | — | Assigned attorney employee ID. |
insertLCE¶
| Field | Value |
|---|---|
| Returns | NUMBER (status indicator) |
| Called by | clsLegalCaseEvaluation |
Description: Inserts a new LCE row for a legal case. Wraps the insert in a WHEN OTHERS handler that re-raises via RAISE_APPLICATION_ERROR(-20004, <message>) on failure.
Parameters¶
| Parameter | Direction | Type | Default | Description |
|---|---|---|---|---|
EvaluationID |
IN | NUMBER | — | New LCE sequence number. |
LegalCaseID |
IN | NUMBER | — | Legal case sequence number. |
IsExcused |
IN | VARCHAR2 | — | Excused flag. |
dueDate |
IN | DATE | — | Evaluation due date. |
filedDate |
IN | DATE | — | Evaluation filed date. |
AdjusterEmployeeID |
IN | VARCHAR2 | — | Adjuster's employee ID. |
casetransferDate |
IN | DATE | — | Case transfer date. |
createDate |
IN | DATE | — | Audit creation timestamp. |
createUser |
IN | VARCHAR2 | — | Audit creation user. |
AsgnAttyEmplid |
IN | VARCHAR2 | — | Assigned attorney employee ID. |
getSchedule¶
| Field | Value |
|---|---|
| Returns | recordset (REF CURSOR) |
| Called by | clsLegalSchedule |
Description: Returns all hearing schedule rows for a legal case.
Parameters¶
| Parameter | Direction | Type | Default | Description |
|---|---|---|---|---|
LegalCaseSeqNum |
IN | NUMBER | — | Legal case sequence number. |
recordset |
OUT | REF CURSOR | — | Schedule row(s). |
updateSchedule¶
| Field | Value |
|---|---|
| Returns | NUMBER (status indicator) |
| Called by | clsLegalSchedule |
Description: Updates an existing SCHEDULE row (date/time, ALJ, hearing location, assigned attorney, duration, type/status codes, reminder date, assigned other-firm/person) and triggers recalculation of the case's hearing sequence number.*
Parameters¶
| Parameter | Direction | Type | Default | Description |
|---|---|---|---|---|
ScheduleSeqNum |
IN | NUMBER | — | Schedule row to update. |
ScheduleDate |
IN | DATE | — | Hearing date. |
ScheduleTime |
IN | VARCHAR2 | — | Hearing time. |
AljPersonSeqNum |
IN | NUMBER | — | Assigned ALJ person sequence number. |
HearingLocationSeqNum |
IN | NUMBER | — | Hearing location sequence number. |
AsgnAttorneyEmplid |
IN | VARCHAR2 | — | Assigned attorney employee ID. |
DurationCode |
IN | VARCHAR2 | — | Hearing duration code. |
ScheduleTypeCode |
IN | VARCHAR2 | — | Schedule type code (e.g. HEAR/CCALL/INCON/MED). |
ScheduleStatusCode |
IN | VARCHAR2 | — | Schedule status code. |
KeepAttorneyFlag |
IN | VARCHAR2 | — | Flag to retain attorney assignment. |
AssignedDate |
IN | DATE | — | Assignment date. |
ReminderDate |
IN | DATE | — | Reminder date. |
ScheduleText |
IN | VARCHAR2 | — | Free-text schedule notes. |
UpdateDate |
IN | DATE | — | Audit update timestamp. |
UpdateUser |
IN | VARCHAR2 | — | Audit update user. |
AsgnOtherFirmSeqNum |
IN | NUMBER | — | Assigned other-firm sequence number. |
AsgnPersonSeqNum |
IN | NUMBER | — | Assigned person sequence number. |
insertSchedule¶
| Field | Value |
|---|---|
| Returns | NUMBER (status indicator) |
| Called by | clsLegalSchedule |
Description: Inserts a new SCHEDULE row for a legal case with the same attribute set as updateSchedule, and triggers recalculation of the case's hearing sequence number.*
Parameters¶
| Parameter | Direction | Type | Default | Description |
|---|---|---|---|---|
ScheduleSeqNum |
IN | NUMBER | — | New schedule sequence number. |
LegalCaseSeqNum |
IN | NUMBER | — | Legal case sequence number. |
ScheduleDate through asgnPersonSeqNum |
IN | (see updateSchedule) |
— | Same attribute set as updateSchedule, with createDate/createUser replacing UpdateDate/UpdateUser. |
deleteSchedule¶
| Field | Value |
|---|---|
| Returns | NUMBER (status indicator) |
| Called by | clsLegalSchedule |
Description: Deletes a SCHEDULE row and triggers recalculation of the owning case's hearing sequence number.*
Parameters¶
| Parameter | Direction | Type | Default | Description |
|---|---|---|---|---|
ScheduleSeqNum |
IN | NUMBER | — | Schedule row to delete. |
getLegalCase¶
| Field | Value |
|---|---|
| Returns | recordset (IN OUT REF CURSOR) |
| Called by | clsLegalCase |
Description: Returns the LEGAL_CASE row for a given legal case sequence number and/or claim ID.
Parameters¶
| Parameter | Direction | Type | Default | Description |
|---|---|---|---|---|
LegalCaseSeqNum |
IN | NUMBER | — | Legal case sequence number. |
ClaimId |
IN | NUMBER | — | Associated claim ID. |
recordset |
IN OUT | REF CURSOR | — | Legal case row. |
getClaimImageAlertsUpdateDate¶
| Field | Value |
|---|---|
| Returns | DATE |
| Called by | No confirmed .NET call site* |
Description: Returns the last-updated date associated with the claim's image-alert flag for the given legal case.*
Parameters¶
| Parameter | Direction | Type | Default | Description |
|---|---|---|---|---|
aLegalCaseNum |
IN | NUMBER | — | Legal case sequence number. |
UPDATE_LEGALCASE_REQUEST¶
| Field | Value |
|---|---|
| Returns | none (procedure) |
| Called by | No confirmed .NET call site* |
Description: Updates the request-related fields of a legal case (issue type, WCB-requested flag, stress flag, requested-by, request/received/postmark dates, attorney firm/provider IDs, reconsideration letter flag, LCE-excused flag, OWCP flag). Calculates OAR_DUE_DATE as the postmark date plus 10 days, but only when the case has no existing reconsideration-flagged request issue (v_recon_cnt = 0); sets CASE_WEIGHT_VALUE to 3 when the stress-claim flag is 'Y', otherwise 1 (BR-PKG1-007).
Parameters¶
| Parameter | Direction | Type | Default | Description |
|---|---|---|---|---|
aLegalCaseSeq |
IN | NUMBER | — | Legal case sequence number. |
aIssueType |
IN | LEGAL_CASE.REQUEST_TYPE_CODE%TYPE |
— | Issue/request type code. |
aWCBRequested |
IN | LEGAL_CASE.request_new_wcb_num_flag%TYPE |
— | Flag requesting a new WCB number. |
aStress |
IN | LEGAL_CASE.stress_claim_flag%TYPE |
— | Stress-claim flag (BR-PKG1-007). |
aRequestedBy |
IN | LEGAL_CASE.REQUESTED_BY_CODE%TYPE |
— | Requested-by code. |
aRequestDate |
IN | VARCHAR2 | — | Request date (string). |
aReceivedDate |
IN | VARCHAR2 | — | Received date (string). |
aPostmarkDate |
IN | VARCHAR2 | — | Postmark date (string), basis of OAR due date (BR-PKG1-007). |
aAttyFirmProvID |
IN | NUMBER | — | Attorney firm provider location ID. |
aReconLetter |
IN | VARCHAR2 | — | Reconsideration letter flag. |
aAttyProvID |
IN | NUMBER | — | Attorney provider location ID. |
aLCEExcused |
IN | VARCHAR2 | — | LCE excused flag (BR-PKG1-008). |
aOWCP |
IN | VARCHAR2 | — | OWCP flag. |
aUserID |
IN | VARCHAR2 | — | Audit user. |
update_lce_Excused¶
| Field | Value |
|---|---|
| Returns | none (procedure) |
| Called by | No confirmed .NET call site* |
Description: Synchronizes the LCE excused flag for a case: if an LCE row already exists and its excused flag differs from the new value, updates it; if no LCE row exists and the new value is 'Y', inserts a new LCE row (BR-PKG1-008).
Parameters¶
| Parameter | Direction | Type | Default | Description |
|---|---|---|---|---|
aLegalCaseSeq |
IN | NUMBER | — | Legal case sequence number. |
aLCEExcused |
IN | VARCHAR2 | — | New excused flag value. |
aUserID |
IN | VARCHAR2 | — | Audit user. |
setFileCreateDate¶
| Field | Value |
|---|---|
| Returns | none (procedure) |
| Called by | clsCreateFile |
Description: Sets LEGAL_FILE_CREATE_DATE on one or more legal cases identified by a delimited list of sequence numbers.
Parameters¶
| Parameter | Direction | Type | Default | Description |
|---|---|---|---|---|
seqNums |
IN | VARCHAR2 | — | Delimited list of legal case sequence numbers. |
inDate |
IN | DATE | — | File-create date to set. |
userid |
IN | VARCHAR2 | — | Audit user. |
mailDateList¶
| Field | Value |
|---|---|
| Returns | recordset (REF CURSOR) |
| Called by | clsMailDate |
Description: Returns the list of legal cases eligible for mailing based on inType (OAR or reconsideration). A case is eligible for OAR mailing when its mail_oar_flag = 'Y', it is not closed, OAR_DUE_DATE IS NOT NULL, and OAR_MAILED_DATE IS NULL; a case is eligible for reconsideration-packet follow-up when RECON_LETTER_MAILED_DATE IS NOT NULL and RECON_PACKET_RECEIVED_DATE IS NULL (BR-PKG1-009).
Parameters¶
| Parameter | Direction | Type | Default | Description |
|---|---|---|---|---|
recordset |
OUT | REF CURSOR | — | Eligible case rows. |
inType |
IN | VARCHAR2 | — | Mail list type (OAR or reconsideration). |
setMailDate¶
| Field | Value |
|---|---|
| Returns | none (procedure) |
| Called by | clsMailDate |
Description: Sets the mail date (OAR mailed date or reconsideration letter mailed date, per inType) for one or more legal cases identified by a delimited list of sequence numbers.
Parameters¶
| Parameter | Direction | Type | Default | Description |
|---|---|---|---|---|
seqNums |
IN | VARCHAR2 | — | Delimited list of legal case sequence numbers. |
inDate |
IN | DATE | — | Mail date to set. |
inType |
IN | VARCHAR2 | — | Mail type (OAR or reconsideration). |
userid |
IN | VARCHAR2 | — | Audit user. |
setNoMailDate¶
| Field | Value |
|---|---|
| Returns | NUMBER (status indicator) |
| Called by | No confirmed .NET call site* |
Description: Marks a case as not requiring a mail date. For a consolidated secondary case, the mail date (OAR mailed date or recon packet received date, per inType) is inherited from the case's consolidation primary rather than being set independently (BR-PKG1-010).
Parameters¶
| Parameter | Direction | Type | Default | Description |
|---|---|---|---|---|
InseqNum |
IN | NUMBER | — | Legal case sequence number. |
inDate |
IN | DATE | — | Date to record. |
inType |
IN | VARCHAR2 | — | Mail type (OAR or reconsideration). |
userid |
IN | VARCHAR2 | — | Audit user. |
setMailOARFlag¶
| Field | Value |
|---|---|
| Returns | NUMBER (status indicator) |
| Called by | clsMailDate |
Description: Sets LEGAL_CASE.MAIL_OAR_FLAG = 'Y' for a legal case, marking it eligible for OAR mail-date processing by mailDateList (BR-PKG1-009).
Parameters¶
| Parameter | Direction | Type | Default | Description |
|---|---|---|---|---|
InseqNum |
IN | NUMBER | — | Legal case sequence number. |
userid |
IN | VARCHAR2 | — | Audit user. |
insertAppeal¶
| Field | Value |
|---|---|
| Returns | NUMBER (new appeal_seq_num / status indicator) |
| Called by | clsAppeal |
Description: Inserts a new APPEAL row (review level, due/filed dates, petitioner/respondent code, approved flag, attorney, brief 1/2/3 due/filed dates, appeal number, linked schedule). Wraps the insert in a WHEN OTHERS handler that re-raises via RAISE_APPLICATION_ERROR(-20004, <message>) on failure.
Parameters¶
| Parameter | Direction | Type | Default | Description |
|---|---|---|---|---|
AppealID |
IN | NUMBER | — | New appeal sequence number. |
LegalCaseID |
IN | NUMBER | — | Legal case sequence number. |
reviewLevel |
IN | VARCHAR2 | — | Appeal review level code. |
dueDate |
IN | DATE | — | Appeal due date. |
filedDate |
IN | DATE | — | Appeal filed date. |
PetitionerRespondentCode |
IN | VARCHAR2 | — | Petitioner/respondent code. |
approvedFlag |
IN | VARCHAR2 | — | Approved flag. |
attyEmplid |
IN | VARCHAR2 | — | Assigned attorney employee ID. |
brief1DueDate |
IN | DATE | — | Brief 1 due date. |
brief1FiledDate |
IN | DATE | — | Brief 1 filed date. |
brief2DueDate |
IN | DATE | — | Brief 2 due date. |
brief2FiledDate |
IN | DATE | — | Brief 2 filed date. |
brief3DueDate |
IN | DATE | — | Brief 3 due date. |
brief3FiledDate |
IN | DATE | — | Brief 3 filed date. |
appealNum |
IN | VARCHAR2 | — | External appeal number. |
ScheduleID |
IN | NUMBER | — | Linked schedule sequence number. |
createDate |
IN | DATE | — | Audit creation timestamp. |
createUser |
IN | VARCHAR2 | — | Audit creation user. |
updateAppeal¶
| Field | Value |
|---|---|
| Returns | NUMBER (status indicator) |
| Called by | clsAppeal |
Description: Updates an existing APPEAL row with the same attribute set as insertAppeal, replacing createDate/createUser with updateDate/updateUser.
Parameters¶
| Parameter | Direction | Type | Default | Description |
|---|---|---|---|---|
AppealID |
IN | NUMBER | — | Appeal row to update. |
LegalCaseID through ScheduleID |
IN | (see insertAppeal) |
— | Same attribute set as insertAppeal. |
updateDate |
IN | DATE | — | Audit update timestamp. |
updateUser |
IN | VARCHAR2 | — | Audit update user. |
getAppeal¶
| Field | Value |
|---|---|
| Returns | Recordset (REF CURSOR) |
| Called by | clsAppeal, clsAppealExtension |
Description: Returns all APPEAL rows for a legal case.
Parameters¶
| Parameter | Direction | Type | Default | Description |
|---|---|---|---|---|
LegalCaseID |
IN | NUMBER | — | Legal case sequence number. |
Recordset |
OUT | REF CURSOR | — | Appeal row(s). |
getAppealExtension¶
| Field | Value |
|---|---|
| Returns | Recordset (REF CURSOR) |
| Called by | No confirmed .NET call site* |
Description: Returns all APPEAL_EXTENSION rows for a given appeal.*
Parameters¶
| Parameter | Direction | Type | Default | Description |
|---|---|---|---|---|
appealSeqNum |
IN | NUMBER | — | Appeal sequence number. |
Recordset |
OUT | REF CURSOR | — | Appeal extension row(s). |
updateAppealExtension¶
| Field | Value |
|---|---|
| Returns | NUMBER (status indicator) |
| Called by | clsAppealExtension |
Description: Updates an existing APPEAL_EXTENSION row's request date and days requested.
Parameters¶
| Parameter | Direction | Type | Default | Description |
|---|---|---|---|---|
appealExtSeqNum |
IN | NUMBER | — | Appeal extension row to update. |
appealSeqNum |
IN | NUMBER | — | Owning appeal sequence number. |
requestDate |
IN | DATE | — | Extension request date. |
daysRequested |
IN | NUMBER | — | Number of days requested. |
insertAppealExtension¶
| Field | Value |
|---|---|
| Returns | NUMBER (status indicator) |
| Called by | clsAppealExtension |
Description: Inserts a new APPEAL_EXTENSION row for an appeal.
Parameters¶
| Parameter | Direction | Type | Default | Description |
|---|---|---|---|---|
appealExtSeqNum |
IN | NUMBER | — | New appeal extension sequence number. |
appealSeqNum |
IN | NUMBER | — | Owning appeal sequence number. |
requestDate |
IN | DATE | — | Extension request date. |
daysRequested |
IN | NUMBER | — | Number of days requested. |
deleteappeal¶
| Field | Value |
|---|---|
| Returns | NUMBER (status indicator) |
| Called by | clsAppeal |
Description: Deletes an APPEAL row and cascades cleanup: deletes the appeal's linked schedule (if any) and recalculates the case's hearing sequence number; conditionally calls popcasestatus to revert the case status when the deleted appeal's review level changed the case's status history, and/or popfilelocation to revert the file location when the assigned attorney/location code on the deleted appeal matches the current file location (including the special-case APEAL location code) (BR-PKG1-004).
Parameters¶
| Parameter | Direction | Type | Default | Description |
|---|---|---|---|---|
inlegalcaseseqnum |
IN | NUMBER | — | Legal case sequence number. |
inappealseqnum |
IN | NUMBER | — | Appeal sequence number to delete. |
popcasestatus¶
| Field | Value |
|---|---|
| Returns | none (procedure) |
| Called by | No confirmed .NET call site* |
Description: Reverts a legal case's status to its prior value from case-status history, invoked by deleteappeal when deleting an appeal changes the case's status lineage (BR-PKG1-004).
Parameters¶
| Parameter | Direction | Type | Default | Description |
|---|---|---|---|---|
inlegalcaseseqnum |
IN | LEGAL_CASE.legal_case_seq_num%TYPE |
— | Legal case sequence number. |
popfilelocation¶
| Field | Value |
|---|---|
| Returns | none (procedure) |
| Called by | No confirmed .NET call site* |
Description: Reverts a legal case's file location by deleting the most recent LEGAL_FILE_LOCATION row (file location is versioned, ordered by move_date descending, with the most recent row authoritative), invoked by deleteappeal (BR-PKG1-004, BR-PKG1-011).
Parameters¶
| Parameter | Direction | Type | Default | Description |
|---|---|---|---|---|
inlegalcaseseqnum |
IN | LEGAL_CASE.legal_case_seq_num%TYPE |
— | Legal case sequence number. |
getBoardLog¶
| Field | Value |
|---|---|
| Returns | Recordset (REF CURSOR) |
| Called by | clsBoardLog |
Description: Returns board-log reference data (e.g. review-level/appeal board lookup rows) used to populate the LegalNet appeal UI.*
Parameters¶
| Parameter | Direction | Type | Default | Description |
|---|---|---|---|---|
Recordset |
OUT | REF CURSOR | — | Board log rows. |
updateAppealAtty¶
| Field | Value |
|---|---|
| Returns | none (procedure) |
| Called by | No confirmed .NET call site* |
Description: Updates the attorney assigned to a specific appeal.*
Parameters¶
| Parameter | Direction | Type | Default | Description |
|---|---|---|---|---|
appealSeqNum |
IN | NUMBER | — | Appeal sequence number. |
attyEmplid |
IN | VARCHAR2 | — | Attorney employee ID to assign. |
getAcknowledgeList¶
| Field | Value |
|---|---|
| Returns | recordset (REF CURSOR) |
| Called by | clsAcknowledgeList |
Description: Returns the list of legal cases pending acknowledgement-letter processing for a given type.*
Parameters¶
| Parameter | Direction | Type | Default | Description |
|---|---|---|---|---|
recordset |
OUT | REF CURSOR | — | Pending acknowledgement rows. |
inType |
IN | VARCHAR2 | — | Acknowledgement list type. |
updateAcknowledged¶
| Field | Value |
|---|---|
| Returns | NUMBER (status indicator) |
| Called by | clsAcknowledgeList |
Description: Records that a legal case's acknowledgement letter of the given type was sent on the given date.*
Parameters¶
| Parameter | Direction | Type | Default | Description |
|---|---|---|---|---|
inType |
IN | VARCHAR2 | — | Acknowledgement type. |
inNum |
IN | VARCHAR2 | — | Case identifier. |
inDate |
IN | DATE | — | Date acknowledged. |
CaseId |
IN | NUMBER | — | Legal case sequence number. |
updateDEFfields¶
| Field | Value |
|---|---|
| Returns | none (procedure) |
| Called by | No confirmed .NET call site* |
Description: Updates a legal case's "Denial/Extension/Filing" (DEF) tracking fields — a case identifier, a date, and a flag.*
Parameters¶
| Parameter | Direction | Type | Default | Description |
|---|---|---|---|---|
aLegalCaseNum |
IN | NUMBER | — | Legal case sequence number. |
inNum |
IN | VARCHAR2 | — | DEF-related case identifier. |
inDate |
IN | DATE | — | DEF-related date. |
inFlag |
IN | VARCHAR2 | — | DEF-related flag. |
inUser |
IN | VARCHAR2 | — | Audit user. |
getFileLocation¶
| Field | Value |
|---|---|
| Returns | Recordset (REF CURSOR) |
| Called by | clsLegalFileLocation |
Description: Returns the LEGAL_FILE_LOCATION history for a legal case, most recent first (BR-PKG1-011).
Parameters¶
| Parameter | Direction | Type | Default | Description |
|---|---|---|---|---|
LegalCaseID |
IN | NUMBER | — | Legal case sequence number. |
Recordset |
OUT | REF CURSOR | — | File location row(s). |
updateFileLocation¶
| Field | Value |
|---|---|
| Returns | NUMBER (status indicator) |
| Called by | clsLegalFileLocation |
Description: Updates an existing LEGAL_FILE_LOCATION row's location person, location code, and move date.
Parameters¶
| Parameter | Direction | Type | Default | Description |
|---|---|---|---|---|
LegalFileLocationID |
IN | NUMBER | — | File location row to update. |
LegalCaseID |
IN | NUMBER | — | Legal case sequence number. |
LocationPersonEmplid |
IN | VARCHAR2 | — | Employee holding the file. |
LegalFileLocationCode |
IN | VARCHAR2 | — | Location code. |
moveDate |
IN | DATE | — | Date of the move. |
insertFileLocation¶
| Field | Value |
|---|---|
| Returns | NUMBER (status indicator) |
| Called by | clsLegalFileLocation |
Description: Inserts a new LEGAL_FILE_LOCATION row, versioning the file's location history for the case (BR-PKG1-011).
Parameters¶
| Parameter | Direction | Type | Default | Description |
|---|---|---|---|---|
LegalFileLocationID |
IN | NUMBER | — | New file location sequence number. |
LegalCaseID |
IN | NUMBER | — | Legal case sequence number. |
LocationPersonEmplid |
IN | VARCHAR2 | — | Employee holding the file. |
LegalFileLocationCode |
IN | VARCHAR2 | — | Location code. |
moveDate |
IN | DATE | — | Date of the move. |
createDate |
IN | DATE | — | Audit creation timestamp. |
createUser |
IN | VARCHAR2 | — | Audit creation user. |
getAttyProfile¶
| Field | Value |
|---|---|
| Returns | Recordset (REF CURSOR) |
| Called by | clsAttorneyProfile |
Description: Returns all ATTORNEY_PROFILE rows (claim-type flags, load percent, hearing location assignments, claim team, attorney type, secretary/manager, OSB number).
Parameters¶
| Parameter | Direction | Type | Default | Description |
|---|---|---|---|---|
Recordset |
OUT | REF CURSOR | — | Attorney profile row(s). |
updateAttyProfile¶
| Field | Value |
|---|---|
| Returns | NUMBER (status indicator) |
| Called by | clsAttorneyProfile |
Description: Updates an existing ATTORNEY_PROFILE row's effective/expiration dates, claim-type eligibility flags, load percent, hearing location assignments, claim team, attorney type, secretary/manager, and OSB number.
Parameters¶
| Parameter | Direction | Type | Default | Description |
|---|---|---|---|---|
profileEmplid |
IN | VARCHAR2 | — | Attorney employee ID. |
EffDate |
IN | DATE | — | Profile effective date. |
ExpDate |
IN | DATE | — | Profile expiration date. |
CcuClaimsFlag |
IN | VARCHAR2 | — | Eligible for CCU claims flag. |
PtdClaimsFlag |
IN | VARCHAR2 | — | Eligible for PTD claims flag. |
PpdClaimsFlag |
IN | VARCHAR2 | — | Eligible for PPD claims flag. |
ConfidentialClaimsFlag |
IN | VARCHAR2 | — | Eligible for confidential claims flag. |
HealthIssueClaimsFlag |
IN | VARCHAR2 | — | Eligible for health-issue claims flag. |
DcbsClaimsFlag |
IN | VARCHAR2 | — | Eligible for DCBS claims flag. |
FederalClaimsFlag |
IN | VARCHAR2 | — | Eligible for federal claims flag. |
LoadPercent |
IN | NUMBER | — | Caseload percentage. |
PrimaryHearLocCode |
IN | VARCHAR2 | — | Primary hearing location code. |
SecondaryHearLocCode |
IN | VARCHAR2 | — | Secondary hearing location code. |
ClaimTeamCode |
IN | VARCHAR2 | — | Claim team code. |
AttorneyTypeCode |
IN | VARCHAR2 | — | Attorney type code. |
SecretaryEmplid |
IN | VARCHAR2 | — | Secretary's employee ID. |
ManagerEmplid |
IN | VARCHAR2 | — | Manager's employee ID. |
TertiaryHearLocCode |
IN | VARCHAR2 | — | Tertiary hearing location code. |
osbNumber |
IN | VARCHAR2 | — | Oregon State Bar number. |
insertAttyProfile¶
| Field | Value |
|---|---|
| Returns | NUMBER (status indicator) |
| Called by | clsAttorneyProfile |
Description: Inserts a new ATTORNEY_PROFILE row with the same attribute set as updateAttyProfile.
Parameters¶
| Parameter | Direction | Type | Default | Description |
|---|---|---|---|---|
profileEmplid through osbNumber |
IN | (see updateAttyProfile) |
— | Same attribute set as updateAttyProfile. |
getAttySchedule¶
| Field | Value |
|---|---|
| Returns | Recordset (attySched_cursor REF CURSOR: schedule seq num, emplid, eff/exp date, type code, duration code) |
| Called by | No confirmed .NET call site* |
Description: Returns all attorney out-of-office/schedule-block rows (ATTORNEY_SCHEDULE).*
Parameters¶
| Parameter | Direction | Type | Default | Description |
|---|---|---|---|---|
Recordset |
OUT | attySched_cursor |
— | Attorney schedule row(s). |
updateAttySchedule¶
| Field | Value |
|---|---|
| Returns | none (procedure) |
| Called by | No confirmed .NET call site* |
Description: Updates an existing ATTORNEY_SCHEDULE row's effective/expiration dates, type code, and duration code.*
Parameters¶
| Parameter | Direction | Type | Default | Description |
|---|---|---|---|---|
attySchedSeqNum |
IN | NUMBER | — | Attorney schedule row to update. |
scheduleEmplid |
IN | VARCHAR2 | — | Attorney employee ID. |
effDate |
IN | DATE | — | Effective date. |
expDate |
IN | DATE | — | Expiration date. |
typeCode |
IN | VARCHAR2 | — | Attorney schedule type code. |
durationCode |
IN | VARCHAR2 | — | Duration code. |
insertAttySchedule¶
| Field | Value |
|---|---|
| Returns | none (procedure) |
| Called by | No confirmed .NET call site* |
Description: Inserts a new ATTORNEY_SCHEDULE row with the same attribute set as updateAttySchedule.*
Parameters¶
| Parameter | Direction | Type | Default | Description |
|---|---|---|---|---|
attySchedSeqNum |
IN | NUMBER | — | New attorney schedule sequence number. |
scheduleEmplid through durationCode |
IN | (see updateAttySchedule) |
— | Same attribute set as updateAttySchedule. |
deleteAttySchedule¶
| Field | Value |
|---|---|
| Returns | none (procedure) |
| Called by | No confirmed .NET call site* |
Description: Deletes an ATTORNEY_SCHEDULE row.*
Parameters¶
| Parameter | Direction | Type | Default | Description |
|---|---|---|---|---|
attySchedSeqNum |
IN | NUMBER | — | Attorney schedule row to delete. |
getConsolidatedCases¶
| Field | Value |
|---|---|
| Returns | recordset (REF CURSOR) |
| Called by | clsConsolidations |
Description: Returns the set of consolidated cases for a comma-delimited list of claim IDs. A case is displayed if it is not closed and is not itself a consolidated secondary, OR if it is a consolidated secondary regardless of closed status — so secondary/consolidated cases remain visible even after closure (BR-PKG1-012).
Parameters¶
| Parameter | Direction | Type | Default | Description |
|---|---|---|---|---|
recordset |
OUT | REF CURSOR | — | Consolidated case rows. |
claimIdsCommaDelimited |
IN | VARCHAR2 | — | Comma-delimited list of claim IDs. |
UpdateConsolidatedCase¶
| Field | Value |
|---|---|
| Returns | none (procedure) |
| Called by | clsConsolidations |
Description: Updates a CONSOLIDATED_CASE link between a primary and secondary case. Reassigning a secondary to a new primary migrates the most recent hearing schedule to the new primary; deleting the link (aConsolFlag = 'N') recalculates and resets MOST_RECENT_HEARING_SEQ_NUM on the now-independent secondary case based on its own most recent HEAR schedule (BR-PKG1-013).
Parameters¶
| Parameter | Direction | Type | Default | Description |
|---|---|---|---|---|
aConsolidatedSeq |
IN | CONSOLIDATED_CASE.consolidated_case_seq_num%TYPE |
— | Consolidation link sequence number. |
aPrimarySeq |
IN | CONSOLIDATED_CASE.primary_case_seq_num%TYPE |
— | Primary case sequence number. |
aSecondarySeq |
IN | CONSOLIDATED_CASE.secondary_case_seq_num%TYPE |
— | Secondary case sequence number. |
aConsolFlag |
IN | VARCHAR2 | — | 'Y' to establish/reassign the link, 'N' to remove it (BR-PKG1-013). |
UpdateDate |
IN | DATE | — | Audit update timestamp. |
UpdateUser |
IN | VARCHAR2 | — | Audit update user. |
getAttorneyNames¶
| Field | Value |
|---|---|
| Returns | recordset (attorney_cursor REF CURSOR: attorney name, legal person seq num) |
| Called by | No confirmed .NET call site* |
Description: Returns the list of attorneys (legal persons) for populating attorney-selection lookups.*
Parameters¶
| Parameter | Direction | Type | Default | Description |
|---|---|---|---|---|
recordset |
OUT | attorney_cursor |
— | Attorney name/ID rows. |
insertLetterRequest¶
| Field | Value |
|---|---|
| Returns | requestNum (IN OUT NUMBER) |
| Called by | No confirmed .NET call site* |
Description: Records a request for a legal letter (e.g. acknowledgement or DEF letter) to be generated for a case, returning/assigning the request number.*
Parameters¶
| Parameter | Direction | Type | Default | Description |
|---|---|---|---|---|
letterTypeCode |
IN | VARCHAR2 | — | Letter type code. |
aLegalCaseNum |
IN | NUMBER | — | Legal case sequence number. |
holdDate |
IN | DATE | — | Hold/scheduled date for the letter. |
aClaimId |
IN | NUMBER | — | Associated claim ID. |
createUser |
IN | VARCHAR2 | — | Audit creation user. |
requestNum |
IN OUT | NUMBER | — | Letter request number (assigned if not supplied). |
getHearingInfo¶
| Field | Value |
|---|---|
| Returns | recordset (HearingCursor REF CURSOR: schedule date/time, duration, keep-attorney flag, assigned/reminder date, schedule text, attorney/secretary mail IDs and names, ALJ name, hearing location detail, hearing status, all-day flag) |
| Called by | clsHearingLocationInfo |
Description: Returns full hearing detail for a specific schedule row, joining attorney, secretary, ALJ, and hearing-location reference data.
Parameters¶
| Parameter | Direction | Type | Default | Description |
|---|---|---|---|---|
in_HearingSeq |
IN | SCHEDULE.schedule_seq_num%TYPE |
— | Schedule sequence number. |
recordset |
OUT | HearingCursor |
— | Hearing detail row. |
getEmployerAddr¶
| Field | Value |
|---|---|
| Returns | recordset (EmployerCursor REF CURSOR: policy name, address lines, city/state/zip, mail-address flag, phone, location seq num) |
| Called by | No confirmed .NET call site* |
Description: Returns the employer's mailing address for a policy number.*
Parameters¶
| Parameter | Direction | Type | Default | Description |
|---|---|---|---|---|
in_Policy |
IN | POLICY.policy_num%TYPE |
— | Policy number. |
recordset |
OUT | EmployerCursor |
— | Employer address row(s). |
getOtherFirmList¶
| Field | Value |
|---|---|
| Returns | recordset (OtherFirmListCursor REF CURSOR: type code, legal case employer seq num, other firm seq num, discovery flags, firm name/type, address, phone/fax) |
| Called by | No confirmed .NET call site* |
Description: Returns the list of other-firm (employer/attorney) associations recorded for a legal case.*
Parameters¶
| Parameter | Direction | Type | Default | Description |
|---|---|---|---|---|
aLegalCaseNum |
IN | NUMBER | — | Legal case sequence number. |
recordset |
OUT | OtherFirmListCursor |
— | Other-firm association row(s). |
GetEmployeebyMailid¶
| Field | Value |
|---|---|
| Returns | recordset (EmployeeCursor REF CURSOR: emplid, name fields, email, status, phone, location, dept, reports-to, user ID) |
| Called by | No confirmed .NET call site* |
Description: Looks up ADP employee detail by mail/user ID.*
Parameters¶
| Parameter | Direction | Type | Default | Description |
|---|---|---|---|---|
in_MailId |
IN | VARCHAR | — | Mail/user ID to look up. |
recordset |
OUT | EmployeeCursor |
— | Employee detail row. |
GetEmployeeName¶
| Field | Value |
|---|---|
| Returns | VARCHAR2 |
| Called by | No confirmed .NET call site* |
Description: Returns the display name of an ADP employee for a given mail/user ID.*
Parameters¶
| Parameter | Direction | Type | Default | Description |
|---|---|---|---|---|
in_mailid |
IN | VARCHAR | — | Mail/user ID. |
IsLetterRequested¶
| Field | Value |
|---|---|
| Returns | out_requested (OUT VARCHAR2) |
| Called by | No confirmed .NET call site* |
Description: Indicates whether a letter of the given type has already been requested for a legal case, to prevent duplicate letter requests.*
Parameters¶
| Parameter | Direction | Type | Default | Description |
|---|---|---|---|---|
aLegalCaseNum |
IN | NUMBER | — | Legal case sequence number. |
aLetterType |
IN | VARCHAR2 | — | Letter type code. |
out_requested |
OUT | VARCHAR2 | — | 'Y'/'N' indicating whether already requested. |
GetCaseCost¶
| Field | Value |
|---|---|
| Returns | recordset (CaseCostCursor REF CURSOR) |
| Called by | No confirmed .NET call site* |
Description: Returns all CASE_COST rows (service dates, service code, amount paid/billed, hourly rate, hours billed, prepayment flag, authorized date, payee firm/person provider location, authorizer, cancelled-by code) for a legal case.*
Parameters¶
| Parameter | Direction | Type | Default | Description |
|---|---|---|---|---|
aLegalCaseNum |
IN | NUMBER | — | Legal case sequence number. |
recordset |
OUT | CaseCostCursor |
— | Case cost row(s). |
case_cost_update¶
| Field | Value |
|---|---|
| Returns | none (procedure) |
| Called by | No confirmed .NET call site* |
Description: Updates an existing CASE_COST row's service dates, service code, amounts, prepayment/authorization info, and payee/authorizer identifiers.*
Parameters¶
| Parameter | Direction | Type | Default | Description |
|---|---|---|---|---|
case_cost_seq_num_in |
IN | NUMBER | — | Case cost row to update. |
legal_case_seq_num_in |
IN | NUMBER | — | Legal case sequence number. |
service_from_date_in |
IN | DATE | — | Service period start date. |
service_to_date_in |
IN | DATE | — | Service period end date. |
service_code_in |
IN | VARCHAR2 | — | Service code. |
amount_paid_in |
IN | NUMBER | — | Amount paid. |
amount_billed_in |
IN | NUMBER | — | Amount billed. |
amount_per_hour_in |
IN | NUMBER | — | Hourly rate. |
hours_billed_in |
IN | NUMBER | — | Hours billed. |
prepayment_flag_in |
IN | VARCHAR2 | — | Prepayment flag. |
authorized_date_in |
IN | DATE | — | Authorization date. |
payee_firm_prov_loc_id_in |
IN | NUMBER | — | Payee firm provider location ID. |
payee_person_prov_loc_id_in |
IN | NUMBER | — | Payee person provider location ID. |
authorizer_emplid_in |
IN | VARCHAR2 | — | Authorizer employee ID. |
cancelled_by_code_in |
IN | VARCHAR2 | — | Cancelled-by code. |
update_date_in |
IN | DATE | — | Audit update timestamp. |
update_user_in |
IN | VARCHAR2 | — | Audit update user. |
case_cost_insert¶
| Field | Value |
|---|---|
| Returns | none (procedure) |
| Called by | No confirmed .NET call site* |
Description: Inserts a new CASE_COST row with the same attribute set as case_cost_update, replacing update_date_in/update_user_in with create_date_in/create_user_in.*
Parameters¶
| Parameter | Direction | Type | Default | Description |
|---|---|---|---|---|
case_cost_seq_num_in through cancelled_by_code_in |
IN | (see case_cost_update) |
— | Same attribute set as case_cost_update. |
create_date_in |
IN | DATE | — | Audit creation timestamp. |
create_user_in |
IN | VARCHAR2 | — | Audit creation user. |
case_cost_delete¶
| Field | Value |
|---|---|
| Returns | none (procedure) |
| Called by | No confirmed .NET call site* |
Description: Deletes a CASE_COST row.*
Parameters¶
| Parameter | Direction | Type | Default | Description |
|---|---|---|---|---|
case_cost_seq_num_in |
IN | NUMBER | — | Case cost row to delete. |
DeleteLegalCase¶
| Field | Value |
|---|---|
| Returns | NUMBER (status indicator) |
| Called by | clsLegalCase |
Description: Deletes a LEGAL_CASE row and its sequence number.
Parameters¶
| Parameter | Direction | Type | Default | Description |
|---|---|---|---|---|
LegalCaseSeqNum |
IN | LEGAL_CASE.legal_case_Seq_num%TYPE |
— | Legal case sequence number to delete. |
GetCaseNote¶
| Field | Value |
|---|---|
| Returns | recordset (REF CURSOR) |
| Called by | clsCaseNote |
Description: Returns all CASE_NOTE rows for a legal case.
Parameters¶
| Parameter | Direction | Type | Default | Description |
|---|---|---|---|---|
CaseId |
IN | NUMBER | — | Legal case sequence number. |
recordset |
OUT | REF CURSOR | — | Case note row(s). |
case_note_insert¶
| Field | Value |
|---|---|
| Returns | NUMBER (status indicator) |
| Called by | clsCaseNote |
Description: Inserts a new CASE_NOTE row (category code and free text) for a legal case.
Parameters¶
| Parameter | Direction | Type | Default | Description |
|---|---|---|---|---|
noteId |
IN | NUMBER | — | New case note sequence number. |
caseId |
IN | NUMBER | — | Legal case sequence number. |
categoryCode |
IN | VARCHAR2 | — | Note category code. |
Notetext |
IN | VARCHAR2 | — | Note free text. |
createDate |
IN | DATE | — | Audit creation timestamp. |
createUser |
IN | VARCHAR2 | — | Audit creation user. |
case_note_update¶
| Field | Value |
|---|---|
| Returns | NUMBER (status indicator) |
| Called by | clsCaseNote |
Description: Updates an existing CASE_NOTE row's category code and free text.
Parameters¶
| Parameter | Direction | Type | Default | Description |
|---|---|---|---|---|
noteId |
IN | NUMBER | — | Case note row to update. |
caseId |
IN | NUMBER | — | Legal case sequence number. |
categoryCode |
IN | VARCHAR2 | — | Note category code. |
NoteText |
IN | VARCHAR2 | — | Note free text. |
updateDate |
IN | DATE | — | Audit update timestamp. |
updateUser |
IN | VARCHAR2 | — | Audit update user. |
case_note_delete¶
| Field | Value |
|---|---|
| Returns | NUMBER (status indicator) |
| Called by | clsCaseNote |
Description: Deletes a CASE_NOTE row.
Parameters¶
| Parameter | Direction | Type | Default | Description |
|---|---|---|---|---|
noteId |
IN | NUMBER | — | Case note row to delete. |
GetSAIFAtty¶
| Field | Value |
|---|---|
| Returns | recordset (REF CURSOR) |
| Called by | attorney lookup (clsLegalCase area) |
Description: Returns the list of SAIF legal-staff attorneys for a legal case, used to populate attorney-assignment dropdowns.
Parameters¶
| Parameter | Direction | Type | Default | Description |
|---|---|---|---|---|
aLegalCaseNum |
IN | NUMBER | — | Legal case sequence number. |
recordset |
OUT | REF CURSOR | — | Attorney row(s). |
GetCaseOutcome¶
| Field | Value |
|---|---|
| Returns | recordset (REF CURSOR) |
| Called by | clsCaseOutcome |
Description: Returns all CASE_OUTCOME rows (order type, signed/filed dates, assigned attorney, appeal link) for a legal case.
Parameters¶
| Parameter | Direction | Type | Default | Description |
|---|---|---|---|---|
LegalCaseID |
IN | NUMBER | — | Legal case sequence number. |
recordset |
OUT | REF CURSOR | — | Case outcome row(s). |
GetOutcomeIssue¶
| Field | Value |
|---|---|
| Returns | recordset (OutcomeIssueCursor REF CURSOR: outcome issue seq num, case outcome seq num, issue code, win/loss flag, fee amount, penalty flag, primary-issue flag, audit fields, summary text, grounds/body-part/nature codes) |
| Called by | No confirmed .NET call site* |
Description: Returns all OUTCOME_ISSUE rows for a legal case's outcome(s).*
Parameters¶
| Parameter | Direction | Type | Default | Description |
|---|---|---|---|---|
aLegalCaseNum |
IN | NUMBER | — | Legal case sequence number. |
recordset |
OUT | OutcomeIssueCursor |
— | Outcome issue row(s). |
getAljList¶
| Field | Value |
|---|---|
| Returns | recordset (ALJListCursor REF CURSOR: legal person seq num, last name, legal person type code, code description, selected flag) |
| Called by | No confirmed .NET call site* |
Description: Returns the list of ALJs (Administrative Law Judges) available for a legal case's outcome, flagging the currently selected one.*
Parameters¶
| Parameter | Direction | Type | Default | Description |
|---|---|---|---|---|
aLegalCaseNum |
IN | NUMBER | — | Legal case sequence number. |
recordset |
OUT | ALJListCursor |
— | ALJ row(s). |
GetOutcomeStaff¶
| Field | Value |
|---|---|
| Returns | recordset (OutcomeStaffCursor REF CURSOR: outcome staff seq num, case outcome seq num, outcome staff person seq num, last name) |
| Called by | No confirmed .NET call site* |
Description: Returns the staff persons associated with a legal case's outcome(s).*
Parameters¶
| Parameter | Direction | Type | Default | Description |
|---|---|---|---|---|
aLegalCaseNum |
IN | NUMBER | — | Legal case sequence number. |
recordset |
OUT | OutcomeStaffCursor |
— | Outcome staff row(s). |
updateCaseOutcome¶
| Field | Value |
|---|---|
| Returns | NUMBER (status indicator) |
| Called by | clsCaseOutcome |
Description: Updates an existing CASE_OUTCOME row's order type, signed/filed dates, assigned attorney, and appeal link. When SetFinalOutcome-eligible order types are recorded, the case outcome becomes the case's final outcome of record (BR-PKG1-014).
Parameters¶
| Parameter | Direction | Type | Default | Description |
|---|---|---|---|---|
CaseOutcomeID |
IN | NUMBER | — | Case outcome row to update. |
LegalCaseID |
IN | NUMBER | — | Legal case sequence number. |
OrderTypeCode |
IN | VARCHAR2 | — | Order type code. |
OrderSignedDate |
IN | DATE | NULL | Order signed date. |
OrderFiledDate |
IN | DATE | NULL | Order filed date. |
UpdateUser |
IN | VARCHAR2 | NULL | Audit update user. |
AsgnAttyEmplid |
IN | VARCHAR2 | NULL | Assigned attorney employee ID. |
AppealId |
IN | NUMBER | NULL | Linked appeal sequence number. |
insertCaseOutcome¶
| Field | Value |
|---|---|
| Returns | NUMBER (status indicator) |
| Called by | clsCaseOutcome |
Description: Inserts a new CASE_OUTCOME row with the same attribute set as updateCaseOutcome.
Parameters¶
| Parameter | Direction | Type | Default | Description |
|---|---|---|---|---|
CaseOutcomeID through AppealId |
IN | (see updateCaseOutcome) |
— | Same attribute set as updateCaseOutcome. |
updateOutcomeIssue¶
| Field | Value |
|---|---|
| Returns | none (procedure) |
| Called by | No confirmed .NET call site* |
Description: Upserts an OUTCOME_ISSUE row: updates the row if outcome_issue_seq_num_in already exists, otherwise inserts a new row (BR-PKG1-015).*
Parameters¶
| Parameter | Direction | Type | Default | Description |
|---|---|---|---|---|
outcome_issue_seq_num_in |
IN | NUMBER | — | Outcome issue sequence number (upsert key). |
case_outcome_seq_num_in |
IN | NUMBER | — | Owning case outcome sequence number. |
outcome_issue_code_in |
IN | VARCHAR2 | — | Outcome issue code. |
win_loss_flag_in |
IN | VARCHAR2 | — | Win/loss flag. |
fee_amount_in |
IN | NUMBER | — | Fee amount. |
penalty_flag_in |
IN | VARCHAR2 | — | Penalty flag. |
primary_issue_flag_in |
IN | VARCHAR2 | — | Primary-issue flag. |
summary_text_in |
IN | VARCHAR2 | — | Summary text. |
outcome_grounds_code_in |
IN | VARCHAR2 | — | Outcome grounds code. |
body_part_code_in |
IN | VARCHAR2 | — | Legal body part code. |
nature_code_in |
IN | VARCHAR2 | — | Nature code. |
userid_in |
IN | VARCHAR2 | — | Audit user. |
updateOutcomeStaff¶
| Field | Value |
|---|---|
| Returns | none (procedure) |
| Called by | No confirmed .NET call site* |
Description: Upserts an OUTCOME_STAFF row: updates the row if outcome_staff_seq_num_in already exists, otherwise inserts a new row (BR-PKG1-015).*
Parameters¶
| Parameter | Direction | Type | Default | Description |
|---|---|---|---|---|
outcome_staff_seq_num_in |
IN | NUMBER | — | Outcome staff sequence number (upsert key). |
case_outcome_seq_num_in |
IN | NUMBER | — | Owning case outcome sequence number. |
staff_person_seq_num_in |
IN | NUMBER | — | Staff legal-person sequence number. |
DeleteCaseOutcome¶
| Field | Value |
|---|---|
| Returns | NUMBER (status indicator) |
| Called by | clsCaseOutcome |
Description: Deletes a CASE_OUTCOME row.
Parameters¶
| Parameter | Direction | Type | Default | Description |
|---|---|---|---|---|
case_outcome_seq_num_in |
IN | NUMBER | — | Case outcome row to delete. |
DeleteOutcomeIssue¶
| Field | Value |
|---|---|
| Returns | none (procedure) |
| Called by | No confirmed .NET call site* |
Description: Deletes an OUTCOME_ISSUE row.*
Parameters¶
| Parameter | Direction | Type | Default | Description |
|---|---|---|---|---|
outcome_issue_seq_num_in |
IN | NUMBER | — | Outcome issue row to delete. |
DeleteOutcomeStaff¶
| Field | Value |
|---|---|
| Returns | none (procedure) |
| Called by | No confirmed .NET call site* |
Description: Deletes an OUTCOME_STAFF row.*
Parameters¶
| Parameter | Direction | Type | Default | Description |
|---|---|---|---|---|
outcome_staff_seq_num_in |
IN | NUMBER | — | Outcome staff row to delete. |
SetFinalOutcome¶
| Field | Value |
|---|---|
| Returns | none (procedure) |
| Called by | No confirmed .NET call site* |
Description: Marks the final outcome of record for a legal case, driving case-closure eligibility (BR-PKG1-014).*
Parameters¶
| Parameter | Direction | Type | Default | Description |
|---|---|---|---|---|
legal_case_seq_num_in |
IN | NUMBER | — | Legal case sequence number. |
GetLegalCaseEmployer¶
| Field | Value |
|---|---|
| Returns | recordset (LegalCaseEmployerCursor REF CURSOR: legal case employer seq num, legal case seq num, employer/attorney other-firm seq nums, attorney legal person seq num, employer/attorney discovery flags) |
| Called by | No confirmed .NET call site* |
Description: Returns the employer and opposing-attorney association row(s) for a legal case, including discovery-request flags.*
Parameters¶
| Parameter | Direction | Type | Default | Description |
|---|---|---|---|---|
aLegalCaseNum |
IN | NUMBER | — | Legal case sequence number. |
recordset |
OUT | LegalCaseEmployerCursor |
— | Legal case employer row(s). |
legal_case_employer_insert¶
| Field | Value |
|---|---|
| Returns | none (procedure) |
| Called by | No confirmed .NET call site* |
Description: Inserts a new LEGAL_CASE_EMPLOYER row associating an employer and/or opposing attorney other-firm with a legal case, including discovery-request flags.*
Parameters¶
| Parameter | Direction | Type | Default | Description |
|---|---|---|---|---|
legal_case_employer_seq_num_in |
IN | NUMBER | — | New legal case employer sequence number. |
legal_case_seq_num_in |
IN | NUMBER | — | Legal case sequence number. |
other_firm_seq_num_in |
IN | NUMBER | — | Employer other-firm sequence number. |
discovery_flag_in |
IN | VARCHAR2 | — | Employer discovery flag. |
attorney_discovery_flag_in |
IN | VARCHAR2 | — | Attorney discovery flag. |
atty_other_firm_seq_num_in |
IN | NUMBER | — | Attorney other-firm sequence number. |
atty_legal_person_seq_num_in |
IN | NUMBER | — | Attorney legal-person sequence number. |
legal_case_employer_update¶
| Field | Value |
|---|---|
| Returns | none (procedure) |
| Called by | No confirmed .NET call site* |
Description: Updates an existing LEGAL_CASE_EMPLOYER row with the same attribute set as legal_case_employer_insert.*
Parameters¶
| Parameter | Direction | Type | Default | Description |
|---|---|---|---|---|
legal_case_employer_seq_num_in through atty_legal_person_seq_num_in |
IN | (see legal_case_employer_insert) |
— | Same attribute set as legal_case_employer_insert. |
GetWorkerAtty¶
| Field | Value |
|---|---|
| Returns | recordset (REF CURSOR) |
| Called by | clsAttorneyWorkerAssignment |
Description: Returns the attorney(s) assigned to a worker for a given firm/attorney location, used for worker-attorney assignment lookups.
Parameters¶
| Parameter | Direction | Type | Default | Description |
|---|---|---|---|---|
recordset |
OUT | REF CURSOR | — | Assigned attorney row(s). |
inFirmLocID |
IN | NUMBER | — | Firm provider location ID. |
inAttyLocID |
IN | NUMBER | — | Attorney provider location ID. |
GetAttyLeaveReport¶
| Field | Value |
|---|---|
| Returns | recordset (AttyLeaveCursor REF CURSOR: schedule emplid, attorney name, vacation days, medical-leave days) |
| Called by | No confirmed .NET call site* |
Description: Returns a leave-usage summary (vacation and medical days) per attorney across a date range, aggregating ATTORNEY_SCHEDULE rows.*
Parameters¶
| Parameter | Direction | Type | Default | Description |
|---|---|---|---|---|
inStartDate |
IN | DATE | — | Report period start date. |
inStopDate |
IN | DATE | — | Report period end date. |
recordset |
OUT | AttyLeaveCursor |
— | Attorney leave summary row(s). |
alertlegalcase¶
| Field | Value |
|---|---|
| Returns | OutAlertFlag (OUT VARCHAR2) |
| Called by | No confirmed .NET call site* |
Description: Indicates whether a claim has an active legal-case alert (e.g. open legal case requiring attention), for surfacing an alert indicator on the claim.*
Parameters¶
| Parameter | Direction | Type | Default | Description |
|---|---|---|---|---|
inClaimId |
IN | NUMBER | — | Claim ID to check. |
OutAlertFlag |
OUT | VARCHAR2 | — | 'Y'/'N' alert indicator. |
SelectImageAlertsHist¶
| Field | Value |
|---|---|
| Returns | recordset (REF CURSOR) |
| Called by | clsImageAlerts |
Description: Returns the image-alert history for a legal case.
Parameters¶
| Parameter | Direction | Type | Default | Description |
|---|---|---|---|---|
inCaseSeqNum |
IN | NUMBER | — | Legal case sequence number. |
recordset |
OUT | REF CURSOR | — | Image alert history row(s). |
SelectLegalEmployees¶
| Field | Value |
|---|---|
| Returns | recordset (REF CURSOR) |
| Called by | mdlCodeTables.clsLegalStaffList |
Description: Returns the list of legal-department employees for staff-selection lookups.
Parameters¶
| Parameter | Direction | Type | Default | Description |
|---|---|---|---|---|
recordset |
OUT | REF CURSOR | — | Legal employee row(s). |
getPolicyAddresses¶
| Field | Value |
|---|---|
| Returns | recordset (REF CURSOR) |
| Called by | No confirmed .NET call site* |
Description: Returns mailing address(es) associated with a policy number.*
Parameters¶
| Parameter | Direction | Type | Default | Description |
|---|---|---|---|---|
recordset |
OUT | REF CURSOR | — | Policy address row(s). |
inPolicyNum |
IN | NUMBER | — | Policy number to look up. |
Business Rules¶
| Rule ID | Rule | Condition | Action |
|---|---|---|---|
| BR-PKG1-001 | Case search excludes closed cases by default | Casesearch called with includeClosed <> 'Y' |
Excludes rows where CASE_STATUS_CODE = 'CLOSE' from the result set. |
| BR-PKG1-002 | Case status changes cascade to consolidated secondary cases | updateCaseStatus changes the status of a case that is a consolidation primary |
Applies the same status update to all consolidated secondary cases linked to the primary. |
| BR-PKG1-003 | Hearing sequence number fallback order | updateHearingSeqNum recalculates MOST_RECENT_HEARING_SEQ_NUM |
Uses the consolidation primary's most recent HEAR schedule if the case is a consolidated secondary; otherwise falls back to the case's own most recent HEAR schedule, then its own most recent CCALL/INCON/MED schedule. |
| BR-PKG1-004 | Appeal deletion cascades status and file location reversion | deleteappeal removes an APPEAL row |
Deletes the appeal's linked schedule and recalculates hearing sequence; conditionally calls popcasestatus to revert case status and popfilelocation to revert file location when the deleted appeal affected them. |
| BR-PKG1-005 | Assigned attorney resolution fallback order | get_asgn_atty / get_asgn_atty_id resolve the case's assigned attorney |
Uses the attorney from the case's most recent appeal if present; otherwise the attorney assigned to the case's scheduled hearing; otherwise the assigned other-firm attorney name. |
| BR-PKG1-006 | Case number display priority | get_case_num resolves the case number to display |
Returns the first non-null case number in order: WCB, DCBS, OWCP, OALJ, BRB. |
| BR-PKG1-007 | OAR due date and case weight calculation | UPDATE_LEGALCASE_REQUEST sets request fields on a legal case |
Sets OAR_DUE_DATE to postmark date + 10 days only when no existing reconsideration-flagged request issue exists for the case; sets CASE_WEIGHT_VALUE to 3 when the stress-claim flag is 'Y', else 1. |
| BR-PKG1-008 | LCE excused flag uses conditional upsert logic | update_lce_Excused sets the LCE excused flag for a case |
Updates the existing LCE row only if the excused flag actually changed; if no LCE row exists and the new flag is 'Y', inserts a new LCE row instead. |
| BR-PKG1-009 | OAR and reconsideration mail eligibility | mailDateList selects cases pending mail processing |
A case is OAR-eligible when MAIL_OAR_FLAG='Y', not closed, OAR_DUE_DATE IS NOT NULL, and OAR_MAILED_DATE IS NULL; reconsideration-eligible when RECON_LETTER_MAILED_DATE IS NOT NULL and RECON_PACKET_RECEIVED_DATE IS NULL. |
| BR-PKG1-010 | Consolidated secondary cases inherit mail date from primary | setNoMailDate is called for a consolidated secondary case |
The mail date is not set independently on the secondary; it is inherited from the consolidation primary case. |
| BR-PKG1-011 | File location is versioned by move date | getFileLocation / popfilelocation access LEGAL_FILE_LOCATION history |
The most recent row ordered by move_date descending is authoritative; popfilelocation reverts location by deleting that most recent row. |
| BR-PKG1-012 | Consolidated secondary cases remain visible when closed | getConsolidatedCases filters the case list |
A case is included if it is not closed and not a consolidated secondary, OR if it is a consolidated secondary regardless of its closed status. |
| BR-PKG1-013 | Consolidation link changes migrate or reset hearing sequence | UpdateConsolidatedCase changes a primary/secondary link |
Reassigning a secondary to a new primary migrates its most recent hearing schedule to the new primary; removing the link (aConsolFlag='N') recalculates MOST_RECENT_HEARING_SEQ_NUM on the now-independent secondary from its own schedule. |
| BR-PKG1-014 | Final outcome recording drives case closure eligibility | updateCaseOutcome / SetFinalOutcome record a case outcome |
When a qualifying final order type/outcome is recorded, the case outcome becomes the case's outcome of record, driving closure eligibility. |
| BR-PKG1-015 | Outcome issue and outcome staff use upsert semantics | updateOutcomeIssue / updateOutcomeStaff are called with a sequence number |
Updates the row if the sequence number already exists in OUTCOME_ISSUE/OUTCOME_STAFF, otherwise inserts a new row. |
Operations¶
| Operation | Description | Trigger |
|---|---|---|
| Legal Case CRUD Lifecycle | Creation, retrieval, update, and deletion of a LEGAL_CASE record, including its request fields, case number resolution, and hearing-sequence/attorney assignment. |
A new legal proceeding is opened, edited, or closed against a claim in LegalNet. |
| Case Search | Search for legal cases by claim, case number, status, or other criteria, excluding closed cases unless explicitly requested. | User performs a case search in the LegalNet UI. |
| Hearing Schedule Lifecycle | Creation, update, and deletion of SCHEDULE rows (hearings, conference calls, mediations), with automatic recalculation of the case's most recent hearing sequence number. |
A hearing or related event is scheduled, rescheduled, or cancelled for a legal case. |
| Appeal Lifecycle | Creation, update, and deletion of APPEAL rows and their extensions, with cascading reversion of case status and file location when an appeal is deleted. |
An appeal is filed, amended, extended, or withdrawn for a legal case. |
| Case Outcome Lifecycle | Recording of CASE_OUTCOME, OUTCOME_ISSUE, and OUTCOME_STAFF rows, culminating in marking a final outcome of record. |
An order is signed/filed or a hearing outcome is recorded for a legal case. |
| Consolidation Lifecycle | Linking and unlinking of consolidated secondary cases to a primary case, with cascading status updates and hearing-sequence migration/reset. | Related claims/cases are consolidated for joint legal handling, or a consolidation link is removed. |
| File Location Lifecycle | Tracking of the physical/custodial location of a legal case file over time via versioned LEGAL_FILE_LOCATION rows. |
The case file is transferred between staff, attorneys, or storage locations. |
| Mail Date / OAR Lifecycle | Tracking and processing of Order on Appeal (OAR) and reconsideration-letter mail dates, including eligibility list generation and consolidated-case inheritance. | An OAR or reconsideration letter becomes due, is mailed, or a related packet is received. |
| Attorney Profile & Assignment Lifecycle | Maintenance of attorney profile records (claim-type eligibility, caseload, hearing locations) and assignment of attorneys to cases, hearings, and appeals. | An attorney's profile changes, or an attorney is assigned/reassigned to a case, hearing, or appeal. |
| Case Note Lifecycle | Creation, update, and deletion of free-text CASE_NOTE entries against a legal case. |
A user records a note on a legal case. |
| Case Cost Lifecycle | Creation, update, and deletion of CASE_COST billing records associated with a legal case. |
A legal service cost/billing entry is recorded, corrected, or removed for a case. |
Source Code¶
PL/SQL package specification
PACKAGE Pk80001_Legalnet AS
TYPE ref_cursor IS REF CURSOR;
PROCEDURE findCase(recordset OUT ref_cursor, in_num IN VARCHAR2);
FUNCTION get_hearing_date (in_case_seq IN LEGAL_CASE.legal_case_seq_num%TYPE)
RETURN DATE;
FUNCTION get_consolidated_hearing_seq (in_case_seq IN LEGAL_CASE.legal_case_seq_num%TYPE)
RETURN NUMBER;
FUNCTION get_hearingID (in_case_seq IN LEGAL_CASE.legal_case_seq_num%TYPE)
RETURN NUMBER;
FUNCTION get_asgn_atty(IN_case_Seq_num IN LEGAL_CASE.legal_case_seq_num%TYPE)
RETURN VARCHAR2;
FUNCTION get_asgn_atty_id(IN_case_Seq_num IN LEGAL_CASE.legal_case_seq_num%TYPE)
RETURN VARCHAR2;
FUNCTION get_atty_mngr_email(aLegalCaseNum IN NUMBER) RETURN VARCHAR2;
FUNCTION get_mailid_for_emplid(inEmplid IN VARCHAR2) RETURN VARCHAR2;
FUNCTION get_case_num(aLegalCaseNum IN NUMBER) RETURN VARCHAR2;
Function InsertLegalCase(LegalCaseSeqNum in LEGAL_CASE.LEGAL_CASE_SEQ_NUM%TYPE,
CaseTypeCode IN LEGAL_CASE.REQUEST_TYPE_CODE%TYPE,
RequestTypeCode in LEGAL_CASE.REQUEST_TYPE_CODE%TYPE,
WcbNum in LEGAL_CASE.WCB_NUM%TYPE,
DcbsNum in LEGAL_CASE.DCBS_NUM%Type,
CaseStatusCode in LEGAL_CASE.CASE_STATUS_CODE%Type,
claimID IN LEGAL_CASE.claim_id%TYPE,
RequestDate IN LEGAL_CASE.request_date%TYPE,
WorkerAttyProvLocID in LEGAL_CASE.WORKER_ATTY_PROV_LOC_ID%Type,
WorkerAttyFirmProvLocID in LEGAL_CASE.WORKER_ATTY_FIRM_PROV_LOC_ID%Type,
OarDueDate IN LEGAL_CASE.OAR_DUE_DATE%type,
OarMailedDate IN LEGAL_CASE.OAR_MAILED_DATE%type,
LegalFileCreateDate IN LEGAL_CASE.LEGAL_FILE_CREATE_DATE%Type,
CaseWeightValue IN LEGAL_CASE.CASE_WEIGHT_VALUE%Type,
AcknowledgeDate IN LEGAL_CASE.ACKNOWLEDGE_DATE%type,
RequestNewWcbNumFlag IN LEGAL_CASE.REQUEST_ALL_DAY_HEARING_FLAG%Type,
RequestedByCode IN LEGAL_CASE.REQUESTED_BY_CODE%TYPE,
RequestReceiptDate in LEGAL_CASE.REQUEST_RECEIPT_DATE%Type,
RequestPostmarkDate in LEGAL_CASE.REQUEST_POSTMARK_DATE%type,
RequestAllDayHearingFlag in LEGAL_CASE.REQUEST_ALL_DAY_HEARING_FLAG%type,
StressClaimFlag in LEGAL_CASE.STRESS_CLAIM_FLAG%type,
ReconLetterMailedDate in LEGAL_CASE.RECON_LETTER_MAILED_DATE%type,
ReconPacketReceivedDate in LEGAL_CASE.RECON_PACKET_RECEIVED_DATE%type,
DismissalDate in LEGAL_CASE.DISMISSAL_DATE%Type,
SettlementDate in LEGAL_CASE.SETTLEMENT_DATE%Type,
SendDefFlag in LEGAL_CASE.SEND_DEF_FLAG%type,
DefSentDate in LEGAL_CASE.DEF_SENT_DATE%type,
EmployerEvaluationNum in LEGAL_CASE.EMPLOYER_EVALUATION_NUM%type,
ConsolidateCaseFlag in LEGAL_CASE.CONSOLIDATE_CASE_FLAG%type,
OwcpNum in LEGAL_CASE.OWCP_NUM%Type,
OaljNum in LEGAL_CASE.OALJ_NUM%type,
BrbNum in LEGAL_CASE.BRB_NUM%type,
CreateDate in LEGAL_CASE.CREATE_DATE%type,
CreateUser in LEGAL_CASE.CREATE_USER%type,
MostRecentHearingSeqNum in LEGAL_CASE.MOST_RECENT_HEARING_SEQ_NUM%type,
ClaimImageAlertsFlag in LEGAL_CASE.CLAIM_IMAGE_ALERTS_FLAG%type)
Return Number;
Function UpdateLegalCase(LegalCaseSeqNum in LEGAL_CASE.LEGAL_CASE_SEQ_NUM%TYPE,
CaseTypeCode IN LEGAL_CASE.REQUEST_TYPE_CODE%TYPE,
RequestTypeCode in LEGAL_CASE.REQUEST_TYPE_CODE%TYPE,
WcbNum in LEGAL_CASE.WCB_NUM%TYPE,
DcbsNum in LEGAL_CASE.DCBS_NUM%Type,
CaseStatusCode in LEGAL_CASE.CASE_STATUS_CODE%Type,
claimID IN LEGAL_CASE.claim_id%TYPE,
RequestDate IN LEGAL_CASE.request_date%TYPE,
WorkerAttyProvLocID in LEGAL_CASE.WORKER_ATTY_PROV_LOC_ID%Type,
WorkerAttyFirmProvLocID in LEGAL_CASE.WORKER_ATTY_FIRM_PROV_LOC_ID%Type,
OarDueDate IN LEGAL_CASE.OAR_DUE_DATE%type,
OarMailedDate IN LEGAL_CASE.OAR_MAILED_DATE%type,
LegalFileCreateDate IN LEGAL_CASE.LEGAL_FILE_CREATE_DATE%Type,
CaseWeightValue IN LEGAL_CASE.CASE_WEIGHT_VALUE%Type,
AcknowledgeDate IN LEGAL_CASE.ACKNOWLEDGE_DATE%type,
RequestNewWcbNumFlag IN LEGAL_CASE.REQUEST_ALL_DAY_HEARING_FLAG%Type,
RequestedByCode IN LEGAL_CASE.REQUESTED_BY_CODE%TYPE,
RequestReceiptDate in LEGAL_CASE.REQUEST_RECEIPT_DATE%Type,
RequestPostmarkDate in LEGAL_CASE.REQUEST_POSTMARK_DATE%type,
RequestAllDayHearingFlag in LEGAL_CASE.REQUEST_ALL_DAY_HEARING_FLAG%type,
StressClaimFlag in LEGAL_CASE.STRESS_CLAIM_FLAG%type,
ReconLetterMailedDate in LEGAL_CASE.RECON_LETTER_MAILED_DATE%type,
ReconPacketReceivedDate in LEGAL_CASE.RECON_PACKET_RECEIVED_DATE%type,
DismissalDate in LEGAL_CASE.DISMISSAL_DATE%Type,
SettlementDate in LEGAL_CASE.SETTLEMENT_DATE%Type,
SendDefFlag in LEGAL_CASE.SEND_DEF_FLAG%type,
DefSentDate in LEGAL_CASE.DEF_SENT_DATE%type,
EmployerEvaluationNum in LEGAL_CASE.EMPLOYER_EVALUATION_NUM%type,
ConsolidateCaseFlag in LEGAL_CASE.CONSOLIDATE_CASE_FLAG%type,
OwcpNum in LEGAL_CASE.OWCP_NUM%Type,
OaljNum in LEGAL_CASE.OALJ_NUM%type,
BrbNum in LEGAL_CASE.BRB_NUM%type,
UpdateDate in LEGAL_CASE.CREATE_DATE%type,
UpdateUser in LEGAL_CASE.CREATE_USER%type,
MostRecentHearingSeqNum in LEGAL_CASE.MOST_RECENT_HEARING_SEQ_NUM%type,
ClaimImageAlertsFlag in LEGAL_CASE.CLAIM_IMAGE_ALERTS_FLAG%type)
Return Number;
PROCEDURE CREATE_REQUEST_ISSUE(in_legal_case_seq IN LEGAL_CASE.legal_Case_seq_num%TYPE,
in_issue_code IN REQUEST_ISSUE.REQUEST_ISSUE_CODE%TYPE,
in_issue_text IN REQUEST_ISSUE.REQUEST_ISSUE_TEXT%TYPE);
FUNCTION get_case_issue_codes (in_case_seq_num NUMBER) RETURN VARCHAR2;
FUNCTION get_case_issue_text (in_case_seq_num NUMBER) RETURN VARCHAR2;
TYPE search_rec IS RECORD(
wcb_num VARCHAR2(15),
case_status VARCHAR2(65),
atty_name VARCHAR2(50),
hearing_date VARCHAR2(10),
REQUEST_ISSUE VARCHAR2(30),
requested_by VARCHAR2(65),
legal_case_seq_num NUMBER,
claim_id NUMBER);
TYPE search_cursor IS REF CURSOR RETURN search_rec;
PROCEDURE Casesearch(recordset OUT search_cursor,
claimIdsCommaDelimited IN VARCHAR2,
includeClosed IN VARCHAR2);
PROCEDURE updateCaseStatus(aLegalCaseNum IN NUMBER, newStatus IN VARCHAR2,
updateDate IN DATE, updateUser IN VARCHAR2);
PROCEDURE updateHearingSeqNum(aLegalCaseNum IN NUMBER);
PROCEDURE getLCE(LegalCaseID IN NUMBER,
Recordset OUT ref_cursor);
Function updateLCE(EvaluationID IN NUMBER, IsExcused IN VARCHAR2, dueDate IN DATE,
filedDate IN DATE, AdjusterEmployeeID IN VARCHAR2, casetransferDate IN DATE,
updateDate IN DATE, updateUser IN VARCHAR2,
AsgnAttyEmplid IN VARCHAR2)
return number;
Function insertLCE(EvaluationID IN NUMBER, LegalCaseID in number,
IsExcused IN VARCHAR2, dueDate IN DATE,
filedDate IN DATE, AdjusterEmployeeID IN VARCHAR2, casetransferDate IN DATE,
createDate IN DATE, createUser IN VARCHAR2,
AsgnAttyEmplid IN VARCHAR2)
return number;
PROCEDURE getSchedule(LegalCaseSeqNum IN NUMBER,
recordset OUT ref_cursor);
Function updateSchedule(ScheduleSeqNum IN NUMBER,
ScheduleDate IN DATE, ScheduleTime IN VARCHAR2, AljPersonSeqNum IN NUMBER,
HearingLocationSeqNum IN NUMBER, AsgnAttorneyEmplid IN VARCHAR2, DurationCode IN VARCHAR2,
ScheduleTypeCode IN VARCHAR2, ScheduleStatusCode IN VARCHAR2, KeepAttorneyFlag IN VARCHAR2,
AssignedDate IN DATE, ReminderDate IN DATE, ScheduleText IN VARCHAR2,
UpdateDate IN DATE, UpdateUser IN VARCHAR2,
AsgnOtherFirmSeqNum IN NUMBER, AsgnPersonSeqNum IN NUMBER)
return Number;
Function insertSchedule(ScheduleSeqNum IN NUMBER, LegalCaseSeqNum IN NUMBER,
ScheduleDate IN DATE, ScheduleTime IN VARCHAR2, AljPersonSeqNum IN NUMBER,
HearingLocationSeqNum IN NUMBER, AsgnAttorneyEmplid IN VARCHAR2, DurationCode IN VARCHAR2,
ScheduleTypeCode IN VARCHAR2, ScheduleStatusCode IN VARCHAR2, KeepAttorneyFlag IN VARCHAR2,
AssignedDate IN DATE, ReminderDate IN DATE, ScheduleText IN VARCHAR2,
createDate IN DATE, createUser IN VARCHAR2,
asgnOtherFirmSeqNum IN NUMBER, asgnPersonSeqNum IN NUMBER)
return number;
Function deleteSchedule(ScheduleSeqNum IN NUMBER)
return number;
PROCEDURE getLegalCase(LegalCaseSeqNum IN NUMBER,
ClaimId in Number,
recordset IN OUT ref_cursor);
FUNCTION getClaimImageAlertsUpdateDate(aLegalCaseNum IN NUMBER)
RETURN DATE;
PROCEDURE UPDATE_LEGALCASE_REQUEST(aLegalCaseSeq IN NUMBER,
aIssueType IN LEGAL_CASE.REQUEST_TYPE_CODE%TYPE,
aWCBRequested IN LEGAL_CASE.request_new_wcb_num_flag%TYPE,
aStress IN LEGAL_CASE.stress_claim_flag%TYPE,
aRequestedBy IN LEGAL_CASE.REQUESTED_BY_CODE%TYPE,
aRequestDate IN VARCHAR2,
aReceivedDate IN VARCHAR2,
aPostmarkDate IN VARCHAR2,
aAttyFirmProvID IN NUMBER,
aReconLetter IN VARCHAR2,
aAttyProvID IN NUMBER,
aLCEExcused IN VARCHAR2,
aOWCP IN VARCHAR2,
aUserID IN VARCHAR2);
PROCEDURE update_lce_Excused(aLegalCaseSeq IN NUMBER,
aLCEExcused IN VARCHAR2,
aUserID IN VARCHAR2);
PROCEDURE setFileCreateDate(seqNums IN VARCHAR2, inDate IN DATE,
userid IN VARCHAR2);
PROCEDURE mailDateList(recordset OUT ref_cursor, inType IN VARCHAR2);
PROCEDURE setMailDate(seqNums IN VARCHAR2, inDate IN DATE,
inType IN VARCHAR2, userid IN VARCHAR2);
Function setNoMailDate(InseqNum IN NUMBER, inDate IN DATE,
inType IN VARCHAR2, userid IN VARCHAR2)
RETURN NUMBER;
Function setMailOARFlag(InseqNum IN NUMBER, userid IN VARCHAR2)
RETURN NUMBER;
Function insertAppeal(AppealID IN NUMBER, LegalCaseID IN NUMBER,
reviewLevel IN VARCHAR2, dueDate IN DATE, filedDate IN DATE,
PetitionerRespondentCode IN VARCHAR2, approvedFlag IN VARCHAR2,
attyEmplid IN VARCHAR2,
brief1DueDate IN DATE, brief1FiledDate IN DATE,
brief2DueDate IN DATE, brief2FiledDate IN DATE,
brief3DueDate IN DATE, brief3FiledDate IN DATE,
appealNum IN VARCHAR2, ScheduleID IN NUMBER,
createDate IN DATE, createUser IN VARCHAR2)
RETURN NUMBER;
FUNCTION updateAppeal(AppealID IN NUMBER, LegalCaseID IN NUMBER,
reviewLevel IN VARCHAR2, dueDate IN DATE, filedDate IN DATE,
PetitionerRespondentCode IN VARCHAR2, approvedFlag IN VARCHAR2,
attyEmplid IN VARCHAR2,
brief1DueDate IN DATE, brief1FiledDate IN DATE,
brief2DueDate IN DATE, brief2FiledDate IN DATE,
brief3DueDate IN DATE, brief3FiledDate IN DATE,
appealNum IN VARCHAR2, ScheduleID IN NUMBER,
updateDate IN DATE, updateUser IN VARCHAR2)
RETURN NUMBER;
PROCEDURE getAppeal(LegalCaseID IN NUMBER,
Recordset OUT ref_cursor);
PROCEDURE getAppealExtension(appealSeqNum IN NUMBER,
Recordset OUT ref_cursor);
Function updateAppealExtension(
appealExtSeqNum IN NUMBER,
appealSeqNum IN NUMBER,
requestDate IN DATE,
daysRequested IN NUMBER)
RETURN NUMBER;
Function insertAppealExtension(
appealExtSeqNum IN NUMBER,
appealSeqNum IN NUMBER,
requestDate IN DATE,
daysRequested IN NUMBER)
RETURN NUMBER;
Function deleteappeal (inlegalcaseseqnum IN NUMBER, inappealseqnum IN NUMBER)
RETURN NUMBER;
PROCEDURE popcasestatus(inlegalcaseseqnum IN LEGAL_CASE.legal_case_seq_num%TYPE);
PROCEDURE popfilelocation(inlegalcaseseqnum IN LEGAL_CASE.legal_case_seq_num%TYPE);
PROCEDURE getBoardLog(Recordset OUT ref_cursor);
PROCEDURE updateAppealAtty(appealSeqNum IN NUMBER,
attyEmplid IN VARCHAR2);
PROCEDURE getAcknowledgeList(recordset OUT ref_cursor, inType IN VARCHAR2);
Function updateAcknowledged(inType IN VARCHAR2, inNum IN VARCHAR2,
inDate IN DATE, CaseId IN NUMBER)
RETURN NUMBER;
PROCEDURE updateDEFfields(aLegalCaseNum IN NUMBER, inNum IN VARCHAR2,
inDate IN DATE, inFlag IN VARCHAR2, inUser IN VARCHAR2);
PROCEDURE getFileLocation(LegalCaseID IN NUMBER,
Recordset OUT ref_cursor);
Function updateFileLocation(
LegalFileLocationID IN NUMBER,
LegalCaseID IN NUMBER,
LocationPersonEmplid IN VARCHAR2,
LegalFileLocationCode IN VARCHAR2,
moveDate IN DATE
) return number;
Function insertFileLocation(
LegalFileLocationID IN NUMBER,
LegalCaseID IN NUMBER,
LocationPersonEmplid IN VARCHAR2,
LegalFileLocationCode IN VARCHAR2,
moveDate IN DATE,
createDate in date,
createUser in varchar2)
return number;
PROCEDURE getAttyProfile(Recordset OUT ref_cursor);
Function updateAttyProfile(
profileEmplid IN VARCHAR2,
EffDate IN DATE,
ExpDate IN DATE,
CcuClaimsFlag IN VARCHAR2,
PtdClaimsFlag IN VARCHAR2,
PpdClaimsFlag IN VARCHAR2,
ConfidentialClaimsFlag IN VARCHAR2,
HealthIssueClaimsFlag IN VARCHAR2,
DcbsClaimsFlag IN VARCHAR2,
FederalClaimsFlag IN VARCHAR2,
LoadPercent IN NUMBER,
PrimaryHearLocCode IN VARCHAR2,
SecondaryHearLocCode IN VARCHAR2,
ClaimTeamCode IN VARCHAR2,
AttorneyTypeCode IN VARCHAR2,
SecretaryEmplid IN VARCHAR2,
ManagerEmplid IN VARCHAR2,
TertiaryHearLocCode IN VARCHAR2,
osbNumber IN VARCHAR2
) RETURN NUMBER;
Function insertAttyProfile(
profileEmplid IN VARCHAR2,
EffDate IN DATE,
ExpDate IN DATE,
CcuClaimsFlag IN VARCHAR2,
PtdClaimsFlag IN VARCHAR2,
PpdClaimsFlag IN VARCHAR2,
ConfidentialClaimsFlag IN VARCHAR2,
HealthIssueClaimsFlag IN VARCHAR2,
DcbsClaimsFlag IN VARCHAR2,
FederalClaimsFlag IN VARCHAR2,
LoadPercent IN NUMBER,
PrimaryHearLocCode IN VARCHAR2,
SecondaryHearLocCode IN VARCHAR2,
ClaimTeamCode IN VARCHAR2,
AttorneyTypeCode IN VARCHAR2,
SecretaryEmplid IN VARCHAR2,
ManagerEmplid IN VARCHAR2,
TertiaryHearLocCode IN VARCHAR2,
osbNumber IN VARCHAR2
) RETURN NUMBER;
TYPE attySched_rec IS RECORD(
attorney_schedule_seq_num NUMBER,
schedule_emplid VARCHAR2(11),
eff_date DATE,
exp_date DATE,
ATTORNEY_SCHEDULE_TYPE_CODE VARCHAR2(5),
DURATION_CODE VARCHAR2(5));
TYPE attySched_cursor IS REF CURSOR RETURN attySched_rec;
PROCEDURE getAttySchedule(Recordset OUT attySched_cursor);
PROCEDURE updateAttySchedule(
attySchedSeqNum IN NUMBER,
scheduleEmplid IN VARCHAR2,
effDate IN DATE,
expDate IN DATE,
typeCode IN VARCHAR2,
durationCode IN VARCHAR2);
PROCEDURE insertAttySchedule(
attySchedSeqNum IN NUMBER,
scheduleEmplid IN VARCHAR2,
effDate IN DATE,
expDate IN DATE,
typeCode IN VARCHAR2,
durationCode IN VARCHAR2);
PROCEDURE deleteAttySchedule(attySchedSeqNum IN NUMBER);
PROCEDURE getConsolidatedCases(recordset OUT ref_cursor,
claimIdsCommaDelimited IN VARCHAR2);
PROCEDURE UpdateConsolidatedCase(aConsolidatedSeq IN CONSOLIDATED_CASE.consolidated_case_seq_num%TYPE,
aPrimarySeq IN CONSOLIDATED_CASE.primary_case_seq_num%TYPE,
aSecondarySeq IN CONSOLIDATED_CASE.secondary_case_seq_num%TYPE,
aConsolFlag IN VARCHAR2,
UpdateDate in DATE,
UpdateUser in Varchar2);
TYPE attorney_rec IS RECORD(
atty_name VARCHAR2(50),
legal_person_seq_num LEGAL_PERSON.legal_person_seq_num%TYPE);
TYPE attorney_cursor IS REF CURSOR RETURN attorney_rec;
PROCEDURE getAttorneyNames(recordset OUT attorney_cursor);
PROCEDURE insertLetterRequest(
letterTypeCode IN VARCHAR2,
aLegalCaseNum IN NUMBER,
holdDate IN DATE,
aClaimId IN NUMBER,
createUser IN VARCHAR2,
requestNum IN OUT NUMBER);
TYPE HearingInfo_rec IS RECORD(
schedule_seq_num SCHEDULE.schedule_seq_num%TYPE,
schedule_date SCHEDULE.schedule_date%TYPE,
schedule_time SCHEDULE.schedule_time%TYPE,
DURATION_CODE SCHEDULE.DURATION_CODE%TYPE,
keep_attorney_flag NUMBER(1,0),
assigned_date SCHEDULE.assigned_date%TYPE,
reminder_date SCHEDULE.reminder_date%TYPE,
schedule_text SCHEDULE.schedule_text%TYPE,
atty_mailid adp_employee.user_id%TYPE,
sec_mailid adp_employee.user_id%TYPE,
sec_name VARCHAR2(50),
alj_name LEGAL_PERSON.last_name%TYPE,
secretary_emplid ATTORNEY_PROFILE.secretary_emplid%TYPE,
HEARING_LOCATION_CODE HEARING_LOCATION.HEARING_LOCATION_CODE%TYPE,
hearing_loc_city VARCHAR2(50),
location_name HEARING_LOCATION.location_name%TYPE,
hearing_status SCHEDULE_STATUS_CODE.code_descr%TYPE,
all_day_hearing_flag NUMBER(1,0));
TYPE HearingCursor IS REF CURSOR RETURN HearingInfo_rec;
PROCEDURE getHearingInfo(in_HearingSeq IN SCHEDULE.schedule_seq_num%TYPE,
recordset OUT HearingCursor);
TYPE EmployerAddr_rec IS RECORD(
policy_name POLICY.policy_name%TYPE,
Loc_addr1 LOCATION.loc_addr1%TYPE,
loc_addr2 LOCATION.loc_Addr2%TYPE,
loc_city LOCATION.loc_city%TYPE,
loc_state LOCATION.loc_state%TYPE,
loc_zip LOCATION.loc_zip%TYPE,
loc_zip4 LOCATION.loc_zip4%TYPE,
mail_addr_flag LOCATION.mail_addr_flag%TYPE,
loc_phone VARCHAR2(20),
loc_seq_num LOCATION.loc_seq_num%TYPE);
TYPE EmployerCursor IS REF CURSOR RETURN EmployerAddr_rec;
PROCEDURE getEmployerAddr(in_Policy IN POLICY.policy_num%TYPE,
recordset OUT EmployerCursor);
TYPE OtherFirmList_rec IS RECORD(
type_cd VARCHAR2(10),
legal_case_employer_seq_num LEGAL_CASE_EMPLOYER.legal_case_employer_seq_num%TYPE,
employer_other_firm_seq_num OTHER_FIRM.other_firm_seq_num%TYPE,
employer_discovery_flag NUMBER(1,0),
attorney_discovery_flag NUMBER(1,0),
firm_name OTHER_FIRM.firm_name%TYPE,
OTHER_FIRM_TYPE_CODE OTHER_FIRM.OTHER_FIRM_TYPE_CODE%TYPE,
addr1 OTHER_FIRM.addr1%TYPE,
addr2 OTHER_FIRM.addr2%TYPE,
city OTHER_FIRM.city%TYPE,
state OTHER_FIRM.state%TYPE,
zip OTHER_FIRM.zip%TYPE,
zip4 OTHER_FIRM.zip4%TYPE,
PHONE OTHER_FIRM.PHONE%TYPE,
fax OTHER_FIRM.fax%TYPE);
TYPE OtherFirmListCursor IS REF CURSOR RETURN OtherFirmList_rec;
PROCEDURE getOtherFirmList(aLegalCaseNum IN NUMBER,
recordset OUT OtherFirmListCursor);
TYPE employee_rec IS RECORD(
EMPLID adp_employee.emplid%TYPE,
LAST_NAME adp_employee.last_name%TYPE,
FIRST_NAME adp_employee.first_name%TYPE,
MIDDLE_NAME adp_employee.middle_name%TYPE,
EMAIL_ADDRESS adp_employee.EMAIL_ADDRESS%TYPE,
EMPL_STATUS adp_employee.empl_status%TYPE,
PHONE adp_employee.PHONE%TYPE,
PHONE_EXTENSION adp_employee.phone_extension%TYPE,
LOCATION adp_employee.LOCATION%TYPE,
PREFERRED_NAME adp_employee.preferred_name%TYPE,
DEPTID adp_employee.deptid%TYPE,
DESCR adp_employee.descr%TYPE,
REPORTS_TO adp_employee.reports_to%TYPE,
USER_ID adp_employee.user_id%TYPE);
TYPE EmployeeCursor IS REF CURSOR RETURN Employee_rec;
PROCEDURE GetEmployeebyMailid(in_MailId IN VARCHAR,
recordset OUT EmployeeCursor);
FUNCTION GetEmployeeName(in_mailid IN VARCHAR)
RETURN VARCHAR2;
PROCEDURE IsLetterRequested(aLegalCaseNum IN NUMBER,
aLetterType IN VARCHAR2,
out_requested OUT VARCHAR2);
TYPE case_cost_rec IS RECORD(
case_cost_seq_num_out CASE_COST.case_cost_seq_num%TYPE,
legal_case_seq_num_out CASE_COST.legal_case_seq_num%TYPE,
service_from_date_out CASE_COST.service_from_date%TYPE,
service_to_date_out CASE_COST.service_to_date%TYPE,
service_code_out CASE_COST.SERVICE_CODE%TYPE,
amount_paid_out CASE_COST.amount_paid%TYPE,
amount_billed_out CASE_COST.amount_billed%TYPE,
amount_per_hour_out CASE_COST.amount_per_hour%TYPE,
hours_billed_out CASE_COST.hours_billed%TYPE,
prepayment_flag_out VARCHAR2(5),
authorized_date_out CASE_COST.authorized_date%TYPE,
payee_firm_prov_loc_id_out CASE_COST.payee_firm_prov_loc_id%TYPE,
payee_person_prov_loc_id_out CASE_COST.payee_person_prov_loc_id%TYPE,
authorizer_emplid_out CASE_COST.authorizer_emplid%TYPE,
cancelled_by_code_out CASE_COST.CANCELLED_BY_CODE%TYPE,
create_date DATE,
create_user VARCHAR2(30),
update_date DATE,
update_user VARCHAR2(30));
TYPE CaseCostCursor IS REF CURSOR RETURN case_cost_rec;
PROCEDURE GetCaseCost(aLegalCaseNum IN NUMBER,
recordset OUT CaseCostCursor);
/********************************************
** UPDATE PROCEDURE FOR TABLE "LEGAL.CASE_COST"
** DATE: 28-JUL-03 13:22:19
*********************************************/
PROCEDURE case_cost_update
(
case_cost_seq_num_in IN CASE_COST.case_cost_seq_num%TYPE,
legal_case_seq_num_in IN CASE_COST.legal_case_seq_num%TYPE,
service_from_date_in IN CASE_COST.service_from_date%TYPE,
service_to_date_in IN CASE_COST.service_to_date%TYPE,
service_code_in IN CASE_COST.SERVICE_CODE%TYPE,
amount_paid_in IN CASE_COST.amount_paid%TYPE,
amount_billed_in IN CASE_COST.amount_billed%TYPE,
amount_per_hour_in IN CASE_COST.amount_per_hour%TYPE,
hours_billed_in IN CASE_COST.hours_billed%TYPE,
prepayment_flag_in IN CASE_COST.prepayment_flag%TYPE,
authorized_date_in IN CASE_COST.authorized_date%TYPE,
payee_firm_prov_loc_id_in IN CASE_COST.PAYEE_firm_PROV_LOC_ID%TYPE,
payee_person_prov_loc_id_in IN CASE_COST.payee_person_prov_loc_id%TYPE,
authorizer_emplid_in IN CASE_COST.authorizer_emplid%TYPE,
cancelled_by_code_in IN CASE_COST.CANCELLED_BY_CODE%TYPE,
update_date_in IN CASE_COST.update_date%TYPE,
update_user_in IN CASE_COST.update_user%TYPE);
/********************************************
** INSERT PROCEDURE FOR TABLE "LEGAL.CASE_COST"
** DATE: 28-JUL-03 13:22:19
*********************************************/
PROCEDURE case_cost_insert
(
case_cost_seq_num_in IN CASE_COST.case_cost_seq_num%TYPE,
legal_case_seq_num_in IN CASE_COST.legal_case_seq_num%TYPE,
service_from_date_in IN CASE_COST.service_from_date%TYPE,
service_to_date_in IN CASE_COST.service_to_date%TYPE,
service_code_in IN CASE_COST.SERVICE_CODE%TYPE,
amount_paid_in IN CASE_COST.amount_paid%TYPE,
amount_billed_in IN CASE_COST.amount_billed%TYPE,
amount_per_hour_in IN CASE_COST.amount_per_hour%TYPE,
hours_billed_in IN CASE_COST.hours_billed%TYPE,
prepayment_flag_in IN CASE_COST.prepayment_flag%TYPE,
authorized_date_in IN CASE_COST.authorized_date%TYPE,
payee_firm_prov_loc_id_in IN CASE_COST.PAYEE_firm_PROV_LOC_ID%TYPE,
payee_person_prov_loc_id_in IN CASE_COST.payee_person_prov_loc_id%TYPE,
authorizer_emplid_in IN CASE_COST.authorizer_emplid%TYPE,
cancelled_by_code_in IN CASE_COST.CANCELLED_BY_CODE%TYPE,
create_date_in IN CASE_COST.create_date%TYPE,
create_user_in IN CASE_COST.create_user%TYPE);
/********************************************
** DELETE PROCEDURE FOR TABLE "LEGAL.CASE_COST"
** DATE: 02-DEC-03 16:12:45
*********************************************/
PROCEDURE case_cost_delete
(
case_cost_seq_num_in IN CASE_COST.case_cost_seq_num%TYPE
);
Function DeleteLegalCase(LegalCaseSeqNum IN
LEGAL_CASE.legal_case_Seq_num%TYPE)
RETURN NUMBER;
PROCEDURE GetCaseNote(CaseId IN NUMBER,
recordset OUT ref_cursor);
/********************************************
** INSERT PROCEDURE FOR TABLE "LEGAL.CASE_NOTE"
** DATE: 06-AUG-03 10:20:33
*********************************************/
FUNCTION case_note_insert
(
noteId IN CASE_NOTE.case_note_seq_num%TYPE,
caseId IN CASE_NOTE.legal_case_seq_num%TYPE,
categoryCode IN CASE_NOTE.NOTE_CATEGORY_CODE%TYPE,
Notetext IN CASE_NOTE.text%TYPE,
createDate IN CASE_NOTE.create_date%TYPE,
createUser IN CASE_NOTE.create_user%TYPE)
RETURN NUMBER;
/********************************************
** UPDATE PROCEDURE FOR TABLE "LEGAL.CASE_NOTE"
** DATE: 06-AUG-03 10:21:50
*********************************************/
Function case_note_update
(
noteId IN CASE_NOTE.case_note_seq_num%TYPE,
caseId IN CASE_NOTE.legal_case_seq_num%TYPE,
categoryCode IN CASE_NOTE.NOTE_CATEGORY_CODE%TYPE,
NoteText IN CASE_NOTE.text%TYPE,
updateDate IN CASE_NOTE.update_date%TYPE,
updateUser IN CASE_NOTE.update_user%TYPE)
RETURN NUMBER;
/********************************************
** DELETE PROCEDURE FOR TABLE "LEGAL.CASE_NOTE"
** DATE: 07-AUG-03 10:21:48
*********************************************/
Function case_note_delete
(
noteId CASE_NOTE.case_note_seq_num%TYPE)
RETURN NUMBER;
PROCEDURE GetSAIFAtty(aLegalCaseNum IN NUMBER,
recordset OUT ref_cursor);
PROCEDURE GetCaseOutcome(LegalCaseID IN NUMBER,
recordset OUT ref_Cursor);
TYPE outcomeIssue_rec IS RECORD
( outcome_issue_seq_num OUTCOME_ISSUE.outcome_issue_seq_num%TYPE,
case_outcome_seq_num OUTCOME_ISSUE.case_outcome_seq_num%TYPE,
OUTCOME_ISSUE_CODE OUTCOME_ISSUE.OUTCOME_ISSUE_CODE%TYPE,
win_loss_flag OUTCOME_ISSUE.win_loss_flag%TYPE,
fee_amount OUTCOME_ISSUE.fee_amount%TYPE,
penalty_flag NUMBER,
primary_issue_flag NUMBER,
create_date OUTCOME_ISSUE.create_date%TYPE,
create_user OUTCOME_ISSUE.create_user%TYPE,
summary_text OUTCOME_ISSUE.summary_text%TYPE,
OUTCOME_GROUNDS_CODE OUTCOME_ISSUE.OUTCOME_GROUNDS_CODE%TYPE,
LEGAL_BODY_PART_CODE OUTCOME_ISSUE.LEGAL_BODY_PART_CODE%TYPE,
NATURE_CODE OUTCOME_ISSUE.NATURE_CODE%TYPE,
update_date OUTCOME_ISSUE.update_date%TYPE,
update_user OUTCOME_ISSUE.update_user%TYPE
);
TYPE OutcomeIssueCursor IS REF CURSOR RETURN outcomeIssue_rec;
PROCEDURE GetOutcomeIssue(aLegalCaseNum IN NUMBER,
recordset OUT OutcomeIssueCursor);
TYPE ALJList_rec IS RECORD
( legal_person_seq_num LEGAL_PERSON.legal_person_seq_num%TYPE,
last_name LEGAL_PERSON.last_name%TYPE,
LEGAL_PERSON_TYPE_CODE LEGAL_PERSON_TYPE.LEGAL_PERSON_TYPE_CODE%TYPE,
code_descr VARCHAR2(65),
Selected NUMBER );
TYPE ALJListCursor IS REF CURSOR RETURN ALJList_rec;
PROCEDURE getAljList(aLegalCaseNum IN NUMBER,
recordset OUT ALJListCursor);
TYPE OutcomeStaff_rec IS RECORD
( outcome_staff_seq_num OUTCOME_STAFF.outcome_staff_seq_num%TYPE,
case_outcome_seq_num OUTCOME_STAFF.case_outcome_seq_num%TYPE,
outcome_staff_person_seq_num OUTCOME_STAFF.outcome_staff_person_seq_num%TYPE,
last_name LEGAL_PERSON.last_name%TYPE
);
TYPE OutcomeStaffCursor IS REF CURSOR RETURN OutcomeStaff_rec;
PROCEDURE GetOutcomeStaff(aLegalCaseNum IN NUMBER,
recordset OUT OutcomeStaffCursor);
Function updateCaseOutcome( CaseOutcomeID IN CASE_OUTCOME.case_outcome_seq_num%TYPE,
LegalCaseID IN CASE_OUTCOME.legal_case_seq_num%TYPE,
OrderTypeCode IN CASE_OUTCOME.ORDER_TYPE_CODE%TYPE,
OrderSignedDate IN CASE_OUTCOME.order_signed_date%TYPE := NULL,
OrderFiledDate IN CASE_OUTCOME.order_filed_date%TYPE := NULL,
UpdateUser IN CASE_OUTCOME.update_user%TYPE := NULL,
AsgnAttyEmplid CASE_OUTCOME.asgn_atty_emplid%TYPE := NULL,
AppealId CASE_OUTCOME.APPEAL_SEQ_NUM%TYPE := Null)
return number;
Function insertCaseOutcome( CaseOutcomeID IN CASE_OUTCOME.case_outcome_seq_num%TYPE,
LegalCaseID IN CASE_OUTCOME.legal_case_seq_num%TYPE,
OrderTypeCode IN CASE_OUTCOME.ORDER_TYPE_CODE%TYPE,
OrderSignedDate IN CASE_OUTCOME.order_signed_date%TYPE := NULL,
OrderFiledDate IN CASE_OUTCOME.order_filed_date%TYPE := NULL,
UpdateUser IN CASE_OUTCOME.update_user%TYPE := NULL,
AsgnAttyEmplid CASE_OUTCOME.asgn_atty_emplid%TYPE := NULL,
AppealId CASE_OUTCOME.APPEAL_SEQ_NUM%TYPE := Null)
return number;
PROCEDURE updateOutcomeIssue(outcome_issue_seq_num_in IN OUTCOME_ISSUE.outcome_issue_seq_num%TYPE,
case_outcome_seq_num_in IN OUTCOME_ISSUE.case_outcome_seq_num%TYPE,
outcome_issue_code_in IN OUTCOME_ISSUE.OUTCOME_ISSUE_CODE%TYPE,
win_loss_flag_in IN OUTCOME_ISSUE.win_loss_flag%TYPE,
fee_amount_in IN OUTCOME_ISSUE.fee_amount%TYPE,
penalty_flag_in IN OUTCOME_ISSUE.penalty_flag%TYPE,
primary_issue_flag_in IN OUTCOME_ISSUE.primary_issue_flag%TYPE,
summary_text_in IN OUTCOME_ISSUE.summary_text%TYPE,
outcome_grounds_code_in IN OUTCOME_ISSUE.OUTCOME_GROUNDS_CODE%TYPE,
body_part_code_in IN OUTCOME_ISSUE.LEGAL_BODY_PART_CODE%TYPE,
nature_code_in IN OUTCOME_ISSUE.NATURE_CODE%TYPE,
userid_in IN OUTCOME_ISSUE.update_user%TYPE);
PROCEDURE updateOutcomeStaff( outcome_staff_seq_num_in IN OUTCOME_STAFF.outcome_staff_seq_num%TYPE,
case_outcome_seq_num_in IN OUTCOME_STAFF.case_outcome_seq_num%TYPE,
staff_person_seq_num_in IN OUTCOME_STAFF.outcome_staff_person_seq_num%TYPE );
FUNCTION DeleteCaseOutcome(case_outcome_seq_num_in IN
CASE_OUTCOME.case_outcome_seq_num%TYPE) RETURN NUMBER;
PROCEDURE DeleteOutcomeIssue(outcome_issue_seq_num_in IN
OUTCOME_ISSUE.outcome_issue_seq_num%TYPE);
PROCEDURE DeleteOutcomeStaff(outcome_staff_seq_num_in IN
OUTCOME_STAFF.outcome_staff_seq_num%TYPE);
PROCEDURE SetFinalOutcome( legal_case_seq_num_in IN
LEGAL_CASE.legal_case_seq_num%TYPE);
TYPE LegalCaseEmployer_rec IS RECORD
( legal_case_employer_seq_num NUMBER,
legal_case_seq_num NUMBER,
EMPLOYER_OTHER_FIRM_SEQ_NUM NUMBER,
ATTORNEY_OTHER_FIRM_SEQ_NUM NUMBER,
ATTORNEY_LEGAL_PERSON_SEQ_NUM NUMBER,
EMPLOYER_DISCOVERY_FLAG VARCHAR2(1),
ATTORNEY_DISCOVERY_FLAG VARCHAR2(1));
TYPE LegalCaseEmployerCursor IS REF CURSOR RETURN LegalCaseEmployer_rec;
PROCEDURE GetLegalCaseEmployer(aLegalCaseNum IN NUMBER,
recordset OUT LegalCaseEmployerCursor);
/********************************************
** INSERT PROCEDURE FOR TABLE "LEGAL.LEGAL_CASE_EMPLOYER"
** DATE: 03-SEP-03 08:41:55
*********************************************/
PROCEDURE legal_case_employer_insert
(
legal_case_employer_seq_num_in IN LEGAL_CASE_EMPLOYER.legal_case_employer_seq_num%TYPE,
legal_case_seq_num_in IN LEGAL_CASE_EMPLOYER.legal_case_seq_num%TYPE,
other_firm_seq_num_in IN LEGAL_CASE_EMPLOYER.employer_other_firm_seq_num%TYPE,
discovery_flag_in IN LEGAL_CASE_EMPLOYER.employer_discovery_flag%TYPE,
attorney_discovery_flag_in IN LEGAL_CASE_EMPLOYER.attorney_discovery_flag%TYPE,
atty_other_firm_seq_num_in IN LEGAL_CASE_EMPLOYER.attorney_other_firm_seq_num%TYPE,
atty_legal_person_seq_num_in IN LEGAL_CASE_EMPLOYER.attorney_legal_person_seq_num%TYPE );
/********************************************
** UPDATE PROCEDURE FOR TABLE "LEGAL.LEGAL_CASE_EMPLOYER"
** DATE: 03-SEP-03 08:43:30
*********************************************/
PROCEDURE legal_case_employer_update
(
legal_case_employer_seq_num_in IN LEGAL_CASE_EMPLOYER.legal_case_employer_seq_num%TYPE,
legal_case_seq_num_in IN LEGAL_CASE_EMPLOYER.legal_case_seq_num%TYPE,
other_firm_seq_num_in IN LEGAL_CASE_EMPLOYER.employer_other_firm_seq_num%TYPE,
discovery_flag_in IN LEGAL_CASE_EMPLOYER.employer_discovery_flag%TYPE,
attorney_discovery_flag_in IN LEGAL_CASE_EMPLOYER.attorney_discovery_flag%TYPE,
atty_other_firm_seq_num_in IN LEGAL_CASE_EMPLOYER.attorney_other_firm_seq_num%TYPE,
atty_legal_person_seq_num_in IN LEGAL_CASE_EMPLOYER.attorney_legal_person_seq_num%TYPE
);
PROCEDURE GetWorkerAtty(recordset OUT ref_cursor, inFirmLocID IN NUMBER, inAttyLocID IN NUMBER);
TYPE AttyLeave_rec IS RECORD
(schedule_emplid ATTORNEY_SCHEDULE.schedule_emplid%TYPE,
atty_name VARCHAR2(80),
vac_days NUMBER,
med_days NUMBER);
TYPE AttyLeaveCursor IS REF CURSOR RETURN AttyLeave_rec;
PROCEDURE GetAttyLeaveReport(inStartDate IN DATE,
inStopDate IN DATE,
recordset OUT AttyLeaveCursor);
PROCEDURE alertlegalcase(inClaimId IN NUMBER, OutAlertFlag OUT VARCHAR2 ) ;
PROCEDURE SelectImageAlertsHist(inCaseSeqNum IN NUMBER, recordset OUT ref_cursor);
PROCEDURE SelectLegalEmployees(recordset OUT ref_cursor);
PROCEDURE getPolicyAddresses(inPolicyNum IN NUMBER,
recordset OUT ref_cursor);
END;
PL/SQL package/procedure body
PACKAGE BODY Pk80001_Legalnet AS
/*****************************************************************
*Package Title :
*Name : pk80001_legalnet
*****************************************************************
*Description:
* find a legal case based on claim, wcb or dcbs number.
*
*PROGRAMMER ANALYST DATE MOD #
* Melhil 03/11/2010 Remove legacy log, get supervisor from ADP not claim_supervisor table
* Tony Busch 07/27/2005 Change PROVIDER_LOCATION_ID to PROVIDER_LOCATION_SEQ_NUM.
* Melhil 01/06/2008 Add amount per hour to case cost
*******************************************************************/
PROCEDURE findCase(recordset OUT ref_cursor, in_num IN VARCHAR2)
AS
v_count NUMBER;
BEGIN
SELECT COUNT(*) INTO v_count
FROM LEGAL_CASE
WHERE wcb_num = in_num;
IF v_count > 0 THEN
OPEN recordset FOR
SELECT
DISTINCT l.legal_case_seq_num LegalCaseSeqNum,
l.wcb_num as WcbNum,
l.claim_id claimId,
l.dcbs_num dcbsNum,
l.owcp_num owcpNum,
l.oalj_num oaljNum,
brb_num brbNum,
s.code_descr AS caseStatus,
t.code_descr AS caseTypeCode
FROM LEGAL_CASE l,
CASE_STATUS_CODE s, CASE_TYPE_CODE t
WHERE l.wcb_num = in_num
AND l.CASE_STATUS_CODE = s.code
and L.CASE_TYPE_CODE = T.CODE;
ELSE
IF LENGTH(in_num) <= 7 THEN
SELECT COUNT(*) INTO v_count
FROM LEGAL_CASE
WHERE dcbs_num = in_num;
IF v_count > 0 THEN
OPEN recordset FOR
SELECT
DISTINCT l.legal_case_seq_num LegalCaseSeqNum,
l.wcb_num as WcbNum,
l.claim_id claimId,
l.dcbs_num dcbsNum,
l.owcp_num owcpNum,
l.oalj_num oaljNum,
brb_num brbNum,
s.code_descr AS caseStatus,
t.code_descr AS caseTypeCode
FROM LEGAL_CASE l,
CASE_STATUS_CODE s, CASE_TYPE_CODE t
WHERE l.dcbs_num = in_num
AND l.CASE_STATUS_CODE = s.code
and L.CASE_TYPE_CODE = T.CODE;
ELSE
SELECT COUNT(*) INTO v_count
FROM LEGAL_CASE
WHERE owcp_num = in_num;
IF v_count > 0 THEN
OPEN recordset FOR
SELECT
DISTINCT l.legal_case_seq_num LegalCaseSeqNum,
l.wcb_num as WcbNum,
l.claim_id claimId,
l.dcbs_num dcbsNum,
l.owcp_num owcpNum,
l.oalj_num oaljNum,
brb_num brbNum,
s.code_descr AS caseStatus,
t.code_descr AS caseTypeCode
FROM LEGAL_CASE l,
CASE_STATUS_CODE s, CASE_TYPE_CODE t
WHERE (l.owcp_num = in_num)
AND l.CASE_STATUS_CODE = s.code
and L.CASE_TYPE_CODE = T.CODE;
ELSE
SELECT COUNT(*) INTO v_count
FROM LEGAL_CASE
WHERE oalj_num = in_num;
IF v_count > 0 THEN
OPEN recordset FOR
SELECT
DISTINCT l.legal_case_seq_num LegalCaseSeqNum,
l.wcb_num as WcbNum,
l.claim_id claimId,
l.dcbs_num dcbsNum,
l.owcp_num owcpNum,
l.oalj_num oaljNum,
brb_num brbNum,
s.code_descr AS caseStatus,
t.code_descr AS caseTypeCode
FROM LEGAL_CASE l,
CASE_STATUS_CODE s, CASE_TYPE_CODE t
WHERE oalj_num = in_num
AND l.CASE_STATUS_CODE = s.code
and L.CASE_TYPE_CODE = T.CODE;
ELSE
SELECT COUNT(*) INTO v_count
FROM LEGAL_CASE
WHERE brb_num = in_num;
IF v_count > 0 THEN
OPEN recordset FOR
SELECT
DISTINCT l.legal_case_seq_num LegalCaseSeqNum,
l.wcb_num as WcbNum,
l.claim_id claimId,
l.dcbs_num dcbsNum,
l.owcp_num owcpNum,
l.oalj_num oaljNum,
brb_num brbNum,
s.code_descr AS caseStatus,
t.code_descr AS caseTypeCode
FROM LEGAL_CASE l,
CASE_STATUS_CODE s, CASE_TYPE_CODE t
WHERE l.brb_num = in_num
AND l.CASE_STATUS_CODE = s.code
and L.CASE_TYPE_CODE = T.CODE;
ELSE
OPEN recordset FOR
SELECT
DISTINCT l.legal_case_seq_num LegalCaseSeqNum,
l.wcb_num as WcbNum,
l.claim_id claimId,
l.dcbs_num dcbsNum,
l.owcp_num owcpNum,
l.oalj_num oaljNum,
brb_num brbNum,
s.code_descr AS caseStatus,
t.code_descr AS caseTypeCode
FROM LEGAL_CASE l,
CASE_STATUS_CODE s, APPEAL A, CASE_TYPE_CODE t
WHERE A.appeal_num = in_num
AND l.CASE_STATUS_CODE = s.code
AND l.legal_case_seq_num = A.legal_case_seq_num
and L.CASE_TYPE_CODE = T.CODE;
END IF;
END IF;
END IF;
END IF;
END IF;
END IF;
END findcase;
FUNCTION get_hearing_date (in_case_seq IN LEGAL_CASE.legal_case_seq_num%TYPE)
RETURN DATE AS
v_hear_date DATE;
BEGIN
BEGIN
SELECT MAX(sch.schedule_date)
INTO v_hear_date
FROM LEGAL_CASE cas,
SCHEDULE sch,
CONSOLIDATED_CASE c
WHERE cas.LEGAL_CASE_SEQ_NUM = in_case_seq
AND sch.schedule_seq_num =
(SELECT MAX(schedule_seq_num)
FROM SCHEDULE sch2, CONSOLIDATED_CASE c2
WHERE ((sch2.LEGAL_CASE_SEQ_NUM = cas.LEGAL_CASE_SEQ_NUM)
OR (c2.secondary_case_seq_num = in_case_seq
AND sch2.legal_case_seq_num = c2.primary_case_seq_num))
AND sch2.SCHEDULE_TYPE_CODE = 'HEAR');
EXCEPTION
WHEN NO_DATA_FOUND THEN
NULL;
END;
RETURN v_hear_Date;
END get_hearing_date;
FUNCTION get_consolidated_hearing_seq (in_case_seq IN LEGAL_CASE.legal_case_seq_num%TYPE)
RETURN NUMBER AS
v_hear_seq NUMBER(15,0);
BEGIN
BEGIN
SELECT cas.most_recent_hearing_seq_num
INTO v_hear_seq
FROM LEGAL_CASE cas,
CONSOLIDATED_CASE con
WHERE con.secondary_case_seq_num = in_case_seq
AND con.primary_case_seq_num = cas.legal_case_seq_num;
EXCEPTION
WHEN NO_DATA_FOUND THEN
NULL;
END;
RETURN v_hear_seq;
END get_consolidated_hearing_seq;
FUNCTION get_hearingID(in_case_seq IN LEGAL_CASE.legal_case_seq_num%TYPE)
RETURN NUMBER AS
v_hear_seq NUMBER(15,0);
BEGIN
BEGIN
SELECT MAX(sch.SCHEDULE_SEQ_NUM)
INTO v_hear_seq
FROM LEGAL_CASE cas,
SCHEDULE sch
WHERE cas.LEGAL_CASE_SEQ_NUM = in_case_seq
AND sch.schedule_seq_num =
(SELECT MAX(schedule_seq_num)
FROM SCHEDULE sch2, CONSOLIDATED_CASE c2
WHERE ((sch2.LEGAL_CASE_SEQ_NUM = cas.LEGAL_CASE_SEQ_NUM)
OR (c2.secondary_case_seq_num = in_case_seq
AND sch2.legal_case_seq_num = c2.primary_case_seq_num))
AND sch2.SCHEDULE_TYPE_CODE = 'HEAR');
EXCEPTION
WHEN NO_DATA_FOUND THEN
NULL;
END;
IF v_hear_seq IS NULL THEN
BEGIN
SELECT MAX(sch.SCHEDULE_SEQ_NUM)
INTO v_hear_seq
FROM LEGAL_CASE cas,
SCHEDULE sch
WHERE cas.LEGAL_CASE_SEQ_NUM = in_case_seq
AND sch.LEGAL_CASE_SEQ_NUM = CAS.LEGAL_CASE_SEQ_NUM
AND sch.SCHEDULE_TYPE_CODE = 'HEAR';
EXCEPTION
WHEN NO_DATA_FOUND THEN
NULL;
END;
END IF;
RETURN v_hear_seq;
END get_hearingID;
FUNCTION get_asgn_atty(IN_case_Seq_num IN LEGAL_CASE.legal_case_seq_num%TYPE)
RETURN VARCHAR2 AS
v_atty VARCHAR2(50);
BEGIN
BEGIN
SELECT LAST_NAME || ', ' || DECODE(preferred_name, ' ', FIRST_NAME,preferred_name)
INTO v_atty
FROM LEGAL_CASE cas,
APPEAL app,
adp_employee emp
WHERE cas.legal_case_seq_num = in_case_Seq_num
AND app.legal_case_seq_num = cas.legal_case_seq_num
AND app.appeal_seq_num =
(SELECT MAX(appeal_seq_num)
FROM APPEAL a2
WHERE a2.legal_case_Seq_num = cas.legal_case_seq_num)
AND emp.emplid = app.atty_emplid;
EXCEPTION
WHEN NO_DATA_FOUND THEN
BEGIN
SELECT LAST_NAME || ', ' || DECODE(preferred_name, ' ', FIRST_NAME,preferred_name)
INTO v_atty
FROM LEGAL_CASE cas,
SCHEDULE sch,
adp_employee emp
WHERE cas.legal_case_seq_num = in_case_Seq_num
AND emp.emplid = sch.asgn_attorney_emplid
AND cas.most_recent_hearing_seq_num = sch.schedule_seq_num;
EXCEPTION
WHEN NO_DATA_FOUND THEN
BEGIN
SELECT FIRM_NAME INTO v_atty
FROM LEGAL_CASE cas,
SCHEDULE sch,
OTHER_FIRM frm
WHERE cas.legal_case_seq_num = in_case_Seq_num
AND frm.other_firm_seq_num = sch.asgn_other_firm_Seq_num
AND cas.most_recent_hearing_seq_num = sch.schedule_seq_num;
EXCEPTION
WHEN NO_DATA_FOUND THEN
v_atty := '';
END;
END;
END;
RETURN v_atty;
END get_asgn_atty;
FUNCTION get_asgn_atty_id(IN_case_Seq_num IN
LEGAL_CASE.legal_case_seq_num%TYPE) RETURN VARCHAR2 AS
v_atty_id ATTORNEY_PROFILE.profile_emplid%TYPE;
BEGIN
BEGIN
SELECT emp.emplid INTO v_atty_id
FROM LEGAL_CASE cas,
APPEAL app,
adp_employee emp
WHERE cas.legal_case_seq_num = in_case_Seq_num
AND app.legal_case_seq_num = cas.legal_case_seq_num
AND app.appeal_seq_num =
(SELECT MAX(appeal_seq_num)
FROM APPEAL a2
WHERE a2.legal_case_Seq_num = cas.legal_case_seq_num)
AND emp.emplid = app.atty_emplid;
EXCEPTION
WHEN NO_DATA_FOUND THEN
BEGIN
SELECT emp.emplid INTO v_atty_id
FROM LEGAL_CASE cas,
SCHEDULE sch,
adp_employee emp
WHERE cas.legal_case_seq_num = in_case_Seq_num
AND emp.emplid = sch.asgn_attorney_emplid
AND cas.most_recent_hearing_seq_num = sch.schedule_seq_num;
EXCEPTION
WHEN NO_DATA_FOUND THEN
BEGIN
SELECT 'OUTSIDECNCL' INTO v_atty_ID
FROM LEGAL_CASE cas,
SCHEDULE sch
WHERE cas.legal_case_seq_num = in_case_Seq_num
AND sch.asgn_other_firm_Seq_num IS NOT NULL
AND cas.most_recent_hearing_seq_num = sch.schedule_seq_num;
EXCEPTION
WHEN NO_DATA_FOUND THEN
v_atty_id := '';
END;
END;
END;
RETURN v_atty_id;
END get_asgn_atty_id;
FUNCTION get_atty_mngr_email(aLegalCaseNum IN NUMBER)
RETURN VARCHAR2 AS
v_email VARCHAR2(50);
BEGIN
BEGIN
SELECT EMAIL_ADDRESS INTO v_email
FROM LEGAL_CASE cas,
SCHEDULE sch,
adp_employee emp,
ATTORNEY_PROFILE P
WHERE cas.legal_case_seq_num = aLegalCaseNum
AND cas.most_recent_hearing_seq_num = sch.schedule_seq_num
AND P.profile_emplid = sch.asgn_attorney_emplid
AND P.manager_emplid = emp.emplid;
EXCEPTION
WHEN NO_DATA_FOUND THEN
BEGIN
SELECT EMAIL_ADDRESS INTO v_email
FROM LEGAL_CASE cas,
SCHEDULE sch,
adp_employee emp,
ATTORNEY_PROFILE P
WHERE cas.legal_case_seq_num = aLegalCaseNum
AND cas.most_recent_hearing_seq_num = sch.schedule_seq_num
AND P.profile_emplid = 'OUTSIDECNCL'
AND sch.asgn_other_firm_seq_num IS NOT NULL
AND P.manager_emplid = emp.emplid;
EXCEPTION
WHEN NO_DATA_FOUND THEN
v_email := 'NONE';
END;
END;
RETURN v_email;
END get_atty_mngr_email;
FUNCTION get_mailid_for_emplid(inEmplid IN VARCHAR2) RETURN VARCHAR2
AS
v_mailid VARCHAR2(50);
BEGIN
BEGIN
SELECT user_id INTO v_mailid
FROM adp_employee
WHERE emplid = inEmplid;
EXCEPTION
WHEN NO_DATA_FOUND THEN
v_mailid := '';
END;
RETURN v_mailid;
END get_mailid_for_emplid;
FUNCTION get_case_num(aLegalCaseNum IN NUMBER)
RETURN VARCHAR2 AS
v_num VARCHAR2(15) := ' ';
BEGIN
BEGIN
SELECT wcb_num INTO v_num
FROM LEGAL_CASE
WHERE legal_case_seq_num = aLegalCaseNum
AND wcb_num IS NOT NULL
UNION
SELECT dcbs_num
FROM LEGAL_CASE
WHERE legal_case_seq_num = aLegalCaseNum
AND wcb_num IS NULL
AND dcbs_num IS NOT NULL
UNION
SELECT owcp_num
FROM LEGAL_CASE
WHERE legal_case_seq_num = aLegalCaseNum
AND wcb_num IS NULL
AND dcbs_num IS NULL
AND owcp_num IS NOT NULL
UNION
SELECT oalj_num
FROM LEGAL_CASE
WHERE legal_case_seq_num = aLegalCaseNum
AND wcb_num IS NULL
AND dcbs_num IS NULL
AND owcp_num IS NULL
AND oalj_num IS NOT NULL
UNION
SELECT brb_num
FROM LEGAL_CASE
WHERE legal_case_seq_num = aLegalCaseNum
AND wcb_num IS NULL
AND dcbs_num IS NULL
AND owcp_num IS NULL
AND oalj_num IS NULL
AND brb_num IS NOT NULL;
EXCEPTION
WHEN NO_DATA_FOUND THEN
v_num := ' ';
END;
RETURN v_num;
END get_case_num;
FUNCTION get_case_issue_codes (in_case_seq_num
NUMBER) RETURN VARCHAR2 AS
v_dummy VARCHAR2(100) := '';
CURSOR get_issues_cur IS
SELECT FORM_REQUEST_CODE
FROM REQUEST_ISSUE_CODE C, REQUEST_ISSUE I
WHERE I.REQUEST_ISSUE_CODE = c.code
AND I.legal_case_seq_num = in_case_seq_num
ORDER BY FORM_REQUEST_CODE;
issue_rec get_issues_cur%ROWTYPE;
BEGIN
OPEN get_issues_cur;
FETCH get_issues_cur INTO issue_rec;
WHILE get_issues_cur%FOUND
LOOP
v_dummy := v_dummy || issue_rec.form_request_code || ' ';
FETCH get_issues_cur INTO issue_rec;
END LOOP;
CLOSE get_issues_cur;
RETURN v_dummy;
END;
FUNCTION get_case_issue_text (in_case_seq_num
NUMBER) RETURN VARCHAR2 AS
v_dummy VARCHAR2(200) := '';
CURSOR get_issues_cur IS
SELECT trim(SHORT_DESCR) AS code_descr
FROM REQUEST_ISSUE_CODE C, REQUEST_ISSUE I
WHERE I.REQUEST_ISSUE_CODE = c.code
AND I.legal_case_seq_num = in_case_seq_num
ORDER BY CODE_DESCR;
issue_rec get_issues_cur%ROWTYPE;
BEGIN
OPEN get_issues_cur;
FETCH get_issues_cur INTO issue_rec;
WHILE get_issues_cur%FOUND
LOOP
v_dummy := v_dummy || issue_rec.code_descr || ' ';
FETCH get_issues_cur INTO issue_rec;
END LOOP;
CLOSE get_issues_cur;
RETURN v_dummy;
END;
PROCEDURE Casesearch(recordset OUT search_cursor,
claimIdsCommaDelimited IN VARCHAR2,
includeClosed IN VARCHAR2) AS
v_status_code VARCHAR2(5);
V_EMPR_NUM NUMBER;
BEGIN
IF includeClosed = 'Y' THEN
v_status_code := 'NONE';
ELSE
v_status_code := 'CLOSE';
END IF;
OPEN recordset FOR
SELECT /*+ FIRST_ROWS */
get_case_num(cas.legal_case_seq_num) AS wcb_num,
sts.code_descr AS case_status,
get_asgn_atty(cas.Legal_Case_seq_Num) AS atty_name,
TO_CHAR(schedule_date,'MM/DD/YYYY') AS hearing_date,
get_case_issue_codes(cas.legal_case_seq_num) AS REQUEST_ISSUE,
req.code_descr AS requested_by,
cas.legal_case_seq_num,
CAS.claim_id
FROM LEGAL_CASE cas,
SCHEDULE s,
CASE_STATUS_CODE sts,
REQUESTED_BY_CODE req
WHERE
cas.claim_id IN (
-- https://blogs.oracle.com/sql/post/split-comma-separated-values-into-rows-in-oracle-database
with claimsString as (
select claimIdsCommaDelimited str from dual
)
select regexp_substr (claimIdsCommaDelimited, '[^,]+', 1, level) value
from claimsString
connect by level <=
length ( claimIdsCommaDelimited ) - length ( replace ( claimIdsCommaDelimited, ',' ) ) + 1
)
AND cas.most_recent_hearing_seq_num = s.schedule_seq_num (+)
AND cas.CASE_STATUS_CODE = sts.code
AND cas.REQUESTED_BY_CODE = req.code
AND cas.CASE_STATUS_CODE <> v_status_code
ORDER BY 1;
END Casesearch;
PROCEDURE updateCaseStatus(aLegalCaseNum IN NUMBER, newStatus IN VARCHAR2,
updateDate IN DATE, updateUser IN VARCHAR2)
AS BEGIN
UPDATE LEGAL_CASE
SET CASE_STATUS_CODE = newStatus,
update_date = updateDate,
update_user = updateUser
WHERE legal_case_seq_num = aLegalCaseNum;
-- Update consolidated Cases too ---
UPDATE LEGAL_CASE
SET CASE_STATUS_CODE = newStatus,
update_date = updateDate,
update_user = updateUser
WHERE legal_case_seq_num IN
(SELECT secondary_case_seq_num
FROM CONSOLIDATED_CASE
WHERE primary_case_seq_num = aLegalCaseNum);
END updateCaseStatus;
PROCEDURE updateHearingSeqNum(aLegalCaseNum IN NUMBER)
AS v_hear_seq NUMBER(15,0);
BEGIN
BEGIN
SELECT MAX(schedule_seq_num)
INTO v_hear_seq
FROM SCHEDULE s, CONSOLIDATED_CASE c
WHERE c.secondary_case_seq_num = aLegalCaseNum
AND s.legal_case_seq_num = c.primary_case_seq_num
AND s.SCHEDULE_TYPE_CODE = 'HEAR';
EXCEPTION
WHEN NO_DATA_FOUND THEN
NULL;
END;
IF v_hear_seq IS NULL THEN
BEGIN
SELECT MAX(schedule_seq_num)
INTO v_hear_seq
FROM SCHEDULE s
WHERE s.legal_case_seq_num = aLegalCaseNum
AND s.SCHEDULE_TYPE_CODE = 'HEAR';
EXCEPTION
WHEN NO_DATA_FOUND THEN
NULL;
END;
END IF;
IF v_hear_seq IS NULL THEN
BEGIN
SELECT MAX(schedule_seq_num)
INTO v_hear_seq
FROM SCHEDULE s
WHERE s.legal_case_seq_num = aLegalCaseNum
AND (s.SCHEDULE_TYPE_CODE = 'CCALL'
OR s.SCHEDULE_TYPE_CODE = 'INCON'
OR s.SCHEDULE_TYPE_CODE = 'MED');
EXCEPTION
WHEN NO_DATA_FOUND THEN
NULL;
END;
END IF;
UPDATE LEGAL_CASE
SET most_recent_hearing_seq_num = v_hear_seq
WHERE legal_case_seq_num = aLegalCaseNum;
-- Update consolidated Cases too ---
UPDATE LEGAL_CASE
SET most_recent_hearing_seq_num = v_hear_seq
WHERE legal_case_seq_num IN
(SELECT secondary_case_seq_num
FROM CONSOLIDATED_CASE
WHERE primary_case_seq_num = aLegalCaseNum);
END updateHearingSeqNum;
PROCEDURE getLCE(LegalCaseID IN NUMBER,
Recordset OUT ref_cursor)
AS BEGIN OPEN recordset FOR
SELECT LEGAL_CASE_EVALUATION_SEQ_NUM EvaluationID,
LEGAL_CASE_SEQ_NUM LegalCaseID,
LCE_EXCUSED_FLAG IsExcused,
LCE_DUE_DATE DueDate, LCE_FILED_DATE FiledDate,
ADJUSTER_EMPLID AdjusterEmployeeID, CASE_TRANSFER_DATE CaseTransferDate,
CREATE_DATE CreateDate, CREATE_USER CreateUser,
UPDATE_DATE UpdateDate, UPDATE_USER UpdateUser,
ASGN_ATTY_EMPLID AsgnAttyEmplid
FROM LEGAL_CASE_EVALUATION
WHERE LEGAL_CASE_SEQ_NUM = LegalCaseID
ORDER BY legal_case_evaluation_seq_num DESC;
END getLCE;
Function updateLCE(EvaluationID IN NUMBER, IsExcused IN VARCHAR2, dueDate IN DATE,
filedDate IN DATE, AdjusterEmployeeID IN VARCHAR2, casetransferDate IN DATE,
updateDate IN DATE, updateUser IN VARCHAR2,
AsgnAttyEmplid IN VARCHAR2) return number
AS BEGIN
UPDATE LEGAL_CASE_EVALUATION
SET lce_excused_flag = IsExcused,
lce_due_date = dueDate,
lce_filed_date = filedDate,
adjuster_emplid = AdjusterEmployeeID,
case_transfer_date = caseTransferDate,
update_date = updateDate,
update_user = updateUser,
asgn_atty_emplid = AsgnAttyEmplid
WHERE legal_case_evaluation_seq_num = EvaluationID;
return sql%rowcount;
END updateLCE;
Function insertLCE(EvaluationID IN NUMBER, LegalCaseID in number,
IsExcused IN VARCHAR2, dueDate IN DATE,
filedDate IN DATE, AdjusterEmployeeID IN VARCHAR2, casetransferDate IN DATE,
createDate IN DATE, createUser IN VARCHAR2,
AsgnAttyEmplid IN VARCHAR2)
return number
AS BEGIN
INSERT INTO LEGAL_CASE_EVALUATION
(legal_case_evaluation_seq_num, legal_case_seq_num,
lce_excused_flag, lce_due_date,
lce_filed_date, adjuster_emplid,
case_transfer_date, create_date, create_user, asgn_atty_emplid)
VALUES
(EvaluationID, LegalCaseID, Isexcused, dueDate, filedDate,
AdjusterEmployeeID, casetransferDate, createDate, createUser,
AsgnAttyEmplid);
return sql%rowcount;
EXCEPTION
WHEN OTHERS THEN
RAISE_APPLICATION_ERROR(-20004,
'Error in insertLCE: '||SQLERRM);
END insertLCE;
PROCEDURE getSchedule(LegalCaseSeqNum IN NUMBER,
recordset OUT ref_cursor) AS
BEGIN
OPEN Recordset FOR
SELECT schedule_seq_num as ScheduleSeqNum,
legal_case_seq_num as LegalCaseSeqNum,
schedule_date as ScheduleDate,
schedule_time as ScheduleTime,
alj_person_seq_num as AljPersonSeqNum,
hearing_location_Seq_num as HearingLocationSeqNum,
asgn_attorney_emplid as AsgnAttorneyEmplid,
DURATION_CODE as DurationCode,
SCHEDULE_TYPE_CODE as ScheduleTypeCode,
SCHEDULE_STATUS_CODE as ScheduleStatusCode,
KEEP_ATTORNEY_FLAG as KeepAttorneyFlag,
assigned_date as AssignedDate,
reminder_date as ReminderDate,
schedule_text as ScheduleText,
create_user as CreateUser,
create_date as CreateDate,
update_user as UpdateUser,
update_date as UpdateDate,
asgn_other_firm_seq_num as AsgnOtherFirmSeqNum,
asgn_person_seq_num as AsgnPersonSeqNum
FROM SCHEDULE
WHERE legal_case_seq_num = LegalCaseSeqNum
UNION
SELECT schedule_seq_num,
legal_case_seq_num,
schedule_date,
schedule_time,
alj_person_seq_num,
hearing_location_Seq_num,
asgn_attorney_emplid,
DURATION_CODE,
SCHEDULE_TYPE_CODE,
SCHEDULE_STATUS_CODE,
keep_attorney_flag,
assigned_date,
reminder_date,
schedule_text,
s.create_user,
s.create_date,
s.update_user,
s.update_date,
asgn_other_firm_seq_num,
asgn_person_seq_num
FROM SCHEDULE s, CONSOLIDATED_CASE c
WHERE c.secondary_case_seq_num = LegalCaseSeqNum
AND c.primary_case_seq_num = s.legal_case_seq_num
ORDER BY ScheduleSeqNum;
END getSchedule;
Function updateSchedule(ScheduleSeqNum IN NUMBER,
ScheduleDate IN DATE, ScheduleTime IN VARCHAR2, AljPersonSeqNum IN NUMBER,
HearingLocationSeqNum IN NUMBER, AsgnAttorneyEmplid IN VARCHAR2, DurationCode IN VARCHAR2,
ScheduleTypeCode IN VARCHAR2, ScheduleStatusCode IN VARCHAR2, KeepAttorneyFlag IN VARCHAR2,
AssignedDate IN DATE, ReminderDate IN DATE, ScheduleText IN VARCHAR2,
UpdateDate IN DATE, UpdateUser IN VARCHAR2,
AsgnOtherFirmSeqNum IN NUMBER, AsgnPersonSeqNum IN NUMBER)
RETURN NUMBER
IS
v_update_count NUMBER;
BEGIN
UPDATE SCHEDULE
SET schedule_date = ScheduleDate,
schedule_time = ScheduleTime,
alj_person_Seq_num = decode(AljPersonSeqNum, 0, null, AljPersonSeqNum),
hearing_location_seq_num = decode(HearingLocationSeqNum, 0, null, HearingLocationSeqNum),
asgn_attorney_emplid = AsgnAttorneyEmplid,
DURATION_CODE = durationCode,
SCHEDULE_TYPE_CODE = ScheduleTypeCode,
SCHEDULE_STATUS_CODE = ScheduleStatusCode,
keep_attorney_flag = KeepAttorneyFlag,
assigned_date = AssignedDate,
reminder_date = reminderDate,
schedule_text = ScheduleText,
update_date = updateDate,
update_user = updateUser,
asgn_Other_Firm_Seq_Num = asgnOtherFirmSeqNum,
asgn_Person_Seq_Num = asgnPersonSeqNum
WHERE schedule_seq_num = ScheduleSeqNum;
v_update_count := SQL%Rowcount;
RETURN v_update_count;
END updateSchedule;
Function insertSchedule(ScheduleSeqNum IN NUMBER, LegalCaseSeqNum IN NUMBER,
ScheduleDate IN DATE, ScheduleTime IN VARCHAR2, AljPersonSeqNum IN NUMBER,
HearingLocationSeqNum IN NUMBER, AsgnAttorneyEmplid IN VARCHAR2, DurationCode IN VARCHAR2,
ScheduleTypeCode IN VARCHAR2, ScheduleStatusCode IN VARCHAR2, KeepAttorneyFlag IN VARCHAR2,
AssignedDate IN DATE, ReminderDate IN DATE, ScheduleText IN VARCHAR2,
createDate IN DATE, createUser IN VARCHAR2,
asgnOtherFirmSeqNum IN NUMBER, asgnPersonSeqNum IN NUMBER)
RETURN NUMBER
IS
v_update_count NUMBER;
BEGIN
INSERT INTO SCHEDULE
(schedule_seq_num, legal_case_seq_num,
schedule_date, schedule_time,
alj_person_Seq_num, hearing_location_seq_num,
asgn_attorney_emplid, DURATION_CODE,
SCHEDULE_TYPE_CODE, SCHEDULE_STATUS_CODE,
keep_attorney_flag, assigned_date,
reminder_date, schedule_text, create_date, create_user,
asgn_Other_Firm_Seq_Num, asgn_Person_Seq_Num,
update_user, update_date)
VALUES
(ScheduleSeqNum, LegalCaseSeqNum,
ScheduleDate, ScheduleTime, decode(aljPersonSeqNum, 0, null, aljPersonSeqNum),
decode(HearinglocationSeqNum, 0, null, HearinglocationSeqNum), AsgnAttorneyEmplid, durationCode,
ScheduletypeCode, SchedulestatusCode, keepAttorneyFlag,
assignedDate, reminderDate, ScheduleText,
createDate, createUser, asgnOtherFirmSeqNum,
asgnPersonSeqNum, createUser, createDate);
v_update_count := SQL%Rowcount;
RETURN v_update_count;
END insertSchedule;
Function deleteSchedule(ScheduleSeqNum IN NUMBER)
RETURN NUMBER
IS
v_update_count NUMBER;
v_legalCaseNum NUMBER;
BEGIN
UPDATE LEGAL_CASE
SET most_recent_hearing_seq_num = NULL
WHERE most_recent_hearing_seq_num = ScheduleSeqNum;
UPDATE APPEAL
SET schedule_seq_num = NULL
WHERE schedule_seq_num = ScheduleSeqNum;
DELETE FROM ASSIGNMENT_RESULT WHERE schedule_seq_num = ScheduleSeqNum;
DELETE FROM SCHEDULE WHERE schedule_seq_num = ScheduleSeqNum;
v_update_count := SQL%Rowcount;
RETURN v_update_count;
END deleteSchedule;
PROCEDURE getLegalCase(LegalCaseSeqNum IN NUMBER,
ClaimId in Number,
recordset IN OUT ref_cursor)
AS BEGIN OPEN recordset FOR
SELECT LEGAL_CASE_SEQ_NUM LegalCaseSeqNum,
CASE_TYPE_CODE CaseTypeCode,
REQUEST_TYPE_CODE RequestTypeCode,
WCB_NUM WcbNum,
get_case_num(LegalCaseSeqNum) AS CASE_NUM,
DCBS_NUM DcbsNum,
CASE_STATUS_CODE CaseStatusCode,
CLAIM_ID ClaimID,
REQUEST_DATE RequestDate,
WORKER_ATTY_FIRM_PROV_LOC_ID WorkerAttyFirmProvLocID,
WORKER_ATTY_PROV_LOC_ID WorkerAttyProvLocID,
OAR_DUE_DATE OarDueDate,
OAR_MAILED_DATE OarMailedDate,
LEGAL_FILE_CREATE_DATE LegalFileCreateDate,
CASE_WEIGHT_VALUE CaseWeightValue,
ACKNOWLEDGE_DATE AcknowledgeDate,
REQUEST_NEW_WCB_NUM_FLAG RequestNewWcbNumFlag,
REQUESTED_BY_CODE RequestedBYCode,
REQUEST_RECEIPT_DATE RequestReceiptDate,
REQUEST_POSTMARK_DATE RequestPostmarkDate,
REQUEST_ALL_DAY_HEARING_FLAG RequestAllDayHearingFlag,
STRESS_CLAIM_FLAG StressClaimFlag,
RECON_PACKET_RECEIVED_DATE ReconPacketReceivedDate,
DISMISSAL_DATE DismissalDate,
SETTLEMENT_DATE SettlementDate,
SEND_DEF_FLAG SendDefFlag,
RECON_LETTER_MAILED_DATE ReconLetterMailedDate,
DEF_SENT_DATE DefSentDate,
EMPLOYER_EVALUATION_NUM EmployerEvaluationNum,
CONSOLIDATE_CASE_FLAG ConsolidateCaseFlag,
OWCP_NUM OwcpNum,
OALJ_NUM OaljNum,
BRB_NUM BrbNum,
CREATE_DATE CreateDate,
CREATE_USER CreateUser,
UPDATE_DATE UpdateDate,
UPDATE_USER UpdateUser,
MOST_RECENT_HEARING_SEQ_NUM as MostRecentHearingSeqNum,
CLAIM_IMAGE_ALERTS_FLAG ClaimImageAlertsFlag,
getClaimImageAlertsUpdateDate(LegalCaseSeqNum) AS ClaimImageAlertsUpdateDate
FROM LEGAL_CASE C
WHERE (legal_case_seq_num = LegalCaseSeqNum and ClaimId = 0)
OR (LegalCaseSeqNum = 0 and Claim_id = ClaimId);
END getLegalCase;
FUNCTION getClaimImageAlertsUpdateDate(aLegalCaseNum IN NUMBER)
RETURN DATE
IS
v_alert_date DATE;
BEGIN
BEGIN
SELECT MAX(UPDATE_DATE)
INTO v_alert_date
FROM CLAIM_IMAGE_ALERTS_HISTORY H
WHERE H.LEGAL_CASE_SEQ_NUM = aLegalCaseNum;
EXCEPTION
WHEN NO_DATA_FOUND THEN
NULL;
END;
RETURN v_alert_date;
END;
PROCEDURE setFileCreateDate(seqNums IN VARCHAR2, inDate IN DATE,
userid IN VARCHAR2)
IS
v_updatestmt VARCHAR2(5000);
BEGIN
v_updatestmt := 'Update legal_case ' ||
' set legal_file_create_date = ''' || inDate ||
''' , update_date = sysdate ' ||
' , update_user = ''' || userid ||
''' where legal_case_seq_num in (' || seqNums || ')';
-- dbms_output.put_line(v_updatestmt);
EXECUTE IMMEDIATE v_updatestmt;
END setFileCreateDate;
PROCEDURE mailDateList(recordset OUT ref_cursor, inType IN VARCHAR2)
AS BEGIN
IF intype = 'OAR' THEN
OPEN recordset FOR
SELECT /*+ FIRST_ROWS */
WCB_NUM wcbNum,
OAR_DUE_DATE oarDueDate,
OAR_MAILED_DATE oarMailedDate,
CAS.LEGAL_CASE_SEQ_NUM caseId,
CAS.CLAIM_ID claimId,
'N' AS MAILED,
'N' AS DONOTMAIL,
DECODE(NVL(CON.PRIMARY_CASE_SEQ_NUM,CAS.LEGAL_CASE_SEQ_NUM),
CAS.LEGAL_CASE_SEQ_NUM,'Y','N') AS PRIMARYFLAG
FROM LEGAL_CASE cas,
CONSOLIDATED_CASE CON
WHERE (OAR_DUE_DATE IS NOT NULL)
AND (OAR_MAILED_DATE IS NULL)
AND cas.CASE_STATUS_CODE <> 'CLOSE'
and cas.mail_oar_flag = 'Y'
AND CAS.LEGAL_CASE_SEQ_NUM = CON.SECONDARY_CASE_SEQ_NUM (+)
ORDER BY OAR_DUE_DATE;
ELSE
OPEN recordset FOR
SELECT /*+ FIRST_ROWS */
WCB_NUM wcbNum,
RECON_LETTER_MAILED_DATE AS OARDUEDATE,
RECON_PACKET_RECEIVED_DATE AS OARMAILEDDATE,
CAS.LEGAL_CASE_SEQ_NUM caseId,
CAS.CLAIM_ID claimId,
'N' AS MAILED,
'N' AS DONOTMAIL,
DECODE(NVL(CON.PRIMARY_CASE_SEQ_NUM,CAS.LEGAL_CASE_SEQ_NUM),
CAS.LEGAL_CASE_SEQ_NUM,'Y','N') AS PRIMARYFLAG
FROM LEGAL_CASE CAS,
CONSOLIDATED_CASE CON
WHERE (RECON_LETTER_MAILED_DATE IS NOT NULL)
AND (RECON_PACKET_RECEIVED_DATE IS NULL)
AND cas.CASE_STATUS_CODE <> 'CLOSE'
and cas.mail_oar_flag = 'Y'
AND CAS.LEGAL_CASE_SEQ_NUM = CON.SECONDARY_CASE_SEQ_NUM (+)
ORDER BY RECON_LETTER_MAILED_DATE;
END IF;
END mailDateList;
PROCEDURE setMailDate(seqNums IN VARCHAR2, inDate IN DATE,
inType IN VARCHAR2, userid IN VARCHAR2)
IS
v_updatestmt VARCHAR2(5000);
BEGIN
IF inType = 'OAR' THEN
v_updatestmt := 'Update legal_case ' ||
' set oar_mailed_date = ''' || inDate ||
''' , update_date = sysdate ' ||
' , update_user = ''' || userid ||
''' where legal_case_seq_num in (' || seqNums || ')';
-- dbms_output.put_line(v_updatestmt);
EXECUTE IMMEDIATE v_updatestmt;
ELSE
v_updatestmt := 'Update legal_case ' ||
' set recon_packet_received_date = ''' || inDate ||
''' , update_date = sysdate ' ||
' , update_user = ''' || userid ||
''' where legal_case_seq_num in (' || seqNums || ')';
-- dbms_output.put_line(v_updatestmt);
EXECUTE IMMEDIATE v_updatestmt;
END IF;
END setMailDate;
Function setNoMailDate(InseqNum IN NUMBER, inDate IN DATE,
inType IN VARCHAR2, userid IN VARCHAR2)
RETURN NUMBER
IS
v_update_count NUMBER;
Begin
IF inType = 'OAR' THEN
UPDATE LEGAL_CASE
SET oar_mailed_date =
(SELECT oar_mailed_date
FROM LEGAL_CASE
WHERE legal_case_seq_num =
(SELECT MAX(primary_case_seq_num)
FROM CONSOLIDATED_CASE
WHERE secondary_case_seq_num = InSeqNum)),
update_date = SYSDATE,
update_user = userid
WHERE legal_case_seq_num = InSeqNum;
ELSE
UPDATE LEGAL_CASE
SET recon_packet_received_date =
(SELECT recon_packet_received_date
FROM LEGAL_CASE
WHERE legal_case_seq_num =
(SELECT MAX(primary_case_seq_num)
FROM CONSOLIDATED_CASE
WHERE secondary_case_seq_num = InSeqNum)),
update_date = SYSDATE,
update_user = userid
WHERE legal_case_seq_num = InseqNum;
END IF;
v_update_count := SQL%Rowcount;
RETURN v_update_count;
END setNoMailDate;
Function setMailOARFlag(InseqNum IN NUMBER, userid IN VARCHAR2)
RETURN NUMBER
IS
v_update_count NUMBER;
Begin
UPDATE LEGAL_CASE
SET mail_oar_flag = 'N',
update_date = SYSDATE,
update_user = userid
WHERE legal_case_seq_num = InSeqNum;
v_update_count := SQL%Rowcount;
RETURN v_update_count;
END setMailOARFlag;
PROCEDURE getAppeal(LegalCaseID IN NUMBER,
Recordset OUT ref_cursor) AS
BEGIN
OPEN Recordset FOR
SELECT appeal_seq_num AppealID,
legal_case_seq_num LegalCaseID,
REVIEW_LEVEL_CODE ReviewLevelCode,
review_due_date ReviewDueDate,
review_filed_date ReviewFiledDate,
PETITIONER_RESPONDENT_CODE PetitionerRespondentCode,
approved_flag ApprovedFlag,
atty_emplid AttorneyEmployeeID,
brief1_due_date Brief1DueDate,
brief1_filed_date Brief1FiledDate,
brief2_due_date Brief2DueDate,
brief2_filed_date Brief2FiledDate,
brief3_due_date Brief3DueDate,
brief3_filed_date Brief3FiledDate,
appeal_num AppealNumber,
schedule_seq_num ScheduleID,
create_date CreateDate,
create_user CreateUser,
update_date UpdateDate,
update_user UpdateUser
FROM APPEAL
WHERE legal_case_seq_num = LegalCaseID
ORDER BY appeal_seq_num;
END getAppeal;
Function insertAppeal(AppealID IN NUMBER, LegalCaseID IN NUMBER,
reviewLevel IN VARCHAR2, dueDate IN DATE, filedDate IN DATE,
PetitionerRespondentCode IN VARCHAR2, approvedFlag IN VARCHAR2,
attyEmplid IN VARCHAR2,
brief1DueDate IN DATE, brief1FiledDate IN DATE,
brief2DueDate IN DATE, brief2FiledDate IN DATE,
brief3DueDate IN DATE, brief3FiledDate IN DATE,
appealNum IN VARCHAR2, ScheduleID IN NUMBER,
createDate IN DATE, createUser IN VARCHAR2)
RETURN NUMBER
AS BEGIN
INSERT INTO APPEAL
(appeal_seq_num, legal_case_seq_num, REVIEW_LEVEL_CODE,
review_due_date, review_filed_date,
PETITIONER_RESPONDENT_CODE, approved_flag,
atty_emplid, brief1_due_date, brief1_filed_date,
brief2_due_date, brief2_filed_date,
brief3_due_date, brief3_filed_date,
appeal_num, schedule_seq_num, create_date, create_user)
VALUES
(AppealID, LegalCaseID,
reviewLevel, dueDate, filedDate,
PetitionerRespondentCode, approvedFlag,
attyEmplid,
brief1DueDate, brief1FiledDate,
brief2DueDate, brief2FiledDate,
brief3DueDate, brief3FiledDate,
appealNum, ScheduleID,
createDate, createUser);
Return SQL%Rowcount;
EXCEPTION
WHEN OTHERS THEN
RAISE_APPLICATION_ERROR(-20004,
'Error in insertAppeal: '||SQLERRM);
END insertAppeal;
Function updateAppeal(AppealID IN NUMBER, LegalCaseID IN NUMBER,
reviewLevel IN VARCHAR2, dueDate IN DATE, filedDate IN DATE,
PetitionerRespondentCode IN VARCHAR2, approvedFlag IN VARCHAR2,
attyEmplid IN VARCHAR2,
brief1DueDate IN DATE, brief1FiledDate IN DATE,
brief2DueDate IN DATE, brief2FiledDate IN DATE,
brief3DueDate IN DATE, brief3FiledDate IN DATE,
appealNum IN VARCHAR2, ScheduleID IN NUMBER,
updateDate IN DATE, updateUser IN VARCHAR2)
RETURN NUMBER
AS BEGIN
UPDATE APPEAL
SET REVIEW_LEVEL_CODE = reviewLevel,
review_due_date = dueDate,
review_filed_date = filedDate,
PETITIONER_RESPONDENT_CODE = PetitionerRespondentCode,
approved_flag = approvedFlag,
atty_emplid = attyEmplid,
brief1_due_date = brief1DueDate,
brief1_filed_date = brief1FiledDate,
brief2_due_date = brief2DueDate,
brief2_filed_date = brief2FiledDate,
brief3_due_date = brief3DueDate,
brief3_filed_date = brief3FiledDate,
appeal_num = appealNum,
schedule_seq_num = ScheduleID,
update_date = updatedate,
update_user = updateUser
WHERE appeal_seq_num = AppealID;
Return SQL%Rowcount;
END updateAppeal;
PROCEDURE getAppealExtension(appealSeqNum IN NUMBER,
Recordset OUT ref_cursor)
AS BEGIN OPEN recordset FOR
SELECT appeal_extension_seq_num,
appeal_seq_num,
request_date,
days_requested
FROM APPEAL_EXTENSION
WHERE appeal_seq_num = appealSeqNum;
END getAppealExtension;
Function updateAppealExtension(
appealExtSeqNum IN NUMBER,
appealSeqNum IN NUMBER,
requestDate IN DATE,
daysRequested IN NUMBER)
RETURN NUMBER
AS BEGIN
UPDATE APPEAL_EXTENSION
SET request_date = requestDate,
days_requested = daysRequested
WHERE appeal_extension_Seq_num = appealExtSeqNum;
Return SQL%Rowcount;
END updateAppealExtension;
Function insertAppealExtension(
appealExtSeqNum IN NUMBER,
appealSeqNum IN NUMBER,
requestDate IN DATE,
daysRequested IN NUMBER)
RETURN NUMBER
AS BEGIN
INSERT INTO APPEAL_EXTENSION
(appeal_extension_seq_num,
appeal_seq_num,
request_date,
days_requested)
VALUES
(appealExtSeqNum,
appealSeqNum,
requestDate,
daysRequested);
Return SQL%Rowcount;
END insertAppealExtension;
Function deleteappeal (inlegalcaseseqnum IN NUMBER, inappealseqnum IN NUMBER)
RETURN NUMBER
AS
v_atty APPEAL.atty_emplid%TYPE;
v_review_level APPEAL.REVIEW_LEVEL_CODE%TYPE;
v_sched_seq APPEAL.schedule_seq_num%TYPE;
v_prior_level APPEAL.REVIEW_LEVEL_CODE%TYPE;
v_prior_atty APPEAL.atty_emplid%TYPE;
v_prior_appeal APPEAL.appeal_seq_num%TYPE;
v_loc_emplid LEGAL_FILE_LOCATION.location_person_emplid%TYPE;
v_loc_code LEGAL_FILE_LOCATION.LEGAL_FILE_LOCATION_CODE%TYPE;
v_assgn_atty APPEAL.atty_emplid%TYPE;
v_cnt Number;
v_result Number;
BEGIN
BEGIN
SELECT atty_emplid, NVL(REVIEW_LEVEL_CODE,' '), schedule_seq_num
INTO v_atty, v_review_level, v_sched_seq
FROM APPEAL
WHERE appeal_seq_num = inappealseqnum;
END;
BEGIN
DELETE FROM APPEAL_EXTENSION
WHERE appeal_seq_num = inappealseqnum;
EXCEPTION
WHEN NO_DATA_FOUND THEN
NULL;
END;
BEGIN
DELETE FROM APPEAL
WHERE appeal_seq_num = inappealseqnum;
v_result := SQL%Rowcount;
EXCEPTION
WHEN OTHERS THEN
NULL;
END;
IF v_sched_seq IS NOT NULL THEN
v_cnt := deleteschedule (v_sched_seq);
updatehearingseqnum (inlegalcaseseqnum);
END IF;
BEGIN
SELECT atty_emplid, REVIEW_LEVEL_CODE, appeal_seq_num
INTO v_prior_atty, v_prior_level, v_prior_appeal
FROM APPEAL
WHERE appeal_seq_num = (SELECT MAX (appeal_seq_num)
FROM APPEAL
WHERE legal_case_seq_num = inlegalcaseseqnum);
EXCEPTION
WHEN NO_DATA_FOUND THEN
NULL;
END;
v_assgn_atty := get_asgn_atty_id (inlegalcaseseqnum);
BEGIN
SELECT location_person_emplid, LEGAL_FILE_LOCATION_CODE
INTO v_loc_emplid, v_loc_code
FROM LEGAL_FILE_LOCATION
WHERE legal_case_seq_num = inlegalcaseseqnum
AND legal_file_location_seq_num =
(SELECT MAX (legal_file_location_seq_num)
FROM LEGAL_FILE_LOCATION
WHERE legal_case_seq_num = inlegalcaseseqnum);
EXCEPTION
WHEN NO_DATA_FOUND THEN
NULL;
END;
IF NVL(v_review_level,' ') != NVL(v_prior_level,' ')
THEN
popcasestatus (inlegalcaseseqnum);
END IF;
IF v_loc_emplid IS NOT NULL THEN
IF v_loc_emplid != NVL(v_assgn_atty,0) THEN
popfilelocation (inlegalcaseseqnum);
END IF;
ELSE
IF v_loc_code = 'APEAL' THEN
IF v_prior_appeal IS NULL THEN
popfilelocation (inlegalcaseseqnum);
ELSE
IF v_prior_atty IS NOT NULL THEN
popfilelocation (inlegalcaseseqnum);
END IF;
END IF;
END IF;
END IF;
return v_result;
END deleteappeal;
PROCEDURE popcasestatus(inlegalcaseseqnum IN LEGAL_CASE.legal_case_seq_num%TYPE) AS
BEGIN
DELETE FROM CASE_STATUS_HISTORY
WHERE case_status_history_seq_num =
(SELECT MAX(case_status_history_seq_num)
FROM CASE_STATUS_HISTORY
WHERE legal_case_seq_num = inlegalcaseseqnum);
UPDATE LEGAL_CASE
SET CASE_STATUS_CODE =
(SELECT CASE_STATUS_CODE
FROM CASE_STATUS_HISTORY
WHERE case_status_history_seq_num =
(SELECT MAX(case_status_history_seq_num)
FROM CASE_STATUS_HISTORY
WHERE legal_case_seq_num = inlegalcaseseqnum))
WHERE legal_case_seq_num = inlegalcaseseqnum;
END popcasestatus;
PROCEDURE popfilelocation(inlegalcaseseqnum IN LEGAL_CASE.legal_case_seq_num%TYPE) AS
BEGIN
DELETE FROM LEGAL_FILE_LOCATION
WHERE legal_file_location_seq_num =
(SELECT MAX(legal_file_location_seq_num)
FROM LEGAL_FILE_LOCATION
WHERE legal_case_seq_num = inlegalcaseseqnum);
END popfilelocation;
PROCEDURE getBoardLog(Recordset OUT ref_cursor)
AS BEGIN OPEN recordset FOR
SELECT cas.wcb_num WCBNum, CAS.LEGAL_CASE_SEQ_NUM caseId,
PRC.CODE_DESCR PetitionerRespondent,
A.brief1_due_date Brief1DueDate,
A.brief2_due_date Brief2DueDate,
cas.claim_id Claim_ID
FROM LEGAL_CASE cas,
APPEAL A,
PETITIONER_RESPONDENT_CODE prc
WHERE A.REVIEW_LEVEL_CODE = 'WCBA'
AND A.approved_flag = 'Y'
AND cas.CASE_STATUS_CODE <> 'CLOSE'
AND A.atty_emplid IS NULL
AND A.legal_case_seq_num = cas.legal_case_seq_num
and A.PETITIONER_RESPONDENT_CODE = PRC.CODE;
END getBoardLog;
PROCEDURE updateAppealAtty(appealSeqNum IN NUMBER,
attyEmplid IN VARCHAR2)
AS BEGIN
UPDATE APPEAL
SET atty_emplid = attyEmplid
WHERE appeal_seq_num = appealSeqNum;
END updateAppealAtty;
PROCEDURE getAcknowledgeList(recordset OUT ref_cursor, inType IN VARCHAR2)
AS BEGIN OPEN recordset FOR
SELECT L.LEGAL_CASE_SEQ_NUM caseId, L.WCB_NUM wcbNum,
L.REQUEST_DATE RequestDate,
get_case_issue_codes(l.legal_case_seq_num) AS Issues,
L.CLAIM_ID claimId
FROM LEGAL_CASE L
WHERE L.CASE_STATUS_CODE <> 'CLOSE'
AND (L.WCB_NUM IS NULL AND L.DCBS_NUM IS NULL)
AND L.REQUEST_TYPE_CODE = inType
ORDER BY REQUEST_DATE;
END getAcknowledgeList;
Function updateAcknowledged(inType IN VARCHAR2, inNum IN VARCHAR2,
inDate IN DATE, CaseId IN NUMBER)
RETURN NUMBER
IS
v_update_count NUMBER;
BEGIN
IF inType = 'WCB' THEN
UPDATE LEGAL_CASE
SET wcb_num = inNum,
acknowledge_date = inDate
WHERE legal_case_seq_num = CaseId;
END IF;
IF inType = 'DCBS' THEN
UPDATE LEGAL_CASE
SET dcbs_num = inNum,
acknowledge_date = inDate
WHERE legal_case_seq_num = CaseId;
END IF;
v_update_count := SQL%Rowcount;
RETURN v_update_count;
END updateAcknowledged;
PROCEDURE updateDEFfields(aLegalCaseNum IN NUMBER, inNum IN VARCHAR2,
inDate IN DATE, inFlag IN VARCHAR2, inUser IN VARCHAR2)
AS BEGIN
UPDATE LEGAL_CASE
SET employer_evaluation_num = inNum,
def_sent_date = inDate,
send_def_flag = inFlag,
update_user = inUser,
update_date = SYSDATE
WHERE legal_case_seq_num = aLegalCaseNum;
END updateDEFfields;
PROCEDURE getFileLocation(LegalCaseID IN NUMBER,
Recordset OUT ref_cursor)
AS BEGIN OPEN recordset FOR
SELECT legal_file_location_seq_num LegalFileLocationID,
legal_case_seq_num LegalCaseID,
location_person_emplid LocationPersonEmplid,
LEGAL_FILE_LOCATION_CODE LegalFileLocationCode,
move_date MoveDate,
code_descr FileLocationDescr,
LTRIM(RTRIM(adp.last_name)) || ', ' ||
LTRIM(RTRIM(DECODE(NVL(LTRIM(RTRIM(adp.preferred_name)),''),'',first_name,
preferred_name))) AS FileLocationEmployee,
LOC.CREATE_DATE CreateDate,
LOC.CREATE_USER CreateUser
FROM LEGAL_FILE_LOCATION loc,
LEGAL_FILE_LOCATION_CODE cod,
adp_employee adp
WHERE legal_case_seq_num = LegalCaseID
AND cod.code(+) = loc.LEGAL_FILE_LOCATION_CODE
AND adp.emplid (+) = loc.location_person_emplid
ORDER BY TRUNC(move_date) DESC, legal_file_location_seq_num DESC;
END getFileLocation;
Function updateFileLocation(
LegalFileLocationID IN NUMBER,
LegalCaseID IN NUMBER,
LocationPersonEmplid IN VARCHAR2,
LegalFileLocationCode IN VARCHAR2,
moveDate IN DATE) return number
AS BEGIN
UPDATE LEGAL_FILE_LOCATION
SET location_person_emplid = LocationPersonEmplid,
LEGAL_FILE_LOCATION_CODE = LegalFileLocationCode,
move_date = moveDate
WHERE legal_file_location_seq_num = LegalFileLocationID;
return SQL%Rowcount;
END updateFileLocation;
Function insertFileLocation(
LegalFileLocationID IN NUMBER,
LegalCaseID IN NUMBER,
LocationPersonEmplid IN VARCHAR2,
LegalFileLocationCode IN VARCHAR2,
moveDate IN DATE,
createDate in date,
createUser in varchar2)
return number
AS BEGIN
INSERT INTO LEGAL_FILE_LOCATION
(legal_file_location_seq_num,
legal_case_seq_num, location_person_emplid,
LEGAL_FILE_LOCATION_CODE,
move_date,
create_date,
create_user)
VALUES (LegalFileLocationID,
LegalCaseID,
LocationPersonEmplid,
LegalFileLocationCode,
moveDate,
createDate,
createUser);
return SQL%Rowcount;
END insertFileLocation;
PROCEDURE getAttyProfile(Recordset OUT ref_cursor)
AS BEGIN
OPEN recordset FOR SELECT /*+ FIRST_ROWS */
profile_emplid,
adp.LAST_NAME || ', ' || DECODE(NVL(adp.preferred_name, ' '), ' ', adp.FIRST_NAME,adp.preferred_name) AS EMPLOYEE_NAME,
eff_date,
exp_date,
ccu_claims_flag,
ptd_claims_flag,
ppd_claims_flag,
confidential_claims_flag,
health_issue_claims_flag,
dcbs_claims_flag,
federal_claims_flag,
load_percent,
primary_hear_loc_code,
secondary_hear_loc_code,
claim_team_code,
ATTORNEY_TYPE_CODE,
secretary_emplid,
manager_emplid,
tertiary_hear_loc_code,
oregon_state_bar_number
FROM LEGAL.ATTORNEY_PROFILE, adp_employee adp
WHERE profile_emplid = adp.emplid;
END getAttyProfile;
Function insertAttyProfile(
profileEmplid IN VARCHAR2,
EffDate IN DATE,
ExpDate IN DATE,
CcuClaimsFlag IN VARCHAR2,
PtdClaimsFlag IN VARCHAR2,
PpdClaimsFlag IN VARCHAR2,
ConfidentialClaimsFlag IN VARCHAR2,
HealthIssueClaimsFlag IN VARCHAR2,
DcbsClaimsFlag IN VARCHAR2,
FederalClaimsFlag IN VARCHAR2,
LoadPercent IN NUMBER,
PrimaryHearLocCode IN VARCHAR2,
SecondaryHearLocCode IN VARCHAR2,
ClaimTeamCode IN VARCHAR2,
AttorneyTypeCode IN VARCHAR2,
SecretaryEmplid IN VARCHAR2,
ManagerEmplid IN VARCHAR2,
TertiaryHearLocCode IN VARCHAR2,
osbNumber IN VARCHAR2)
RETURN NUMBER
as
v_update_count NUMBER;
BEGIN
INSERT INTO LEGAL.ATTORNEY_PROFILE
(
profile_emplid,
eff_date,
exp_date,
ccu_claims_flag,
ptd_claims_flag,
ppd_claims_flag,
confidential_claims_flag,
health_issue_claims_flag,
dcbs_claims_flag,
federal_claims_flag,
load_percent,
primary_hear_loc_code,
secondary_hear_loc_code,
claim_team_code,
ATTORNEY_TYPE_CODE,
secretary_emplid,
manager_emplid,
tertiary_hear_loc_code,
create_date,
CREATE_user,
OREGON_STATE_BAR_NUMBER
)
VALUES
( profileEmplid,
EffDate,
ExpDate,
CcuClaimsFlag,
PtdClaimsFlag,
PpdClaimsFlag,
ConfidentialClaimsFlag,
HealthIssueClaimsFlag,
DcbsClaimsFlag,
FederalClaimsFlag,
LoadPercent,
PrimaryHearLocCode,
SecondaryHearLocCode,
ClaimTeamCode,
AttorneyTypeCode,
SecretaryEmplid,
ManagerEmplid,
tertiaryHearlocCode,
SYSDATE,
'LEGALNET',
osbNumber);
v_update_count := SQL%Rowcount;
RETURN v_update_count;
END insertAttyProfile;
Function updateAttyProfile(
profileEmplid IN VARCHAR2,
EffDate IN DATE,
ExpDate IN DATE,
CcuClaimsFlag IN VARCHAR2,
PtdClaimsFlag IN VARCHAR2,
PpdClaimsFlag IN VARCHAR2,
ConfidentialClaimsFlag IN VARCHAR2,
HealthIssueClaimsFlag IN VARCHAR2,
DcbsClaimsFlag IN VARCHAR2,
FederalClaimsFlag IN VARCHAR2,
LoadPercent IN NUMBER,
PrimaryHearLocCode IN VARCHAR2,
SecondaryHearLocCode IN VARCHAR2,
ClaimTeamCode IN VARCHAR2,
AttorneyTypeCode IN VARCHAR2,
SecretaryEmplid IN VARCHAR2,
ManagerEmplid IN VARCHAR2,
tertiaryHearLocCode IN VARCHAR2,
osbNumber IN VARCHAR2)
RETURN NUMBER
as
v_update_count NUMBER;
BEGIN
UPDATE LEGAL.ATTORNEY_PROFILE SET
eff_date = effDate,
ccu_claims_flag = ccuclaimsflag,
ptd_claims_flag = ptdclaimsflag,
ppd_claims_flag = ppdclaimsflag,
confidential_claims_flag = confidentialclaimsflag,
health_issue_claims_flag = healthissueclaimsflag,
dcbs_claims_flag = dcbsclaimsflag,
federal_claims_flag = federalclaimsflag,
ATTORNEY_TYPE_CODE = attorneytypecode,
load_percent = loadpercent,
primary_hear_loc_code = primaryhearloccode,
secondary_hear_loc_code = secondaryHearLocCode,
claim_team_code = claimTeamCode,
exp_date = expDate,
secretary_emplid = secretaryEmplid,
manager_emplid = managerEmplid,
tertiary_hear_loc_code = tertiaryHearLocCode,
update_date = SYSDATE,
update_user = 'LEGALNET',
OREGON_STATE_BAR_NUMBER = osbNumber
WHERE
profile_emplid = profileEmplid;
v_update_count := SQL%Rowcount;
RETURN v_update_count;
END updateAttyProfile;
PROCEDURE getAttySchedule(Recordset OUT attySched_cursor)
AS BEGIN OPEN recordset FOR
SELECT /*+ FIRST_ROWS */ attorney_schedule_seq_num,
schedule_emplid,
eff_date,
exp_date,
ATTORNEY_SCHEDULE_TYPE_CODE,
DURATION_CODE
FROM ATTORNEY_SCHEDULE
WHERE NVL(exp_date, SYSDATE) > SYSDATE - 1
ORDER BY eff_date;
END getAttySchedule;
PROCEDURE updateAttySchedule(
attySchedSeqNum IN NUMBER,
scheduleEmplid IN VARCHAR2,
effDate IN DATE,
expDate IN DATE,
typeCode IN VARCHAR2,
durationCode IN VARCHAR2)
AS BEGIN
UPDATE ATTORNEY_SCHEDULE
SET schedule_emplid = scheduleEmplid,
eff_date = effDate,
exp_date = expdate,
ATTORNEY_SCHEDULE_TYPE_CODE = typeCode,
DURATION_CODE = durationCode
WHERE attorney_schedule_seq_num = attySchedSeqNum;
END updateAttySchedule;
PROCEDURE insertAttySchedule(
attySchedSeqNum IN NUMBER,
scheduleEmplid IN VARCHAR2,
effDate IN DATE,
expDate IN DATE,
typeCode IN VARCHAR2,
durationCode IN VARCHAR2)
AS BEGIN
INSERT INTO ATTORNEY_SCHEDULE
(attorney_schedule_seq_num,
schedule_emplid,
eff_date,
exp_date,
ATTORNEY_SCHEDULE_TYPE_CODE,
DURATION_CODE)
VALUES( attySchedSeqNum,
scheduleEmplid,
effDate,
expDate,
typeCode,
durationCode);
END insertAttySchedule;
PROCEDURE deleteAttySchedule(attySchedSeqNum IN NUMBER)
AS BEGIN
DELETE FROM ATTORNEY_SCHEDULE
WHERE attorney_schedule_seq_num = attySchedSeqNum;
END deleteAttySchedule;
Function InsertLegalCase(LegalCaseSeqNum in LEGAL_CASE.LEGAL_CASE_SEQ_NUM%TYPE,
CaseTypeCode IN LEGAL_CASE.REQUEST_TYPE_CODE%TYPE,
RequestTypeCode in LEGAL_CASE.REQUEST_TYPE_CODE%TYPE,
WcbNum in LEGAL_CASE.WCB_NUM%TYPE,
DcbsNum in LEGAL_CASE.DCBS_NUM%Type,
CaseStatusCode in LEGAL_CASE.CASE_STATUS_CODE%Type,
claimID IN LEGAL_CASE.claim_id%TYPE,
RequestDate IN LEGAL_CASE.request_date%TYPE,
WorkerAttyProvLocID in LEGAL_CASE.WORKER_ATTY_PROV_LOC_ID%Type,
WorkerAttyFirmProvLocID in LEGAL_CASE.WORKER_ATTY_FIRM_PROV_LOC_ID%Type,
OarDueDate IN LEGAL_CASE.OAR_DUE_DATE%type,
OarMailedDate IN LEGAL_CASE.OAR_MAILED_DATE%type,
LegalFileCreateDate IN LEGAL_CASE.LEGAL_FILE_CREATE_DATE%Type,
CaseWeightValue IN LEGAL_CASE.CASE_WEIGHT_VALUE%Type,
AcknowledgeDate IN LEGAL_CASE.ACKNOWLEDGE_DATE%type,
RequestNewWcbNumFlag IN LEGAL_CASE.REQUEST_ALL_DAY_HEARING_FLAG%Type,
RequestedByCode IN LEGAL_CASE.REQUESTED_BY_CODE%TYPE,
RequestReceiptDate in LEGAL_CASE.REQUEST_RECEIPT_DATE%Type,
RequestPostmarkDate in LEGAL_CASE.REQUEST_POSTMARK_DATE%type,
RequestAllDayHearingFlag in LEGAL_CASE.REQUEST_ALL_DAY_HEARING_FLAG%type,
StressClaimFlag in LEGAL_CASE.STRESS_CLAIM_FLAG%type,
ReconLetterMailedDate in LEGAL_CASE.RECON_LETTER_MAILED_DATE%type,
ReconPacketReceivedDate in LEGAL_CASE.RECON_PACKET_RECEIVED_DATE%type,
DismissalDate in LEGAL_CASE.DISMISSAL_DATE%Type,
SettlementDate in LEGAL_CASE.SETTLEMENT_DATE%Type,
SendDefFlag in LEGAL_CASE.SEND_DEF_FLAG%type,
DefSentDate in LEGAL_CASE.DEF_SENT_DATE%type,
EmployerEvaluationNum in LEGAL_CASE.EMPLOYER_EVALUATION_NUM%type,
ConsolidateCaseFlag in LEGAL_CASE.CONSOLIDATE_CASE_FLAG%type,
OwcpNum in LEGAL_CASE.OWCP_NUM%Type,
OaljNum in LEGAL_CASE.OALJ_NUM%type,
BrbNum in LEGAL_CASE.BRB_NUM%type,
CreateDate in LEGAL_CASE.CREATE_DATE%type,
CreateUser in LEGAL_CASE.CREATE_USER%type,
MostRecentHearingSeqNum in LEGAL_CASE.MOST_RECENT_HEARING_SEQ_NUM%type,
ClaimImageAlertsFlag in LEGAL_CASE.CLAIM_IMAGE_ALERTS_FLAG%type)
RETURN NUMBER
IS
v_update_count NUMBER;
BEGIN
Insert into
LEGAL_CASE
(
LEGAL_CASE_SEQ_NUM,
CASE_TYPE_CODE,
REQUEST_TYPE_CODE,
WCB_NUM,
DCBS_NUM,
CASE_STATUS_CODE,
CLAIM_ID,
REQUEST_DATE,
WORKER_ATTY_PROV_LOC_ID,
WORKER_ATTY_FIRM_PROV_LOC_ID,
OAR_DUE_DATE,
OAR_MAILED_DATE,
LEGAL_FILE_CREATE_DATE,
CASE_WEIGHT_VALUE,
ACKNOWLEDGE_DATE,
REQUEST_NEW_WCB_NUM_FLAG,
REQUESTED_BY_CODE,
REQUEST_RECEIPT_DATE,
REQUEST_POSTMARK_DATE,
REQUEST_ALL_DAY_HEARING_FLAG,
STRESS_CLAIM_FLAG,
RECON_LETTER_MAILED_DATE,
RECON_PACKET_RECEIVED_DATE,
DISMISSAL_DATE,
SETTLEMENT_DATE,
SEND_DEF_FLAG,
DEF_SENT_DATE,
EMPLOYER_EVALUATION_NUM,
CONSOLIDATE_CASE_FLAG,
OWCP_NUM,
OALJ_NUM,
BRB_NUM,
CREATE_DATE,
CREATE_USER,
MOST_RECENT_HEARING_SEQ_NUM,
CLAIM_IMAGE_ALERTS_FLAG
) Values (
LegalCaseSeqNum,
CaseTypeCode,
RequestTypeCode,
WcbNum,
DcbsNum,
CaseStatusCode,
ClaimID,
RequestDate,
WorkerAttyProvLocID,
WorkerAttyFirmProvLocID,
OarDueDate,
OarMailedDate,
LegalFileCreateDate,
CaseWeightValue,
AcknowledgeDate,
RequestNewWcbNumFlag,
RequestedBYCode,
RequestReceiptDate,
RequestPostmarkDate,
RequestAllDayHearingFlag,
StressClaimFlag,
ReconLetterMailedDate,
ReconPacketReceivedDate,
DismissalDate,
SettlementDate,
SendDefFlag,
DefSentDate,
EmployerEvaluationNum,
ConsolidateCaseFlag,
OwcpNum,
OaljNum,
BrbNum,
CreateDate,
CreateUser,
MostRecentHearingSeqNum,
ClaimImageAlertsFlag);
v_update_count := SQL%Rowcount;
RETURN v_update_count;
END InsertLegalCase;
Function UpdateLegalCase(LegalCaseSeqNum in LEGAL_CASE.LEGAL_CASE_SEQ_NUM%TYPE,
CaseTypeCode IN LEGAL_CASE.REQUEST_TYPE_CODE%TYPE,
RequestTypeCode in LEGAL_CASE.REQUEST_TYPE_CODE%TYPE,
WcbNum in LEGAL_CASE.WCB_NUM%TYPE,
DcbsNum in LEGAL_CASE.DCBS_NUM%Type,
CaseStatusCode in LEGAL_CASE.CASE_STATUS_CODE%Type,
claimID IN LEGAL_CASE.claim_id%TYPE,
RequestDate IN LEGAL_CASE.request_date%TYPE,
WorkerAttyProvLocID in LEGAL_CASE.WORKER_ATTY_PROV_LOC_ID%Type,
WorkerAttyFirmProvLocID in LEGAL_CASE.WORKER_ATTY_FIRM_PROV_LOC_ID%Type,
OarDueDate IN LEGAL_CASE.OAR_DUE_DATE%type,
OarMailedDate IN LEGAL_CASE.OAR_MAILED_DATE%type,
LegalFileCreateDate IN LEGAL_CASE.LEGAL_FILE_CREATE_DATE%Type,
CaseWeightValue IN LEGAL_CASE.CASE_WEIGHT_VALUE%Type,
AcknowledgeDate IN LEGAL_CASE.ACKNOWLEDGE_DATE%type,
RequestNewWcbNumFlag IN LEGAL_CASE.REQUEST_ALL_DAY_HEARING_FLAG%Type,
RequestedByCode IN LEGAL_CASE.REQUESTED_BY_CODE%TYPE,
RequestReceiptDate in LEGAL_CASE.REQUEST_RECEIPT_DATE%Type,
RequestPostmarkDate in LEGAL_CASE.REQUEST_POSTMARK_DATE%type,
RequestAllDayHearingFlag in LEGAL_CASE.REQUEST_ALL_DAY_HEARING_FLAG%type,
StressClaimFlag in LEGAL_CASE.STRESS_CLAIM_FLAG%type,
ReconLetterMailedDate in LEGAL_CASE.RECON_LETTER_MAILED_DATE%type,
ReconPacketReceivedDate in LEGAL_CASE.RECON_PACKET_RECEIVED_DATE%type,
DismissalDate in LEGAL_CASE.DISMISSAL_DATE%Type,
SettlementDate in LEGAL_CASE.SETTLEMENT_DATE%Type,
SendDefFlag in LEGAL_CASE.SEND_DEF_FLAG%type,
DefSentDate in LEGAL_CASE.DEF_SENT_DATE%type,
EmployerEvaluationNum in LEGAL_CASE.EMPLOYER_EVALUATION_NUM%type,
ConsolidateCaseFlag in LEGAL_CASE.CONSOLIDATE_CASE_FLAG%type,
OwcpNum in LEGAL_CASE.OWCP_NUM%Type,
OaljNum in LEGAL_CASE.OALJ_NUM%type,
BrbNum in LEGAL_CASE.BRB_NUM%type,
UpdateDate in LEGAL_CASE.CREATE_DATE%type,
UpdateUser in LEGAL_CASE.CREATE_USER%type,
MostRecentHearingSeqNum in LEGAL_CASE.MOST_RECENT_HEARING_SEQ_NUM%type,
ClaimImageAlertsFlag in LEGAL_CASE.CLAIM_IMAGE_ALERTS_FLAG%type)
RETURN NUMBER
IS
v_update_count NUMBER;
BEGIN
Update LEGAL_CASE
Set CASE_TYPE_CODE = CaseTypeCode,
REQUEST_TYPE_CODE = RequestTypeCode,
WCB_NUM = WcbNum,
DCBS_NUM = DcbsNum,
CASE_STATUS_CODE = CaseStatusCode,
REQUEST_DATE = RequestDate,
WORKER_ATTY_PROV_LOC_ID = WorkerAttyProvLocID,
WORKER_ATTY_FIRM_PROV_LOC_ID = WorkerAttyFirmProvLocID,
OAR_DUE_DATE = OarDueDate,
OAR_MAILED_DATE = OarMailedDate,
LEGAL_FILE_CREATE_DATE = LegalFileCreateDate,
CASE_WEIGHT_VALUE = CaseWeightValue,
ACKNOWLEDGE_DATE = AcknowledgeDate,
REQUEST_NEW_WCB_NUM_FLAG = RequestNewWcbNumFlag,
REQUESTED_BY_CODE = RequestedBYCode,
REQUEST_RECEIPT_DATE = RequestReceiptDate,
REQUEST_POSTMARK_DATE = RequestPostmarkDate,
REQUEST_ALL_DAY_HEARING_FLAG = RequestAllDayHearingFlag,
STRESS_CLAIM_FLAG = StressClaimFlag,
RECON_LETTER_MAILED_DATE = ReconLetterMailedDate,
RECON_PACKET_RECEIVED_DATE = ReconPacketReceivedDate,
DISMISSAL_DATE = DismissalDate,
SETTLEMENT_DATE = SettlementDate,
SEND_DEF_FLAG = SendDefFlag,
DEF_SENT_DATE = DefSentDate,
EMPLOYER_EVALUATION_NUM = EmployerEvaluationNum,
CONSOLIDATE_CASE_FLAG = ConsolidateCaseFlag,
OWCP_NUM = OwcpNum,
OALJ_NUM = OaljNum,
BRB_NUM = BrbNum,
UPDATE_DATE = UpdateDate,
UPDATE_USER = UpdateUser,
MOST_RECENT_HEARING_SEQ_NUM = MostRecentHearingSeqNum,
CLAIM_IMAGE_ALERTS_FLAG = ClaimImageAlertsFlag
Where LEGAL_CASE.LEGAL_CASE_SEQ_NUM = LegalCaseSeqNum AND
LEGAL_CASE.CLAIM_ID = ClaimID;
v_update_count := SQL%Rowcount;
RETURN v_update_count;
END UpdateLegalCase;
PROCEDURE CREATE_REQUEST_ISSUE(in_legal_case_seq IN LEGAL_CASE.legal_Case_seq_num%TYPE,
in_issue_code IN REQUEST_ISSUE.REQUEST_ISSUE_CODE%TYPE,
in_issue_text IN REQUEST_ISSUE.REQUEST_ISSUE_TEXT%TYPE) AS
BEGIN
INSERT INTO LEGAL.REQUEST_ISSUE
(
request_issue_seq_num,
legal_case_seq_num,
REQUEST_ISSUE_CODE,
request_issue_text
)
VALUES
(
request_issue_Seq.NEXTVAL,
in_legal_case_Seq,
in_issue_code,
in_issue_text
);
END CREATE_REQUEST_ISSUE;
PROCEDURE UPDATE_LEGALCASE_REQUEST(aLegalCaseSeq IN NUMBER,
aIssueType IN LEGAL_CASE.REQUEST_TYPE_CODE%TYPE,
aWCBRequested IN LEGAL_CASE.request_new_wcb_num_flag%TYPE,
aStress IN LEGAL_CASE.stress_claim_flag%TYPE,
aRequestedBy IN LEGAL_CASE.REQUESTED_BY_CODE%TYPE,
aRequestDate IN VARCHAR2,
aReceivedDate IN VARCHAR2,
aPostmarkDate IN VARCHAR2,
aAttyFirmProvID IN NUMBER,
aReconLetter IN VARCHAR2,
aAttyProvID IN NUMBER,
aLCEExcused IN VARCHAR2,
aOWCP IN VARCHAR2,
aUserID IN VARCHAR2) AS
v_postmark DATE;
v_OARDue DATE;
v_recon_cnt NUMBER;
v_case_weight NUMBER;
--v_lce VARCHAR2(1);
BEGIN
-- v_lce := aLCEExcused;
-- Determine if this is a Reconsideration
SELECT COUNT(*)
INTO v_recon_cnt
FROM REQUEST_ISSUE
WHERE legal_case_seq_num = aLegalCaseSeq
AND LTRIM(RTRIM(REQUEST_ISSUE_CODE)) IN
(SELECT code
FROM REQUEST_ISSUE_CODE
WHERE recon_issue_flag = 'Y');
-- Calculate OAR Due Date
IF aIssueType = 'WCB' THEN
IF v_recon_cnt = 0 THEN
v_postmark := TO_DATE(aPostmarkDate, 'MM/DD/YYYY');
IF NVL(v_postmark,'01-jan-1900') > '01-jan-1900' THEN
v_OARDue := v_postmark + 10;
END IF;
END IF;
-- ELSE
-- Set LCE Excused
-- v_lce := 'Y';
END IF;
IF aStress = 'Y' THEN
v_case_weight := 3;
ELSE
v_case_weight := 1;
END IF;
BEGIN
UPDATE LEGAL_CASE
SET REQUEST_TYPE_CODE = aIssueType,
request_new_wcb_num_flag = aWCBRequested,
stress_claim_flag = aStress,
case_weight_value = v_case_weight,
REQUESTED_BY_CODE = aRequestedBy,
request_date = TO_DATE(aRequestDate,'MM/DD/YYYY'),
request_receipt_date = TO_DATE(aReceivedDate, 'MM/DD/YYYY'),
request_postmark_date = TO_DATE(aPostmarkDate, 'MM/DD/YYYY'),
worker_atty_firm_prov_loc_id = aAttyFirmProvID,
oar_due_date = v_OARDue,
worker_atty_prov_loc_id = aAttyProvID,
owcp_num = aOWCP
WHERE legal_case_seq_num = aLegalCaseSeq;
END;
END UPDATE_LEGALCASE_REQUEST;
PROCEDURE update_lce_Excused(aLegalCaseSeq IN NUMBER,
aLCEExcused IN VARCHAR2,
aUserID IN VARCHAR2) AS
v_lce_seq NUMBER := 0;
v_lce VARCHAR2(1);
v_lce_excused_flag VARCHAR2(1);
v_result number;
BEGIN
v_lce := aLceExcused;
-- Find LCE Row if Exists
BEGIN
SELECT legal_case_evaluation_seq_num, LCE_EXCUSED_FLAG
INTO v_lce_seq, v_lce_excused_flag
FROM LEGAL_CASE_EVALUATION
WHERE legal_case_seq_num = aLegalCaseSeq;
EXCEPTION
WHEN NO_DATA_FOUND THEN
NULL;
END;
-- IF LCE Exists, Update w/ Change
IF v_lce_seq > 0 THEN
IF v_lce <> v_lce_excused_flag THEN
UPDATE LEGAL_CASE_EVALUATION
SET lce_excused_flag = v_lce,
update_date = SYSDATE,
update_user = aUSERID;
END IF;
ELSE
-- If no LCE row, Insert if LCE is Excused
IF v_lce = 'Y' THEN
SELECT legal_case_evaluation_seq.NEXTVAL
INTO v_lce_seq
FROM dual;
v_result := insertLCE(v_lce_seq,
aLegalCaseSeq,
v_lce,
NULL, NULL,
NULL, NULL,
SYSDATE, aUserID, NULL);
END IF;
END IF;
END update_lce_Excused;
PROCEDURE getConsolidatedCases(recordset OUT ref_cursor,
claimIdsCommaDelimited IN VARCHAR2) AS
BEGIN
BEGIN
OPEN recordset FOR
SELECT /*+ FIRST_ROWS */ cas.legal_case_seq_num,
get_case_num(cas.legal_case_seq_num) wcb_num,
cas.claim_id,
NVL(con.consolidated_case_Seq_num,0) AS consolidated_case_Seq_num,
NVL(con.primary_case_seq_num,0) AS primary_case_seq_num,
NVL(con.secondary_case_seq_num, 0) AS secondary_case_seq_num,
cod.code_descr AS case_status,
cas.CASE_STATUS_CODE,
NVL(con.create_date, sysdate) createDate,
con.create_user createUser
FROM LEGAL_CASE cas,
CONSOLIDATED_CASE con,
CASE_STATUS_CODE cod
WHERE cas.claim_id IN (
-- https://blogs.oracle.com/sql/post/split-comma-separated-values-into-rows-in-oracle-database
with claimsString as (
select claimIdsCommaDelimited str from dual
)
select regexp_substr (claimIdsCommaDelimited, '[^,]+', 1, level) value
from claimsString
connect by level <=
length ( claimIdsCommaDelimited ) - length ( replace ( claimIdsCommaDelimited, ',' ) ) + 1
)
AND ( (cas.CASE_STATUS_CODE <> 'CLOSE' AND DECODE(con.secondary_case_seq_num, cas.legal_case_seq_num,1,0) = 0)
OR
DECODE(con.secondary_case_seq_num, cas.legal_case_seq_num,1,0) = 1)
AND cod.code = cas.CASE_STATUS_CODE
AND con.secondary_case_Seq_num(+) = cas.legal_case_seq_num
ORDER BY decode(primary_case_seq_num, 0, 9999999, primary_case_seq_num),
decode(secondary_case_seq_num, 0, cas.legal_case_seq_num, secondary_case_seq_num);
EXCEPTION
WHEN NO_DATA_FOUND THEN
NULL;
END;
END getConsolidatedCases;
PROCEDURE UpdateConsolidatedCase(aConsolidatedSeq IN CONSOLIDATED_CASE.consolidated_case_seq_num%TYPE,
aPrimarySeq IN CONSOLIDATED_CASE.primary_case_seq_num%TYPE,
aSecondarySeq IN CONSOLIDATED_CASE.secondary_case_seq_num%TYPE,
aConsolFlag IN VARCHAR2,
UpdateDate in DATE,
UpdateUser in Varchar2) AS
v_old_primary NUMBER;
v_hearing_seq NUMBER;
BEGIN
-- Find the prior Primary Seq
BEGIN
SELECT MAX(primary_case_seq_num)
INTO v_old_primary
FROM CONSOLIDATED_CASE
WHERE secondary_case_seq_num = aSecondarySeq;
EXCEPTION
WHEN NO_DATA_FOUND THEN
v_old_primary := 0;
END;
IF v_old_primary > 0
AND aPrimarySeq > 0 THEN
-- Change the Primary Seq on all rows in set
IF v_old_primary <> aPrimarySeq THEN
UPDATE CONSOLIDATED_CASE
SET primary_case_Seq_num = aPrimarySeq
WHERE primary_case_seq_num = v_old_primary;
-- Change the hearing to the new primary case
UPDATE SCHEDULE
SET legal_case_seq_num = aPrimarySeq
WHERE schedule_seq_num =
(SELECT most_recent_hearing_seq_num
FROM LEGAL_CASE
WHERE legal_case_seq_num = v_old_primary);
END IF;
END IF;
IF aConsolFlag = 'Y' THEN
-- Update if this is an existing row
IF aConsolidatedSeq > 0 THEN
UPDATE CONSOLIDATED_CASE
SET primary_case_seq_num = aPrimarySeq
,secondary_case_seq_num = aSecondarySeq
, update_date = updatedate
, update_user = updateuser
WHERE consolidated_Case_Seq_num = aConsolidatedSeq;
ELSE
INSERT INTO CONSOLIDATED_CASE
(CONSOLIDATED_CASE_SEQ_NUM,
PRIMARY_CASE_SEQ_NUM,
SECONDARY_CASE_SEQ_NUM,
create_date,
create_user)
VALUES
(consolidated_case_seq.NEXTVAL,
aPrimarySeq,
aSecondarySeq,
updatedate,
updateuser);
END IF;
-- Make sure consolidate flag is checked
UPDATE LEGAL_CASE
SET consolidate_case_flag = 'Y',
most_recent_hearing_seq_num =
(SELECT most_recent_hearing_seq_num
FROM LEGAL_CASE
WHERE legal_case_seq_num = aPrimarySeq),
CASE_STATUS_CODE =
(SELECT CASE_STATUS_CODE
FROM LEGAL_CASE
WHERE legal_case_seq_num = aPrimarySeq)
WHERE legal_case_seq_num = aPrimarySeq
OR legal_case_seq_num = aSecondarySeq;
END IF;
-- Delete if consolidate flag un-checked
IF aConsolFlag = 'N' THEN
DELETE FROM CONSOLIDATED_CASE
WHERE CONSOLIDATED_CASE_SEQ_NUM = aConsolidatedSeq;
-- Reset most recent hearing seq num
UPDATE LEGAL_CASE
SET CONSOLIDATE_CASE_FLAG = 'N',
MOST_RECENT_HEARING_SEQ_NUM =
(SELECT MAX(schedule_seq_num)
FROM SCHEDULE WHERE
SCHEDULE_TYPE_CODE = 'HEAR'
AND legal_case_seq_num = aSecondarySeq
AND schedule_date =
(SELECT MAX(schedule_date) FROM
SCHEDULE
WHERE SCHEDULE_TYPE_CODE = 'HEAR'
AND legal_case_seq_num = aSecondarySeq))
WHERE LEGAL_CASE_SEQ_NUM = aSecondarySeq;
END IF;
END UpdateConsolidatedCase;
PROCEDURE getAttorneyNames(recordset OUT attorney_cursor) AS
BEGIN
BEGIN
OPEN recordset FOR
SELECT trim(last_name) || ', ' || trim(first_name) AS atty_name,
per.legal_person_Seq_num
FROM LEGAL_PERSON per, LEGAL_PERSON_TYPE lpt
WHERE per.legal_person_seq_num = lpt.legal_person_seq_num
AND lpt.LEGAL_PERSON_TYPE_CODE = 'ATTY'
UNION
SELECT '-- None --', 0
FROM dual
ORDER BY 1;
EXCEPTION
WHEN NO_DATA_FOUND THEN
NULL;
END;
END getAttorneyNames;
PROCEDURE insertLetterRequest(
letterTypeCode IN VARCHAR2,
aLegalCaseNum IN NUMBER,
holdDate IN DATE,
aClaimId IN NUMBER,
createUser IN VARCHAR2,
requestNum IN OUT NUMBER)
AS
v_send VARCHAR2(3);
BEGIN
v_send := 'YES';
SELECT letter_request_seq.NEXTVAL
INTO requestNum
FROM dual;
INSERT INTO LETTER_REQUEST
(letter_request_Seq_num,
LETTER_TYPE_CODE,
legal_case_seq_num,
hold_date,
create_user,
create_date)
VALUES(requestNum,
letterTypeCode,
aLegalCaseNum,
holdDate,
createUser,
sysdate);
END insertLetterRequest;
PROCEDURE getHearingInfo(in_HearingSeq IN SCHEDULE.schedule_seq_num%TYPE,
recordset OUT HearingCursor) AS
BEGIN
OPEN recordset FOR
SELECT sch.schedule_seq_num, sch.schedule_date, sch.schedule_time,
sch.DURATION_CODE, DECODE(sch.keep_attorney_flag, 'Y',1,0) AS keep_attorney_flag,
sch.assigned_date, sch.reminder_date, sch.schedule_text,
aty.user_id AS atty_mailid,
sec.user_id AS sec_mailid,
LTRIM(RTRIM(sec.first_name)) || ' ' || LTRIM(RTRIM(sec.last_name)) AS sec_name,
LTRIM(RTRIM(per.last_name)) AS alj_name, pro.secretary_emplid AS sec_emplid,
loc.HEARING_LOCATION_CODE, lcd.code_descr AS hearing_loc_city,
loc.location_name, ssc.code_descr AS hearing_status,
DECODE(cas.request_all_day_hearing_flag,'Y',1,0) AS All_day_hearing_flag
FROM SCHEDULE sch,
ATTORNEY_PROFILE pro,
adp_employee aty,
adp_employee sec,
LEGAL_PERSON per,
HEARING_LOCATION loc,
HEARING_LOCATION_CODE lcd,
SCHEDULE_STATUS_CODE ssc,
LEGAL_CASE cas
WHERE sch.schedule_seq_num = in_HearingSeq
AND aty.emplid(+) = sch.asgn_attorney_emplid
AND pro.profile_emplid(+) = sch.asgn_attorney_emplid
AND sec.emplid(+) = pro.secretary_emplid
AND per.legal_person_seq_num(+) = sch.alj_person_seq_num
AND loc.hearing_location_seq_num(+) = sch.hearing_location_seq_num
AND lcd.code(+) = loc.HEARING_LOCATION_CODE
AND ssc.code(+) = sch.SCHEDULE_STATUS_CODE
AND cas.legal_case_Seq_num = sch.legal_case_seq_num;
EXCEPTION
WHEN NO_DATA_FOUND THEN
NULL;
END getHearingInfo;
PROCEDURE getEmployerAddr(in_Policy IN POLICY.policy_num%TYPE,
recordset OUT EmployerCursor) AS
BEGIN
OPEN recordset FOR
SELECT P.policy_name, l.Loc_addr1, l.loc_addr2, l.loc_city, l.loc_state,
l.loc_zip,l.loc_zip4, l.mail_addr_flag,
l.loc_phone || ' ' || l.loc_phone_ext AS loc_phone, l.loc_seq_num
FROM POLICY P,
LOCATION l
WHERE P.policy_num = in_policy
AND l.policy_num = P.policy_num
AND l.primary_location_flag = 'Y'
AND TRUNC(l.loc_eff_date) <= TRUNC(SYSDATE)
AND NVL(TRUNC(l.loc_exp_date), SYSDATE + 1) > TRUNC(SYSDATE);
EXCEPTION
WHEN NO_DATA_FOUND THEN
NULL;
END getEmployerAddr;
PROCEDURE getOtherFirmList(aLegalCaseNum IN NUMBER,
recordset OUT OtherFirmListCursor) AS
BEGIN
OPEN recordset FOR
SELECT 'EMPLOYER' AS type_cd,
emp.legal_case_employer_seq_num,
emp.employer_other_firm_seq_num,
--emp.firm_provider_num,
DECODE(emp.employer_discovery_flag,'Y',1,0) AS employer_discovery_flag,
DECODE(emp.attorney_discovery_flag,'Y',1,0) AS attorney_discovery_flag,
oth.firm_name,
oth.OTHER_FIRM_TYPE_CODE,
oth.addr1,
oth.addr2,
oth.city,
oth.state,
oth.zip,
oth.zip4,
oth.PHONE,
oth.fax
FROM LEGAL_CASE_EMPLOYER emp,
OTHER_FIRM oth
WHERE oth.other_firm_seq_num = emp.employer_other_firm_seq_num
AND emp.legal_case_seq_num = aLegalCaseNum;
EXCEPTION
WHEN NO_DATA_FOUND THEN
NULL;
END getOtherFirmList;
PROCEDURE GetEmployeebyMailid(in_MailId IN VARCHAR,
recordset OUT EmployeeCursor) AS
BEGIN
OPEN recordset FOR
SELECT
EMPLID,
LAST_NAME,
FIRST_NAME,
MIDDLE_NAME,
EMAIL_ADDRESS,
EMPL_STATUS,
PHONE,
PHONE_EXTENSION,
LOCATION,
PREFERRED_NAME,
DEPTID,
DESCR,
REPORTS_TO,
USER_ID
FROM LEGAL.ADP_EMPLOYEE
WHERE USER_ID = in_MailId;
EXCEPTION
WHEN NO_DATA_FOUND THEN
NULL;
END GetEmployeebyMailid;
FUNCTION GetEmployeeName(in_mailid IN VARCHAR)
RETURN VARCHAR2
AS
v_full_name VARCHAR2(50);
v_last_name adp_employee.last_name%TYPE;
v_first_name adp_employee.first_name%TYPE;
v_middle_name adp_employee.middle_name%TYPE;
v_preferred_name adp_employee.preferred_name%TYPE;
BEGIN
BEGIN
SELECT
LTRIM(RTRIM(LAST_NAME)),
LTRIM(RTRIM(FIRST_NAME)),
LTRIM(RTRIM(MIDDLE_NAME)),
LTRIM(RTRIM(PREFERRED_NAME))
INTO v_last_name,
v_first_name,
v_middle_name,
v_preferred_name
FROM LEGAL.ADP_EMPLOYEE
WHERE USER_ID = LTRIM(RTRIM(in_MailId));
EXCEPTION
WHEN NO_DATA_FOUND THEN
NULL;
END;
IF v_preferred_name IS NULL THEN
v_full_name := v_first_name || ' ' || v_last_name;
ELSE
v_full_name := v_preferred_name || ' ' || v_last_name;
END IF;
RETURN v_full_name;
END GetEmployeeName;
PROCEDURE IsLetterRequested(aLegalCaseNum IN NUMBER,
aLetterType IN VARCHAR2,
out_requested OUT VARCHAR2)
AS
v_cnt NUMBER;
BEGIN
out_requested := 'N';
SELECT COUNT(*)
INTO v_cnt
FROM LETTER_REQUEST
WHERE LETTER_TYPE_CODE = aLetterType
AND legal_case_seq_num = aLegalCaseNum
AND printed_date IS NULL;
IF v_cnt > 0 THEN
out_requested := 'Y';
END IF;
END IsLetterRequested;
PROCEDURE GetCaseCost(aLegalCaseNum IN NUMBER,
recordset OUT CaseCostCursor)
AS BEGIN
OPEN recordset FOR
SELECT case_cost_seq_num
, legal_case_seq_num
, service_from_date
, service_to_date
, SERVICE_CODE
, amount_paid
, amount_billed
, amount_per_hour
, hours_billed
, DECODE(prepayment_flag, 'Y', 'True', 'False') AS prepayment_flag
, authorized_date
, payee_firm_prov_loc_id
, payee_person_prov_loc_id
, authorizer_emplid
, CANCELLED_BY_CODE
, CREATE_DATE
, CREATE_USER
, UPDATE_DATE
, UPDATE_USER
FROM CASE_COST
WHERE legal_case_seq_num = aLegalCaseNum
ORDER BY service_from_date;
END getCaseCost;
PROCEDURE case_cost_update
(
case_cost_seq_num_in IN CASE_COST.case_cost_seq_num%TYPE,
legal_case_seq_num_in IN CASE_COST.legal_case_seq_num%TYPE,
service_from_date_in IN CASE_COST.service_from_date%TYPE,
service_to_date_in IN CASE_COST.service_to_date%TYPE,
service_code_in IN CASE_COST.SERVICE_CODE%TYPE,
amount_paid_in IN CASE_COST.amount_paid%TYPE,
amount_billed_in IN CASE_COST.amount_billed%TYPE,
amount_per_hour_in IN CASE_COST.amount_per_hour%TYPE,
hours_billed_in IN CASE_COST.hours_billed%TYPE,
prepayment_flag_in IN CASE_COST.prepayment_flag%TYPE,
authorized_date_in IN CASE_COST.authorized_date%TYPE,
payee_firm_prov_loc_id_in IN CASE_COST.PAYEE_firm_PROV_LOC_ID%TYPE,
payee_person_prov_loc_id_in IN CASE_COST.payee_person_prov_loc_id%TYPE,
authorizer_emplid_in IN CASE_COST.authorizer_emplid%TYPE,
cancelled_by_code_in IN CASE_COST.CANCELLED_BY_CODE%TYPE,
update_date_in IN CASE_COST.update_date%TYPE,
update_user_in IN CASE_COST.update_user%TYPE
)
IS
BEGIN
UPDATE LEGAL.CASE_COST SET
legal_case_seq_num = legal_case_seq_num_in,
service_from_date = service_from_date_in,
service_to_date = service_to_date_in,
SERVICE_CODE = service_code_in,
amount_paid = amount_paid_in,
amount_billed = amount_billed_in,
amount_per_hour = amount_per_hour_in,
hours_billed = hours_billed_in,
prepayment_flag = prepayment_flag_in,
authorized_date = authorized_date_in,
payee_firm_prov_loc_id = payee_firm_prov_loc_id_in,
PAYEE_PERSON_PROV_LOC_ID = payee_person_prov_loc_id_in,
authorizer_emplid = authorizer_emplid_in,
CANCELLED_BY_CODE = cancelled_by_code_in,
update_date = update_date_in,
update_user = update_user_in
WHERE
case_cost_seq_num = case_cost_seq_num_in;
END case_cost_update;
/********************************************
** INSERT PROCEDURE FOR TABLE "LEGAL.CASE_COST"
** DATE: 28-JUL-03 13:24:16
*********************************************/
PROCEDURE case_cost_insert
(
case_cost_seq_num_in IN CASE_COST.case_cost_seq_num%TYPE,
legal_case_seq_num_in IN CASE_COST.legal_case_seq_num%TYPE,
service_from_date_in IN CASE_COST.service_from_date%TYPE,
service_to_date_in IN CASE_COST.service_to_date%TYPE,
service_code_in IN CASE_COST.SERVICE_CODE%TYPE,
amount_paid_in IN CASE_COST.amount_paid%TYPE,
amount_billed_in IN CASE_COST.amount_billed%TYPE,
amount_per_hour_in IN CASE_COST.amount_per_hour%TYPE,
hours_billed_in IN CASE_COST.hours_billed%TYPE,
prepayment_flag_in IN CASE_COST.prepayment_flag%TYPE,
authorized_date_in IN CASE_COST.authorized_date%TYPE,
payee_firm_prov_loc_id_in IN CASE_COST.PAYEE_firm_PROV_LOC_ID%TYPE,
payee_person_prov_loc_id_in IN CASE_COST.payee_person_prov_loc_id%TYPE,
authorizer_emplid_in IN CASE_COST.authorizer_emplid%TYPE,
cancelled_by_code_in IN CASE_COST.CANCELLED_BY_CODE%TYPE,
create_date_in IN CASE_COST.create_date%TYPE,
create_user_in IN CASE_COST.create_user%TYPE)
IS
BEGIN
INSERT INTO LEGAL.CASE_COST
(
case_cost_seq_num,
legal_case_seq_num,
service_from_date,
service_to_date,
SERVICE_CODE,
amount_paid,
amount_billed,
amount_per_hour,
hours_billed,
prepayment_flag,
authorized_date,
payee_firm_prov_loc_id,
PAYEE_PERSON_PROV_LOC_ID,
authorizer_emplid,
CANCELLED_BY_CODE,
create_date,
create_user
)
VALUES
(
case_cost_seq_num_in,
legal_case_seq_num_in,
service_from_date_in,
service_to_date_in,
service_code_in,
amount_paid_in,
amount_billed_in,
amount_per_hour_in,
hours_billed_in,
prepayment_flag_in,
authorized_date_in,
payee_firm_prov_loc_id_in,
payee_person_prov_loc_id_in,
authorizer_emplid_in,
cancelled_by_code_in,
create_date_in,
create_user_in
);
END case_cost_insert;
/********************************************
** DELETE PROCEDURE FOR TABLE "LEGAL.CASE_COST"
** DATE: 02-DEC-03 16:12:45
*********************************************/
PROCEDURE case_cost_delete
(
case_cost_seq_num_in IN CASE_COST.case_cost_seq_num%TYPE
)
IS
BEGIN
DELETE FROM CASE_COST
WHERE
case_cost_seq_num = case_cost_seq_num_in;
END case_cost_delete;
Function DeleteLegalCase(LegalCaseSeqNum IN LEGAL_CASE.legal_case_Seq_num%TYPE)
RETURN NUMBER
IS
v_update_count NUMBER;
BEGIN
-- Delete foreign keys first
BEGIN
DELETE FROM LEGAL_FILE_LOCATION
WHERE legal_case_seq_num = LegalCaseSeqNum;
EXCEPTION
WHEN NO_DATA_FOUND THEN
NULL;
END;
BEGIN
DELETE FROM LEGAL_CASE_EVALUATION
WHERE legal_case_Seq_num = LegalCaseSeqNum;
EXCEPTION
WHEN NO_DATA_FOUND THEN
NULL;
END;
BEGIN
DELETE FROM CONSOLIDATED_CASE
WHERE primary_case_Seq_num = LegalCaseSeqNum
OR secondary_case_seq_num = LegalCaseSeqNum;
EXCEPTION
WHEN NO_DATA_FOUND THEN
NULL;
END;
BEGIN
DELETE FROM REQUEST_ISSUE
WHERE legal_case_Seq_num = LegalCaseSeqNum;
EXCEPTION
WHEN NO_DATA_FOUND THEN
NULL;
END;
BEGIN
DELETE FROM LETTER_REQUEST
WHERE legal_case_Seq_num = LegalCaseSeqNum;
EXCEPTION
WHEN NO_DATA_FOUND THEN
NULL;
END;
BEGIN
DELETE FROM LEGAL_CASE_EVALUATION
WHERE legal_case_Seq_num = LegalCaseSeqNum;
EXCEPTION
WHEN NO_DATA_FOUND THEN
NULL;
END;
BEGIN
DELETE FROM CASE_STATUS_HISTORY
WHERE legal_case_Seq_num = LegalCaseSeqNum;
EXCEPTION
WHEN NO_DATA_FOUND THEN
NULL;
END;
BEGIN
DELETE FROM LEGAL_CASE_EMPLOYER_CARRIER
WHERE legal_case_Seq_num = LegalCaseSeqNum;
EXCEPTION
WHEN NO_DATA_FOUND THEN
NULL;
END;
BEGIN
DELETE FROM LEGAL_CASE_EMPLOYER
WHERE legal_case_Seq_num = LegalCaseSeqNum;
EXCEPTION
WHEN NO_DATA_FOUND THEN
NULL;
END;
BEGIN
DELETE FROM OUTCOME_ISSUE i
WHERE i.case_outcome_seq_num IN
(SELECT case_outcome_seq_num
FROM CASE_OUTCOME o
WHERE o.legal_case_Seq_num = LegalCaseSeqNum);
EXCEPTION
WHEN NO_DATA_FOUND THEN
NULL;
END;
BEGIN
DELETE FROM OUTCOME_STAFF s
WHERE s.case_outcome_seq_num IN
(SELECT case_outcome_seq_num
FROM CASE_OUTCOME o
WHERE o.legal_case_Seq_num = LegalCaseSeqNum);
EXCEPTION
WHEN NO_DATA_FOUND THEN
NULL;
END;
BEGIN
DELETE FROM CASE_OUTCOME
WHERE legal_case_Seq_num = LegalCaseSeqNum;
EXCEPTION
WHEN NO_DATA_FOUND THEN
NULL;
END;
BEGIN
DELETE FROM CASE_NOTE
WHERE legal_case_Seq_num = LegalCaseSeqNum;
EXCEPTION
WHEN NO_DATA_FOUND THEN
NULL;
END;
BEGIN
DELETE FROM CASE_COST
WHERE legal_case_Seq_num = LegalCaseSeqNum;
EXCEPTION
WHEN NO_DATA_FOUND THEN
NULL;
END;
BEGIN
DELETE FROM SCHEDULE
WHERE legal_case_Seq_num = LegalCaseSeqNum;
EXCEPTION
WHEN NO_DATA_FOUND THEN
NULL;
END;
BEGIN
DELETE FROM CLAIM_IMAGE_ALERTS_HISTORY
WHERE legal_case_Seq_num = LegalCaseSeqNum;
EXCEPTION
WHEN NO_DATA_FOUND THEN
NULL;
END;
BEGIN
DELETE FROM LEGAL_CASE
WHERE legal_case_Seq_num = LegalCaseSeqNum;
END;
v_update_count := SQL%Rowcount;
RETURN v_update_count;
END DeleteLegalCase;
PROCEDURE GetCaseNote(CaseId IN NUMBER,
recordset OUT ref_cursor)
AS BEGIN
OPEN recordset FOR
SELECT
case_note_seq_num NoteId,
legal_case_seq_num CaseId,
NOTE_CATEGORY_CODE CategoryCode,
text NoteText,
create_date CreateDate,
create_user CreateUser,
update_date UpdateDate,
update_user UpdateUser
FROM CASE_NOTE
WHERE
legal_case_seq_num = CaseId
order by Create_date desc;
END GetCaseNote;
/********************************************
** INSERT PROCEDURE FOR TABLE "LEGAL.CASE_NOTE"
** DATE: 06-AUG-03 10:20:33
*********************************************/
Function case_note_insert
(
noteId IN CASE_NOTE.case_note_seq_num%TYPE,
caseId IN CASE_NOTE.legal_case_seq_num%TYPE,
categoryCode IN CASE_NOTE.NOTE_CATEGORY_CODE%TYPE,
Notetext IN CASE_NOTE.text%TYPE,
createDate IN CASE_NOTE.create_date%TYPE,
createUser IN CASE_NOTE.create_user%TYPE)
RETURN NUMBER
IS
v_update_count NUMBER;
BEGIN
INSERT INTO LEGAL.CASE_NOTE
(
case_note_seq_num,
legal_case_seq_num,
NOTE_CATEGORY_CODE,
text,
create_date,
create_user
)
VALUES
(
noteId,
caseId,
categoryCode,
Notetext,
createdate,
createUser
);
v_update_count := SQL%Rowcount;
RETURN v_update_count;
END case_note_insert;
/********************************************
** UPDATE PROCEDURE FOR TABLE "LEGAL.CASE_NOTE"
** DATE: 06-AUG-03 10:21:50
*********************************************/
Function case_note_update
(
noteId IN CASE_NOTE.case_note_seq_num%TYPE,
caseId IN CASE_NOTE.legal_case_seq_num%TYPE,
categoryCode IN CASE_NOTE.NOTE_CATEGORY_CODE%TYPE,
NoteText IN CASE_NOTE.text%TYPE,
updateDate IN CASE_NOTE.update_date%TYPE,
updateUser IN CASE_NOTE.update_user%TYPE)
RETURN NUMBER
IS
v_update_count NUMBER;
BEGIN
UPDATE LEGAL.CASE_NOTE SET
legal_case_seq_num = caseId,
NOTE_CATEGORY_CODE = categoryCode,
text = Notetext,
update_date = updateDate,
update_user = updateUser
WHERE
case_note_seq_num = noteId;
v_update_count := SQL%Rowcount;
RETURN v_update_count;
END case_note_update;
/********************************************
** DELETE PROCEDURE FOR TABLE "LEGAL.CASE_NOTE"
** DATE: 07-AUG-03 10:21:48
*********************************************/
Function case_note_delete
(
noteId IN CASE_NOTE.case_note_seq_num%TYPE
) RETURN NUMBER
IS
v_update_count NUMBER;
BEGIN
DELETE FROM CASE_NOTE
WHERE
case_note_seq_num = noteId;
v_update_count := SQL%Rowcount;
RETURN v_update_count;
END case_note_delete;
PROCEDURE GetSAIFAtty(aLegalCaseNum IN NUMBER,
recordset OUT ref_cursor)
AS BEGIN
OPEN recordset FOR
SELECT pro.profile_emplid AS atty_emplid,
aty.LAST_NAME || ', ' || DECODE(aty.preferred_name, ' ',
aty.FIRST_NAME,aty.preferred_name) AS atty_name,
aty.EMAIL_ADDRESS AS atty_email,
aty.user_id AS aty_mailid,
DECODE(aty.phone_extension,' ',SUBSTR(aty.PHONE,9), aty.phone_extension) AS aty_extension,
sec.emplid AS sec_emplid,
sec.LAST_NAME || ', ' || DECODE(sec.preferred_name, ' ',
sec.FIRST_NAME,sec.preferred_name) AS sec_name,
sec.EMAIL_ADDRESS AS sec_email,
sec.user_id AS sec_mailid,
DECODE(sec.phone_extension,' ',SUBSTR(sec.PHONE,9), sec.phone_extension) AS sec_extension,
nvl(aty.phone, '503.285.8525') as AttorneyPhone,
nvl(ATY.FAX_NUM, '5035849578') as AttorneyFax,
DECODE(aty.preferred_name, ' ',
aty.FIRST_NAME,aty.preferred_name) || ' ' || aty.LAST_NAME AS AttorneyNameFL
FROM ATTORNEY_PROFILE pro,
adp_employee aty,
adp_employee sec
WHERE aty.emplid (+) = pro.profile_emplid
AND sec.emplid (+) = pro.secretary_emplid
AND pro.profile_emplid = get_asgn_atty_id(aLegalCaseNum);
END GetSAIFAtty;
PROCEDURE GetCaseOutcome(LegalCaseID IN NUMBER,
recordset OUT ref_Cursor)
AS BEGIN
OPEN recordset FOR
SELECT cot.case_outcome_seq_num CaseOutcomeID,
cot.legal_case_seq_num LegalCaseID,
cot.ORDER_TYPE_CODE OrderTypeCode,
cot.order_signed_date OrderSignedDate,
cot.order_filed_date OrderFiledDate,
cot.create_date CreateDate,
cot.create_user CreateUser,
cot.update_date UpdateDate,
cot.update_user UpdateUser,
NVL(cot.asgn_atty_emplid, '0') AS AsgnAttyEmplid,
nvl(COT.APPEAL_SEQ_NUM, 0) as appealId
FROM CASE_OUTCOME cot
WHERE cot.legal_case_seq_num = LegalCaseID
ORDER BY cot.order_signed_date;
END GetCaseOutcome;
PROCEDURE GetOutcomeIssue(aLegalCaseNum IN NUMBER,
recordset OUT OutcomeIssueCursor)
AS BEGIN
OPEN recordset FOR
SELECT OCI.outcome_issue_seq_num,
OCI.case_outcome_seq_num,
OCI.OUTCOME_ISSUE_CODE,
OCI.win_loss_flag,
OCI.fee_amount,
DECODE(OCI.penalty_flag,'Y',1,0) AS penalty_flag,
DECODE(OCI.primary_issue_flag,'Y',1,0) AS primary_issue_flag,
OCI.create_date,
OCI.create_user,
OCI.summary_text,
NVL(OCI.OUTCOME_GROUNDS_CODE,'0') AS OUTCOME_GROUNDS_CODE,
NVL(OCI.LEGAL_BODY_PART_CODE,'0') AS LEGAL_BODY_PART_CODE,
NVL(OCI.NATURE_CODE,'0') AS NATURE_CODE,
OCI.update_date,
OCI.update_user
FROM OUTCOME_ISSUE OCI,
CASE_OUTCOME COT
WHERE cot.legal_case_seq_num = aLegalCaseNum
AND OCI.case_outcome_seq_num = COT.case_outcome_seq_num
ORDER BY OCI.outcome_issue_seq_num;
END GetOutcomeIssue;
PROCEDURE getAljList(aLegalCaseNum IN NUMBER,
recordset OUT ALJListCursor)
AS BEGIN
OPEN recordset FOR
SELECT per.legal_person_seq_num, per.last_name,
typ.LEGAL_PERSON_TYPE_CODE, cod.code_descr,0 AS Selected
FROM LEGAL_PERSON per,
LEGAL_PERSON_TYPE typ,
LEGAL_PERSON_TYPE_CODE cod
WHERE typ.legal_person_seq_num = per.legal_person_seq_num
AND TRUNC(SYSDATE) BETWEEN typ.eff_date
AND NVL(typ.exp_date, '31-dec-2999')
AND typ.LEGAL_PERSON_TYPE_CODE IN ('ALJ','BOARD', 'FJ')
AND cod.code = TYP.LEGAL_PERSON_TYPE_CODE
ORDER BY selected DESC, last_name;
END getAljList;
PROCEDURE GetOutcomeStaff(aLegalCaseNum IN NUMBER,
recordset OUT OutcomeStaffCursor)
AS BEGIN
OPEN recordset FOR
SELECT stf.outcome_staff_seq_num,
stf.case_outcome_seq_num,
stf.outcome_staff_person_seq_num,
per.last_name
FROM OUTCOME_STAFF stf,
LEGAL_PERSON per,
CASE_OUTCOME cot
WHERE stf.outcome_staff_person_seq_num = per.legal_person_seq_num
AND stf.case_outcome_seq_num = cot.case_outcome_seq_num
AND cot.legal_case_Seq_num = aLegalCaseNum
ORDER BY stf.outcome_staff_seq_num;
END GetOutcomeStaff;
Function updateCaseOutcome( CaseOutcomeID IN CASE_OUTCOME.case_outcome_seq_num%TYPE,
LegalCaseID IN CASE_OUTCOME.legal_case_seq_num%TYPE,
OrderTypeCode IN CASE_OUTCOME.ORDER_TYPE_CODE%TYPE,
OrderSignedDate IN CASE_OUTCOME.order_signed_date%TYPE := NULL,
OrderFiledDate IN CASE_OUTCOME.order_filed_date%TYPE := NULL,
UpdateUser IN CASE_OUTCOME.update_user%TYPE := NULL,
AsgnAttyEmplid CASE_OUTCOME.asgn_atty_emplid%TYPE := NULL,
AppealId CASE_OUTCOME.APPEAL_SEQ_NUM%TYPE := Null)
return number
AS
BEGIN
UPDATE CASE_OUTCOME SET
case_outcome_seq_num = CaseOutcomeID,
legal_case_seq_num = legalcaseId,
ORDER_TYPE_CODE = ordertypecode,
order_signed_date = ordersigneddate,
order_filed_date = orderfileddate,
update_date = SYSDATE,
update_user = UpdateUser,
asgn_atty_emplid = AsgnAttyEmplid,
appeal_seq_num = appealId
WHERE
case_outcome_seq_num = CaseOutcomeID;
return SQL%Rowcount;
end updateCaseOutcome;
Function InsertCaseOutcome( CaseOutcomeID IN CASE_OUTCOME.case_outcome_seq_num%TYPE,
LegalCaseID IN CASE_OUTCOME.legal_case_seq_num%TYPE,
OrderTypeCode IN CASE_OUTCOME.ORDER_TYPE_CODE%TYPE,
OrderSignedDate IN CASE_OUTCOME.order_signed_date%TYPE := NULL,
OrderFiledDate IN CASE_OUTCOME.order_filed_date%TYPE := NULL,
UpdateUser IN CASE_OUTCOME.update_user%TYPE := NULL,
AsgnAttyEmplid CASE_OUTCOME.asgn_atty_emplid%TYPE := NULL,
AppealId CASE_OUTCOME.APPEAL_SEQ_NUM%TYPE := Null)
return number
AS
BEGIN
INSERT INTO CASE_OUTCOME
( case_outcome_seq_num,
legal_case_seq_num,
ORDER_TYPE_CODE,
create_date,
create_user,
order_signed_date,
order_filed_date,
update_date,
update_user,
asgn_atty_emplid,
appeal_seq_num
)
VALUES
( CaseOutcomeID,
legalCaseId,
orderTypeCode,
SYSDATE,
UpdateUser,
orderSignedDate,
orderFiledDate,
SYSDATE,
UpdateUser,
AsgnAttyEmplid,
appealId
);
return SQL%Rowcount;
END insertCaseOutcome;
PROCEDURE updateOutcomeIssue(outcome_issue_seq_num_in IN OUTCOME_ISSUE.outcome_issue_seq_num%TYPE,
case_outcome_seq_num_in IN OUTCOME_ISSUE.case_outcome_seq_num%TYPE,
outcome_issue_code_in IN OUTCOME_ISSUE.OUTCOME_ISSUE_CODE%TYPE,
win_loss_flag_in IN OUTCOME_ISSUE.win_loss_flag%TYPE,
fee_amount_in IN OUTCOME_ISSUE.fee_amount%TYPE,
penalty_flag_in IN OUTCOME_ISSUE.penalty_flag%TYPE,
primary_issue_flag_in IN OUTCOME_ISSUE.primary_issue_flag%TYPE,
summary_text_in IN OUTCOME_ISSUE.summary_text%TYPE,
outcome_grounds_code_in IN OUTCOME_ISSUE.OUTCOME_GROUNDS_CODE%TYPE,
body_part_code_in IN OUTCOME_ISSUE.LEGAL_BODY_PART_CODE%TYPE,
nature_code_in IN OUTCOME_ISSUE.NATURE_CODE%TYPE,
userid_in IN OUTCOME_ISSUE.update_user%TYPE) AS
v_cnt NUMBER := 0;
BEGIN
BEGIN
SELECT COUNT(*)
INTO v_cnt
FROM OUTCOME_ISSUE
WHERE outcome_issue_seq_num = outcome_issue_seq_num_in;
EXCEPTION
WHEN NO_DATA_FOUND THEN
v_cnt := 0;
END;
BEGIN
IF v_cnt > 0 THEN
UPDATE OUTCOME_ISSUE SET
outcome_issue_seq_num = outcome_issue_seq_num_in,
case_outcome_seq_num = case_outcome_seq_num_in,
OUTCOME_ISSUE_CODE = outcome_issue_code_in,
win_loss_flag = win_loss_flag_in,
fee_amount = fee_amount_in,
penalty_flag = penalty_flag_in,
summary_text = summary_text_in,
primary_issue_flag = primary_issue_flag_in,
OUTCOME_GROUNDS_CODE = outcome_grounds_code_in,
LEGAL_BODY_PART_CODE = body_part_code_in,
NATURE_CODE = nature_code_in,
update_date = SYSDATE,
update_user = userid_in
WHERE
outcome_issue_seq_num = outcome_issue_seq_num_in;
END IF;
END;
BEGIN
IF v_cnt = 0 THEN
INSERT INTO OUTCOME_ISSUE
( outcome_issue_seq_num,
case_outcome_seq_num,
OUTCOME_ISSUE_CODE,
win_loss_flag,
fee_amount,
penalty_flag,
summary_text,
primary_issue_flag,
create_date,
create_user,
OUTCOME_GROUNDS_CODE,
LEGAL_BODY_PART_CODE,
NATURE_CODE,
update_date,
update_user
)
VALUES
( outcome_issue_seq_num_in,
case_outcome_seq_num_in,
outcome_issue_code_in,
win_loss_flag_in,
fee_amount_in,
penalty_flag_in,
summary_text_in,
primary_issue_flag_in,
SYSDATE,
userid_in,
outcome_grounds_code_in,
body_part_code_in,
nature_code_in,
SYSDATE,
userid_in
);
END IF;
END;
END updateOutcomeIssue;
PROCEDURE updateOutcomeStaff( outcome_staff_seq_num_in IN OUTCOME_STAFF.outcome_staff_seq_num%TYPE,
case_outcome_seq_num_in IN OUTCOME_STAFF.case_outcome_seq_num%TYPE,
staff_person_seq_num_in IN OUTCOME_STAFF.outcome_staff_person_seq_num%TYPE )
AS
v_cnt NUMBER := 0;
BEGIN
BEGIN
SELECT COUNT(*)
INTO v_cnt
FROM OUTCOME_STAFF
WHERE outcome_staff_seq_num = outcome_staff_seq_num_in;
EXCEPTION
WHEN NO_DATA_FOUND THEN
v_cnt := 0;
END;
BEGIN
IF v_cnt > 0 THEN
UPDATE OUTCOME_STAFF SET
outcome_staff_seq_num = outcome_staff_seq_num_in,
case_outcome_seq_num = case_outcome_seq_num_in,
outcome_staff_person_seq_num = staff_person_seq_num_in
WHERE
outcome_staff_seq_num = outcome_staff_seq_num_in;
END IF;
END;
BEGIN
IF v_cnt = 0 THEN
INSERT INTO LEGAL.OUTCOME_STAFF
( outcome_staff_seq_num,
case_outcome_seq_num,
outcome_staff_person_seq_num
)
VALUES
( outcome_staff_seq_num_in,
case_outcome_seq_num_in,
staff_person_seq_num_in
);
END IF;
END;
END updateOutcomeStaff;
FUNCTION DeleteCaseOutcome(case_outcome_seq_num_in IN CASE_OUTCOME.case_outcome_seq_num%TYPE) return number
AS
BEGIN
--Delete child issues
BEGIN
DELETE FROM OUTCOME_ISSUE
WHERE CASE_OUTCOME_SEQ_NUM = case_outcome_seq_num_in;
EXCEPTION
WHEN NO_DATA_FOUND THEN
NULL;
END;
--Delete child staff
BEGIN
DELETE FROM OUTCOME_STAFF
WHERE CASE_OUTCOME_SEQ_NUM = case_outcome_seq_num_in;
EXCEPTION
WHEN NO_DATA_FOUND THEN
NULL;
END;
--Now delete the outcome
BEGIN
DELETE FROM CASE_OUTCOME
WHERE CASE_OUTCOME_SEQ_NUM = case_outcome_seq_num_in;
EXCEPTION
WHEN NO_DATA_FOUND THEN
NULL;
END;
RETURN SQL%Rowcount;
END DeleteCaseOutcome;
PROCEDURE DeleteOutcomeIssue(outcome_issue_seq_num_in IN OUTCOME_ISSUE.outcome_issue_seq_num%TYPE)
AS
BEGIN
DELETE FROM OUTCOME_ISSUE
WHERE outcome_issue_seq_num = outcome_issue_seq_num_in;
EXCEPTION
WHEN NO_DATA_FOUND THEN
NULL;
END DeleteOutcomeIssue;
PROCEDURE DeleteOutcomeStaff(outcome_staff_seq_num_in IN OUTCOME_STAFF.outcome_staff_seq_num%TYPE) AS
BEGIN
DELETE FROM OUTCOME_STAFF
WHERE outcome_staff_seq_num = outcome_staff_seq_num_in;
EXCEPTION
WHEN NO_DATA_FOUND THEN
NULL;
END DeleteOutcomeStaff;
-----
PROCEDURE SetFinalOutcome( legal_case_seq_num_in IN LEGAL_CASE.legal_case_seq_num%TYPE) AS
v_final_seq NUMBER := 0;
BEGIN
-- Get the Seq Num of the Final Outcome
BEGIN
SELECT MAX(case_outcome_seq_num)
INTO v_final_seq
FROM CASE_OUTCOME
WHERE legal_case_seq_num = legal_case_seq_num_in
AND order_signed_date =
(SELECT MAX(order_signed_date)
FROM CASE_OUTCOME
WHERE legal_case_seq_num = legal_case_seq_num_in);
EXCEPTION
WHEN NO_DATA_FOUND THEN
NULL;
END;
-- Set the Final Flag
BEGIN
UPDATE CASE_OUTCOME
SET final_order_flag = 'N'
WHERE legal_case_seq_num = legal_case_seq_num_in
AND case_outcome_seq_num <> v_final_seq;
UPDATE CASE_OUTCOME
SET final_order_flag = 'Y'
WHERE legal_case_Seq_num = legal_case_seq_num_in
AND case_outcome_seq_num = v_final_seq;
EXCEPTION
WHEN NO_DATA_FOUND THEN
NULL;
END;
END SetFinalOutcome;
-----
PROCEDURE GetLegalCaseEmployer(aLegalCaseNum IN NUMBER,
recordset OUT LegalCaseEmployerCursor)
AS BEGIN OPEN recordset FOR
SELECT legal_case_employer_seq_num,
legal_case_seq_num,
employer_other_firm_seq_num,
DECODE(employer_discovery_flag,'Y','true','false') AS employer_discovery_flag,
DECODE(attorney_discovery_flag, 'Y','true','false') AS attorney_discovery_flag,
attorney_other_firm_seq_num,
attorney_legal_person_seq_num
FROM LEGAL_CASE_EMPLOYER
WHERE legal_case_seq_num = aLegalCaseNum;
END getLegalCaseEmployer;
/********************************************
** INSERT PROCEDURE FOR TABLE "LEGAL.LEGAL_CASE_EMPLOYER"
** DATE: 03-SEP-03 08:41:55
*********************************************/
PROCEDURE legal_case_employer_insert
(
legal_case_employer_seq_num_in IN LEGAL_CASE_EMPLOYER.legal_case_employer_seq_num%TYPE,
legal_case_seq_num_in IN LEGAL_CASE_EMPLOYER.legal_case_seq_num%TYPE,
other_firm_seq_num_in IN LEGAL_CASE_EMPLOYER.employer_other_firm_seq_num%TYPE,
discovery_flag_in IN LEGAL_CASE_EMPLOYER.employer_discovery_flag%TYPE,
attorney_discovery_flag_in IN LEGAL_CASE_EMPLOYER.attorney_discovery_flag%TYPE,
atty_other_firm_seq_num_in IN LEGAL_CASE_EMPLOYER.attorney_other_firm_seq_num%TYPE,
atty_legal_person_seq_num_in IN LEGAL_CASE_EMPLOYER.attorney_legal_person_seq_num%TYPE
)
IS
BEGIN
INSERT INTO LEGAL_CASE_EMPLOYER
(
legal_case_employer_seq_num,
legal_case_seq_num,
employer_other_firm_seq_num,
employer_discovery_flag,
attorney_discovery_flag,
attorney_other_firm_seq_num,
attorney_legal_person_seq_num
)
VALUES
(
legal_case_employer_seq_num_in,
legal_case_seq_num_in,
other_firm_seq_num_in,
discovery_flag_in,
attorney_discovery_flag_in,
atty_other_firm_seq_num_in,
atty_legal_person_seq_num_in
);
END legal_case_employer_insert;
/********************************************
** UPDATE PROCEDURE FOR TABLE "LEGAL.LEGAL_CASE_EMPLOYER"
** DATE: 03-SEP-03 08:43:30
*********************************************/
PROCEDURE legal_case_employer_update
(
legal_case_employer_seq_num_in IN LEGAL_CASE_EMPLOYER.legal_case_employer_seq_num%TYPE,
legal_case_seq_num_in IN LEGAL_CASE_EMPLOYER.legal_case_seq_num%TYPE,
other_firm_seq_num_in IN LEGAL_CASE_EMPLOYER.employer_other_firm_seq_num%TYPE,
discovery_flag_in IN LEGAL_CASE_EMPLOYER.employer_discovery_flag%TYPE,
attorney_discovery_flag_in IN LEGAL_CASE_EMPLOYER.attorney_discovery_flag%TYPE,
atty_other_firm_seq_num_in IN LEGAL_CASE_EMPLOYER.attorney_other_firm_seq_num%TYPE,
atty_legal_person_seq_num_in IN LEGAL_CASE_EMPLOYER.attorney_legal_person_seq_num%TYPE
)
IS
BEGIN
UPDATE LEGAL.LEGAL_CASE_EMPLOYER SET
legal_case_seq_num = legal_case_seq_num_in,
employer_other_firm_seq_num = other_firm_seq_num_in,
employer_discovery_flag = discovery_flag_in,
attorney_discovery_flag = attorney_discovery_flag_in,
attorney_other_firm_seq_num = atty_other_firm_seq_num_in,
attorney_legal_person_seq_num = atty_legal_person_seq_num_in
WHERE
legal_case_employer_seq_num = legal_case_employer_seq_num_in;
END legal_case_employer_update;
-- Get the Attorney Address for Printing on Letters
-- IF an attorney exists for the case, get the address from provider
-- Otherwise get the worker address
PROCEDURE GetWorkerAtty(recordset OUT ref_cursor, inFirmLocID IN NUMBER, inAttyLocID IN NUMBER)
AS
v_addr_cur Pk82002_Provider.address_cursor;
v_addr_rec Pk82002_Provider.address_rec;
outFirmName VARCHAR2(100):= '';
outAttyName VARCHAR2(100):= '';
outAddr1 VARCHAR2(100):= '';
outAddr2 VARCHAR2(100):= '';
outAddr3 VARCHAR2(100):= '';
outAddr4 VARCHAR2(100):= '';
outPhone VARCHAR2(100):= '';
BEGIN
IF inFirmLocID > 0 THEN
-- Get the Firm Address
Pk82002_Provider.getLocByID(inFirmLocID,'COR',v_addr_cur);
LOOP
BEGIN
FETCH v_addr_cur INTO v_addr_rec;
EXIT WHEN v_addr_cur%NOTFOUND;
outFirmName := Sp79013_Initcap_Name(v_addr_rec.location_name);
outAddr1 := v_addr_rec.addr_line1;
outAddr2 := v_addr_rec.addr_line2;
outAddr3 := v_addr_rec.addr_line3;
outAddr4 := v_addr_rec.addr_line4;
outPhone := v_addr_rec.phone_num;
IF v_addr_rec.foreign_addr_flag <> 'Y' THEN
outAddr4 := v_addr_rec.city_st;
END IF;
END;
END LOOP;
IF inAttyLocID > 0 THEN
BEGIN
outAttyName := Sp79013_Initcap_Name(Pk82002_Provider.getProviderName(inAttyLocID));
EXCEPTION
WHEN NO_DATA_FOUND THEN
outAttyName := '';
END;
END IF;
END IF;
OPEN recordset FOR
SELECT /*+ FIRST_ROWS */
outFirmName FirmName,
outAttyName AttyName,
outAddr1 Addr1,
outAddr2 Addr2,
outAddr3 Addr3,
outAddr4 Addr4,
outPhone Phone
FROM DUAL;
END GetWorkerAtty;
PROCEDURE GetAttyLeaveReport(inStartDate IN DATE,
inStopDate IN DATE,
recordset OUT AttyLeaveCursor)
AS BEGIN OPEN recordset FOR
SELECT /*+ FIRST_ROWS */ schedule_emplid,
MAX(RTRIM(E.last_name) || ', ' || RTRIM(DECODE(NVL(E.preferred_name,' '), ' ', E.FIRST_NAME,E.preferred_name))) AS ATTY_NAME,
SUM(DECODE(ATTORNEY_SCHEDULE_TYPE_CODE,'VAC', Sp72219_Day_Count(GREATEST(inStartDate,eff_Date),LEAST(inStopDate, exp_date))+ 1, 0)) AS vac_days,
SUM(DECODE(ATTORNEY_SCHEDULE_TYPE_CODE,'LEAVE', Sp72219_Day_Count(GREATEST(inStartDate,eff_Date),LEAST(inStopDate, exp_date))+ 1, 0)) AS med_days
FROM ATTORNEY_SCHEDULE s, adp_employee E
WHERE E.emplid = s.schedule_emplid
AND ATTORNEY_SCHEDULE_TYPE_CODE IN ('VAC', 'LEAVE')
AND DURATION_CODE = 'FULL'
AND ( (TRUNC(eff_Date) BETWEEN inStartDate AND inStopDate)
OR (TRUNC(exp_date) BETWEEN inStartDate AND inStopDate)
OR (TRUNC(eff_Date) < inStartDate AND TRUNC(exp_date) > inStopDate))
GROUP BY schedule_emplid
ORDER BY 2;
END GetAttyLeaveReport;
PROCEDURE alertlegalcase(
inClaimId IN NUMBER
, outAlertFlag OUT VARCHAR2)
IS
v_cases NUMBER := 0;
v_return VARCHAR2(1) := 'N';
CURSOR check_legal_cases
IS
SELECT COUNT(*)
FROM LEGAL_CASE lc
WHERE lc.claim_image_alerts_flag = 'Y'
AND lc.claim_id = inClaimId;
BEGIN
IF NOT check_legal_cases%ISOPEN THEN
OPEN check_legal_cases;
END IF;
FETCH check_legal_cases
INTO v_cases;
IF check_legal_cases%FOUND THEN
IF v_cases > 0 THEN
v_return := 'Y';
END IF;
END IF;
IF check_legal_cases%ISOPEN THEN
CLOSE check_legal_cases;
END IF;
outAlertFlag := v_return;
END alertlegalcase;
PROCEDURE SelectImageAlertsHist(inCaseSeqNum IN NUMBER, recordset OUT ref_cursor) AS
BEGIN
OPEN recordset FOR
SELECT claim_image_alrt_hist_seq_num, legal_case_Seq_num, claim_image_alerts_flag, update_date, update_user
FROM CLAIM_IMAGE_ALERTS_HISTORY
WHERE legal_case_Seq_num = inCaseSeqNum
ORDER BY update_Date DESC;
END SelectImageAlertsHist;
PROCEDURE SelectLegalEmployees(recordset OUT ref_cursor) AS
BEGIN
OPEN recordset FOR
SELECT LAST_NAME || ', ' ||
DECODE (NVL (preferred_name, ' '), ' ', FIRST_NAME, preferred_name) AS EMPLOYEE_NAME,
USER_ID, EMPLID, DESCR, NVL (ATTORNEY_TYPE_CODE, 'NA') AS ATTORNEY_TYPE_CODE
FROM ADP_EMPLOYEE A
LEFT OUTER JOIN ATTORNEY_PROFILE P ON A.EMPLID = P.PROFILE_EMPLID
WHERE (DEPTID = '005201'
OR (DEPTID = '001101' AND UPPER (DESCR) LIKE '%LEGAL%'))
AND EMPL_STATUS = 'A'
ORDER BY EMPLOYEE_NAME;
END SelectLegalEmployees;
PROCEDURE getPolicyAddresses(inPolicyNum IN NUMBER,
recordset OUT ref_cursor) AS
BEGIN
OPEN recordset FOR
select loc_seq_num as PolicyLocSeqNum, LOC.location_code as code,
loc.primary_location_flag as primaryFlag
,LCD.SHORT_CODE_DESCR as PolicyLocCode
from location loc
left outer join location_code lcd on LOC.LOCATION_CODE = LCD.CODE
where policy_num = inPolicyNum
and to_char(sysdate, 'yyyy/mm/dd') >= to_char(loc_eff_date,'yyyy/mm/dd')
and to_char(sysdate, 'yyyy/mm/dd') <= nvl(to_char(loc_exp_date,'yyyy/mm/dd'), to_char(sysdate,'yyyy/mm/dd'))
order by decode(LOC.LOCATION_CODE,'CLM','1','POL','2','BUS','3','4'), primary_location_flag desc;
END getPolicyAddresses;
END;
Note: Statements marked with * were inferred from code structure, naming conventions, or contextual evidence where direct confirmation was not available in source artifacts. Statements marked with ** could not be confirmed; treat as unknown until verified.
Related Documentation¶
Sources¶
- Oracle package specification and body:
WCIS_DBA.pk80001_legalnet(retrieved vialegends oracle query --owner SAIF --name pk80001_legalneton 2026-08-31) - Legacy calling-class mapping cross-checked against
Claims.BOF.Web.LegalMaintenanceVB.NET/.NET class usage