Output document queries¶
Query policy output documents by status, category, agency visibility, and parent/child release state.
| Field | Value |
|---|---|
| Operation ID | OP-SD-20 |
| Trigger | Document retrieval requests from agency/policy workflows. |
| Inputs | Policy id, category, document id |
| Outputs | Document list, or throws |
| Primary components | OutputDocumentQueryProvider, PolicyOutputDocumentExtensions |
| Entry point | Data/SAIF.Data/Queries/OutputDocuments/OutputDocumentQueryProvider.cs |
Steps¶
- Status codes PEND/HELD/DELE/RELE (SD-BR-070). Data:
PolicyOutputDocument(policy_output_document),DocumentStatusCode(document_status_code). DOCUMENTDATEcomes fromBatchProcessLog(batch_process_log), defaulting to today (SD-BR-071, SQL-181, SQL-182, SQL-183, SQL-184, SQL-185, SQL-186).- Agency visibility filters:
AgencyViewableandAgencyInboxViewable(SD-BR-072). ForCategory: "ALL" or blank means no filter (SD-BR-073).ForPolicyOrAccountreturns policy documents only; anaccountDocsvariable is computed but not used, a probable defect (SD-BR-074).GetReleasedAgencyViewableChildOutputDocumentsthrows if the parent document is not released (SD-BR-075).
Process flow¶
The following diagram visualizes this operation's control flow.
flowchart TD
Start([Document retrieval requests from agency/policy workflows.]) --> S1["`OutputDocumentQueryProvider`"]
S1 --> S2{"Rules satisfied?"}
S2 -->|Yes| EndOk([Result returned])
S2 -->|No| EndErr([Exception / empty result])
Failure and edge-case behavior¶
- Parent document not released: throws rather than returning an empty child list.
Related documentation¶
Sources¶
Data/SAIF.Data/Queries/OutputDocuments/OutputDocumentQueryProvider.csData/SAIF.Data/Queries/OutputDocuments/OutputDocumentQueryProvider.cs:23Data/SAIF.Data/Queries/OutputDocuments/OutputDocumentQueryProvider.cs:35Data/SAIF.Data/Queries/OutputDocuments/OutputDocumentQueryProvider.cs:41