JPAC Joint United Kingdom (UK) Blood Transfusion and Tissue Transplantation Services Professional Advisory Committee

23.3: Barcode reading and interpretation

Barcoding is carried out to ensure the accuracy of transmitted information. To gain the maximum benefit from such coding, systems reading and interpreting the codes need to ensure that valid codes have been scanned. The following minimum checks should be carried out by the receiving application software:

  • Ensure that the barcode identifiers (ICCBBA data identifiers) are correct for the code being read. For example, ISBT 128 Component code (ICCBBA Data Structure 003) would be expected to have a data identifier of ‘=<‘.
  • Ensure that the format (length and character types) of the received data string matches the defined format for the expected code. For example ISBT 128 Component code (ICCBBA Data Structure 003) should be ten characters long (two data identifiers plus eight data characters).
  • Ensure that where checksums are used to validate correct data transmission, they are checked and valid.
  • Any barcode scanning devices used to read linear ISBT 128 barcodes must conform to the industry standard ISO/IEC 15417: 2007 (E): Information technology – Automatic identification and data capture techniques – Code 128 barcode symbology specification.

23.3.1: ISBT 128 barcoding

Code 128 and Data Matrix (2D code) are high-density alphanumeric barcode symbologies which have been adopted by ICCBBA for the provision of a worldwide unique numbering and coding system for blood and blood components. ICCBBA defines the data structures of this system, the supporting reference databases and application-specific information. The specification for concatenation support provided by standard Code 128 has been modified at the request of ICCBBA to incorporate the need for spatial and/or temporal limitation on concatenated reading (refer to ICCBBA Technical Specification). Barcode readers used for reading these codes must comply with this specification. The importance of data identifiers in ISBT 128 data structures

ISBT 128 barcodes comprise two main elements:

  • The data identifier characters that identify which ISBT 128 data structure is being transmitted
  • The data characters which provide the data values to be interpreted in accordance with the definition of the appropriate structure.

In order to accurately interpret information from an ISBT 128 barcode, it is essential that application software carries out the following steps before interpreting the data values:

  • Analyse the data identifiers to ensure that the barcode entered is of the correct type
  • Verify that the data length and format match that defined for the barcode type and included ISBT structure(s).

Failure to carry out these checks could lead to incorrect assignment of critical information. Concatenation

Concatenation for the purpose of this requirement is defined as:

The reading of two horizontally adjacent barcodes together as a single input using a
barcode-scanning device.

Concatenation requirements for ISBT 128 are laid out in the ICCBBA ISBT 128 Standard Technical Specification. Where concatenated codes are to be read, it is essential that the barcode readers used support concatenation.


Figure 23.2 Two concatenation processes. On the left the donation identification number (DIN) with nationally defined structure, and on the right the DIN with the ABO/Rh blood group barcode

In the UK correct blood group labelling can be confirmed by up to two concatenation processes (see Figure 23.2).

  • Concatenation of the donation identification number (ICCBBA Data Structure 001) with the short form unit identifier printed on the blood group label (this nationally defined code is a non-ICCBBA defined structure but is ICCBBA registered – see section on National ISBT 128 definitions). This concatenation is mandatory for all UK Blood Establishments.
  • Concatenation of the donation identification number (ICCBBA Data Structure 001) with the blood group (ICCBBA Data Structure 002) printed on the blood group label. (This concatenation is at the discretion of the Blood Establishment providing it can demonstrate other safety measures are in place.) National ISBT 128 definitions

National bodies are permitted by ICCBBA to allocate nationally defined codes identified by data identifiers of ‘&’ followed by a lower-case alpha character. Within the UK this responsibility lies with SACIT (Standing Advisory Committee on Information Technology).

The following national codes have been assigned by SACIT.

Short form donation identification number (Version 1)


Defined for the shortened form of a donation number used on demand-printed group labels for concatenated read with the donation number as part of label verification. This code must not be used as the primary identifier of a component. The code structure is:



&a               are the ISBT 128 data identifiers
nnnnnn is the six-digit unit serial number from the donation number definition (ICCBBA Data Identifier 001).

Short form donation identification number (Version 2)


Defined for the shortened form of a donation number used on demand-printed group labels for concatenated read with the donation number as part of label verification. This code must not be used as the primary identifier of a component. The code structure is:



&b               are the data identifiers
nnnnnn  is the six-digit unit serial number from the donation number definition (ICCBBA Data Identifier 001)
k is a single-digit iteration number, used to assist in controlling labelling where more than one labelling process takes place (e.g. an additional group label has to be placed over the initial label to display    additional testing information such as CMV (cytomegalovirus) status).

Note: Where the counter is not utilised, its default value is 0.

Patient sample identification number for patient samples


Defines a sample identification number for patient samples. The data structure is:



&d               are the data identifiers
aaaaa is the facility identifier. The first character will always be zero. Values in the range 09900 to 09999 are assigned for use by NHSBT.
yy is the nominal year of collection (slippage of 1 month either side of the end of year is permitted)
nnnnnn is a six-digit sequence number
ff are barcode check characters. These are derived from a two-digit checksum calculated from the data sequence aaaaayynnnnnn as described in the ICCBBA 128 Technical Specification for ISBT 128.

In the eye-readable form of this number, the checksum is represented as a single boxed character. Codabar ABC barcoding

The Codabar ABC barcoding encodes the following characters:

  • ten numerics {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
  • six control characters {-, $, ., +, :, /}
  • four start/stop (or pause) characters {a, b, c, d}.

Control codes

Within Codabar there are alpha characters assigned as start/stop characters. In some instances these are accompanied by a numeric (0–9), thus forming left-hand/right-hand control codes. These are used to identify the type of data encoded between the controls.

The assigned alpha characters are a, b, c, d.

Where an alpha character is accompanied by a numeric character, the combination will normally constitute the complete left/right-hand control and needs to be treated as such in decoding. Within the UK, however, there are instances where the numeric constituent of the left-hand control has been utilised as part of the data message (see section 23.6).

Codabar is only used in blood component labelling for component coding and expiry date representation. Barcode specifications

Barcode dimensions

The minimum acceptable height for barcodes on labels in the UK is 6 mm. The standard density of the encoded characters is 0.4 character per mm. Inter-character gaps must be a minimum of 0.2 mm to provide adequate resolution between characters. Gap dimensions are not critical as each character is read independently and gaps do not carry information. The barcode is a series of straight parallel lines perpendicular to a base reference line.

Individual characters must not be misaligned by more than five degrees from adjacent characters.

A minimum border (‘quiet zone’) of 2.5 mm must be allowed at each end of the encoded message (but see section 23.4.1). The border above and below the code is not critical, but will normally include eye-readable information, the printing of which must not touch the code. Maximum depression or embossment of the printed barcode must not exceed 0.05 mm.

Optical parameters

The symbol is insensitive to the light-scattering properties of the substrate, except to the extent to which background reflectance is affected. Background diffuse reflectance is not specified as a separate parameter as it is integral in the definition of contrast (see below). However, a background diffuse reflectance of at least 70% (optical density 0.1) in the 500–950 nm range is necessary.


Defined as the nominal difference in the diffuse reflectance between the background and the ink film, this should be at least 50% as measured over the 500–950 nm range. Measurements should be averaged over an area equivalent to a 0.2 mm diameter circle. A print contrast ratio of at least 90% is recommended.

Voids and ink specks

The missing ink coverage or ‘white’ spots within the bars or the extraneous dark specks between bars must not exceed 0.05 mm diameter, or subtend more than 25% of the area within a 0.10 mm diameter circle.

Edge roughness

The maximum area of edge irregularities subtending a 0.1 mm diameter circle must not exceed 25% of the area of that circle. The area of irregularity is to be measured with respect to the nominal bar edge.

Ink fill uniformity

Variation in ink film reflectance across the character should not exceed 5% within the same character.

Ink fill-in

Must not expand individual bars within characters to dimensions exceeding the tolerance specified for dimensional parameters (‘see Barcode dimensions’ above).