How to create an Analysis Service that obtains a final result based on "sub parts" (A Media Fill Kit and Vials example)


This mini tutorial uses a Media Fill Kit as the main story. A Media Fill Kit is made up by many vials. This example works for other similar use-cases.

In this example we want to register in the LIMS the result for each Vial, but at the same time we want to automatically obtain the result for the Kit as the final result of the analysis.

This can be achieved through calculations in two different ways: One Analysis Service per vial and one analysis for the Kit or One Calculation with Interim fields

First solution: One Analysis Service per vial and one analysis for the Kit.

  1. Create one Analysis Service for each vial.


  1. Create one Calculation. Using Python expressions we can compare the results of the Vials (Analysis Services) and define the final result for the kit. Note that we have to introduce the Analysis Keyword of each Vial.

  1. Create the Analysis Services for the Media Fill Kit and select the Calculation created during the previous steps.

  1. Create a new sample and Assign the “Media Fill Kit” analysis to it. The system will automatically detect the dependent analyses based on the Calculation.

  1. Now we can receive the sample, introduce the results and save them.

  1. The final result for the Media Fill Kit gets its own result based on the Vial results.

Second solution: One Calculation with Interim fields.

  1. Create a Calculation with as may interim fields as Vials. The Python formula will make use of Interim Keywords instead of other analyses’ keywords.

  1. Create an Analysis Services for the final result that uses the new calculation with Interim Fields:

  1. Time to assign this new Analysis to a Sample and see the result:

Note that now the Sample layout will look different

Which is the difference between the two ways? The difference is that creating an Analysis Service for each Vial will allow us to work with it as a completely independent Analysis. This means that it has its own workflow. For example, we can verify/retract them individually. The downside is the complexity of maintaining many similar Analyses.

Using one single analysis with interim simplifies the complexity, and we can keep track of Vial results. Here the downside is that we cannot work with Vials individually, we will always have to work with the whole Kit as a single Analysis.

The chose mainly depends on how you want to work with the Vial results: As independent analyses, or as “sub-analyses” from the Media Fill Kit.