Skip to content

6.3.2.6 AnimalGroup

6.3.2.6.1 Purpose

A set of animals managed together. A herd tracks its members individually; a batch is counted as a whole, for species without individual identity. A group keeps its identity when its composition changes, and archiving keeps its history.

6.3.2.6.2 Questions it answers

  • Which groups does an Organization manage?
  • Are the members of a group tracked individually, or only counted?
  • How many animals were in a group at a given time?

6.3.2.6.3 Fields

Field Type Cardinality Description
id string (uuid) 1..1 Key.
identifiers IdentifiersValues 1..1
name string 1..1
description string 0..1
status enum 1..1 Values: active, archived.
identification_mode enum 1..1 Values: individual, collective, both.
individual: members are Animals (AnimalGroupMembership). collective: the group is counted, not its members (e.g. a poultry flock); its head count comes from GroupMovementEvent. both: some members are also identified individually.
created_at datetime 1..1
updated_at datetime 1..1

6.3.2.6.4 Subtypes

Discriminator type: an AnimalGroup is at most one of the subtypes below (disjoint, not complete), so records with none of them are allowed.

Herd

Individual membership history: AnimalGroupMembership; one Organization may own multiple herds.

Registered count derives from memberships known to be active.

No fields beyond those of the parent.

Batch

Future work

Part of the model, but built only when a real case needs it. No species without individual identity yet.

A group kept and managed together for one cycle, e.g. a poultry flock from placement to depletion, or a fattening batch.

Field Type Cardinality Description
animal_type AnimalType 1..1 Required: a collective batch has no Animal rows that carry the species.
cycle ObservedPeriod 1..1 From placement to depletion (end open while the batch is on the farm).
  • Head count at time t = entries - exits of its GroupMovementEvents up to t; a head count reported by a source is an AnimalGroupObservation and a disagreement raises a DataIssue (value_conflict).
  • Group measures (average weight, feed and water intake, mortality rate) are AnimalGroupObservations with an aggregate context; group treatments are GroupTreatmentEvents.

Future work

Origin (hatchery, supplier lot), age at placement, housing unit, species-specific observation types.

6.3.2.6.5 Relationships

References

Referenced by

Uses types

IdentifiersValues, ObservedPeriod

Subtypes

6.3.2.6.6 Rules & constraints

  • Composition changes preserve group identity; archiving preserves history.
  • Group type and identification mode are distinct.

Open questions

Allowed animal types, simultaneous memberships and operational subgroups.