Barcode Fonts, Components, ActiveX and .NET Windows Forms Controls, Java Servlets, 
DLLs and Barcode Scanners., Inc., Computers Hardware, Software & Services, Tampa, FLThis site chose the Norton Secured Seal to promote trust online with consumers. View your cart in the IDAutomation Store

Home > Barcode FAQ > ISBT-128 Barcode FAQ & Tutorial

ISBT 128 Barcode FAQ & Tutorial

ISBT-128 Barcode Overview

The ISBT 128 barcode symbology is an international standard based on the Code 128 Barcode for the transfer of information associated with blood transfusion, cellular therapy and tissue transplantation. ISBT 128 is not in the public domain; therefore, implementation requires registration with ICCBBA including payment of annual fees. The ICCBBA publishes the ISBT-128 specification, which should be referred to in all ISBT128 projects. The purpose of this Webpage is not to provide information about this standard, but to describe how to use ISBT in IDAutomation's products.

Implementing ISBT 128 Barcodes

ISBT 128 barcodes begin with an equal '=' or ampersand '&' character, which is referred to as the first of two characters that make up the data identifier. If the second character of the data identifier is a non alpha-numeric character of 1-9, A-N or P-Z, the symbol type is a Donation Identification Number and the second data identifier character is also the first character of the data content. When using IDAutomation barcode products, data identifiers should be static data (or a constant) that is appended to the dynamic data before encoding. Encoding should be done in the Code 128 barcode type with the default "auto" character set enabled, which is the default on all IDAutomation products.

A keyboard entry check character referred to as [K] is sometimes required at the end of ISBT-128 barcodes to verify correct manual entry. This character appears only in the eye-readable text (aka: human readable text) and is not encoded in the barcode itself. K is calculated according to the ISO/IEC 7064 modulo 37-2 checksum method.

Flag characters are required for some ISBT barcode symbols. When used, flag characters are encoded in the barcode and are included in the eye-readable text. However, flag characters are not part of the product identification itself. When required in the symbol and not used, the value of the flags should be 00.

ISBT 128 Barcode Tutorial for Crystal Reports

The following tutorial demonstrates the implementation of a donation number of W0000 07 123456 in Crystal Reports with the IDAutomation Universal Barcode Font Advantage™, which produces Code 128 and many other barcode types from a single font. This tutorial may also be used as a guide for other types of label and reporting software programs.

  1. Install the Universal Barcode Font Advantage™.
  2. Open a report in design mode with Crystal Reports.
  3. Follow the Barcode Implementation Tutorial for Crystal Reports, with the following considerations:
    1. Modify the source of the data to be encoded in Step 10 so that static data, such as the "=" character, is separated from dynamic data that is retrieved from a database. For example, the following formula encodes "=", the donor number from a database and two flag characters:
      IDAutomation_Uni_C128("=" & {Table1.DonorNumberField} & "01", FALSE )
    2. Open field explorer and create three separate fields for the text interpretation mentioned in step 12, named ISBT Flag, ISBT ID and ISBT K.
      ISBT-128 Fields in Crystal Reports
    3. Modify the ISBT ID formula to connect to the data source of the Donor Number Field.
    4. Place the ISBT Flag formula on the form with the needed data (in this case "01" is used) and choose to rotate the field by 270 degrees with the format field option.
    5. Modify the ISBT K formula to include the K check character:
      1. Change the formula syntax from Crystal Syntax to Basic Syntax.
      2. Open and paste the following formula into the formula editor, where DataString is equal to the data being evaluated for the check digit:
        Dim DataString As String
        DataString = {Table1.DonorNumberField}  
        'DataString must equal to the data being evaluated for the check digit, 
           'Example: DataString = "W0000 07 123456"
        Dim CorrectData As String
        Dim WeightedSum As Number
        Dim StringLength As Number
        Dim AscValue As Number
        Dim CharValue As Number
        Dim CheckDigitAscVal As Number
        Dim CheckDigitAsc As Number
        Dim StringLen As Number
        Dim I As Number
        StringLen = Len(DataString)
        For I = 1 To StringLen
           AscValue = Asc(Mid(DataString, I, 1))
           If AscValue < 58 And AscValue > 47 Then CorrectData = CorrectData & Mid(DataString, I, 1) '0-9    If AscValue < 91 And AscValue > 64 Then CorrectData = CorrectData & Mid(DataString, I, 1) 'A-Z Next I DataString = CorrectData CorrectData = "" WeightedSum = 0 StringLength = Len(DataString) For I = 1 To StringLength    AscValue = Asc(Mid(DataString, I, 1))    If AscValue < 58 And AscValue > 47 Then CharValue = AscValue - 48 '0-9 = values    If AscValue < 91 And AscValue > 64 Then CharValue = AscValue - 55 'A-Z = values 10-35    WeightedSum = ((WeightedSum + CharValue) * 2) Mod 37 Next I CheckDigitAscVal = (38 - WeightedSum) Mod 37 If CheckDigitAscVal < 10 Then CheckDigitAsc = CheckDigitAscVal + 48 '0-9 If CheckDigitAscVal < 36 And CheckDigitAscVal > 9 Then CheckDigitAsc = CheckDigitAscVal + 55 'A-Z If CheckDigitAscVal = 36 Then CheckDigitAsc = 42 Formula = Chr(CheckDigitAsc)
      3. Place a border around this field with the format field option.
    6. Place the fields on the form and size appropriately in preview mode.
      ISBT128 Donation Number with MOD 37 Check Character K
    7. If problems are encountered in this tutorial, it is suggested to download the Crystal Report example.

ISO 7064 MOD 37-2 Algorithm

The following source code is a ISO7064 MOD 37-2 VB function used to calculate a checksum character with an algorithm that is commonly used in ISBT-128 barcodes as the K check character for manual keyboard entry. The source code may be easily used in Visual Basic applications including VBA, VB6, VB.NET and Microsoft Access to display the check character K. The source code is free to use with a license to any of IDAutomation's products.

If assistance is needed, please contact IDAutomation.

Back to Top

 ©Copyright 2017, All Rights Reserved. Legal Notices.

 Barcode Fonts | Components | Scanners | Support | Contact Us

Training Videos on YouTube  Join us on Google Plus  Join us on LinkedIn  Follow us on Twitter  Like us on Facebook
Over 70% of Fortune 100 companies use IDAutomation's products to automate their businesses.