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:
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:
- Crystal Reports Font Formulas
- Native Crystal Reports Generator
- FileMaker Font Encoder Object
- FileMaker Native Generator
- JavaScript Font Encoders
ICCBBA Unique Device Identification (UDI)
ICCBBA UDI barcodes are used to identify human cells, tissues, and cellular and tissue-based products as approved by the FDA. ISBT 128 UDI begins with the non-printable characters of the Data Identifier for the Compound Message, 2 Digit Number Indicator for the data structure to follow, and a 3 Digit code indicating 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 were generated with the GS1-128 Font:
=+06000=/A9999XYZ100T0944=,000025=A99971312345600=>014032=}013032&,1000000000000XYZ123
The following barcode was created with Data Matrix Font:
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 (bags) | Alphanumeric | 12 | 10 | RZ12345678 |
=)1TE123456A&)RZ12345678
The following barcode was created with the GS1-128 Font: