DQM Check for Relative Percent Difference

<< Click to Display Table of Contents >>

EQuIS 7  >>  Professional > Modules > 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 field duplicate samples without using DT_RESULT_QC.

 

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 nine 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 –Mmultiplier 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. Defaults to LR.

Sample_result_type_1 – Which RESULT_TYPE to use with these SAMPLE_TYPES. Defaults to SAMPLE_TYPE = BD / RESULT_TYPE (stored in the REMARK column) = SC.

Sample_result_type_2 – Which RESULT_TYPE to use with these SAMPLE_TYPES. Defaults to SAMPLE_TYPE = MSD, SD / RESULT_TYPE (stored in the REMARK column)= SC.

Sample_result_type_3 – Which RESULT_TYPE to use with these SAMPLE_TYPES. Defaults to SAMPLE_TYPE = LR / RESULT_TYPE (stored in the REMARK column)= TRG.

 

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

 

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

For Blank Spikes and Matrix Spikes:

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

If QC_RPD is NULL or Not Numeric, and either 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.

 

For Lab Duplicates:

If DT_RESULT.RESULT_NUMERIC is NULL or Not Numeric, then add error and skip result.

 

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 MSD'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 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

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.