Data exchange

What our exchange is validated against

Every response is checked against the standard’s own schemas on each run. Here is which ones — and what that check has already found.

Everyone says they comply with ICAR, and there is no way to check it from outside: the standard has neither certification nor a register of implementations. The only thing that tells a claim apart from words is showing what exactly it is checked against.

Standard version
ICAR ADE 1.5.1
Branch at ICAR
ADE-1
Copy taken
3 September 2026
Commit at ICAR
ac55844e9c

The schemas of the standard sit as a copy in the project tree, and every run validates against them what the book gives out. Below is what takes part in that check, what does not, and why.

303

schema files of the standard in the project tree

77

of them take part in checking our resources

11

resources of the book are checked on every run

The difference between 303 and 77 is not a slip. 11 of our resources are checked, and the schemas taking part are the ones without which the check would not happen: common ancestors, types, enumerations. The other 226 sit in the tree so that references resolve in full and so that an update of the standard is visible in a line-by-line comparison — including the parts the book does not do.

What the book gives out and takes in

14 collections at the paths of the standard; 7 of them accept data. The rest are closed to writing on purpose: registering an animal and transferring ownership are statements the Association answers for, and they go through an application with verification.

What it is in the bookICAR schemaContentsIntake
AnimalicarAnimalCoreResourceThe record: identifiers, sex, date of birth, breed, parents.export only
Test-day resulticarTestDayResultEventResourceDaily yield, fat, protein and somatic cells on a date.accepted
ParturitionicarReproParturitionEventResourceDate, parity, calving ease, the list of calves with sex and status.accepted
InseminationicarReproInseminationEventResourceDate, service number, sire, method of reproduction.accepted
WeighticarWeightEventResourceLive weight on a date, in kilograms.accepted
Pregnancy checkicarReproPregnancyCheckEventResourceThe result of the test; it lives on the insemination and has no record of its own.export only
Type classificationicarTypeClassificationEventResourceLinear traits and composite scores, with the classifier named.export only
Breeding valueicarBreedingValueResourceIndex value, reliability, weight profile, comparison base.export only
ArrivalicarMovementArrivalEventResourceThe animal came to the holding: purchase, import, transfer.export only
DepartureicarMovementDepartureEventResourceThe animal left: sale, transfer, culling for slaughter.export only
DeathicarMovementDeathEventResourceDeath on the farm — a separate resource with fields of its own.export only

Schemas that take part in the check

Our resources refer to common ancestors, those to types, and types to enumerations. The closed circle of these references is what the response of the book is actually checked against. Names are given as they are in the repository: one search finds the schema by them.

Resources 18

icarAnimalBaseResource
icarAnimalCoreResource
icarAnimalEventCoreResource
icarBreedingValueResource
icarEventCoreResource
icarMovementArrivalEventResource
icarMovementDeathEventResource
icarMovementDepartureEventResource
icarProgenyDetailsResource
icarReproEmbryoResource
icarReproInseminationEventResource
icarReproParturitionEventResource
icarReproPregnancyCheckEventResource
icarReproSemenStrawResource
icarResource
icarTestDayResultEventResource
icarTypeClassificationEventResource
icarWeightEventResource

Types 31

icarAnimalIdentifierType
icarAnimalStateType
icarBreedFractionsType
icarBreedIdentifierType
icarBreedingValueType
icarBVBaseIdentifierType
icarCoatColorIdentifierType
icarConformationScoreType
icarConsignmentDeclarationType
icarConsignmentType
icarDateTimeType
icarDateType
icarDeclarationIdentifierType
icarDeviceReferenceType
icarDeviceRegistrationIdentifierType
icarIdentifierType
icarInterestedPartyType
icarLocationIdentifierType
icarMassMeasureType
icarMetaDataType
icarMilkCharacteristicsType
icarMilkingMilkWeightType
icarMilkingPredictionType
icarOrganizationIdentifierType
icarOrganizationIdentityType
icarOrganizationType
icarParentageType
icarReasonIdentifierType
icarResourceReferenceType
icarTraitLabelIdentifierType
PostalAddress

Enumerations 28

icarAnimalGenderType
icarAnimalHealthStatusType
icarAnimalLactationStatusType
icarAnimalRelationType
icarAnimalReproductionStatusType
icarAnimalSpecieType
icarAnimalStatusType
icarArrivalReasonType
icarBreedingValueCalculationType
icarConformationScoringMethodType
icarConformationTraitGroupType
icarConformationTraitType
icarDeathDisposalMethodType
icarDeathMethodType
icarDeathReasonType
icarDepartureKindType
icarDepartureReasonType
icarParturitionBirthSizeType
icarParturitionBirthStatusType
icarProductionPurposeType
icarReproCalvingEaseType
icarReproInseminationType
icarReproPregnancyMethodType
icarReproPregnancyResultType
icarReproSemenPreservationType
icarTestDayCodeType
icarWeightMethodType
uncefactMassUnitsType

What the standard has and the book does not

226 schemas take no part in the check, and that is not a gap. The standard describes the whole farm — from the feed table to the slaughter plant — while a herd book answers for descent and productivity. The boundary is visible here.

Topic of the standardSchemasWhy not here
Feed and rations30Feeding is kept in the herd management system; the book needs the result, not the ration.
Health and treatment31The veterinary side is separate both in law and in responsibility.
Slaughter and carcasses16Meat recording: another industry, other measurements, another consumer.
Animal groups28Group events and sorting are needed by robots on the farm, not by the book.
Devices and sensors30Readings from the milking parlour and from sensors are raw material for the farm; the book takes the result.
Inventory and turnover9Stock and the movement of goods are the holding’s task, not that of breed recording.
Reproduction beyond ours23Heats, abortions, embryo transfer — the next step, named in the ICAR section map.
Milk beyond ours18Milking detail by quarter and by visit; the book keeps test-day recordings.
The rest of the standard core41Common ancestors, references to resources, service wrappers for collections.

The split into topics is made by a keyword in the schema name. The rule is crude and is good for exactly what it was set up for: showing the size of the standard and the boundaries of the book.

What the check has already found

A mistake of ours

The list of calves on a calving went out without the mandatory fields the common ancestor of the resource requires. The book’s own validation was bound to miss it — it knew nothing about the ancestor. Any partner validating against the schema would have rejected every calving with calves we sent.

A mistake in the standard itself

icarTypeClassificationEventResource declares two fields mandatory that neither it nor its ancestors define: the list of required fields was copied from a neighbouring type when the resource was split in two. Nothing can satisfy such a schema. Here it is lifted by an exception written for that specific breakage and is printed as a separate line so that it does not dissolve into the green.

A gap in the standard

icarBreedingValueType has neither a daughter count nor a herd count, although a progeny evaluation cannot be verified without them: two hundred daughters in a single herd describe the herd, not the bull. Until the working group adds the fields, the book accepts daughters and herds as an extension — at resource level, or identical across every trait in the set. What we serve stays strictly to the standard, with no extension.

Source and updates

The schemas are taken from the adewg/ICAR repository under the Apache 2.0 licence, branch ADE-1, commit ac55844e9c76. The files are not modified.

The copy sits in the tree on purpose. A check that goes out to the network fails when someone else’s server is unavailable and — worse — passes when it is unavailable unnoticed. An update of the copy is visible in a line-by-line comparison: a divergence from the standard becomes an event that someone has read and accepted.