QUALITY_CODE | SCREENED_ID | VALIDITY_ID | RANGE_ID | CHANGED_ID | REPL_CAUSE_ID | REPL_METHOD_ID | PROTECTION_ID | TEST_FAILED_ID |
---|
Bit Map
32 / 32
Decimal Value
Bit Position | Bit Map | Value |
---|---|---|
0 | SCREENED_ID | |
1 - 4 | VALIDITY_ID | |
5 - 6 | RANGE_ID | |
7 | CHANGED_ID | |
8 - 10 | REPL_CAUSE_ID | |
11 - 14 | REPL_METHOD_ID | |
15 - 21, 23, 25 | TEST_FAILED_ID | |
26 - 30 | UNUSED | |
31 | PROTECTION_ID |
Bits 14, 21, 23, 26-30 are UNUSED and should be UNSET (0)
- Unless the Screened bit is set, no other bits can be set.
- Unused bits (14, 21, 23, 26-30, 31+) must be reset (zero).
- The Okay, Missing, Questioned, Unknown, and Rejected bits are mutually exclusive.
- No replacement cause or replacement method bits can be set unless the changed (different) bit is also set, and if the changed (different) bit is set, one of the cause bits and one of the replacement method bits must be set.
- Replacement Cause integer is in range 0..4.
- Replacement Method integer is in range 0..4
- The Test Failed bits are not mutually exclusive (multiple tests can be marked as failed).
Notice: In some guides you will see the bits are off by one. For example the ignored bits might be 22, 24, 27-31. That is because these guides count from 1 instead of 0.
Example:
Say the decimal quality value is:56599761
That would make the binary equivalent:
0 0 0 0 0 0 1 1 0 1 0 1 1 1 1 1 1 1 0 0 1 0 0 1 1 0 1 0 0 0 1
Because this is Little Endian bit order, the far right bit is bit index 0.
Let's walk through from right to left using the diagram below:
- Bit 0 (1): or the far right bit - is the screened bit. It is 1 in our example so the value is screened.
- Bit 1-4 (4): These are our Validity Flag bits.
- Bit 1 set is OKAY
- Bit 2 set is MISSING
- Bit 3 set is QUESTIONABLE
- Bit 4 set is REJECTED
- NO Bits set is UNKNOWN
- Bit 5-6 (2): Value range bits, the bits are 10 for bits 5 and 6. This corresponds to RANGE_2. Where NO_RANGE is 00, RANGE_1 is 01, RANGE_2 is 10, and RANGE_3 is 11
- Bit 7 (1): Different/changed/modified bit. Set to 1 is MODIFIED, set to 0 is Original. It is set to 1 for our example, and is therefore MODIFIED
- Bit 8-10 (3): Replacement Cause bits, the replacement cause is one of 5 options. We have 100 for these bits which corresponds to RESTORED
- Bit 11-14 (4): Replacement Method bits, these account for the 5 variations you can have.
- Bit 15-25 (9): Test Failed bits, two of these bits are ignored (21/23). Any number of these bits could be set as the test values are NOT mutually exclusive per RULE #7
- Bit 26-30 (5): Unused Bits/Ignored
- Bit 31 (1): Protected Bit - When this bit is set the data is protected and should not be editable by automated processes
Bit Mappings :
The bit map that corresponds to each flag/value is represented below.Little Endian i.e. 31....0 3 2 1 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 31 0 P - - - - - T T T T T T T T T T T M M M M C C C D R R V V V V S | <---------+---------> <--+--> <-+-> | <+> <--+--> | | | | | | | | +------Screened T/F | | | | | | | | | | | | | +---------Validity Flags | | | | | | | | | | | +-------------Value Range Integer | | | | | | | | | +--------------Different T/F | | | | | | | +----------------Replacement Cause Integer | | | | | +---------------------Replacement Method Integer | | | +----------------------------------Test Failed Flags | +------------------------------------------------------Protected T/F