Skip to content

DCBS 1502 transfer handling

Manages the lifecycle of DCBS 1502 transfer file records: creation, retrieval of unprocessed transfers, and marking transfers as processed.

Field Value
Operation ID 1502-transfer
Trigger Caller creates a transfer record, sweeps for unprocessed transfers, or marks a transfer as processed
Inputs ClaimID, FileId, FileName, TransferDate
Outputs Transfer records; processed-date updates
Primary components cls1502Transfer, cls1502TransferList
Entry point SAIF.Business.Claim/cls1502Transfer.vb

Steps

  1. Standard BOF create validates the claim ID and filing reason (BR-001, BR-002).
  2. Create() obtains its key via DataPortalInfo.GetNextSeqNum rather than the declared CreateSQL property (SQL-001).*
  3. Insert the new transfer record (SQL-004, CL_1502_DCBS_TRANSFER).
  4. GetTransferList() retrieves unprocessed transfers for a specific claim (SQL-009); only rows with PROCESSED_DATE IS NULL are eligible.
  5. GetUnprocessedTransferList() retrieves all unprocessed transfers across claims, ordered by file name, for the transfer sweep (SQL-010).
  6. Mark a transfer as processed by updating PROCESSED_DATE (SQL-037, CL_1502_DCBS_TRANSFER) — the only schema-qualified statement (CLM_DBA) in the library, while the matching INSERT/DELETE/SELECT are unqualified.*
  7. Delete a transfer record when requested (SQL-052).

Process flow

The following diagram visualizes this operation's control flow.

flowchart TD
    Start([Create transfer request]) --> Validate{"ClaimID and FilingReason<br>valid?"}
    Validate -->|No| ErrRule([Broken rule: save blocked])
    Validate -->|Yes| GetSeq["Get next sequence via<br>DataPortalInfo.GetNextSeqNum"]
    GetSeq --> Insert[Insert CL_1502_DCBS_TRANSFER]
    Insert --> Sweep[Unprocessed-transfer sweep<br>GetUnprocessedTransferList]
    Sweep --> Process["Mark PROCESSED_DATE on<br>eligible transfer"]

Failure and edge-case behavior

  • Insert, update, and delete failures raise DB-contention errors (BR-012) when RowsAffected does not match the expected count.
  • Schema qualification is inconsistent: only the UPDATE statement (SQL-037) is qualified with CLM_DBA; INSERT, DELETE, and SELECT statements against the same table are unqualified.*

Note: Statements marked with * were inferred from code structure, naming conventions, or contextual evidence where direct confirmation was not available in source artifacts. Statements marked with ** could not be confirmed; treat as unknown until verified.

Sources

  • SAIF.Business.Claim/cls1502Transfer.vb