Create new claim¶
Before a caller can populate and save a new claim, clsClaimEntry must obtain a unique claim identifier and seed every field with a known default so that later validation and save logic can rely on a fully initialized object. This operation is the data-portal Create lifecycle for the claim-entry aggregate.
| Field | Value |
|---|---|
| Operation ID | OP-CE-01 |
| Trigger | Caller invokes the data-portal create pipeline for clsClaimEntry (or a state/inmate/federal subclass) |
| Inputs | Acting worker ID (MyCriteria.WorkerID), jurisdiction code |
| Outputs | A new in-memory claim object with a reserved ClaimID, default status/coverage/flag values, and an empty injury address |
| Primary components | clsClaimEntry.BeforeCreate, clsClaimEntry.AfterCreate, clsStateClaimEntry.AfterCreate |
| Entry point | Business\SAIF.Business.Claim.Entry\clsClaimEntry.vb |
Steps¶
- Reserve a claim identifier.
BeforeCreatebuilds a scalar data-portal request and assignsMyCriteria.CreateSQL, which executesSELECT CLAIM_ID_SEQ.NEXTVAL FROM DUAL(SQL-001, DUAL). - Store the generated identifier.
AfterCreatereads the scalar result and assigns it to both the object'sClaimIDand the criteria'sClaimID. - Initialize the injury address.
SetUpInjuryAddress()builds the address child object; address formatting is temporarily disabled while default values are seeded, then re-enabled. - Seed claim-header defaults, including:
AgeDoiYears = 0,ClaimStatusCode = "I"(Incomplete),ClaimTypeCode = "0",CoverageCode = "A",InjOccupationalDiseaseCode = "I",HighSeasFlag = "N",TinAuthorizedUseFlag = "N",McoID = " "(two spaces).- Audit/update fields default to the current create context.
WorkerID = MyCriteria.WorkerID, copying the acting worker onto the new claim.- Clear nullable smart-string fields so the object does not carry stale defaults from the object pool.
- Create an empty claim-employee work-address object via
clsClaimEmployeeWorkAddress.EmptyAddress(...).Origin:
clsClaimEmployeeWorkAddressis implemented inSAIF.Business.Claim, which has been migrated to the current documentation format. Its full CRUD lifecycle is documented as Claim employee work address management; only the empty-address shell is created here. - Assign a state-specific jurisdiction (state subclass only).
clsStateClaimEntry.AfterCreatecalls the baseAfterCreate(steps 1–6) first, then setsm_JurisdictionCodefromJurisdictionMap(Jurisdictions.State).Code. - Return the initialized object to the data-portal caller, ready for the caller to populate and save (see Insert claim).
Process flow¶
flowchart TD
Start([Caller requests new claim]) --> Reserve[Reserve CLAIM_ID from<br>CLAIM_ID_SEQ sequence]
Reserve --> Store[Store ClaimID on<br>object and criteria]
Store --> Address[Initialize empty<br>injury address]
Address --> Defaults[Seed status, coverage,<br>flag, and audit defaults]
Defaults --> WorkAddr[Create empty claim<br>employee work address]
WorkAddr --> StateCheck{State subclass?}
StateCheck -->|Yes| Jurisdiction[Set jurisdiction code<br>to State]
StateCheck -->|No| Return([Return initialized<br>claim object])
Jurisdiction --> Return
Failure and edge-case behavior¶
NumberClaim's optionalinClaimNumberargument is declared but never read; claim numbering is a separate step performed by the caller after creation (see Number claim / manual claim validation).*- Because
AddBusinessRules()is empty inclsClaimEntryand every rule body inclsClaimEntryBusinessRules.vbis commented out, no BOF business rules are actively registered against the freshly created object; validation for this object relies on the shared cross-object helpers documented on Insert claim and Update claim.* - If the sequence call fails or returns no scalar result, the object is left without a valid
ClaimID, which would cause the subsequent insert to fail its primary-key binding; no explicit guard is present inAfterCreate.*
Related documentation¶
Note: Statements marked with
*were inferred from code structure, naming conventions, or contextual evidence where direct confirmation was not available in source artifacts.
Sources¶
Business\SAIF.Business.Claim.Entry\clsClaimEntry.vbBusiness\SAIF.Business.Claim.Entry\clsStateClaimEntry.vb