Skip to content

6.13.1 Introduction

Shared Types are building blocks that many entities reuse, such as a date with its precision or a coded value. They are not tables of their own: they describe the shape of fields.

6.13.1.1 Canonical type catalog

The exact milk measurements we record, such as fat, protein or somatic cells, are listed in a separate canonical type catalog kept with the design work. It is not part of this documentation yet.

The catalog has two parts. Milk analysis covers fat, protein, lactose, casein, urea and milk urea nitrogen, fatty acids, solids, ash, citric acid, somatic cells, conductivity, temperature, freezing point, pH and acidity, blood, ketones, lactate dehydrogenase (LDH), progesterone, pregnancy-associated glycoproteins, microbial counts, pathogens, inhibitors and antibiotic residues, aflatoxin M1, ratios and the somatic cell score. Milk production covers milk yield by mass and by volume. A few example records illustrate both.

Each item is a profile family, not an entity and not a ready-to-use ObservationType: the catalog defines concrete codes, constants, qualifiers, units, applicability and activation rules, while the common structure stays in CanonicalObservation, ObservationType and the types of this section.

6.13.1.2 Diagram

Types and the types or entities they are built from.

classDiagram class Telephone class NationalIdentifierType class IdentifiersValues class Period class ObservationValue class ObservationTime class EventTime class TimePrecisionEnum class CodedValue class ParentReference class PropertyDefinition class CoverageDetails class RecordRevision class NumericBounds class ObservedPeriod class SystemVersion class BreedShare class MlDatasetSelection class Nation <<external>> Nation class NationalIdentifier <<external>> NationalIdentifier class FarmIdentifier <<external>> FarmIdentifier class IntegrationIdentifier <<external>> IntegrationIdentifier class UnknownIdentifier <<external>> UnknownIdentifier class AliasIdentifier <<external>> AliasIdentifier class ElectronicIdentifier <<external>> ElectronicIdentifier class WriteCommit <<external>> WriteCommit class AnimalBreedType <<external>> AnimalBreedType ObservationValue --> NumericBounds : bounds ObservationTime --> ObservedPeriod : interval ObservationTime --> TimePrecisionEnum : precision ParentReference --> CodedValue : identifier_scheme PropertyDefinition --> CodedValue : matrix CoverageDetails --> CodedValue : definition ObservedPeriod --> EventTime : start ObservedPeriod --> EventTime : end MlDatasetSelection --> Period : periods Telephone --> Nation : telephone_nation NationalIdentifierType --> Nation : nation IdentifiersValues --> NationalIdentifier : national_identifiers IdentifiersValues --> FarmIdentifier : farm_identifier IdentifiersValues --> IntegrationIdentifier : integration_identifiers IdentifiersValues --> UnknownIdentifier : unknown_identifiers IdentifiersValues --> AliasIdentifier : alias_identifiers IdentifiersValues --> ElectronicIdentifier : electronic_identifiers RecordRevision --> WriteCommit : available_in RecordRevision --> WriteCommit : replaced_in SystemVersion --> WriteCommit : created_seq SystemVersion --> WriteCommit : retired_seq BreedShare --> AnimalBreedType : breed_type

Classes marked «external» belong to another domain.

Not shown, because they reference nothing in the diagram: OrganizationRoleCapabilityEnum, AnimalSexEnum, MoonitoringCapabilityEnum, ChunkingParams, AggregationEnum, WithdrawalSpec, PropertyQualifiers, AggregationDetails, RecordReference, SourceDetection, OrganizationPredefinedRoleEnum, MoonitoringPredefinedRoleEnum.

6.13.1.3 Types

  • Telephone: A telephone number, together with the nation whose prefix applies.
  • NationalIdentifierType: A national identifier of an Organization, such as its fiscal code, with the nation whose format applies.
  • OrganizationRoleCapabilityEnum: The catalog of permissions that organization roles grant.
  • IdentifiersValues: The external identifiers held by an animal or group, grouped by kind.
  • Period: A validity interval for registry facts such as ownership and memberships.
  • AnimalSexEnum: The biological sex of an animal.
  • MoonitoringCapabilityEnum: The catalog of permissions that Moonitoring roles grant to platform users.
  • ChunkingParams: How the files of a depot are cut into chunks.
  • ObservationValue: The result of an observation: a quantity, a category, a flag or numeric bounds, with its result form.
  • ObservationTime: When an observation applies, with the precision the source gave: an instant, a date, a month, an interval or unknown.
  • EventTime: When an event occurred, with the same precision model as ObservationTime, but without intervals.
  • TimePrecisionEnum: The precision of a time value.
  • AggregationEnum: How several values were combined into one.
  • CodedValue: A code from a named code system, with optional display text and version.
  • ParentReference: A sire, dam or embryo donor, which may be outside our animal registry until an identifier matches.
  • WithdrawalSpec: A withdrawal period for one tissue after a treatment.
  • PropertyDefinition: The fixed constants of an observation type, such as the material sampled (matrix) and the substance measured (analyte), selected by its profile family.
  • PropertyQualifiers: The typed per-result fields that an observation type's qualifier schema allows.
  • CoverageDetails: How much of its intended window or material an observation covers.
  • RecordRevision: Revision metadata carried by evidence, resolutions, periods and identity decisions: the chain a record belongs to, its revision number, and the writes that made it available and replaced it.
  • NumericBounds: Lower and upper value bounds with their inclusivity, for interval and censored results.
  • AggregationDetails: The per-row part of an aggregate value, such as how many readings it combined.
  • RecordReference: A reference to an exact revision of a record of a declared kind, used as a derivation input.
  • ObservedPeriod: A time interval whose start and end keep their precision, with an explicit open or unknown end.
  • SystemVersion: Transaction-time metadata of a registry row: the writes that created and retired each of its images.
  • BreedShare: A breed and its fraction, as one source states it in profile evidence.
  • MlDatasetSelection: The filters of a dataset build: which tables, which time ranges, and optionally which animal types, breeds, observation types, origins, nations, regions and Organizations.
  • SourceDetection: What the farm sync client found at a source before reading it: the product and the version as the source names them, and the structure of the input without its values, with a fingerprint of that structure.
  • OrganizationPredefinedRoleEnum: The predefined roles of every Organization, each with a stable key that systems use instead of the role's name, and the explicit list of capabilities it holds.
  • MoonitoringPredefinedRoleEnum: The predefined staff roles, each with a stable key and the explicit list of capabilities it holds.