Food coding systems

MCRA is intended to retain complete transparence of the results of risk assessment in terms of the foods that were actually consumed (foods-as-eaten). In many cases measurements of substances have not been made on the food-as-eaten, e.g. pizza, but on a raw agricultural commodity (RAC), e.g. tomato, onion etc. The food on which the concentration measurements have been made is termed the food-as-measured. MCRA implements a recursive search algorithm to link foods-as-eaten to foods-as-measured. This means that there can be intermediate steps, e.g. if unpeeled apple and grapes are the foods-as-measured, the food-as-eaten apple pie contains peeled apple and raisins, peeled apple is linked to unpeeled apple, and raisins are dried grapes.

Food classification: FoodEx1

Food code definition

In MCRA, a food code is a string consisting of symbols. Some special symbols (. $ - \(*\)) are reserved for special use (see below), and can not be used freely in own codes.

Codes can be hierarchical. Any code can be followed by $ or . plus a subtype code. This can be repeated any number of times, e.g. A$B$C$D, or A.B.C.D.

Codes can specify food processing. Any code can be followed by - plus a processing code. Only one level of processing code is allowed (e.g. FP0226-2). Subtype codes should precede processing codes (e.g. NL005$123$456-2). The asterisk (\(*\)) serves as a wildcard for the preceding code: the processing information is valid for all codes that start with the code preceding the \(*\).

Food codes in consumption surveys

Any coding system for foods-as-eaten can be used in MCRA. For example, in Europe EFSA develops a Food Classification and Description System for exposure assessment named FoodEx 2 ([1], [2]), featuring a hierarchical system of a core list of foods, an extended list, and domain-specific hierarchies.

Food codes in concentration data

Any coding system for foods-as-measured can be used in MCRA.

Food processing

Concentrations of substances in foods may change when foods are processed. Examples of processing types are peeling (e.g. of apples), cooking (e.g. of spinach), drying (e.g. of grapes), juicing (e.g. of oranges). In MCRA a processing factor can be specified for any food. Processing factors specify the ratio of concentrations in the processed and unprocessed food. The food code of the processed food will be converted to the food code of the unprocessed food. In simulations the concentration in the unprocessed food will then be multiplied by the processing factor. Special attention is needed if food processing also changes the weight of the food. Traditionally, processing factors combine the effects of chemical alteration and weight change, so the weight change should not be double-counted. The processing correction factor is introduced to correct processing factors that combine both effects, e.g. when 100g raisins (dried grapes) are translated to 300g grape (food-as-measured) and the processing factor for drying combines both effects, the processing correction factor is 3.

Recipes and food translation

Recipes specify the composition of composite foods, e.g. pizza, in terms of relevant ingredients, e.g. 100g pizza contains 10g tomato, 5g cheese and 50g flour. Recipes are also used to specify weight changes, e.g. to obtain 100g raisins (dried grapes) 300g of the food-as-measured grape is needed.

A special use of recipes and food translation is found in Total Diet Studies. Here, the composition of a Total Diet Study food is specified, e.g. TDS-food FruitMix is composed of apple, orange and pear with a default translation proportion of 100%. So in MCRA, the food-as-eaten apple is converted to FruitMix (100%) and FruitMix is considered as the food-as-measured (TDS-food). A conversion from apple-pie (food-as-eaten) to FruitMix (food-as-measured) is based on a recipe for apple-pie and a TDS composition for FruitMix.

Another use of converting foods (as-eaten or as an intermediate step), is through the specification of so-called food extrapolations (read across translations), e.g. for pineapple no measurements are found but by specifying that pineapple is converted to FruitMix (with a default proportion of 100%), the TDS sample concentration value of FruitMix will be used for pineapple (as-eaten or as ingredient).

Market shares and brand loyalty

Sometimes measurements of substances in food are available at a more detailed food coding level than consumption data. For example, measurements may have been made for specific brands of a food whereas the consumption survey did not record the brand. MCRA allows to specify market share data for subtypes of a food (e.g. A$1, A$2, A$3 are three brands of food A), and to calculate acute exposure based on such market shares.

Supertypes

Sometimes measurements of substances on food are available at a less detailed food coding level than consumption data. MCRA allows to use the concentration data of a supertype for all underlying food codes. However, this is not the default, and an explicit permission should be given to allow this feature.

Maximum Residue Levels

Maximum residue levels are the upper legal levels of a concentration for substance residues in a food, e.g. pesticide, or feed based on good agricultural practices and to ensure the lowest possible consumer exposure.

MCRA food code conversion algorithm

Food codes are linked using a 7-step procedure.

Food classification: FoodEx2

‘The collection and evaluation of data on levels of chemical occurrence or presence of biological agents in food and feed are important tasks of EFSA. By combining the data with information on food consumption allows for detailed intake and exposure estimates crucial to any food and feed safety risk assessment or nutrient adequacy analysis. The EU Member States provide an increasing volume of data to EFSA and other European bodies. To provide a common link to all the diverse food and feed databases, a system for the unique and universal identification and characterisation of food and feed items is essential. EFSA has developed a preliminary standardised food classification and description system called FoodEx2 (version 2 of the EFSA Food Classification and Description System [FCDC] for exposure assessment). The system consists of descriptions of a large number of individual food items aggregated into food groups and broader food categories in a hierarchical parent-child relationship. Central to the system is a common ‘core list’ of food items or generic food descriptions that represent the minimum level of detail needed for intake or exposure assessments. More detailed terms may exist in addition to the core list and these are identified as the ‘extended list’. A parent-child relationship exists between a core list food item and its related extended list food items. The terms of the core and extended list may be aggregated in different ways according to the needs of the different food safety domains. In the present version four hierarchies are proposed: three domain-specific and a general purpose one. Facets are used to add further detail to the information provided by the food list term. Facets are collections of additional terms describing properties and aspects of foods from various perspectives’. For more information visit: http://www.efsa.europa.eu/en/datex/datexfoodclass.htm.

For MCRA, having a different set of food codes is in itself not a problem. That is, for MCRA, it does not matter how foods are coded, as long as they can be linked to consumptions and concentrations within an exposure assessment. What makes FoodEx2 different from other food coding systems is that it provides additional food hierarchies, food facets, and a combined food/facet coding system. Below follows a brief summary of these main features of the FoodEx 2 coding system from the perspective of exposure assessment using MCRA.

Foods and food hierarchies

FoodEx 2 contains different food hierarchy definitions and allows for creation of custom food hierarchy definitions. These hierarchies could, for exposure assessment, allow to assess intake or consumption data based on the groups defined by these hierarchies.

Table 9 Food hierarchy export from FOODEX 2.0 Browser version 0.1.3

Code

Level

Name

ParentCode

Scopenotes

A000J

1

Grains and grain-based products

ROOT

The category covers all …

A000K

2

Cereals and similar

A000J

A000l

3

Cereal and cereal-like grains

A000K

A000M

4

Amaranth grain

A000L

A000N

5

Buckwheat grain

A000L

A000P

6

Barley grain

A000L

Facets and facet descriptors

FoodEx 2 allows to provide supplementary details on specific aspects of foods by means of so-called facets and facet descriptors. Facets are collections of terms defining specific characteristics of food from particular points of view and facet descriptors describe specific characteristics foods. For example, processing technology is a facet, and baking is a facet descriptor belonging to this facet. Currently, 26 facets are defined, containing in total 2172 descriptors (EFSA 2011b) [2]. Facets are also defined in a hierarchical system. For instance, cooking in fat (A07GR) and baking (A07GX) are sub-items of the descriptor cooking and similar thermal preparation processes (A0BA1). Facets are coded as small strings that consist of a facet code and a facet descriptor code separated by a ‘.’-character. For example, the facet code F28.A07GX holds

  1. the facet code F28, which is the facet code for process technology, and

  2. A07GX , which is the descriptor code for baking.

Table 10 Part of the FoodEx 2 facet descriptor codes of the source facet (F01).

Code

Level

Name

ParentCode

Scopenotes

A04SF

1

Animals

ROOT

A056H

2

Mammals (food source animal)

A04SF

A056Z

3

Farmed / non-game mammals (food source animal)

A056H

A057A

4

African buffalo (food source animal)

A056Z

A057B

4

American buffalo (food source animal)

A056Z

A057C

4

Buffalo (food source animal)

A056Z

A057D

4

Cape buffalo (food source animal)

A056Z

A057E

4

Cattle (food source animal)

A056Z

Implicit facets

Implicit facets are facets of a product that are already implied by the food product itself. Consider, for example, potato boiled (A011P), where boiling (A011P) is an implicit facet, because boiling is already implied by the product. According to EFSA [1] ‘inclusion of implicit facets in the string recorded for each food database record is not encouraged’ and it is suggested to identify and record the implicit facet descriptors in a separate table.

Foods as facets

Foods and facet descriptors share the same unique alphanumerical coding system; in some cases, like characterising ingredient or sweetening agent food list elements may be used as facet descriptors.

The FoodEx 2 coding system

In the coding system, facets can be added to the primary food codes to provide supplementary detailed information of particular data records. The structure of the FoodEx 2 codes is:

idFood#idFacet.idFacetDescriptor$idFacet.idFacetDescriptor$….

The code starts with the primary FoodEx2 food code. Then, when there are supplementary facets, the food code is followed by a ‘#’-character and the facets string. The facets string is constructed as a concatenation of the individual facets strings, separated by means of the ‘$’ character. As an example, consider the string A011P#F28.A07GL$F28.A07KQ which is composed of:

  • Food: A011P - Potato boiled

  • Facet 1: F28.A07GL - Process technology - Boiling

  • Facet 2: F28.A07KQ - Process technology - Freezing