DQM Check for Relative Percent Difference

<< Click to Display Table of Contents >>

Navigation:  Professional > DQM > DQM Checks >

DQM Check for Relative Percent Difference

This is a Check for Relative Percent Difference (RPD) values for duplicate sample results that fall outside Quality Control (QC) limits.

 

Notes:

The QC_RPD column or both of the QC_SPIKE_RECOVERY and QC_DUP_SPIKE_RECOVERY columns must be populated in DT_RESULT_QC for this check to function.

Control limits for this check are determined as described in the RT_DQM_CONTROL_LIMITS section.

See EarthSoft.DQM.RelativePercentDiffField to check precision for field duplicate samples.

 

Check name is EarthSoft.DQM.RelativePercentDifference = Relative Percent Difference (RPD).

 

This check uses the REPORTABLE_RESULT and TEST_BATCH_TYPE parameters from Global Parameters. There are eighteen other parameters:

Multiplier – Multiplier used with detection limit in the Orig/Dup check to test for results with concentrations > multiplier * detection limit. Defaults to 5.

Medium_code_soil – RT_MATRIX.MEDIUM_CODE for soil samples. Defaults to "Soil".

MultiplierSoil – Multiplier used with detection limit in the Orig/Dup check to test soil samples for results with the absolute difference in concentrations > multiplierSoil * detection limit. Defaults to 2.

Sample_type_LCSD – The sample type for Lab Control Sample Dups (only the Dups). Defaults to BD.

Sample_type_MSD – The sample type for Matrix Spike Dups (only the Dups). Defaults to MSD, SD.

Sample_type_Orig_Dup – The sample type for other Dups (only the Dups), such as Lab Replicates or Laboratory Duplicates. Defaults to LR.

Sample_result_type_1 – Which RESULT_TYPE to use with Sample_type_LCSD. Defaults to SC.

Sample_result_type_2 – Which RESULT_TYPE to use with Sample_type_MSD. Defaults to SC.

Sample_result_type_3 – Which RESULT_TYPE to use with Sample_type_Orig_Dup. Defaults to TRG.

Compare_to_calculated_LCSD - Y/N option to compare calculated RPD to reported RPD for LCSD samples. Defaults to “N”.

Compare_to_calculated_MSD - Y/N option to compare calculated RPD to reported RPD for MSD samples. Defaults to “N”.

Compare_to_reported_lab_dup - Y/N option to compare calculated RPD to reported RPD for Lab Dup samples. Defaults to “N”.

Acceptable_variance_LCSD - Acceptable variance when comparing calculated RPD to reported RPD for LCSD samples (%). Defaults to “1”.

Acceptable_variance_MSD - Acceptable variance when comparing calculated RPD to reported RPD for MSD samples (%). Defaults to “1”.

Acceptable_variance_lab_dup - Acceptable variance when comparing calculated RPD to reported RPD for Laboratory Duplicate samples (%). Defaults to “1”.

Calculated_before_reported_LCSD - Y/N option to try calculated RPD before the reported RPD when running RPD check for LCSD samples. Defaults to “Y”.

Calculated_before_reported_MSD - Y/N option to try calculated RPD before the reported RPD when running RPD check for MSD samples. Defaults to “Y”.

Reported_before_calculated_lab_dup - Y/N option to try calculated RPD before the reported RPD when running RPD check for Laboratory Duplicate samples. Defaults to “N”.

 

Additional Notes for Parameters:

 

For Blank Spike/Blank Spike Duplicates and Matrix Spike/Matrix Spike Duplicates

 

1.If compare_to_calculated = Y or calculated_before_reported = "Y" then

1.DQM will calculate the RPD for every result using QC_SPIKE_RECOVERY and QC_DUP_SPIKE_RECOVERY columns

2.DQM will also calculate the RPD if the QC_RPD column is null

2.If compare_to_calculated = Y then

1.DQM will compare the calculated RPD to the reported value in the QC_RPD column

2.DQM will create an Error in the Errors tab if the difference exceeds acceptable_variance

3.If calculated_before_reported = "Y" then

1.DQM will use the DQM-calculated value to compare to the Control Limit

2.If QC_SPIKE_RECOVERY or QC_DUP_SPIKE_RECOVERY is NULL or Not Numeric, but QC_RPD is populated (with a numeric value), DQM will use the reported value to compare to the Control Limit

3.If the Control Limit is exceeded, an Exception will be added to the Exceptions table

 

For Laboratory Duplicates

 

1.If compare_to_calculated = Y or reported_before_calculated = "N" then

1.DQM will calculate the RPD for every result using DT_RESULT.RESULT_NUMERIC for both the parent sample and the laboratory duplicate sample.

2.DQM will also calculate the RPD if the QC_RPD column is null

2.If compare_to_calculated = Y then

1.DQM will compare the calculated RPD to the reported value in the QC_RPD column

2.DQM will create an Error in the Errors tab if the difference exceeds acceptable_variance

3.If reported_before_calculated = "N" then

1.DQM will use the DQM-calculated value to compare to the Control Limit

2.If the Control Limit is exceeded, an Exception will be added to the Exceptions table

4.If reported_before_calculated = "Y" then

1.If one of the results in the laboratory duplicate pair is not-detected, DQM will create an Error in the Errors tab indicating that one of the results in the pair is not-detected and DQM will not evaluate laboratory duplicate precision.

2.If QC_RPD is null or not numeric, DQM will use the DQM-calculated value to compare to the Control Limit.

3.If the Control Limit is exceeded, an Exception will be added to the Exceptions table

 

Notes:

The default value is used if there is no record in RT_DQM_CHECK_PARAM for an input parameter.

The default value is used if the PARAM_VALUE is NULL for this parameter in RT_DQM_CHECK_PARAM.

 

Rules

 

LCS/LCSD – A high relative percent difference (RPD) was observed between the laboratory control sample and the laboratory control sample duplicate.

LCS/LCSD_NON_DETECT- A high relative percent difference (RPD) was observed between the laboratory control sample and the laboratory control sample duplicate.

 

MS/MSD - A high relative percent difference (RPD) was observed between the matrix spike sample and the matrix spike sample duplicate.

MS/MSD_NON_DETECT - A high relative percent difference (RPD) was observed between the matrix spike sample and the matrix spike sample duplicate.

 

Orig/Dup – A high relative percent difference (RPD) was observed between the laboratory duplicate and the parent sample.

Orig/Dup_NON_DETECT- A high relative percent difference (RPD) was observed between the laboratory duplicate and the parent sample.

 

Errors (where table is not indicated, it is DT_RESULT_QC):
 

For Blank Spike/Blank Spike Duplicates and Matrix Spike/Matrix Spike Duplicates:

If QC_RPD is NULL or Not Numeric, or QC_SPIKE_RECOVERY or QC_DUP_SPIKE_RECOVERY are also NULL or Not Numeric, then add error and skip result.

If the Control Limit is NULL or Not Numeric in both RT_DQM_CONTROL_LIMITS and DT_RESULT_QC, then add error and skip result.

If compare_to_calculated = "Y", DQM will create an Error in the Error tab if the difference exceeds acceptable_variance.

 

For Laboratory Duplicates:

If DT_RESULT.RESULT_NUMERIC is NULL or Not Numeric when DETECT_FLAG = 'Y' for one of the samples in the laboratory duplicate pair, then add error and skip result.

If one of the results in the laboratory duplicate pair is detected and the other one is not, then add an error and skip result. (If both of the results are non-detect, then skip the result without an error).

If compare_to_calculated = "Y", DQM will create an Error in the Errors tab if the difference exceeds acceptable_variance.

 

Exceptions (where table is not indicated, it is DT_RESULT_QC):

 

For LCS/LCSD and LCS/LCSD_NON_DETECT

Review results with DT_SAMPLE.SAMPLE_TYPE_CODE = sample_type_LCSD and DT_RESULT.RESULT_TYPE_CODE = sample_result_type_1.

Qualify a result if rpd > rpd_cl.

Qualify associated results related by TEST_BATCH_ID.

Use the LCS/LCSD qualifier for results with detected concentrations and the LCS/LCSD_NON_DETECT qualifier for non-detect results.
 

For MS/MSD and MS/MSD_NON_DETECT

Review results with DT_SAMPLE.SAMPLE_TYPE_CODE = sample_type_MSD and DT_RESULT.RESULT_TYPE_CODE = sample_result_type_2.

Qualify a result if rpd > rpd_cl.

Qualify associated results related by SYS_SAMPLE_CODE in the PARENT_SAMPLE_CODE field of the MS's parent sample. For example:

MSD sample's SYS_SAMPLE_CODE = ABC_MSD and PARENT_SAMPLE_CODE = ABC_MS.

MSD's parent sample's SYS_SAMPLE_CODE = ABC_MS and PARENT_SAMPLE_CODE = ABC.

Associated Results for MS and MSD are found by finding results with SYS_SAMPLE_CODE = ABC.

Use the MS/MSD qualifier for results with detected concentrations and the MS/MSD_NON_DETECT qualifier for non-detect results.
 

For Orig/Dup and Orig/Dup_NON_DETECT (Laboratory Duplicates)
 

Review results with DT_SAMPLE.SAMPLE_TYPE_CODE = sample_type_Orig_Dup and DT_RESULT.RESULT_TYPE_CODE = sample_result_type_3.

Find the parent sample using DT_SAMPLE.PARENT_SAMPLE_CODE or DT_FIELDQC_BATCH_PARTNER.

TEST #1:

For both samples, is DT_RESULT.RESULT_NUMERIC >= multiplier * DT_RESULT.REPORTING_DETECTION_LIMIT?

If TRUE, then

calculate rpd_dup

If rpd_dup > rpd_cl, then qualify the results.

TEST #2 (if TEST #1 = FALSE):

If the RT_MATRIX.MEDIUM_CODE of DT_SAMPLE.MATRIX_CODE = medium_code_soil,

then AD_multiplier = multiplierSoil

else AD_multiplier = 1

ABS_DIFF = absolute difference in the parent and duplicate concentrations = ABS(Parent - Dup).

Detection_Limit = the value in the first column that is not NULL:

DT_RESULT.REPORTING_DETECTION_LIMIT

DT_RESULT.QUANTITATION_LIMIT

DT_RESULT.METHOD_DETECTION_LIMIT

If the ABS_DIFF > AD_multiplier * Detection_Limit, then qualify the results.

Use the Orig/Dup qualifier for results with detected concentrations.

Use the Orig/Dup_NON_DETECT qualifier for non-detect results.

 

Calculations (where table is not indicated, it is DT_RESULT_QC):

 

RT_DQM_CONTROL_LIMITS is discussed in more detail here.

 

For Blank Spikes and Matrix Spikes (sample_type_LCSD and sample_type_MSD):

If QC_RPD is Numeric,

then rpd = QC_RPD

else rpd = 100 * ABS(QC_SPIKE_RECOVERY - QC_DUP_SPIKE_RECOVERY) / (0.5 * (QC_SPIKE_RECOVERY + QC_DUP_SPIKE_RECOVERY).

 

For Blank Spikes (sample_type_LCSD):

If RT_DQM_CONTROL_LIMITS.LCS_DUP_RPD_CL is Numeric,

then rpd_cl = RT_DQM_CONTROL_LIMITS.LCS_DUP_RPD_CL

else rpd_cl = QC_RPD_CL

 

For Matrix Spikes (sample_type_MSD):

If RT_DQM_CONTROL_LIMITS.MS_DUP_RPD_CL is Numeric,

then rpd_cl = RT_DQM_CONTROL_LIMITS.MS_DUP_RPD_CL

else rpd_cl = QC_RPD_CL

 

For Lab Duplicates (sample_type_Orig_Dup):

rpd_dup = 100 * ABS(RESULT_NUMERIC - RESULT_NUMERIC from parent) /(0.5 * (RESULT_NUMERIC + RESULT_NUMERIC from parent).

If RT_DQM_CONTROL_LIMITS.LAB_DUP_RPD_CL is Numeric,

then rpd_cl = RT_DQM_CONTROL_LIMITS.LAB_DUP_RPD_CL

else rpd_cl = QC_RPD_CL