QC accuracy and custom column

I am using OpenLab CDS 2.4.

I would like to check the accuracy of my QCs (QC check samples) on the Data Analysis module. In order to do that, I need to enter an amount somewhere. There doesn't seem to be any option. There is a Calib_amount for the calibration standards but no such thing for QCs. 

what do people do in this case?

Sorry but i am extremely new with this software and find it challenging.


My second question is how to add a column that would calculate an amount in a different unit. I need to calculate the following analytes in both mg/dL and mM/L. My method has the calibration standards with the unit as mg/dL.

Acetone: mg/dL amount x 0.217

Ethanol: mg/dL amount x 0.217

Isopropanol: mg/dL amount x 0.0166

Methanol: mg/dL amount x 0.0312


Can anyone help with any of these questions?



  • Hello,


    You have 3 choices to do this type of calculation for a QC sample. You can use option 2 or 3 to help with your unit conversion as well, I would suggest option 3. 


    1)    If your QC check is just a rerun of a standard level, and you always run your samples and calibration standards in the same sequence, you can get the values from the equivalent standard level. See my CCF for using the standard level for  calculations in the link below to another post.

    Compound_CalibAmount in report | Agilent Community


    2)   Another option to store the QC concentrations or conversion values per compounds is to use compound custom fields. In you CDS 2.4 projects you could create compound custom fields as shown below. Once these are added to the project you can fill in these values for the injections in acquisition(with a processing method selected), or data analysis. In the example below I will show how to use this custom field in a custom calculation.



    3)   The last and typically the best option to use when the values do no change often is to use a constants file with a custom calculation. Custom calculations can be used in any of the options but we will add the constants file to this one. A constants file is a tab delimited txt file with the constants names as the column headers and the compound name and constants values as the rows. The example below is a file I created for this example. The file stores the constants values for the 4 peaks in my method. In this case they are constants for the QC standard concentration, LOD, LOQ, and a conversion value. The constants file should be stored in the methods folder for your project with any custom calculation files(CCF).



    You will need to open the custom calculation editor from DA, create a new CCF, and select your constants file. This will allow you to use that file in calculations for the CCF.


    In my example CCF, I will use the following calculations, all are at the peak or group scope and are type double.




    QC_CONC - This CC checks if value of the compound custom parameter is greater than 0 if so it uses the compound custom parameter as the value for the QC check. If the values is 0 or less the the CC uses the value from the constants file. It does this independently for each compound in each injection. You could set the default compound custom field to 0 for the QC Conc so the system would use the value from the constants file unless the user entered non zero numbers in the compound custom field for an injection. This would allow you flexibility to run a different QC concentration without changing the constants file. This value is referenced in the next to calculations. 

    IIf(CurrentPeakOrGroup.GetCustomField("QC Conc") > 0, CurrentPeakOrGroup.GetCustomField("QC Conc"), GetConstant("QC Conc"))

    RecPer - This CC does the calculation for the Recovery by Calculated Conc / Theoretical Conc *100.  

    Compound_Concentration / CurrentPeakOrGroup.GetDoubleCC("QC_CONC") * 100

    PerError - This CC does the calculation for the Percent Error by (ABS(Calculated Conc - Theoretical Conc)) / Theoretical Conc *100. 


    (ABS(Compound_Concentration - CurrentPeakOrGroup.GetDoubleCC("QC_CONC"))) / CurrentPeakOrGroup.GetDoubleCC("QC_CONC") * 100


    Conversion - This would be an example of using a CCF and a constants file for your unit conversion. 


    Compound_Concentration * GetConstant("CONV")
  • Hi Martin,


    Thank you for your very detailed response. I have tried your suggestions and have not managed to make it work. I would like to clarify a few things to make sure I understand correctly.


    I would like to use your option 3, as the values for the QCs do not change often and I would like to fix them to the data processing method.

    I have two levels of QCs, QCL and QCH. 

    Would I then write the following in the notepad text file? I understand that you apply only a tab between values, correct?

    I also assume that you use Notepad++ and not Notepad. Does it make a difference? And I change the Peak 1 to 4 with the name of my compounds right?


    For option 3, do I still need to add Compound custom parameter in the Control Panel or not?

    And as I only want the recovery for the QCs (let's forget about the conversion for a moment) I would then enter in the CCF file the following:


    Am I getting this correctly or not?

    Sorry but coding is beyond me, even simple coding.

    thank you.


  • Hello,


    You can use notepad or notepad ++ it should not matter, I just used notepad++ to make showing the tabs easier. You do need to replace the Peak 1-4 with your peak names from the calibration table. The names must match exactly including the case. If you have more peaks just add those as extra rows. The file should use tabs between the column data. You do not need to use a compound custom parameter but you will need to change the CCs. Just use the 2 CCs below for your calculations.


    Marty Adams 




    Compound_Concentration / GetConstant("QCL") * 100


    Compound_Concentration / GetConstant("QCH") * 100

  • Thank you Marty. We managed to make it work.


Was this helpful?