HIBC barcode symbols may include primary and secondary information as specified by the HIBCC (Health Industry Business Communications Council). Every HIBC symbol must include a MOD43 check character. This is calculated from all data encoded within the barcode including data identifiers, production identifiers concatenation characters, and supplemental data.
HIBC Barcode Generation Options:
All IDAutomation Code 39 products support the MOD43 check character by enabling it. Code 128, Data Matrix, and QR Code support the MOD43 check character with the ~f?? option where ?? is the number of digits before the tilde to include in the calculation.
IDAutomation Code 128, Data Matrix, and QR Code products supporting the ~f?? option include:
- Crystal Reports Native Generator
- FileMaker Font Encoder Object
- FileMaker Native Generator
- JavaScript Font Encoders
- Java Barcode Package (in development)
- QR Code Font and Encoder (the following components)
- NOTE: If this functionality is needed in another product, contact IDAutomation. It may be possible with the purchase of an Unlimited Developer License to create it in about 5-10 days.
For example, the following formula (DataToEncode =”+A123BJC5D6E71/$$52001510X3″ & “~f27”) in the
Crystal Reports Native Generator calculates and encodes the Mod 43 check character within the barcode and in the HRI text:
HIBC Barcode Generation Examples:
The information below is included only as an example of how to encode HIBC barcode information within IDAutomation products. Always refer to the latest specification from the HIBCC before implementation.
The HIBCC has two parts, the HIBC Supplier Labeling Standard (SLS) and the HIBC Provider Standard, which is the internal label information created by the health providers. The HIBCC UDI has four components to the barcode. The Data Identifier, Production Identifier, Supplemental data if desired, and a Mod 43 check character.
Data Identifier or Primary Data Structure Example:
Identifier | Data Type | DB Field Size | Example Data |
Device Identifier (DI) | Fixed Character | 1 | + |
Labeler Identification Code (LIC) | Alphanumeric | 4 | A123 |
Product or Catalog Number (PCN) | Alphanumeric | 1-18 | ABCDEFGHI123456789 |
Unit of Measure Identifier (U/M) | Numeric | 1 | 1 |
Check Character Mod 43 (C) | Alphanumeric | 1 | E |
The Labeler Identification Code (LIC) is assigned by the HIBCC after an application is submitted and approved.
Production Identifier or Secondary Data Structure Example:
- HIBCC Identifier Flag.
- Expiration Date and/or Lot Number or Serial Number.
- Supplemental Data such as Serial Number, Manufacture Date, Expiration Date or Quantity if needed.
- Check or Link Character from Primary Data Structure.
- Mod 43 Check Character.
Data Delimiters | Identifier | Data Type | HR Field Size | DB Field Size | Example Data |
+ | Device Identifier* (DI) | Fixed Character | 1 | + | |
$ | Lot Number Only | Alphanumeric | 19 | 18 | |
$$7 | Lot Number Only (Alternate Option) | Alphanumeric | 21 | 18 | |
$$ | Expiration Date (MMYY) followed by Lot Number | Exp. Date: Numeric | 6 | 4 | |
Lot #: Alphanumeric | 18 | 18 | |||
$$2 | Expiration Date (MMDDYY) followed by Lot Number | Exp. Date: Numeric | 9 | 6 | |
Lot #: Alphanumeric | 18 | 18 | |||
$$3 | Expiration Date (YYMMDD) followed by Lot Number | Exp. Date: Numeric | 9 | 6 | |
Lot #: Alphanumeric | 18 | 18 | |||
$$4 | Expiration Date (YYMMDDHH) followed by Lot Number | Exp. Date: Numeric | 11 | 8 | 20020216LOT123456789012345 |
Lot #: Alphanumeric | 18 | 18 | |||
$$5 | Expiration Date (YYJJJ) followed by Lot Number | Exp. Date: numeric Julian Date format | 8 | 5 | |
Lot #: Alphanumeric | 18 | 18 | |||
$$6 | Expiration Date (YYJJJHH) followed by Lot Number | Exp. Date: numeric Julian Date format with hour | 10 | 7 | |
Lot #: Alphanumeric | 18 | 18 | |||
$+ | Serial Number only | Alphanumeric | 20 | 18 | |
$$+7 | Serial Number only (Alternate Option) | Alphanumeric | 22 | 18 | |
$$+ | Expiration Date (MMYY) followed by Serial Number | Exp. Date: Numeric | 7 | 4 | |
Serial #: Alphanumeric | 18 | 18 | |||
$$+2 | Expiration Date (MMDDYY) followed by Serial Number | Exp. Date: Numeric | 10 | 6 | |
Serial #: Alphanumeric | 18 | 18 | |||
$$+3 | Expiration Date (YYMMDD) followed by Serial Number | Exp. Date: Numeric | 10 | 6 | |
Serial #: Alphanumeric | 18 | 18 | |||
$$+4 | Expiration Date (YYMMDDHH) followed by Serial Number | Exp. Date: Numeric | 12 | 8 | |
Serial #: Alphanumeric | 18 | 18 | |||
$$+5 | Expiration Date (YYJJJ) followed by Serial Number | Exp. Date: Numeric Julian Date format | 9 | 5 | |
Serial #: Alphanumeric | 18 | 18 | |||
$$+6 | Expiration Date followed by Serial Number | Exp. Date: Numeric Julian Date format with hour | 11 | 7 | |
Serial #: Alphanumeric | 18 | 18 | |||
/S | Supplemental Serial Number, where lot number also required and included in main secondary data string | Alphanumeric | 20 | 18 | XYZ456789012345678 |
/16D | Manufacturing Date (YYYYMMDD) (supplemental to secondary barcode) | Numeric | 12 | 8 | 20130202 |
/14D | Expiration Date (YYYYMMDD) (supplemental to secondary barcode) | Numeric | 12 | 8 | |
C | Mod 43 Check Character from Primary Data Structure | Alphanumeric | 1 | 1 | E |
C | Mod 43 Check Character from Secondary Data Structure | Alphanumeric | 1 | 1 | % |
Concatenating the Primary and Secondary Barcode:
Data Delimiters | Identifier |
Primary Barcode | +A123ABCDEFGHI1234567891 |
Concatenate | / |
Secondary Barcode | $$420020216LOT123456789012345/SXYZ456789012345678/16D20130202 |
Mod 43 Check Character | $ |
The primary and secondary barcode are concatenated together using a slash “/”. However, the Secondary HIBC “+” flag and Secondary Check Character are omitted and only one mod 43 check character will be used for the entire data string, which in this example would be a dollar sign ($).
This check character may easily be generated within the barcode by using the ~f option within compatible products.
For example:
+A123ABCDEFGHI1234567891/$$420020216LOT123456789012345/SXYZ456789012345678/16D20130202~f86
would encode
+A123ABCDEFGHI1234567891/$$420020216LOT123456789012345/SXYZ456789012345678/16D20130202$
and show
+A123ABCDEFGHI1234567891/$$420020216LOT123456789012345/SXYZ456789012345678/16D20130202$
within the text HRI.
Because the above string is much longer than many barcode scanners are able to read, concatenated HIBC UDI symbols should be generated using one of the following 2D symbologies:
Data Matrix Example
QR Code Example
Aztec Example
Complete information about the HIBCC UDI Specifications.
HIBCC Label Examples:
Code 128 Example:
Data Matrix Example:
+J123AQ3451/$$3231231BC34567$4012R
- Primary Code or Device Identifier
- + – HIBC System Identifier
- J123 – Labeler Identification Code (LIC)
- AQ345 – Product Code
- 1 – Packaging Index
- / – Concatenation Symbol
- Secondary Code or Production Identifier
- $$3 – Indicating the next section is Expiration Date (YYMMDD) followed by Lot Number
- 231231 – Expiration Date
- BC34567 – Lot Number
- / – Concatenation Symbol
- S4 – Separator and ID
- 012R – Serial Number