Report builder - Final Concentration Expression Change

Hi

Is there an expression to change the 'final concentration' in my report builder to read "<50 ng/L" if the final result is less than LOQ or have been deleted in Quant?

Currently this is expressing results like 0.12 which I would like my final report to read as a less than 50ng/L.

Also when deleting false positive, this also leave these field as "blank" reported.

If this was a excel formula this would be like something like =IF(Final Conc<50,<50,Final Conc)

How do I express this within my report?

Parents
  • Hello  ,

    You can modify one of the expressions in a shipping template to achieve this. There is an example in GenResultsSummary_ISTD for replacing null or zero results with "ND". To also check against your LOQ outlier you could use an expression like the following.

    "<50 ng/L" if BoundItems["TargetPeak"] is None or BoundItems["TargetPeak"].IsFinalConcentrationNull() or not BoundItems["TargetPeak"].IsOutlierBelowLimitOfQuantitationNull() else BoundItems["TargetPeak"].FinalConcentration 

    This should all be on one line. Replace "TargetPeak" with whatever you have named the Peak binding in your template.

    Finding the LOQ outlier flag, OutlierBelowLimitOfQuantation, was a little tricky as the dataset manual is not very clear on this. Since this outlier entry either does not exist (meaning the calculated concentration is above the LOQ) or exists and is set to "Low", the easiest check is to see if it is not Null. If you just check for "Low" but the outlier flag does not exist (as would be the case for all concentrations above the LOQ), then the report will error out. Expressions expect you to handle all error checking.

    The outlier LOQ is not evaluated for sample type Blank. If you need to report blanks the same way you would have to manually compare directly to the outlier limit.

    "<50 ng/L" if BoundItems["TargetPeak"] is None or BoundItems["TargetPeak"].IsFinalConcentrationNull() or BoundItems["TargetPeak"].CalculatedConcentration < BoundItems["cmp"].LimitOfQuantitation else BoundItems["TargetPeak"].FinalConcentration

    To replicate the outlier behavior, I compared against CalculatedConcentration and reported FinalConcentration. Again, this should all be on one line. Replace "TargetPeak" with whatever you have named the Peak binding in your template and "cmp" with whatever you have named the TargetCompound binding in your template.

    These expressions will only work reliably if every compound has an entry for outlier LOQ. If this is not the case, then you would have to build in checks to see if there is an entry for the outlier and if not decide how to handle reporting those compounds. 

  • Hi Howard

    This worked perfectly, thankyou very much!

Reply Children
No Data
Was this helpful?