Claim award and closure order retrieval¶
This operation retrieves two related, SQL-backed per-claim history sub-objects: claim award/benefit-payment detail (clsAwardInfo) and claim closure/order header records (clsClosureOrder). Both are simple inline-SQL retrievals with no shared rule set beyond claim-scoped filtering, but neither has an existing per-operation home in the previous documentation, so they are documented together as newly-traced claim-detail retrievals.
| Field | Value |
|---|---|
| Operation ID | OP-VC-10 |
| Trigger | Caller reads clsClaimData.AwardInfo (lazy-loads clsAwardInfo), or calls clsClosureOrder.GetClosureOrders(claimID) or single-record retrieval by closure/order ID |
| Inputs | Claim ID; optional closure ID and order ID for clsClosureOrder single-record retrieval |
| Outputs | clsAwardInfo (award details, counts by type, active/state/federal award flags); one clsClosureOrder or IEnumerable(Of clsClosureOrder) (closure/order header, order type, rescission flag) |
| Primary components | clsAwardInfo.Details, clsAwardInfo.DetailsByType, clsAwardInfo.GetActiveAward, clsClosureOrder.GetClosureOrders, clsClosureOrder.Load |
| Entry point | Business\SAIF.Business.View.Claim\clsAwardInfo.vb, Business\SAIF.Business.View.Claim\clsClosureOrder.vb |
Steps¶
- Award retrieval — query awards and payments.
clsAwardInfoqueriesCL_AWARDjoined toCL_BENEFIT_PAYMENTfor the claim to build the award detail list. - Award retrieval — recalculate PPD balances. For rows whose benefit type is permanent partial disability (PPD), a second query against
cl_state_award_monthly_payeeandcl_benefit_payeereplaces the balance from step 1 with a payee-level computed balance (BR-011). - Award retrieval — map status. Each award's status code (
A/P/S/D) is mapped to an enum value; any other code maps toUnknown. - Award retrieval — expose summaries.
clsAwardInfoexposesDetails,DetailsByType(type),LastAwardByType(type),GetActiveAward(),CountByType(type),AwardCount,StateCount,FederalCount, and boolean flagsHasActiveAward/HasStateAward/HasFederalAward. - Closure order retrieval — query closure/order header.
clsClosureOrder's claim-level query selects fromcl_claim_closure_orderjoined tocl_order_type_code; a single-record variant adds closure ID and order ID filters. - Closure order retrieval — mark loaded.
Loadsets the object as valid (IsValid = True) once populated. - Closure order retrieval — lazily resolve order type description. The
OrderTypeproperty lazy-loads the full order-type reference row viaclsOrderTypeCode.GetOrderTypeCode(dataPortalInfo, OrderTypeCode)on first access. - Return results.
clsAwardInfois returned asclsClaimData.AwardInfo;clsClosureOrder.GetClosureOrdersreturns a single object or an enumerable of closure/order records for the claim.
Process flow¶
The following diagram visualizes this operation's control flow.
flowchart TD
Start([Caller requests award or closure order data]) --> Which{Award info or closure order?}
Which -->|Award| QueryAward[Query CL_AWARD joined to<br>CL_BENEFIT_PAYMENT]
QueryAward --> PPD{Benefit type is PPD?}
PPD -->|Yes| Recalc[Recalculate balance from<br>state award payee tables]
PPD -->|No| KeepBalance[Keep original balance]
Recalc --> MapStatus[Map status code to enum]
KeepBalance --> MapStatus
MapStatus --> DoneAward([Return clsAwardInfo])
Which -->|Closure order| QueryClosure[Query cl_claim_closure_order<br>joined to cl_order_type_code]
QueryClosure --> MarkValid[Mark object valid]
MarkValid --> DoneClosure([Return clsClosureOrder / enumerable])
Failure and edge-case behavior¶
- An unmapped award status code defaults to
Unknownrather than raising an error, so unexpected status values are silently absorbed. - PPD balance recalculation issues one additional query per PPD award row, so claims with many PPD awards incur proportionally more database round-trips.*
OrderTypedescription resolution is lazy and depends on a successful separate lookup against the order-type reference table; if that lookup fails, the closure/order object still returns its own code-level fields.*
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.View.Claim\clsAwardInfo.vbBusiness\SAIF.Business.View.Claim\clsClosureOrder.vbBusiness\SAIF.Business.View.Claim\clsClaimData.vb