Retrieve and redact "my tasks"¶
Retrieves a per-mailid task list, resolves confidentiality access once per retrieval, and redacts worker names on flagged claims for unauthorized users.
| Field | Value |
|---|---|
| Operation ID | OP-6 |
| Trigger | User opens their personal task list |
| Inputs | MyTaskCriteria |
| Outputs | Sorted, access-filtered clsClaimTask list |
| Primary components | clsMyTaskCollection.GetTasks, clsMyTaskCollection.AfterRetrieve |
| Entry point | SAIF.Business.Tasks.Claim/clsMyTaskCollection.vb |
Steps¶
GetTasksassigns the DPI and addsTaskSourceSystem.Claimsto the criteria, then callsRetrieveObject.AfterRetrieveresolves four access rights once:ClaimServices.HasExposureAccess(True),HasConflictAccess(True),HasCollateralAccess(True),HasSecureAccess(True).- For each reader row: wrap in
clsSAIFDataReader, readTaskSourceCode; construct a task viaNewTask(). - On failure: if the constructed task is
Nothing, throwApplicationExceptionnaming the unsupported source system (BR-MY-03). - Otherwise call
Task.LoadAfterSort(dpi, reader)(public wrapper over the protectedLoad, executing SQL-001 via Enrich a loaded claim task), assign the grouping sort key viasetSortOrder.
Origin: Step 4's sort-key assignment is Assign the claim-grouped sort key. 5. Apply BR-MY-01: if the task is flagged exposure / health issue / hostile worker / worker conflict and the user lacks the matching access, overwrite
WorkerNamewith"Confidential". 6. After the loop, callSortByDefault()—sortBy, thenTaskDate, thenClaimNum(BR-MY-02). - Redaction is silent (no message to the user).
Process flow¶
flowchart TD
Start([User opens my tasks]) --> S1["GetTasks: assign DPI,<br>RetrieveObject"]
S1 --> S2[Resolve 4 access rights once]
S2 --> Loop{For each row}
Loop --> S3[Construct task via NewTask]
S3 --> Check{NewTask returns Nothing?}
Check -->|Yes| Err([ApplicationException])
Check -->|No| S4["LoadAfterSort, assign sort<br>key"]
S4 --> S5{Flagged and unauthorized?}
S5 -->|Yes| Redact["Set WorkerName =<br>Confidential"]
S5 -->|No| Loop
Redact --> Loop
Loop -->|Done| S6[SortByDefault]
S6 --> EndOk([Sorted, redacted task list])
Failure and edge-case behavior¶
- Unsupported task source raises
ApplicationException. - Redaction is applied silently with no message to the user.
Related documentation¶
Sources¶
- SAIF.Business.Tasks.Claim/clsMyTaskCollection.vb