Routine to Resolve Unidentified Twins, Unidentified
Cross Reference IDs, and Misidentified IDs
The following steps are executed for each "sibling" that has been found
with all of the following characteristics:
- Input animal has not previously been rejected
- Same dam as input dam
- Birth date within 273 days of input birth date
- Input animal is not designated as ET or clone
STEP 1 -- Sire comparison:
- If sires of input animal and "sibling" are unequal:
- if "sibling" is ET or clone, assume they are two animals and
continue with next "sibling"
- if source of input animal is 'I', assume they are two animals and
continue with next "sibling"
- otherwise generate a 1Ma reject
error code
STEP 2 -- Birth date
comparison:
- If birth dates of input animal and "sibling" are unequal, but within
273 days:
- if "sibling" is ET or clone, assume they are two animals and
continue with next "sibling"
- if source of input animal is 'I', assume they are two animals and
continue with next "sibling"
- if either birth date is estimated, generate a
1Mb notify error code
- if either birth date is zero birth day, generate a
1Mb notify error code
- if birth dates are within 10 days, generate a
1Mb notify error code
- if birth dates NOT within 10 days, generate a
1Mc reject error code
STEP 3 -- Gender comparison:
- if genders of input animal and "sibling" are unequal, assume they are
two animals 1
STEP 4 -- Lactation comparison; females
only:
- if calving date of input animal will not merge with "sibling's"
lactations, assume they are two animals 1
- if pre-existing lactations of both animals will not merge, assume
they are two animals 1
STEP 5 -- Calving date comparison;
females only:
- if both animals are singletons and they have a common calving date:
- if breed codes and 12-byte IDs are equal, but country codes are
unequal, re-id to one animal 3 4
- if country codes and 12-byte IDs are equal, but breed codes are
unequal, re-id to one animal 3 4
- if 12-byte IDs are within 99 digits, assume they are two animals.
Merge lactations only 1
- otherwise cross reference to one animal 2
STEP 6 -- Country code comparison as
only difference:
- if breed codes and 12-byte IDs are equal, but country codes are
unequal, re-id to one animal 3 4
STEP 7 -- Breed code comparison as only
difference:
- if country codes and 12-byte IDs are equal, but breed codes are
unequal, re-id to one animal 3 4
STEP 8 -- Multiple cross references:
- if there is more than one "sibling" that is NOT a singleton and input
animal is a singleton, generate a 1Mk
reject error code
STEP 9 -- 99 digit range ID
comparison:
- if 12-byte IDs are within 99 digits, assume they are two animals
1
STEP 10 -- Multiple birth
comparison:
- if input animal is a twin or "sibling" is a twin/ET/clone, assume
they are two animals 1
STEP 11 -- Similar ID
comparison:
- if 12-byte IDs are "similar" (i.e. ID is shifted right one position)
- get highest source of data from each animal (highest to lowest;
B,N,I,D,C,A)
- if one animal ID has a higher source of data, re-id to one animal
4 (the lower source supplied ID is deleted)
- if source of both animal IDs is breed associatons, assume they
are two animals 1
- otherwise re-id to one animal 4
(the "sibling" ID is deleted)
STEP 12 -- Country code
comparison:
- if country codes are unequal, cross reference to one animal
2
STEP 13 -- Breed code
comparison:
- if breed codes are unequal, cross reference to one animal
2
- NLD country code animals must have the same last 7 digits to cross
reference
STEP 14 -- Prefix of ID
comparison:
- if first 5-bytes of IDs indicate IDs are from different series, cross
reference to one animal 2
STEP 15 -- Remaining animals:
- assume they are two animals 1
-----------------------------------------------------------------------
1 Animal IDs assumed to be two animals
-- Designate unidentified twin
- if both animals are singletons, change both animals to twins, and
generate a 1Mf notify error code
- if sibling is a singleton and input is a twin, change the sibling to
a twin, and generate a 1Mh notify error code
- if sibling is a twin and input animal is a singleton, change the
input animal to a twin, and generate a 1Mg
notify error code
2 Animal IDs assumed to be one animal --
Generate unidentified cross reference ID
- merge data from both animals and generate a
1Md notify error code
- if merged birth date is not the input birth, update the birth date,
and generate a 1Mi notify error code
3 Animal IDs assumed to be one animal --
Determine misidentified ID
- get highest source of data from each animal (highest to lowest;
B,N,I,D,C,A)
- if one animal ID has a higher source, the lower source supplied ID is
deleted
- otherwise the "sibling" ID is deleted
4 Animal IDs assumed to be one animal --
Remove misidentified ID
- merge data from both animals and generate a
1Md notify error code
- if merged birth date is not the input birth, update the birth date,
and generate a 1Mi notify error code
- if the input ID is the misidentified ID, delete the 17-byte input ID,
and generate a 1Me notify error code
- if the "sibling" ID is the misidentified ID, delete the 17-byte
"sibling" ID and generate a 1Mj notify error
code