How to create a formula with calculations of custom fields values in OpenLab CDS

Hi 

 

am developing an intelligent report for quantification in OpenLAB CDS 2.4 and I want to include an acceptance criteria in my results table. The acceptance criteria will pass if the compound amount is within +/- 10% of a reference value.

 

I was able to do so when only one analyte is quantified (typing the reference value in  the sample amount section) using the following expression:

=Iif(Compound_Amount<=(Sample_Amount-(Sample_Amount*0.1)), Compound_Amount>=(Sample_Amount+(Sample_Amount*0.1)),"Pass"

 

However, I haven't been able to create a formula for when several analytes are quantified. I've created a compound custom parameter "Expected amount" to be able to give reference values to each of the quantifiable analytes and I have been able to use the expression to calculate accuracy but I need help creating the formula for the acceptance criteria.

 

=Iif(Compound_Amount<=(CFE((Compound_CustomFields),"ExpectAmt")-(0.1*CFE((Compound_CustomFields),"ExpectAmt"))), Compound_Amount>=(CFE((Compound_CustomFields),"ExpectAmt")+(0.1*CFE((Compound_CustomFields),"ExpectAmt"))),"Pass")

 

Thank you for your time

Parents
  • Hello,

     

    How often does your reference amount for the compounds change? If it never changes or changes on an infrequent basis I would suggest using a constants file in custom calculator. Also we have seen syntax issues with expressions in IR when using custom parameters so you might be experiencing that type of problem. You might want to try and do the calculation in CC instead of IR and then just report it. Here is an example of the calculation in CC. I split it out into 3 CCs and only went to a true/false result you could convert to PASS/FAIL in IR. You could do this in one step and use an IIF statement to get a pass/fail string if you wanted. I also show it both ways with a compound custom field and a constants file. The CCs ending in C are the expressions for using the constants file. The high limit is the same as the low with a plus replacing the minus between values.

     

    Marty Adams

     

    Eval

     

    Compound_Concentration >= LowLimit And Compound_Concentration <= HighLimit

     

    LowLimit

     

    CurrentPeakOrGroup.GetCustomField("Expected") - (CurrentPeakOrGroup.GetCustomField("Expected") * .1)

     

    EvalC

     

    Compound_Concentration >= LowLimitC And Compound_Concentration <= HighLimitC

     

    LowLimitC

     

    GetConstant("ExpectedValue") - (GetConstant("ExpectedValue") * .1)

     

     

     

Reply
  • Hello,

     

    How often does your reference amount for the compounds change? If it never changes or changes on an infrequent basis I would suggest using a constants file in custom calculator. Also we have seen syntax issues with expressions in IR when using custom parameters so you might be experiencing that type of problem. You might want to try and do the calculation in CC instead of IR and then just report it. Here is an example of the calculation in CC. I split it out into 3 CCs and only went to a true/false result you could convert to PASS/FAIL in IR. You could do this in one step and use an IIF statement to get a pass/fail string if you wanted. I also show it both ways with a compound custom field and a constants file. The CCs ending in C are the expressions for using the constants file. The high limit is the same as the low with a plus replacing the minus between values.

     

    Marty Adams

     

    Eval

     

    Compound_Concentration >= LowLimit And Compound_Concentration <= HighLimit

     

    LowLimit

     

    CurrentPeakOrGroup.GetCustomField("Expected") - (CurrentPeakOrGroup.GetCustomField("Expected") * .1)

     

    EvalC

     

    Compound_Concentration >= LowLimitC And Compound_Concentration <= HighLimitC

     

    LowLimitC

     

    GetConstant("ExpectedValue") - (GetConstant("ExpectedValue") * .1)

     

     

     

Children
No Data
Was this helpful?