DQM Check for Spike Recovery

<< Click to Display Table of Contents >>

Navigation:  Professional > 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 DQM_CONTROL_LIMITS help article.

 

Check

 

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

 

Parameters

 

This check uses the reportable_result and test_batch_type parameters from Global Parameters.

 

There are ten 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”.

compare_to_calculated_LCS – Defaults to “N”.

compare_to_calculated_MS – Defaults to “N”.

acceptable_variance_LCS – Defaults to 1

acceptable_variance_MS – Defaults to 1

calculated_before_reported_LCS – Defaults to “N”.

calculated_before_reported_MS – Defaults to “N”.

 

Additional Notes for Parameters:

 

1.If compare_to_calculated = Y or reported_or_calculated = "calculated" then

 
A Spike Recovery will be calculated for every spike compound using the data populated in the qc_spike_added and qc_spike_measured columns.

 

2.If compare_to_calculated = Y then

a.DQM will compare the calculated recovery to the recovery populated in the qc_recovery column.

b.DQM will create an error message in the Errors tab if the difference between the calculated recovery and the reported recovery exceeds the acceptable_variance.

3.If calculated_before_reported = "Y" then

a.DQM will use the calculated value to compare to the Control Limit.

b.If the calculated value is not available, DQM will use the reported recovery value to compare to the Control Limit.

c.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.

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.

 

Rules

 

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 for blank spikes = 100 * QC_SPIKE_MEASURED / QC_SPIKE_ADDED and for matrix spikes = 100 * ((QC_SPIKE_MEASURED-QC_ORIGINAL_CONC) / 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 for blank spike duplicate = 100 * QC_DUP_SPIKE_MEASURED / QC_DUP_SPIKE_ADDED and for matrix spike duplicate = ((QC_DUP_SPIKE_MEASURED-QC_ORIGINAL_CONC) / 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 Spike and Matrix Spike Duplicate samples (Inorganic or Organic), associated results are found using PARENT_SAMPLE_CODE of the Matrix Spike.

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.