DQM Check for Spike Recovery

<< Click to Display Table of Contents >>

EQuIS 7  >>  Professional > Modules > DQM > DQM Checks >

DQM Check for Spike Recovery

The DQM Check for Spike Recovery will qualify results if spike sample recoveries fall outside Quality Control (QC) limits.

 

Notes:

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

For duplicate samples, the above columns or QC_DUP_SPIKE_RECOVERY column or both of the QC_DUP_SPIKE_ADDED and QC_DUP_SPIKE_MEASURED columns can be used.

Control limits for this check are determined as described in the RT_DQM_CONTROL_LIMITS section of the Global Parameters and RT_DQM_CONTROL_LIMITS help article.

 

Check name is EarthSoft.DQM.SpikeRecovery2 = "Spike Recovery - Multiple Rules".

 

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

Multiplier – Defaults to 4.

result_type_code_spike – Defaults to “SC”.

sample_type_blank_spike – Defaults to “BS,BD”.

sample_type_matrix_spike – Defaults to “FS,MS,MSD,SD”.

 

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.

If there is no value for LOW_CUTOFF, then LOW_CUTOFF is set to zero and the third rule in each threesome of rules below is effectively eliminated.

 

There are nine rules:

 

Rule #

Result Types

Rule Description

DQM Rule

1

Blank Spikes

% Recovery > Upper Control Limit (UCL)

BLANK SPIKE > UCL

2

Blank Spikes

Lower Control Limit (LCL) > % Recovery >= Low Cutoff

LCL > BLANK > LOW_CUTOFF

3

Blank Spikes

% Recovery < Low_Cutoff

BLANK SPIKE < LOW_CUTOFF

4

Inorganic Spikes

% Recovery > Upper Control Limit (UCL)

INORGANIC SPIKE > UCL

5

Inorganic Spikes

Lower Control Limit (LCL) > % Recovery >= Low_Cutoff

LCL > INORG > LOW_CUTOFF

6

Inorganic Spikes

% Recovery > Low_Cutoff

INORGANIC SPIKE < LOW_CUTOFF

7

Organic Spikes

% Recovery >Upper Control Limit (UCL)

ORGANIC SPIKE > UCL

8

Organic Spikes

Lower Control Limit (LCL) > % Recovery >= Low_Cutoff

LCL > ORG > LOW_CUTOFF

9

Organic Spikes

% Recovery < Low_Cutoff

ORGANIC SPIKE < LOW_CUTOFF

 

Additional Notes for the Result Types:

 

Blank Spikes – Review results with:

DT_SAMPLE.SAMPLE_TYPE_CODE = sample_type_blank_spike, and

DT_RESULT.RESULT_TYPE_CODE = result_type_code_spike.

Inorganic Spikes – Review results with:

DT_SAMPLE.SAMPLE_TYPE_CODE = sample_type_matrix_spike,

DT_RESULT.RESULT_TYPE_CODE = result_type_code_spike, and

RT_ANALYTE.ORGANIC_YN = 'N'.

Organic Spikes – Review results with:

DT_SAMPLE.SAMPLE_TYPE_CODE = sample_type_matrix_spike,

DT_RESULT.RESULT_TYPE_CODE = result_type_code_spike, and

RT_ANALYTE.ORGANIC_YN = 'Y'.

 

Exceptions (see Calculations for definitions):

If spikeRecovery < spike_lco, then qualify spike result and any associated result.

If spike_lcl > spikeRecovery >= spike_lco, then qualify spike result and any associated result.

If spikeRecovery > spike_ucl, then qualify spike result and any associated result with a detected concentration.

 

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

 

RT_DQM_CONTROL_LIMITS is discussed in more detail here.

 

If QC_ORIGINAL_CONC > multiplier * QC_SPIKE_ADDED, then skip result.

If QC_SPIKE_RECOVERY is Numeric,

then spikeRecovery = QC_SPIKE_RECOVERY

else spikeRecovery = 100 * QC_SPIKE_MEASURED / QC_SPIKE_ADDED

For Spike Duplicates, if regular columns are NULL, then if QC_DUP_SPIKE_RECOVERY is Numeric,

then spikeRecovery = QC_DUP_SPIKE_RECOVERY

else spikeRecovery = 100 * QC_DUP_SPIKE_MEASURED / QC_DUP_SPIKE_ADDED

 

For Blank Spikes:

If RT_DQM_CONTROL_LIMITS.LCS_REC_LOWER_CUTOFF is Numeric,

then spike_lco = RT_DQM_CONTROL_LIMITS.LCS_REC_LOWER_CUTOFF

else spike_lco = 0.0

If RT_DQM_CONTROL_LIMITS.LCS_RECOVERY_LCL is Numeric,

then spike_lcl = RT_DQM_CONTROL_LIMITS.LCS_RECOVERY_LCL

else spike_lcl = QC_SPIKE_LCL

If RT_DQM_CONTROL_LIMITS.LCS_RECOVERY_UCL is Numeric,

then spike_ucl = RT_DQM_CONTROL_LIMITS. LCS_RECOVERY_UCL

else spike_ucl = QC_SPIKE_UCL

 

For Matrix Spikes (Inorganic and Organic):

If RT_DQM_CONTROL_LIMITS.MS_REC_LOWER_CUTOFF is Numeric,

then spike_lco = RT_DQM_CONTROL_LIMITS.MS_REC_LOWER_CUTOFF

else spike_lco = 0.0

If RT_DQM_CONTROL_LIMITS.MS_RECOVERY_LCL is Numeric,

then spike_lcl = RT_DQM_CONTROL_LIMITS.MS_RECOVERY_LCL

else spike_lcl = QC_SPIKE_LCL

If RT_DQM_CONTROL_LIMITS.MS_RECOVERY_UCL is Numeric,

then spike_ucl = RT_DQM_CONTROL_LIMITS.MS_RECOVERY_UCL

else spike_ucl = QC_SPIKE_UCL

 

Associations:

For Blank Spikes, associated results are found using TEST_BATCH_ID.

For Matrix Spikes (Inorganic or Organic), associated results are found using PARENT_SAMPLE_CODE.

When the spikeRecovery exceeds the spike_ucl, then only results with detected concentrations are flagged as Associated Results.

 

Errors

 

Where table is not indicated, it is DT_RESULT_QC:

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

If QC_SPIKE_RECOVERY is NULL or Not Numeric, and either QC_SPIKE_ADDED or QC_SPIKE_MEASURED are also NULL or Not Numeric, then add error and skip result.

For Spike Duplicates, if regular columns are NULL apply the same error checking to QC_DUP_SPIKE_RECOVERY, QC_DUP_SPIKE_ADDED, and QC_DUP_SPIKE_MEASURED.

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