6.7.2.4 DataIssue
6.7.2.4.1 Purpose¶
A doubt, conflict or blocked publication found by the system, with what the system decided meanwhile and where the farm should fix the data. There is no human review step: issues are signals for correcting sources.
6.7.2.4.2 Questions it answers¶
- What looks wrong in a farm's data, and how serious is it?
- What did the system decide meanwhile?
- Where should the farm correct the data?
- When was the issue detected, and when was it closed?
6.7.2.4.3 Fields¶
| Field | Type | Cardinality | Description |
|---|---|---|---|
id |
string (uuid) |
1..1 |
Key. |
farm |
Farm | 1..1 |
|
kind |
enum | 1..1 |
Values: possible_same_event, value_conflict, impossible_sequence, date_disagreement, identity_conflict, invalid_identifier, events_after_exit, feed_disagreement_rate, submission_outdated, profile_conflict, ambiguous_local_time. |
severity |
enum | 1..1 |
Values: high, normal, low.high: affects an official export (PRES, ANAG) or a withdrawal; low: date disagreement only. |
status |
enum | 1..1 |
Values: open, resolved_at_source, obsolete.obsolete: the evidence it was about was cancelled at the source. |
decision |
string |
1..1 |
What the system did meanwhile, e.g. "linked the two calvings, kept 2016-08-13 from SiAlleva (official registry)". |
fix_at |
SourceFeed | 0..* |
Where the farm should correct the data. |
resolved_events |
ResolvedEvent | 0..* |
|
animals |
Animal | 0..* |
|
rule_set |
ReconciliationRuleSet | 1..1 |
|
detected_in |
SyncRun | 0..1 |
|
closed_in |
SyncRun | 0..1 |
|
observations |
CanonicalObservation | 0..* |
|
profile_evidence |
AnimalProfileEvidence | 0..* |
Exact evidence revisions, including conflicts between measurements; not only event conflicts. |
created_at |
datetime |
1..1 |
|
updated_at |
datetime |
1..1 |
6.7.2.4.4 Relationships¶
References
DataIssue.farm→ Farm (1..1)DataIssue.fix_at→ SourceFeed (0..*)DataIssue.resolved_events→ ResolvedEvent (0..*)DataIssue.animals→ Animal (0..*)DataIssue.rule_set→ ReconciliationRuleSet (1..1)DataIssue.detected_in→ SyncRun (0..1)DataIssue.closed_in→ SyncRun (0..1)DataIssue.observations→ CanonicalObservation (0..*)DataIssue.profile_evidence→ AnimalProfileEvidence (0..*)
Referenced by
ResolvedEvent.issues(0..*)ObservationSelection.issues(0..*)
6.7.2.4.5 Rules & constraints¶
- A doubt, conflict or blocked publication; a signal does not establish the true value.
- Source corrections arrive by sync. Edits in our app are limited by capability
farm.animal_records.edit_ownand recorded as WriteCommit kindapp_edit. - The same issue is not opened twice for the same subjects and kind while it is open.