Skip to content

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

  1. Status codes PEND/HELD/DELE/RELE (SD-BR-070). Data: PolicyOutputDocument (policy_output_document), DocumentStatusCode (document_status_code).
  2. DOCUMENTDATE comes from BatchProcessLog (batch_process_log), defaulting to today (SD-BR-071, SQL-181, SQL-182, SQL-183, SQL-184, SQL-185, SQL-186).
  3. Agency visibility filters: AgencyViewable and AgencyInboxViewable (SD-BR-072).
  4. ForCategory: "ALL" or blank means no filter (SD-BR-073).
  5. ForPolicyOrAccount returns policy documents only; an accountDocs variable is computed but not used, a probable defect (SD-BR-074).
  6. GetReleasedAgencyViewableChildOutputDocuments throws 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.

Sources

  • Data/SAIF.Data/Queries/OutputDocuments/OutputDocumentQueryProvider.cs
  • Data/SAIF.Data/Queries/OutputDocuments/OutputDocumentQueryProvider.cs:23
  • Data/SAIF.Data/Queries/OutputDocuments/OutputDocumentQueryProvider.cs:35
  • Data/SAIF.Data/Queries/OutputDocuments/OutputDocumentQueryProvider.cs:41