6.4.2.1 SourceProducerEntity
6.4.2.1.1 Purpose¶
Says where a piece of data comes from: which origin version produced it, through which channel version and feed it arrived, when it was produced and when we received it. Every raw file and canonical record points to one, so the question "where does this come from?" is answered the same way everywhere.
6.4.2.1.2 Questions it answers¶
- Who produced this value, and through which channel and feed did it arrive?
- Which firmware, method, algorithm or software release was involved?
- When was the value produced, and when did we receive it?
6.4.2.1.3 Fields¶
| Field | Type | Cardinality | Description |
|---|---|---|---|
id |
string (uuid) |
1..1 |
Key. |
origin_version |
OriginVersion | 1..1 |
Version of the origin: sensor firmware, lab method, algorithm version. |
channel_version |
ChannelVersion | 0..1 |
Version of the channel that delivered the data, e.g. the management software release. Empty when the value was produced and delivered by the same system (e.g. typed into our app). |
validity |
Period | 1..1 |
valid_until = open: the source validity doesn't expire. |
produced_at |
datetime |
0..1 |
When the data was produced; empty when unknown. |
received_at |
datetime |
1..1 |
When our system received the data. Never used as a substitute for produced_at. |
source_feed |
SourceFeed | 1..1 |
The stable connection the data came through. A production context is created per delivery/origin, so logical source keys are feed-scoped, not producer-scoped (see CanonicalObservation.source_record_key, CanonicalEvent.source_record_key, ObservationSession.source_record_key).A SyncRun may contain multiple producer contexts; origin unknown remains explicit, not guessed from its channel. |
created_at |
datetime |
1..1 |
|
updated_at |
datetime |
1..1 |
6.4.2.1.4 Relationships¶
References
SourceProducerEntity.origin_version→ OriginVersion (1..1)SourceProducerEntity.channel_version→ ChannelVersion (0..1)SourceProducerEntity.source_feed→ SourceFeed (1..1)
Referenced by
AnimalProfileEvidence.source_producer(1..1)AnimalGroupMembership.source_producer(0..1)Ownership.source_producer(0..1)DeviceAssignment.source_producer(1..1)CanonicalObservation.source_producer(1..1)ObservationSession.source_producer(1..1)CanonicalEvent.source_producer(1..1)RawMetadata.source_producer(1..1)CanonicalPeriod.source_producer(1..1)Sample.source_producer(1..1)ProductMaterial.source_producer(1..1)CanonicalDerivation.source_producer(1..1)
Uses types
6.4.2.1.5 Rules & constraints¶
- This entity says who produced the data, through which channel, when, and from which versions.
- To see every raw file it produced, check RawMetadata with
source_producer=this.id(0..*).