ISBT-128 | ICCBBA Unique Device Identification (UDI)

Barcode Information | Tutorials | FAQs at

ISBT-128 is a technical specification developed by the ICCBBA. All IDAutomation Code 128 and Data Matrix products support generation of ISBT barcode symbols.

ISO 7064 Modulo 37-2 Check Character K

The ISBT specification requires that some barcode symbols that show the human readable interpretation (HRI) below the barcode symbol include a (K) check character. This HRI text is also referred to as “data content text” and “eye-readable text” in the specification. The (K) check character is based on the ISO 7064 modulo 37-2 calculation and it is not encoded in the barcode; it is used to verify accurate data entry when the barcode cannot be read. Therefore, the data encoded within the barcode symbol and the HRI will be slightly different. The calculation for check character K is based on the donor 13 character string, which excludes the leading = symbol and optional flag characters. IDAutomation provides the ~k?? option (where ?? is the number of digits preceding ~ to include in the calculation) in some products to easily calculate the check character K. For example:

Data Encoded: =P00020601906300
HRI Text Encoded: P000206019063~k13
Result:ISO 7064 Modulo 37-2 Check Character K Example

If it is desired to split the HRI for easier data entry and add flag characters, custom formulas would need to be created for each section as shown in the Crystal Reports ISBT Example, or the HRI source code provided by IDAutomation would need to be modified.

IDAutomation Code 128, Data Matrix and QR Code products supporting the ~k?? HRI option include:

ICCBBA Unique Device Identification (UDI)

ICCBBA UDI barcodes are used to identify human cells, tissues and cellular and tissue-based products as approved on by the FDA. ISBT 128 UDI begins with the non-printable characters of the Data Identifier for Compound Message, 2 Digit Number Indicator for the data structure to follow and a 3 Digit code indicated the sequence of the data structures. The compound message for this barcode would begin with =+06000.

 Data Delimiters Identifier Data Type HR Field Size DB Field Size Example Data
 =+ Compound Message Not Printable 06000
 =/ Device Identifier (DI) Alphanumeric 18 16 A9999XYZ100T0944
 =, Serial Number Alphanumeric 8 6 000025
 = Distinct ID Code
Donation ID Number
Alphanumeric 16 15 A99971312345600
 => Expiration Date Numeric 8 6 (YYYJJJ) 014032
 =} Manufacturing Date Numeric 8 6 (YYYJJJ) 013032
 &,1 MPHO Lot Number  Alphanumeric 21 18 000000000000XYZ123

The following barcodes are created with Code 128:

Barcode Label Software ICCBBA UDI


The following barcode is created with Data Matrix:

Data Matrix ICCBBA UDI

Blood Bag Labels:
 Data Delimiters Identifier Data Type HR Field Size DB Field Size Example Data
 =) Device Identifier (DI) for blood containers (bags) Alphanumeric 12 10 1TE123456A
 &) Lot Number for Blood Containers
Alphanumeric 12 10 RZ12345678


The following barcode is created with GS1-128:

Blood Bag Barcodes

ICCBBA UDI Barcode Label Example

ICCBBA UDI Label Example