Schemes - adewg/ICAR GitHub Wiki

Identification and Enum Schemes

The ICAR ADE endpoints and messages need to be able to identify objects in many different countries. Because each country or even company may have its own identifiers there is no guarantee that an identifier will be unique. Since there are many different object and different schemes for each object, schemes are used to be able to use them concurrently and guarantee uniqueness. The same goes for enumerated values: again, many standards may already exist and instead of adding our own to the list, we prefer to absorb existing standards.

An identification scheme thus points to an existing organisation that hands out identifiers; those identifiers are unique within that organisation and optionally may have some syntax checks.

An enum scheme points to an existing standard that defines a list of values with proper definitions.

Using schemes gives us the following advantages:

  • Making identifiers unique across different countries
  • Describing the type of identifier, giving more information about it
  • Describe how an identifier can be validated (if possible)
  • Prevent requests against sources that do not support a scheme (e.g. sending an identifier with a local France company scheme to the Dutch governmental organization)
  • Reuse of existing standards

On this page we invite everybody that is using ICAR ADE to add schemes that are relevant for their country or organisation.

Principles

ICAR ADE does not restrict the use of a scheme, anybody is free to add their own scheme. However, when adding a new scheme, take the following principles into account:

  • it has to be a well known identifier (within that sector or region), used by multiple parties to exchange data;
  • it has to be unique across all parties using that identifier;
  • it has to have a limited set of authoritative source or sources for those identifiers;
  • the identifier has to be relatable to a legal entity (who "owns" the asset).

Other than that: the registry below is INFORMATIVE (other schemes can be used), but helps establish well-known identifiers.

Scheme Name Format

We prefer that schemes are human readable even when URL-encoded. This means we prefer that schemes do not contain : or / or other special characters. We recommend the Reverse Domain Name notation used by Java and Android packages, because it will tend to naturally group schemes from the same organisation or country. For example, "org.icar.id".

Id or Value Format

For identification schemes, the identifier format is defined by the authoritative organisation. Syntax checks may be defined. For enum values, the same applies: the list is defined by the standard the scheme refers to. As such, within ICAR ADE, we consider id and value fields to be of type string and place no further restrictions on it.

Relation with other standards

Netherlands - AgroConnect

In the Netherlands, a similar list of identifier schemes are managed by AgroConnect. Codelist CL709 describes a compatible list.

Identifier Schemes

Farms / locations

id name example region & issuing party RegEx
eu.farmId farm id 276031231231234 EU wide scheme with a country prefix, combining multiple national schemes
de.vitFarmId farm id 96123456.001.001 Farm ID as issued by VIT. The first section correlates 1:1 with a eu-farm-id while the latter two sections specify the location in more detail.
nl.ubn uniek bedrijfsnummer Used in the Netherlands, used by the government (see Uniek Bedrijfsnummer on wikipedia. Note: this may be part of the eu-farm-id scheme?
nl.brs bedrijfs registratienummer Used in the Netherlands, used by RVO (also known as "mestnummer"
be.pen ? Productie-eenheidsnummer Issued by Agentschap voor Landbouw en Visserij (ALV): domainname be.pen is not registered. Probably use something like be.fgov.alv?
org.gs1.gln global location number GS1 Global location numbers as registered by GS1
au.gov.ag.pic PIC NA477352 Australian farm property identifier code. Issued by each State's department of agriculture.

Milk tank id's

id name example region & issuing party RegEx
nl.ftn dairy plant id + milk tank id (fabriekstanknummer) 123123456 Dutch scheme for indicating milk tanks. Issued by dairy factories. First 3 digits indicate factory, last 6 are the tank id.
nl.tnk milk tank id 123456 Dutch scheme for indicating milk tanks. Issued by dairy factories. Is the same as the FTN without the factory prefix. Use of nl.ftn is preferred since those are nationally unique.
nl.plnt plant id 123 Dutch scheme for indicating dairy plants. Issued by AgroConnect.

Animals

These schemes point to a specific animal.

id name example region & issuing party RegEx
eu.animalId LOM 276000312312345 EU wide scheme with a country prefix, combining multiple national schemes. Is used by transponders. First 3 positions is country code , e.g. 276=DE, is numeric, 15 digits.
eu.bovine European animal life time number NL 6802 5082 9 EU wide scheme with a countryprefix, but different than the one above? RVO on levensnummers
us.bovine US animal life time number US 123456789 US herdbook number

Animals.CoatColor

This schemes point to a specific coat-color of animals

id name example region & issuing party RegEx
de.lkv-nrw.ian Codeset Fellfarbe 810026 1 - schwarz DE - LKV

Legal entities / companies

These schemes point to a legal entity. One that can be authenticated and is authorised to make decisions on assets defined by one of the other schemes.

id name example region & issuing party RegEx
nl.kvk Chamber of commerce number (Kamer van Koophandel nummer) 64039641 Used in the Netherlands. Issued by the 'Kamer van Koophandel', can be checked at e.g. OpenKVK
be.onn Chamber of commerce number (Ondernemersnummer) Used in Belgium. Issued by the 'Kruispuntbank voor Ondernemingen', can be checked at e.g. fgov
eu.euid European standard for registration id's NLNHR.64039641 https://e-justice.europa.eu/content_find_a_company-489-en.do?clang=en concatenation of: country + org + national registration number

Enum types

Feed types

We recommend to use the org.fao.ruminants.feedtypes scheme for identifying feed types, and using the 'Material' name as enum value (ignoring the numerical id).

FAO also has a list of "feed materials for ruminant species" (see http://www.fao.org/fileadmin/user_upload/gleam/docs/GLEAM_2.0_Model_description.pdf) table 3.2. There are 30 items:

Category roughages (and cereals)

Number Material Desciption
1 GRASSF Any type of natural or cultivated fresh grass grazed or fed to the animals.
2 GRASSH Hay (grass is cut, dried and stored) or silage (grass is cut and fermented) from any natural or cultivated grass.
3 GRASSH2 Hay from adjacent areas.
4 GRASSLEGF Fresh mixture of any type of grass and leguminous plants that is fed to the animals.
5 GRASSLEGH Hay or silage produced from a mixture of any type of grass and leguminous plants.
6 ALFALFAH Hay or silage from alfalfa (Medicago sativa).
7 GRAINSIL Silage from whole barley (Hordeum vulgare), oat (Avena sativa), buckwheat (Fagopyrum esculentum) and fonio (Digitaria spp.) plants.
8 MAIZESIL Silage from whole maize (Zea mays) plants.
9 RSTRAW Fibrous residual plant material such as straw, brans, leaves, etc. from rice (Oryza spp.) cultivation.
10 WSTRAW Fibrous residual plant material such as straw, brans, leaves, etc. from wheat (Triticum spp.) cultivation.
11 BSTRAW Fibrous residual plant material such as straw, brans, leaves, etc. from barley (Hordeum vulgare), rye (Secale cereale) or oat (Avena sativa) cultivation.
12 ZSTOVER Fibrous residual plant material such as straw, brans, leaves, etc. from maize (Zea mays) cultivation.
13 MSTOVER Fibrous residual plant material such as straw, brans, leaves, etc. from millet (Pennisetum glaucum, Eleusine coracana, Panicum miliaceum, etc) cultivation.
14 SSTOVER Fibrous residual plant material such as straw, brans, leaves, etc. from sorghum (Sorghum spp.) cultivation.
15 TOPS Top portion of sugarcane (Saccharum spp.) plants, consisting of green leaves, bundle sheath and variable proportions of immature cane.
16 LEAVES Leaves from natural, uncultivated vegetation found in trees, forest, lanes etc.
17 FDDRBEET Fodder beet (Beta vulgaris), also known as mangel beet or field beet, used as animal feed.
18 GRAINS Grains from barley (Hordeum vulgare), oat (Avena sativa), buckwheat (Fagopyrum esculentum) and fonio (Digitaria spp.).
19 CORN Grains from maize (Zea mays) plant.

Category others (by-products)

Number Material Desciption
20 MLSOY By-product from soy (Glycine max) oil production, commonly referred to as ‘soy cakes’ or ‘soybean meal’.
21 MLRAPE By-product from rape (Brassica napus) oil production, commonly referred to as ‘rape cakes’ or ‘rapeseed meal’.
22 MLCTTN By-product from cottonseed (Gossypium spp.) oil production, commonly referred to as ‘cottonseed meal’.
23 PKEXP By-products from the production of kernel palm oil (Elaeis guineensis), commonly referred to as 'kernel cake'.
24 MZGLTM By-product from maize processing. It is a protein-rich feed, with about 65% crude protein content.
25 MZGLTF By-product from maize processing. Unlike the gluten meal, its protein content is lower, of about 25% crude protein content.
26 BPULP Also known as ‘beet pulp’, is the remaining material after the juice extraction for sugar production from the sugar beet (Beta vulgaris).
27 MOLASSES By-product from the sugarcane sugar extraction.
28 GRNBYDRY ‘Dry’ by-products of grain industries such as brans, middlings, etc.
29 GRNBYWET ‘Wet’ by-products of grain industries such as biofuels, distilleries, breweries, etc.

Category concentrate

Number Material Desciption
30 CONC Concentrate feed from feed mills.

Feed properties

We recommend to use the org.icar.feedproperties scheme for identifying feed properties.

As ICAR we propose the following list of possible feed properties:

Analysis Material Description Units
DM Dry Matter The part of food which would remain if all its water content was removed. % (of feed)
CP Crude protein Crude protein is the amount of protein of animal feed % (of DM)
CF Crude fibre crude fibre is the insoluble residue of an acid hydrolysis followed by an alkaline one. This residue contains true cellulose and insoluble lignin. % (of DM)
NDF Neutral detergent fibre NDF measures most of the structural components in plant cells (i.e. lignin, hemicellulose and cellulose), but not pectin. % (of DM)
LI Lignin Key structural materials in the support tissues of most plants. % (of DM)
EE Ether extract The part of a complex organic material that is soluble in ether and consists chiefly of fats and fatty acids. % (of DM)
ASH Ash The powdery residue of matter that remains after burning. % (of DM)
ST Starch Most green plants store energy as starch. % (of DM)
TS Total sugars Sugar is the generic name for sweet-tasting, soluble carbohydrates. Sugars are found in the tissues of most plants. % (of DM)
GE Gross Energy The gross energy (GE) in a food is defined as the total chemical energy measured from complete combustion of the food in a bomb calorimeter. MJ/kg DM
DE Digestable Energy The amount of energy in the feed minus the amount of energy lost in the feces. MJ/kg DM
ME Metabolisable Energy The amount of energy in the feed minus the energy lost in the feces and urine. MJ/kg DM
CA Calcium essential minerals g/kg DM
P Phosphorus essential minerals g/kg DM
K Potassium essential minerals g/kg DM
NA Sodium essential minerals g/kg DM
MG Magnesium essential minerals g/kg DM
MN Manganese essential minerals g/kg DM
ZN Zinc essential minerals g/kg DM
CU Copper essential minerals g/kg DM
FE Iron essential minerals g/kg DM
AL Aluminium essential minerals g/kg DM

Statistics

For the metrics for which statistics are calculated can be defined in a scheme. We intend to make an ICAR scheme to list metrics that are commonly used. Scheme = "org.icar". In the statistics resource there is next to de metric scheme also the possibility to include a unit.

| Milk | statistics for milk | | Fat | statistics for fat | | Protein | statistics for protein | | Scc | statistics for somatic cells | | Insemination | statistics for inseminations |

Others

id name description
nl.ir identificatie & registratie rund nummer
nl.vat btw-nummer Value added tax ID
nl.notsp not specified Not specified
nl.fmi-id pigproducer at organisation Pigproducer at organisation
nl.zms-oms administrative relation number Administrative relation number
nl.memnr lidnummer
nl.ref allocated by generating party
nl.skal skal-nummer not applicable
de.vvvo vvvo-nummer Duitsland VVVO-number
be.bslgnr beslagnummer België, Sanitel Number issued to a veterinary unit, mostly a farm location, by FAVV
nl.egnr EG-nummer Number issued by the Dutch NVWA for companies with a recognition, registration or license