The existing Eurocode 2 codes were designed for manual coding of foods through the assigned classification category and to retain some additional information, for example to code mixed foods.
A primary design consideration for the codes was their useability by human coders and an important secondary concern was that their computer manipulation should be straightforward.
The current assumption is now for computer support of coding so that users of the system do not directly select and assign codes.
Also the accessability and concepts of programming have evolved so that the information held in a well-structured code becomes available for a wide range of manipulations.
This discussion note proposes a basis for defining new Eurocode 2 codes to be used in the revised classification.
The new codes are designed to be similar to the existing codes but with the capacity for inserting extra codes and additional information (such as descriptors within the code string), both within the existing scheme and by extending it within a broader framework.
They are defined in this note, together with proposed rules for the framework for the design of hierarchical food codes.
The generic framework should accommodate unlimited extension, leaving particular implementations to impose their own constraints, for example in the number of hierarchical levels that are permitted.
The initial proposals have been applied to the documentation of the Core Classification, version 99/1.
Although it may be necessary to incorporate various aspects into future Eurocode codes, for example for descriptor terms, the most urgent requirement is to document the new Core Classification proposals with the codes that will be used in the future.
This section provides the proposed specification for these codes.
In the new Eurocode codes:
- The Main Group will be coded as in the present system. This has the disadvantage that codes will not sort into the correct order of Main Groups (e.g. Group 10 codes will sort between Group 1 and Group 2 codes). This could be corrected by using a leading zero, e.g. Groups 01, 02, etc., but it may be considered better to continue using the familiar Main Group numbering.
- All lower level classification categories will be coded using 2-digit numbers, giving codes such as "3.25.16". Initially leading zeroes will not be used (i.e. the first Meat subgroup will be 3.10, not 3.01), but these could be used to define special categories such as general ones.
- Gaps will be left between codes, for example by initially assigning codes such 10, 15, 20, etc.
- Some informal intermediate hierarchy will sometimes be implicit in the numbering. For example, all bird meat will be coded 3.2n.
- Following from this, all codes with a trailing '9' will be used for 'other' categories, e.g. 3.29 for Birds, other.
- Specific categories may have codes up to 79, with later numbers such as 88 and 99 reserved for use as general codes (at any level in the hierarchy) for special cases such as 'unknown', 'not specified', etc.
- The Core Classification version 99/1 will allow up to 4 hierarchical levels, an increase of one over Eurocode version 93/1. Any specific identifiers, for example a recipe code, will be handled separately.
- Thus subgroup codes will commence with a fullstop (.), followed by a 2-digit number. This will allow additional codes, for example representing descriptor terms, to be added certainly at the lowest level of a code and possibly at any level if required. Thus 3.19.20T4 might be the code for Boiled hare.
As noted in the introduction, the above proposals for new codes and any extensions to support extra types of information or an increased number of codes are based on a framework which defines the structural elements and rules for the code system. At a very general level, these framework rules have been defined as:
- Codes will consist of alphanumeric strings (including specified punctuation characters) containing a 'level delimiter' to separate hierarchical levels and optionally including prefix and suffix strings
- The default level separator will be the period (.) character. An alternative may be specified in the prefix, together with the separator terminating the classification code and starting the suffix.
- Hierarchy categories will be enumerated with two-digit numbers (i.e. 00 to 99), without limit on the number of numbers. Thus extended category codes such as '1705' are valid, making the system infinitely extendable. As noted above, this rule will not be applied to the Main Group code.
- Any code starting with a non-digit (nor a period) will be treated as having a prefix which will be terminated by the first period. Any code starting with a digit will be processed as if this is the enumeration of the first hierarchy level (i.e. with an implicit starting period character)
- Any non-digit terminates the enumeration of the current category, with the meaning of such an occurrence being defined for the implementation, in the prefix and/or by the application.
This statement of a fundamental framework should help in specifying extensions to the coding systems, for example to handle mixed foods, and in designing systems to manage coded data.
Please submit your comments and suggestions on the possible renaming of the Eurocode 2 Food Coding System using the project feedback form by the closing date of 29 October 1999.
Updated: 4 October 1999