LOINC Code and Mod 10 Check Digit Mismatch

LOINC Version: 2.75

Observation: The algorithm provided in appendix C - Calculating Mod 10 Check Digits computes values that disagree with the check digit for the following 14 Codes:

LOINC_NUM STATUS STATUS_REASON Check Computed Check
0 11491-6 DEPRECATED Duplicate 6 8
1 11501-6 DEPRECATED Duplicate 6 4
2 5895-7 DEPRECATED Duplicate 7 8
3 5896-5 DEPRECATED Duplicate 5 6
4 5897-3 DEPRECATED Duplicate 3 4
5 5928-1 DEPRECATED Duplicate 1 7
6 6028-3 DEPRECATED Duplicate 3 5
7 6415-5 DEPRECATED Duplicate 5 4
8 6580-7 DEPRECATED Erroneous 7 5
9 6645-7 DEPRECATED Duplicate 7 6
10 6646-5 DEPRECATED Duplicate 5 4
11 6647-3 DEPRECATED Duplicate 3 2
12 6648-1 DEPRECATED Duplicate 1 0
13 6649-9 DEPRECATED Duplicate 9 8

Question: Is the algorithm correctly computing the check digits and the check digits are wrong or vice versa?

Long Version: Here is a step by step computation for the above codes based on Appendix C.

----------------
code           : 11491-6

step 1 :  19411
step 2 :  141
step 3 :  282
step 4 :  91
step 5 :  91282
step 6 :  22
step 7 :  30
step 8 :  8

check          : 8
computed_check : 6

----------------
code           : 11501-6

step 1 :  10511
step 2 :  151
step 3 :  302
step 4 :  01
step 5 :  01302
step 6 :  6
step 7 :  10
step 8 :  4

check          : 4
computed_check : 6

----------------
code           : 5895-7

step 1 :  5985
step 2 :  58
step 3 :  116
step 4 :  95
step 5 :  95116
step 6 :  22
step 7 :  30
step 8 :  8

check          : 8
computed_check : 6

----------------
code           : 5896-5

step 1 :  6985
step 2 :  68
step 3 :  136
step 4 :  95
step 5 :  95136
step 6 :  24
step 7 :  30
step 8 :  6

check          : 6
computed_check : 6

----------------
code           : 5897-3

step 1 :  7985
step 2 :  78
step 3 :  156
step 4 :  95
step 5 :  95156
step 6 :  26
step 7 :  30
step 8 :  4

check          : 4
computed_check : 6

----------------
code           : 5928-1

step 1 :  8295
step 2 :  89
step 3 :  178
step 4 :  25
step 5 :  25178
step 6 :  23
step 7 :  30
step 8 :  7

check          : 7
computed_check : 6

----------------
code           : 6028-3

step 1 :  8206
step 2 :  80
step 3 :  160
step 4 :  26
step 5 :  26160
step 6 :  15
step 7 :  20
step 8 :  5

check          : 5
computed_check : 6

----------------
code           : 6415-5

step 1 :  5146
step 2 :  54
step 3 :  108
step 4 :  16
step 5 :  16108
step 6 :  16
step 7 :  20
step 8 :  4

check          : 4
computed_check : 6

----------------
code           : 6580-7

step 1 :  0856
step 2 :  5
step 3 :  10
step 4 :  86
step 5 :  8610
step 6 :  15
step 7 :  20
step 8 :  5

check          : 5
computed_check : 6

----------------
code           : 6645-7

step 1 :  5466
step 2 :  56
step 3 :  112
step 4 :  46
step 5 :  46112
step 6 :  14
step 7 :  20
step 8 :  6

check          : 6
computed_check : 6

----------------
code           : 6646-5

step 1 :  6466
step 2 :  66
step 3 :  132
step 4 :  46
step 5 :  46132
step 6 :  16
step 7 :  20
step 8 :  4

check          : 4
computed_check : 6

----------------
code           : 6647-3

step 1 :  7466
step 2 :  76
step 3 :  152
step 4 :  46
step 5 :  46152
step 6 :  18
step 7 :  20
step 8 :  2

check          : 2
computed_check : 6

----------------
code           : 6648-1

step 1 :  8466
step 2 :  86
step 3 :  172
step 4 :  46
step 5 :  46172
step 6 :  20
step 7 :  20
step 8 :  0

check          : 0
computed_check : 6

----------------
code           : 6649-9

step 1 :  9466
step 2 :  96
step 3 :  192
step 4 :  46
step 5 :  46192
step 6 :  22
step 7 :  30
step 8 :  8

check          : 8
computed_check : 6
1 Like

Hi Thomas,

Thanks for pointing these out. The check digits on these terms are incorrect and a known issue. We will update the appendix page to list that these 14 terms have invalid check digits.

1 Like

Just noting that the KB entry has now been updated this information. Thanks @thomhart31 for bringing this to our attention.

Thanks @swagers and @timbriscoe for confirming this!

1 Like