Barcoding the NDC

The National Drug Code (NDC)

The NDC is a unique 10-digit, 3-segment number assigned to each medication listed under Section 510 of the U.S. Federal Food, Drug, and Cosmetic Act. The number identifies the labeler or vendor, product, and trade package size:

  • The first segment, of 4-5 characters, represents the manufacturer code as assigned by the Food and Drug Administration (FDA).
  • The second segment, of 3-4 charcters, is the product code which identifies a specific strength, dosage form, and formulation for a particular firm.
  • The third segment, of 1-2 characters, is the package code which identifies package sizes.

The product and package codes are assigned by the firm.

According to the FDA, the NDC may be in one of the following configurations: 4-4-2, 5-3-2, or 5-4-1. An asterisk may appear in either a product code or a package code. It simply acts as a place holder and indicates the configuration of the NDC.


Since the NDC is limited to 10 digits, a firm with a 5 digit labeler code must choose between a 3 digit product code and 2 digit package code, or a 4 digit product code and 1 digit package code. Thus, you have either a 5-4-1 or a 5-3-2 configuration for the three segments of the NDC.

Because of a conflict with the HIPAA standard of an 11 digit NDC, many programs will pad the product code or package code segments of the NDC with a leading zero instead of the asterisk. Since a zero can be a valid digit in the NDC, this can lead to confusion when trying to reconstitute the NDC back to its FDA standard. Examples of NDC numbers which represent different products:

  • 1234-5678-90
  • 12345-678-90
  • 12345-6789-0

Correctly padding the appropriate section with a leading zero yields an unambiguous standard 5-4-2 format:

  • 01234-5678-90
  • 12345-0678-90
  • 12345-6789-00

Barcode Symbologies

There are two main classes of barcode symbologies: 1D (linear) or 2D (matrix).

1D (linear) barcodes

A 1D code is the typical "picket fence" style barcode that people are most familiar with. There are several versions of 1D codes and some encode only numbers while others can encode any keyboard character. All the information in the code is organized horizontally from left to right.

1D barcodes can be read by any type of barcode scanner.

Because it is the most accurate and compact of the 1D barcode symbologies, Code 128 is used throughout the inventory, shipping and distribution chain.

2D (matrix) barcodes

2D barcodes are a bit more complex as they organize information vertically and horizontally. This allows 2D codes to hold much more information and take up less space than a 1D code.

2D codes require an imager scanner to be read properly.

Because it is royalty free and one of the most accurate 2D barcode symbologies, Data Matrix is one of the most widely used 2D symbologies in retail packaging.

How many characters can fit into a barcode?

1D barcodes can have up to 25 characters while 2D codes may have up to 2,000 characters. The main practical concern is that as you increase the amount of information in the barcode the bigger it will become. This is especially the case with 1D barcodes and in practice are limited to a maximum of 15 characters.

2D bar code symbologies are the best choice when encoding any type of data over 40 characters, or when small space is required.

How a barcode scanner works

A 1D barcode laser scanner picks up the alternating black and white elements of the barcode which follow a specific algorithm that is turned into a corresponding text string by the scanner. This information is then sent over to your computer by the scanner no different than a standard keyboard does. This string of text will populate where ever your cursor is on screen at that time.

2D barcodes require a specific type of scanner called a 2D Imager. The common 1D barcode laser scanner only reads horizontally across the barcode. An imager on the other hand takes a picture of the barcode and analyzes this to decode the information. Since 2D barcodes data are organized vertically and horizontally only an imager can properly decode all the information.

No special software is needed for a scanner

Barcode scanners do not require any special software or driver to function properly. They will emulate a keyboard and will be recognized by your computer as a general input device.

Barcode Accuracy

Studies indicate that a well-trained data entry operator will usually make a data entry error once every 300 keystrokes. Therefore, implementing even the least accurate barcode symbology is a huge step forward to reducing data entry errors.

Barcode Type Worst Case Accuracy Best Case Accuracy
Data Matrix (2D) 1 error in 10.5 million 1 error in 612.9 million
Code 128 (1D) 1 error in 2.8 million 1 error in 37 million
Code 39 (1D) 1 error in 1.7 million 1 error in 4.5 million

Barcode Size and Placement

Size considerations

The space a barcode occupies becomes a prime concern with unit dose drug labels. A unit dose label is typically 1.75" wide and 1" tall. The label must have text containing (at least): drug name and strength, route of administration, manufacturer, lot number, and expiration date. This much text leaves quite a small area for the barcode. Because it is the most compact and accurate 1D symbology, Code 128C is usually the best choice for unit dose packages.

Another consideration when creating small barcodes is that the scanner must be able to dependably read them. Barcode scanners may read different symbologies more reliably at different sizes. For example, the Symbol Laser barcode scanner dependably reads the Code 39 when printed as small as 6 points, but only reads the Code 128 barcode when printed at 8 points. Whereas the IDAutomation Plug 'n Play USB barcode scanner reads both Code 128 and Code 39 at 6 points and above.

Barcode length and height

Optimizing the length of the barcode is important when 1D barcode readers are used. Common laser scanners must detect the entire barcode at once in order to read it. The longer the barcode is, the greater distance the scanner must be held away from the barcode, making it difficult or impossible to read. Code 128C (double density numeric) is able to produce a barcode that is both compact enough to fit on a unit dose label and able to be scanned accurately.

The height of the barcode must also be considered. Optimally, the height must be 15% of the length or 0.25” which ever is greater.

Barcode Quiet Zones

Another important consideration is the Quiet Zone (QZ).

The QZ is the area around the bar code that must be kept clear of text.

Bar code scanners depend on the QZ to help identify the bar code. The lack of an adequate QZ can cause the bar code scanner to confuse the bar codes with text or graphics resulting in the scanner ignoring a valid symbol. Each symbology has a different QZ size requirement, however all quiet zones are based on the size of the Narrow Bar Width (NBW) for 1D bar codes and Module (MDL) for 2D bar codes.

Barcode Placement

The final consideration for unit dose labels is barcode placement. Specifically, the barcode must not be printed too close to the edges of the label. Allow edge space per the QZ requirements listed above.

Code 128 Technical Information

Code 128 is a continuous, variable-length, high-density symbology which permits the encoding of alphanumeric data. The symbology encodes the full ASCII 128 character set, and includes a checksum digit for verification. Code 128 has been widely implemented in many applications where a relatively large amount of data must be encoded in a relatively small amount of space. It is the most accurate 1D (linear) barcode type.

Every Code 128 character has 3 bars and 3 spaces comprising a total of 11 modules. Each bar or space can be one, two, three, or four modules wide. The Code 128 specification defines three character subsets or modes:

  • Set A - encodes uppercase letters and numbers
  • Set B - adds lowercase letters and some symbols
  • Set C - numeric only, two digits per code, which allows numeric data to be encoded at double-density.

Because 128C allows numeric data to be encoded at double density, it is the best choice for unit dose labels.

Data Matrix Technical Information

Data Matrix symbols are rectangular, usually square in shape and composed of square "cells" which represent bits. Depending on the coding used, a "light" cell represents a 0 and a "dark" cell is a 1.

Every Data Matrix is composed of two solid adjacent borders in an "L" shape (called the "finder pattern") and two other borders consisting of alternating dark and light "cells" or modules (called the "timing pattern"). Within these borders are rows and columns of cells encoding information.

The finder pattern is used to locate and orient the symbol while the timing pattern provides a count of the number of rows and columns in the symbol. As more data is encoded in the symbol, the number of cells (rows and columns) increases.

A Data Matrix symbol can store up to 2,335 alphanumeric characters. The information encoded can be text and/or numeric data. Error correction codes are often used to increase reliability. Data Matrix is one of the most accurate barcode symbologies. Even if one or more cells are damaged, the message can still be read.

The most popular application for Data Matrix is marking small items, due to the code's ability to encode fifty characters in a symbol that is readable at 2 or 3 mm2 and the fact that the code can be read with only a 20% contrast ratio. A Data Matrix is scalable; commercial applications exist with images as small as 300 micrometres (laser etched on a 600 micrometre silicon device) and as large as a 1 metre (3 ft) square (painted on the roof of a boxcar).

Click here to return to previous page

This is a Norton safe site
©Copyright 1984 - 2024. All rights reserved.
RxKinetics, Plattsburg, MO 64477