Skip to content

Policy output documents

Policy output documents is implemented by PolicyOutputDocumentRepository and is documented as OP-SDN-16 in the Stage 1 analysis.

Field Value
Operation ID OP-SDN-16
Trigger See steps below
Primary components PolicyOutputDocumentRepository

Steps

  1. Queries on PolicyOutputDocument (policy_output_document) eager-fetch related entities.
  2. Inbox: ShowOnlyDocuments determines the filter.
  3. Unread: NonViewed + NotAgencyDeleted.
  4. All: NotAgencyDeleted.
  5. Deleted: AgencyDeleted, meaning AgencyDeleteDate is set.
  6. Also filtered by agency or producer and by release date.
  7. Rule: SDN-BR-060.
  8. Released and agency-viewable filters use statuses RELE/HELD/PEND. Rule: SDN-BR-061. This duplicates SD-BR-070/SD-BR-072 from SAIF.Data (originating SAIF.Data / PolicyOutputDocumentExtensions).
  9. ForCategory: "ALL" or blank means no filter. Rule: SDN-BR-062 (duplicates SD-BR-073).
  10. GetReleasedAgencyViewableChildOutputDocuments requires a released parent. Rule: SDN-BR-063.
  11. CheckDocumentExist(document, documentTypeCode) checks for duplicate documents.

Process flow

The following diagram visualizes this operation's control flow.

flowchart TD
    Start(["Policy output documents"]) --> S1["`PolicyOutputDocumentRepository`"]
    S1 --> S2{"Rules satisfied?"}
    S2 -->|Yes| EndOk([Result returned])
    S2 -->|No| EndErr([Exception / empty result])

Sources

  • Data/SAIF.Data.NHibernate/Repositories/OutputDocuments/PolicyOutputDocumentRepository.cs