- Joined
- Aug 19, 2003
- Messages
- 7,751
- Reaction score
- 61
Leave it to the damn government to make something so incomprehendable as this... Does anyone have a clear english explanation for the check digit validation? Seriously...we just couldn't leave good enough alone with this NPI bullcrap
dad'gum Government said:Requirements for NPI Check Digit
The National Provider Identifier check digit is calculated using the Luhn formula for
computing the modulus 10 double-add-double check digit. This algorithm is
recognized as an ISO standard and is the specified check digit algorithm to be used for
the card issuer identifier on a standard health identification card. When an NPI is used as
a card issuer identifier on a standard health identification card, it is preceded by the prefix
80840, in which 80 indicates health applications and 840 indicates the United States. The
prefix is required only when the NPI is used as a card issuer identifier. However, in order
that any NPI could be used as a card issuer identifier on a standard health identification
card, the check digit will always be calculated as if the prefix is present. This is
accomplished by adding the constant 24 in step 2 of the check digit calculation (as shown
in the second example below) when the NPI is used without the prefix.
Luhn Formula for Modulus 10 double-add-double Check Digit
The Luhn check digit formula is calculated as follows:
1. Double the value of alternate digits beginning with the rightmost digit.
2. Add the individual digits of the products resulting from step 1 to the unaffected digits
from the original number.
3. Subtract the total obtained in step 2 from the next higher number ending in zero. This
is the check digit. If the total obtained in step 2 is a number ending in zero, the check
digit is zero.
Example of Check Digit Calculation for NPI used as Card Issuer Identifier
Assume the 9-position identifier part of the NPI is 123456789. If used as a card issuer
identifier on a standard health identification card the full number would be
80840123456789. Using the Luhn formula on the identifier portion, the check digit is
calculated as follows:
Card issuer identifier without check digit:
8 0 8 4 0 1 2 3 4 5 6 7 8 9
Step 1: Double the value of alternate digits, beginning with the rightmost digit:
0 8 2 6 10 14 18
Step 2: Add the individual digits of products of doubling, plus unaffected digits.
8 + 0 + 8 + 8 + 0 + 2 + 2 + 6 + 4 + 1 + 0 + 6 + 1 + 4 + 8 + 1 + 8 = 67
Step 3: Subtract from next higher number ending in zero.
70 67 = 3
Check digit = 3
Card issuer identifier with check digit = 808401234567893
Example of Check Digit Calculation for NPI used without Prefix
Assume the 9-position identifier part of the NPI is 123456789. Using the Luhn formula
on the identifier portion, the check digit is calculated as follows:
NPI without check digit:
1 2 3 4 5 6 7 8 9
Step 1: Double the value of alternate digits, beginning with the rightmost digit.
2 6 10 14 18
Step 2: Add constant 24, to account for the 80840 prefix that would be present on a card
issuer identifier, plus the individual digits of products of doubling, plus unaffected digits.
24 + 2 + 2 + 6 + 4 + 1 + 0 + 6 + 1 + 4 + 8 + 1 + 8 = 67
Step 3: Subtract from next higher number ending in zero.
70 67 = 3
Check digit = 3
NPI with check digit = 1234567893