Bill contract flags¶
Bill.IsBillDiscardable, Bill.IsBillComplete, and Bill.IsBillUpdateable compute UI-facing boolean state directly from BillEntrySourceCode and BillStatusCode, so bill screens can enable or disable actions without re-implementing the status logic.
| Field | Value |
|---|---|
| Operation ID | OP-CORE-06 |
| Trigger | Bill UI rendering |
| Inputs | BillEntrySourceCode, BillStatusCode |
| Outputs | IsBillDiscardable, IsBillComplete, IsBillUpdateable boolean flags |
| Primary components | Bill.IsBillDiscardable, Bill.IsBillComplete, Bill.IsBillUpdateable |
| Entry point | Core/SAIF.Core/Contracts/Claims/Bills/Bill.cs |
Steps¶
IsBillDiscardableevaluates to true whenBillEntrySourceCodeis not"E"(not an e-bill) orBillStatusCodeisPEN(CORE-BR-050).IsBillCompleteevaluates to true whenBillStatusCodeisCOM(CORE-BR-051).IsBillUpdateableevaluates to true whenBillStatusCodeis one ofPEN,ENT,AUD, orSUS(CORE-BR-052).- All three flags are computed independently from the same two source fields and are read by bill screens to decide which actions to show.
Process flow¶
The following diagram visualizes this operation's control flow.
flowchart TD
Start([Bill entry source and status read]) --> D1[Compute IsBillDiscardable]
Start --> D2[Compute IsBillComplete]
Start --> D3[Compute IsBillUpdateable]
D1 --> EndOk([Flags returned to bill screen])
D2 --> EndOk
D3 --> EndOk
Failure and edge-case behavior¶
- An unrecognized
BillStatusCodevalue causes all three flags to evaluate to false rather than raising an error*.
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¶
- Core/SAIF.Core/Contracts/Claims/Bills/Bill.cs