Food conversions calculation

Food conversions are computed using a recursive search algorithm to link foods-as-eaten to modelled foods, possibly through intermediate conversion steps. For instance, if (unpeeled) apple and grapes are the modelled foods, the food-as-eaten apple pie contains peeled apple and raisins, peeled apple is linked to unpeeled apple, and raisins are dried grapes. Hence, for this apple pie, there are two conversions, one to apple (with processing type ‘peeled’) and one to grapes (with processing type ‘dried’), each with its own conversion path of intermediate conversion steps.

For each food-as-eaten, the food conversion algorithm recursively builds up the conversion paths using the following procedure:

  1. Substance independent conversion: the conversion algorithm is substance independent. Check whether the current food is a modelled food. If successful, the food has been found, and the current search stops.

Note: for a substance dependent conversion, for each substance is checked whether the current food is a modelled food, i.e., when substance concentration measurements are available, or not. If successful, a modelled food has been found, and the current search stops.

  1. Find processing link (deprecated): Check whether the current food can be considered to be a processed variant (e.g., cooked or peeled) of another food.

  1. Match processing factor: try to find the code in the processing factors table.

If successful, try to find the corresponding food translation proportion in the food recipes data to correct for a weight reduction or increase. Then, restart at step 1 with the new code of the unprocessed food.

Warning: the find processing link (deprecated): step is not recommended and is currently maintained for backwards compatibility reasons only. We do not recommended this step because occasionally, a conversion using processing factor data may lead to different conversion paths compared to a conversion where this step is skipped or data are not available. This is undesirable behaviour. In fact, the processing link is not needed, because processed foods are recognized in the food recipe link where the translation proportion to correct for a weight reduction or increase is stored. In the conversion algorithm the processing factor itself is irrelevant and the identification may be postponed.

  1. Check whether the current food translates to one or more foods through composition or read-across. Identify any processing types.

  1. Food recipe link: try to find food translations for the current food (i.e., the ingredients of a composite food). This may result in one or more food codes for ingredients, and the iterative algorithm will proceed with each of the ingredient food codes in turn. Simultaneously check, whether the current food is a processed food or not. If so, determine the processing type or facets.

  2. TDS food sample composition link: try to find the code in the TDSFoodSampleCompositions table (column idFood), a default translation proportion of 100% is assumed. The iterative algorithm will proceed with a TDS food (column idTDSFood) sample.

  3. Read-across link: try to find a food extrapolation rule for the current food, a default translation proportion of 100% for ‘idToFood’ is assumed.

If successful, restart at step 1 with each of the new codes of the ingredient foods, TDS foods or Read Across foods.

  1. Marketshares link: try to find subtype codes, e.g. ‘xxx$*’ in the MarketShares table. In general, marketshares should sum to 100%. Foods with marketshares not summing to 100% are ignored in the analysis unless the checkbox ‘Allow marketshares not summing to 100%’ is checked. This step is optional, see advanced settings if you want to use this. If successful, restart at step 1 with each of the new codes of the subtype foods.

  2. Supertype link: try to find supertypes, e.g. ‘xxx$yyy’ is converted to ‘xxx’. This step is optional, see advanced settings if you want to use this. If successful, restart at step 1 with the new code of the supertype food.

  3. Default processing factor: remove processing part (-xxx) of the code. If successful, restart at step 1 with the new code without processing part.

../../../_images/conversionsettings.png

Figure 48 Default settings conversion.