Guided tour

A herdbook, not a farm app

PLEM keeps the register a breed association is responsible for: who an animal is, who its parents are, what it produced, how it was classified, and what its breeding value works out to. Farms record events; the association verifies them and stands behind the result. The two jobs are different, and this system does the second one.

The panels below are drawn, not photographed. The fields, trait names and figures are the real ones, taken from the running system; the labels are translated, because the interface itself is Russian. A live walkthrough of the real screens is a conversation away.

Identity

One animal, several numbers — and they must agree

An animal arrives with a national number, usually an ear tag, sometimes an RFID transponder, and — if it was imported — a number issued somewhere else entirely. The herdbook’s first job is to hold all of them at once and to notice when they disagree.

The international form follows ICAR: country, sex, twelve digits, and the three-letter breed code. For an imported animal it is built from its country of origin, never from ours — a Dutch cow does not become Russian by being written into a Russian book.

Animal record — identity
National number1234567890
RFID (ISO 11784/11785)64301234567890115 digits
International IDNLDM000574590532country · sex · 12 digits
With breed code (ICAR)NLDM000574590532HOL19 characters
Country of originNLDISO 3166-1 alpha-3
SexF
Date of birth2021-03-14

Thirty-two countries are recognised for identity construction. A transponder number that fails the ISO check digit is stored but never exported as valid.

Pedigree

Assembled from every source, with the source kept

Ancestry rarely comes from one place. Part of it is on the certificate the farm sent, part in a bull catalogue, part in an earlier import. The herdbook assembles the tree from all of them and remembers which fact came from where, so a later contradiction can be traced instead of argued about.

Pedigree — three generations
Cow · NLDM000574590532
├── Sire · USAM000132745901 · AI bull, proof imported
│   ├── SS · USAM000129884411
│   └── SD · USAF000131002877
└── Dam · RUSF000000451209 · herd record
    ├── DS · CANM000012239800
    └── DD · RUSF000000390114

Milk recording

Test days, lactations, and what they add up to

Test-day results are stored as they were measured, and lactation figures are derived from them rather than typed in. That ordering matters: a lactation total someone entered by hand cannot be re-checked, while one computed from test days can be recomputed the day a rule changes.

Animal record — milk recording
Test dayMilk, kgFat, %Protein, %
2025-04-1234.23.823.24
2025-05-1432.83.753.29
2025-06-1130.13.913.35
305 d9 6403.833.29

Conformation

18 linear traits, 3 composites

Classification is recorded trait by trait on the linear scale, and the composite scores are computed from them. Who did the classifying is stored with the record — a score without a classifier is an opinion, not a measurement.

Animal record — conformation
Stature7
Chest width6
Body depth7
Angularity8
Rump angle5
Rear legs, side view6
Foot angle7
Fore udder attachment8
Rear udder height7
Udder depth6

10 of 18 linear traits shown. Composites: body, udder, legs.

Breeding value

12 traits, and a choice of what to weigh them by

An index is an opinion about what matters, expressed as weights. Rather than hide one opinion inside a single number, the system carries several published profiles side by side and shows the weights outright, so a breeder can see why two rankings disagree.

Breeding index — profiles
NM$ (approximation)
US Net Merit — lifetime profit weighting
TPI (approximation)
US Total Performance Index
SIH (approximation)
Czech selection index
Milk for cheese
protein and fat yield forward
Keep first-calvers
longevity, udder health, fertility
Ease the calving barn
calving ease and calf survival

Traits weighed: milk, fat, protein, productive life, udder health, fertility, calving ease, calf survival, body, udder and feet-and-legs composites.

Ranking

Four lists, ranked across the whole population

Bulls, heifers under a year, heifers over a year, cows. Rank is computed over the entire category first and the herd filter is applied afterwards — so a farm sees where its animal stands in the country, not where it stands among its own.

Association — ranking, bulls
1USAM000132745901+1 284
2CANM000012239800+1 241
3NLDM000574590532+1 198
47RUSM000000771044+862

Data quality

Thirty-two checks that run against the live database

A herdbook that accepts whatever it is sent launders bad data into official-looking records. So the system runs its own checks — on identity, pedigree consistency, event ordering, access rights and every export — and publishes what they found.

Findings are not hidden while they are being fixed. An association that shows only green is either very lucky or not looking.

Checks — last run
Progeny agrees with itselfok
calving counts vs. registered calves
Pedigree has no loopsok
an animal cannot be its own ancestor
Identity numbers agree2 found
RFID check digit vs. national number
Export matches the templateok
every column the registry expects

Exchange

ICAR ADE, so the data can leave

Data a farm cannot take with it is data held hostage. The system serves the ICAR Animal Data Exchange interface (version 1.5, JSON Schema 2020-12 and OpenAPI 3.1) over 14 collections, location-centric as the standard prescribes.

ADE — collections served
GET /ade/v1/locations/{scheme}/{id}/animals
GET /ade/v1/locations/{scheme}/{id}/test-day-results
GET /ade/v1/locations/{scheme}/{id}/parturitions
GET /ade/v1/locations/{scheme}/{id}/inseminations
GET /ade/v1/locations/{scheme}/{id}/type-classifications
GET /ade/v1/locations/{scheme}/{id}/weights
GET /ade/v1/locations/{scheme}/{id}/breeding-values
GET /ade/v1/locations/{scheme}/{id}/arrivals
GET /ade/v1/locations/{scheme}/{id}/departures
GET /ade/v1/locations/{scheme}/{id}/deaths
GET /ade/v1/locations/{scheme}/{id}/pregnancy-checks
GET /ade/v1/locations/{scheme}/{id}/milking-visits
GET /ade/v1/locations/{scheme}/{id}/daily-milking-averages
GET /ade/v1/locations/{scheme}/{id}/diagnoses

Where a national registry is mandatory, its exports are generated too — 20 templates in the Russian case. That obligation belongs to a country, not to breeding: a herdbook elsewhere simply does not carry it.

Standards

What is done, what is partial, what is not started

The system is mapped against 10 ICAR guideline sections and 23 compliance items, each with its state and the evidence behind it — a check that proves it, a page that shows it, or the code that does it. 6 items are partial and 10 are not started, and they are listed as such.

Two things are named plainly on those pages: the association is not an ICAR member, and ICAR marks are status-based, so no ICAR logo appears anywhere here. Following the guidelines and being certified against them are different claims, and only the first one is being made.

Seeing it live

The running herdbook, and how to get a walkthrough

One association runs on this system today. Its book is open to look at — the interface is Russian, but the structure is the one described above, and numbers read the same in any language.

For a walkthrough in English, or to talk about keeping your own book on it, write to mail@plem.online.