Skip to content

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

Referenced by

Uses types

Period

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..*).