<< Click to Display Table of Contents >> Navigation: DQM > DQM Checks > Holding Times Check |
The DQM Holding Times Check identifies holding times that fall outside Quality Control (QC) limits based on the check rule and parameter details outlined below.
The RT_DQM_CHECK.DQM_CHECK value is EarthSoft.DQM.HOLDINGTIMES = Holding Times.
Values from RT_HOLDING_TIME are found by searching for the following matches:
•RT_HOLDING_TIME.ANALYTIC_METHOD = DT_TEST.ANALYTIC_METHOD
•RT_HOLDING_TIME.MEDIUM_CODE = RT_MATRIX.MEDIUM_CODE where RT_MATRIX_CODE = DT_SAMPLE.MATRIX_CODE
•RT_HOLDING_TIME.CAS_RN:
oIf this column is NULL then the Holding Time limits are applied to all results that match the first two criteria above.
oIf this column is populated, then the Holding Time limits only apply to results with matching CAS_RN in DT_RESULT.CAS_RN.
•RT_HOLDING_TIME.DQM_PRESERVED_YN
oThis column is used to create uniqueness for a given Analytical Method, Medium Code, Matrix Code, and CAS_RN holding time interval that differs based upon whether the sample is preserved. Uniqueness is created by adding two rows to RT_HOLDING_TIME for the same Analytical Method, Medium Code, Matrix Code, and CAS_RN (if applicable) and populating one row with DQM_PRESERVED_YN=Y and the second row with DQM_PRESERVED_YN=N and then populating the holding time intervals that apply for each row
oWhen running the Holding Time Check, the code will first look to see if the DT_TEST.PRESERVATIVE column in the dataset is populated. If DT_TEST.PRESERVATIVE is populated with a value other than “NONE” in the dataset, the holding time from the DQM_PRESERVED_YN=Y row will be used. If DT_TEST.PRESERVATIVE is null or is populated with “NONE” in the dataset, the holding time from the DQM_PRESERVED_YN=N row will be used.
oIf RT_HOLDING_TIME.DQM_PRESERVED_YN column is Null, then the Holding Time limits in the one row are applied to all results that match the first three criteria above.
oIf RT_HOLDING_TIME.DQM_PRESERVED_YN is populated (either Y or N) but there is only one row for a given Analytical method, Medium Code, Matrix Code, and CAS_RN, then the Holding Time limits in the one row are applied to all results that match the first three criteria above.
Notes: •It is important for RT_MATRIX.MEDIUM_CODE to be populated for all MATRIX_CODEs being used in the data. •The RT_HOLDING_TIME.HT_UNIT must be plural (e.g. "Days") while the RT_HOLDING_TIME.CALCULATION_UNIT must be singular (e.g. "Day"). These unit reference values are therefore added with the DQM Schema. •Calculations are to the minute, regardless of holding time unit. •When multiple holding time intervals are exceeded for a sample, DQM will only list the first holding time interval exceedance that it encounters in the Exceptions tab. |
When the Holding Time check is selected for an Event, then the Holding Time Type(s) must also be selected on the DQM Start Event Form for this check to run (shown below).
This check uses three Global Parameters:
1.reportable_result – DT_RESULT.REPORTABLE_RESULT values to include in DQM datasets
2.result_type_code – DT_RESULT.RESULT_TYPE_CODE to include in DQM datasets
3.test_type_batch – AT_TEST_BATCH_ASSIGN.TEST_BATCH_TYPE to include in DQM dataset
Five parameters are available specifically for this Check (listed below). None of these parameters allow for input of method-specific or analyte-specific PARAM_VALUEs. However, matrix-specific AND analyte- or method-specific qualifiers assigned in RT_HOLDING_TIME will be used when useRuleQualifiers = "N".
1.GrossRejectFactor – The multiplier used to determine when a gross exceedance of the holding time has occurred. No default.
2.useRuleQualifiers – Defaults to "Y".
a.If useRuleQualifiers = "Y", the qualifiers are taken from RT_DQM_RULE.
b.If useRuleQualifiers = "N", the qualifiers in RT_HOLDING_TIME can be used for matrix-specific AND analyte- or method-specific qualifiers. The following fields in RT_HOLDING_TIME must be populated:
▪qualifier_non_detect
▪qualifier_hit
▪gross_qualifier_non_detect
▪gross_qualifier_hit
3.sample_type_code – Defaults to "N". Only results with matching values in DT_SAMPLE.SAMPLE_TYPE_CODE are reviewed during this check.
4.result_type_code – Defaults to "TRG. Only results with matching values in DT_RESULT.RESULT_TYPE_CODE are reviewed during this check.
5.check_preserved_single_row – Defaults to “N”. Option to choose between the Collect to Analysis (Preserved) or (Unpreserved) Holding Time limits are used based upon whether DT_TEST.PRESERVATIVE is populated in the dataset.
Notes: •Default parameter values listed above refer to the value provided in the DQM Starter QAPP.xlsx. •The code will use the RT_HOLDING_TIME.GROSS_REJECT_FACTOR first before using the gross reject factor populated in RT_DQM_CHECK_PARAM. |
There are four rules (HoldTime and QC_HoldTime are each explained below):
1.GROSS_QUALIFIER_HIT
Qualify a detected result if HoldTime >= QC_HoldTime * GrossRejectFactor.
2.GROSS_QUALIFIER_NON_DETECT
Qualify a non-detect result if HoldTime >= QC_HoldTime * GrossRejectFactor.
3.QUALIFIER_HIT
Qualify a detected result if HoldTime >= QC_HoldTime.
4.QUALIFIER_NON_DETECT
Qualify a non-detect result if HoldTime >= QC_HoldTime.
Use of Reason Codes with the rules is discussed here.
HoldTime:
For each Holding Time Type, two dates are used to get a HoldTime value that is then used in the above comparisons (S = DT_SAMPLE and T = DT_TEST).
1.Sample Collection to Analysis (Unpreserved)
compare S.SAMPLE_DATE to T.ANALYSIS_DATE.
2.Sample Collection to Analysis (Preserved)
compare S.SAMPLE_DATE to T.ANALYSIS_DATE.
3.Sample Collection to Preservation
Compare S.SAMPLE_DATE to T.PRESERVATIVE_DATE
4.Sample Collection to Leachate
Compare S.SAMPLE_DATE to T.LEACHATE_DATE.
5.Sample Collection to Prep
Compare S.SAMPLE_DATE to T.PREP_DATE.
6.Preservation to Prep
Compare T.PRESERVATIVE_DATE to T.PREP_DATE
7.Leachate to Prep
Compare T.LEACHATE_DATE to T.PREP_DATE.
8.Preservation to Analysis
Compare T.PRESERVATIVE_DATE to T.ANALYSIS_DATE
9.Prep to Analysis
Compare T.PREP_DATE to T.ANALYSIS_DATE.
QC_HoldTime:
For each Holding Time Type and DQM QAPP Code, the value for QC_HoldTime in the equations above is looked up in the following columns of the RT_HOLDING_TIME table.
1.Sample Collection to Analysis (Unpreserved) – collect_analysis_unpreserved column
2.Sample Collection to Analysis (Preserved) – collect_analysis_preserved column
3.Sample Collection to Preservation – collect_preserve column
4.Sample Collection to Leachate – collect_leachate column
5.Sample Collection to Prep – collect_prep column
6.Preservation to Prep – preserve_prep column
7.Leachate to Prep – leachate_prep column
8.Preservation to Analysis – preserve_analysis column
9.Prep to Analysis – prep_analysis column
Note: Enter 999 in any column to skip that Holding Time Type for that particular Analytic Method / Medium Code / (CAS_RN) combination. This option is particularly useful when using RT_HOLDING_TIME.DQM_PRESERVED_YN field and creating two rows of holding times for a given Analytical Method, Medium Code, Matrix Code, and CAS_RN holding time interval that differs based upon whether the sample is preserved AND populating the holding times for the Holding Time intervals COLLECT TO ANALYSIS (PRESERVED) and COLLECT TO ANALYSIS (UNPRESERVED), adding 999 in the unused interval limit will prevent issues with apparent redundancy.
A NULL value will cause an error to be displayed in the Errors tab when the check is run for that Holding Time Type. |
In the Errors tab of the DQM Event Review Form, these errors may be listed:
1.One of the required rules for this check is not present in the RT_DQM_RULE table.
If you receive this error, the check will be skipped. Alternately, the QAPP can be updated following the How to Update Existing QAPPs documentation page.
2.Holding Time Gross Reject Factor is null or not numeric.
3.No records were found in the RT_HOLDING_TIME table for the QAPP Code being used. Enter a record in RT_HOLDING_TIME for each Analytic Method being checked.
If you receive this error, this check will be skipped.
4.No records were found in the RT_HOLDING_TIME table for the QAPP Code and Analytic Method = {0} and Medium Code = {1}.
If you receive this error, this check will be skipped.
5.No Holding Time control limits were found for the selected HT Types in the RT_HOLDING_TIME table for the QAPP Code, Analytic Method = {0} and Medium Code = {1}.
If you receive this error, holding time for the QAPP/Method/Medium code will be skipped.
6.A Holding Time limit with a matching DQM_PRESERVED_YN does not exist for sys_sample_code = {0}; analytic_method = {1}; cas_rn = {2}.
If you receive this error, holding time for the QAPP/Method/Medium code and analyte in the sample is skipped.
7.{0} is missing for sys_sample_code = {1}; analytic_method = {2}; cas_rn = {3}.
The missing {0} field is required for evaluation of the holding time interval selected so DQM will create this error and skip the evaluation.
Copyright © 2023 EarthSoft, Inc • Modified: 30 Nov 2022