Due to the complexity of this DIQ, this code runs in the UI rather than in SQL. The logic is explained below.
Key | Value |
---|---|
Table | DS03 Cost |
Severity | CRITICAL |
Unique ID | 1030116 |
Summary | Is indirect distributed inconsistently? |
Error message | Possible Reasons: 1) rows with EOC = Indirct & is_indirect = N found, 2) mixed use of Direct-Indirect scenarios found (See here) |
This Data Integrity and Quality (DIQ) check focuses on the consistency of indirect cost reporting within the DS03 Cost table. The purpose of this check is to ensure that indirect costs are accurately and consistently categorized across different levels of work breakdown structure (WBS) elements, such as Control Accounts (CAs) and Work Packages (WPs). The check identifies two potential inconsistencies:
EOC = 'Indirect'
& is_indirect = 'N'
, orConsistent collection of Direct and Indirect costs is critical to EV management at all levels of granularity. Proper analysis cannot be conducted if indirects and direct
Due to its complexity, this DIQ has been implemented in the UI and will run prior to other DIQs.
It therefore returns zero SQL rows and will not be included in a DIQ report.
Failing the test will prevent data from entering the system.
To identify whether a given DS03 Cost dataset meets the criteria to pass this test, code iterates through the rows of data,
seeking to exclude each from the various Direct-Indirect scenarios based on their defining characteristics.
Upon completion, if all but one scenario has been excluded, then the dataset passes, being deemed to belong to that scenario.
Otherwise, if no or multiple scenarios are left, then the test fails.
A dataset will also fail the test if any rows are found where is_indirect = N and EOC = Indirect.
For example, if rows are found with is_indirect missing, then all scenarios except scenarios A & G are disqualified.
Furthermore, if Actuals are found at the WP level, then scenario G is disqualified.
If these two types of rows were the only ones found, then the dataset would be identified as using scenario A.
If, however, additional rows with is_indirect = Y or N are found, then scenarios A is also disqualified, leaving no valid scenarios left, at which point the dataset would be deemed invalid and fail the test.
The defining features of the Direct-Indirect Scenarios can be found at https://wiki.pars.doe.gov/en/JSONGuides/IndirectScenarios.