Representation on NPI Check Digits

First of lets discuss about the Requirements for NPI

  • The NPI will meet the specifications detailed in the Final Rule for the Standard Unique Health Identifier for Health Care Providers (69 FR 3434), which was published on January 23, 2004. 

 

  • The NPI will consist of 9 numeric digits followed by one numeric check digit. 

 

  • The NPI will not have embedded intelligence.

 

  • The NPI format and check digit calculation will be compatible with the card issuer identifier on a standard health identification card. The card standard was developed by the National Committee for Information Technology Standards (NCITS), which is accredited by the American National Standards Institute.

 

  • A discussion of the relation of the NPI to the card issuer identifier on an NCITS standard health identification card can be found in the preamble to the NPI Final Rule. Each card issuer identifier used on a standard health identification card must be unique.

 

  • Therefore the NPI must be generated in a manner that will avoid collisions with other identifiers, such as the standard unique health plan identifier, that might be used as card issuer identifiers on standard health identification cards. In order to avoid such collisions, NPIs will initially be issued with the first digit = 1 or 2.

 

  • These digits will not be used as the first digits for other card issuer identifiers. Use of other first digits for the NPI must be coordinated with the use of first digits by the standard health plan identifier, when it is adopted. 

 


  • Within the constraints of #4 above, the NPI generation will use a scattering algorithm that has the capability to use all possible numeric combinations beginning with 1 or 2. 6. Each NPI generated will be unique, without requiring data base access for verification.  


Requirements for NPI Check Digit 

  1. The National Provider Identifier check digit is calculated using the Luhn formula for computing the modulus 10 “double-add-double” check digit. 
  2. 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. 
  3. 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. 
  4. 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.
  5.  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 

Comments