6.4.2.3 SourceOrigin
6.4.2.3.1 Purpose¶
Who or what produces values: a kind of sensor, a human operator, a lab, a computation or an unknown producer. It is a kind of producer, not a physical device, and its assurance records who answers for the values.
6.4.2.3.2 Questions it answers¶
- Was a value measured by a sensor, typed by a person, analysed by a lab or computed?
- Who answers for its correctness: an official registry, an accredited lab, an approved device or a prescription?
- Which origins are shared by every Organization?
6.4.2.3.3 Fields¶
| Field | Type | Cardinality | Description |
|---|---|---|---|
id |
string (uuid) |
1..1 |
Key. |
name |
string |
1..1 |
Unique. |
organization |
Organization | 0..1 |
Empty for origins shared by all Organizations (e.g. a robot model, a lab, our algorithms). |
observation_accuracy |
enum | 1..1 |
Values: precise, approximate, unknown. Default: unknown. |
assurance |
enum | 1..1 |
Values: official_registry, accredited_lab, approved_device, legal_prescription, none, unknown. Default: unknown.Who answers for the values: an official registry, a lab accredited for the method, a device model approved for milk recording (e.g. ICAR), a legally signed prescription. none: self-declared, e.g. a farm worker typing a value. Set only from a document we hold; never guessed. A lost accreditation is a new image ( system_version), so data read at an earlier write number keep the assurance known then. |
system_version |
SystemVersion | 1..1 |
|
created_at |
datetime |
1..1 |
|
updated_at |
datetime |
1..1 |
6.4.2.3.4 Subtypes¶
Discriminator type: every SourceOrigin is exactly one of the subtypes below (disjoint and complete).
SensorSourceOrigin¶
A kind of sensor or machine, e.g. a milking robot model, a milk meter, a collar, a scale.
| Field | Type | Cardinality | Description |
|---|---|---|---|
vendor |
string |
1..1 |
|
model |
string |
0..1 |
OperatorSourceOrigin¶
Operator: a human operator, e.g. a farm worker or veterinarian, who produces data manually.
No fields beyond those of the parent.
LabSourceOrigin¶
No fields beyond those of the parent.
ComputedSourceOrigin¶
A value computed from other values: a daily total from milkings, rumination minutes estimated from an accelerometer, a 305-day yield.
- Includes the outputs of our models that people see or export (e.g. a heat or mastitis probability, an alert), with the model and its version as OriginVersion. Model inputs (features such as z-scores, rolling means, lags) are not canonical and are not stored: versioned feature code computes them on demand from canonical data read at a write number (ModelRun). Datasets are kept as versioned files (MlDatasetVersion) under their retention; versions read by a model in production are never deleted.
UnknownSourceOrigin¶
The delivery channel is known but its actual producer is not; no guessed sensor/lab classification.
No fields beyond those of the parent.
6.4.2.3.5 Relationships¶
References
SourceOrigin.organization→ Organization (0..1)
Referenced by
OriginVersion.source_origin(1..1)Device.source_origin(as SensorSourceOrigin) (1..1)
Uses types
Subtypes
- by
type: SensorSourceOrigin, OperatorSourceOrigin, LabSourceOrigin, ComputedSourceOrigin, UnknownSourceOrigin
6.4.2.3.6 Rules & constraints¶
- Who or what produced the value. A kind of producer, not a physical device (see Device).
- An integration is a channel (SourceChannel), not an origin.