What is HIBC?
HIBC (Health Industry Bar Code) is a healthcare barcode standard that manufacturers use to label
medical devices, instruments and consumables with a labeler code, product number, packaging level and,
optionally, an expiry date, lot number or serial number. The standard is maintained by the US-based Health Industry Business
Communications Council (HIBCC) and is one of the permitted numbering systems for the UDI of medical devices, both at the FDA and
under the European MDR. You can recognise an HIBC code instantly by the + character at the
start of its data.
π§ Where does HIBC come from?
HIBCC was founded in 1983 as a non-profit organisation sponsored by the healthcare industry. It grew out of a task force hosted by the American Hospital Association that wanted one uniform barcode for the products hospitals buy. HIBCC is accredited by ANSI as a standards developer and, besides the barcode standard, also manages the Health Industry Number (HIN) for healthcare providers.
The core standard is the HIBC Supplier Labeling Standard (SLS). The current version is ANSI/HIBC 2.6 from 2016, reaffirmed in 2026. Key milestones:
| Year | Event |
|---|---|
| 1983 | HIBCC founded following an American Hospital Association task force |
| 2013 | In late December the FDA accredits HIBCC as a UDI issuing agency, shortly after GS1 |
| 2016 | ANSI/HIBC 2.6 is published, focused on patient safety and UDI |
| 2019 | The EU designates HIBCC as a UDI issuing entity in Implementing Decision (EU) 2019/939, alongside GS1, ICCBBA and IFA |
| 2024 | Implementing Decision (EU) 2024/2120 extends that designation until 27 June 2029 |
| 2026 | ANSI/HIBC 2.6 is reaffirmed (R2026) |
π§ How is the primary HIBC code structured?
The primary data structure identifies the product and, for UDI purposes, forms the UDI-DI. It consists of five elements and is at most 25 characters long:
| Field | Length | Content |
|---|---|---|
+ |
1 | Flag character: this is an HIBC code |
| LIC (Labeler Identification Code) | 4 | Labeler code issued by HIBCC; the first character is always a letter |
| PCN (Product or Catalog Number) | 1β18 | The manufacturerβs item number, AβZ and 0β9 only |
| U/M (Unit of Measure) | 1 | Packaging level: 0 = unit of use, 1β8 = higher levels, 9 = variable quantity |
| Check character | 1 | Check character calculated with modulo 43 |
The example in the standard is +A123BJC5D6E71G: LIC A123, product number BJC5D6E7, packaging level 1 and check character G. Punctuation in a
catalogue number is removed, so 24-86-2S becomes 24862S. Once a primary code has
been issued, it may never be assigned to another product, even after the original item has been
discontinued.
The check character is the sum of all character values modulo 43. Digits count as 0β9, letters as 10β35,
and -, ., space, $, /, + and % as 36β42. In the example the sum is 145; 145 divided by 43 leaves a remainder of 16, and 16
corresponds to the letter G.
π¦ What does the secondary data structure contain?
The secondary data structure holds the production data, the UDI-PI in UDI terms. A
stand-alone secondary code also starts with +, but it is followed by a digit or $ instead of a letter. That is how a scanner tells the two codes apart.
Flag after + |
Meaning |
|---|---|
$$ + digit |
Lot number, with a date format indicated by the digit |
$$+ + digit |
Serial number, with a date format |
$ |
Lot number only, without a date (legacy format, kept for compatibility) |
$+ |
Serial number only, without a date (legacy format) |
| 5 digits | Julian date YYJJJ, followed by the lot number (legacy format) |
The digit after $$ sets the date format: 2 = MMDDYY, 3 = YYMMDD, 4 = YYMMDDHH, 5 = YYJJJ
(Julian), 6 = YYJJJHH and 7 = no date. If the first character after $$ is a 0 or 1, there is
no format digit and an expiry date in MMYY follows directly. The lot or serial number can be up to 18
characters long. It is followed by a link character (the check character of the primary
code, which ties the two labels together) and a check character of its own.
The expiry date on a medical device is a hard use-by limit. It is therefore stricter than a THT best-before date on food, which is mainly a quality guarantee.
Since version 2.6, quantity is no longer part of the secondary structure. Extra data goes in as supplemental data after a / with a data identifier: S for a serial
number alongside a lot number, 16D for the date of manufacture (YYYYMMDD), 14D
for an expiry date in YYYYMMDD and Q for the quantity at packaging level 9.
π How do you combine primary and secondary data in one code?
In a 2D code you put both parts in a single symbol, separated by /. The check character of
the primary code, the + of the secondary code and the link character are dropped. One check
character at the end protects the whole string.
A worked example with a fictitious labeler code E456, product number KT200, unit
of use 0, expiry date 31 December 2027 and lot L2604A:
-
Primary, separate label -
+E456KT2000Z; the remainder modulo 43 gives check characterZ. -
Secondary, separate label -
+$$3271231L2604AZ1;$$3means lot with a YYMMDD date,Zis the link character and1the check character. -
Combined in a DataMatrix -
+E456KT2000/$$3271231L2604A0, with a single check character0.
The human-readable text is printed below the code, between asterisks for linear symbols, for example *+E456KT2000Z*. If a check character is a space, the human-readable text shows an underscore.
π¨οΈ Which barcode symbologies and print requirements apply?
HIBC is a data structure, not a symbology. The same data can be carried in any ISO/IEC-approved symbology:
- Code 39 - the original HIBC symbology, still common on older products
- Code 128 - a more compact linear alternative
- DataMatrix - the usual choice for small packaging and direct part marking on instruments
- QR Code and Aztec - also permitted 2D symbologies
The standard requires a print quality of at least C/06/660: according to ISO/IEC 15416 for linear and ISO/IEC 15415 for 2D codes. Aim for B or better at the time of printing. The recommended X-dimension is 0.25 mm for linear codes (down to 0.17 mm with high-resolution printing) and 0.37 mm for 2D codes, with a quiet zone of ten times the X-dimension. HIBCC also publishes a guideline for using HIBC data with RFID.
π What is the difference between HIBC and GS1?
| Feature | HIBC | GS1 |
|---|---|---|
| Managed by | HIBCC (Phoenix, Arizona) | GS1, Global Office in Brussels with national member organisations |
| Recognition | Data starts with + |
FNC1 character; scanner reports ]C1 (GS1-128) or ]d2 (DataMatrix)
|
| Product key | LIC + product number + packaging level, alphanumeric | GTIN, 14 digits |
| Production data | Fixed order via $$ flags |
Application Identifiers, such as (17) expiry date and (10) lot |
| Check | Modulo 43 over the whole string | Modulo 10 on the GTIN |
| Sector | Almost exclusively medical devices | All sectors, from retail to healthcare |
| UDI | Recognised by FDA and EU | Recognised by FDA and EU |
HIBCβs main advantage is that a manufacturer can keep its existing alphanumeric catalogue numbers. That is why many American and German manufacturers use HIBC. GS1 has the broader reach: wholesalers and hospital systems are often set up around the GTIN first. For prescription medicines in the EU, GS1 is used in practice, and in Germany also the IFA number, not HIBC.
π Where is HIBC used in the supply chain?
| Link in the chain | Use of HIBC |
|---|---|
| Manufacturer | Master data in ERP, printing and verifying labels on the line via MES and vision systems |
| Distribution | Scanning at receipt and dispatch in the WMS |
| Hospital | Scanning at goods receipt, in inventory management and at the point of use or implantation |
| Laboratory | Recording reagents and test kits in the LIMS |
| Oversight | Targeted recalls thanks to tracking and tracing down to lot or serial number |
For OT convergence,
HIBC is a good example: one code links ERP, production line, logistics and patient record. Data integrity matters here: scanners and software must read $$ codes as well as the
older formats correctly. In the end, HIBC serves patient safety: the right device, within its expiry date, from a traceable lot.
π₯ What does HIBC mean for European and Dutch healthcare?
Under the MDR, a manufacturer must obtain a UDI for every device from a designated issuing entity. The labelling obligation was phased in: on 26 May 2021 for implantables and class III, on 26 May 2023 for class IIa and IIb, and on 26 May 2025 for class I. If a manufacturer chooses HIBC, it applies to HIBCC for a LIC. The UDI-DI is then registered in EUDAMED.
Dutch hospitals therefore receive both GS1 and HIBC codes. A good scanner reads both; the software must recognise the structure from the first character. For implants, the hospital records the scanned data in the Dutch national implant register (Landelijk Implantatenregister). In a recall, it can then quickly see which patient received which lot. That requires sound compliance across the whole chain.
β Frequently asked questions
How do you recognise an HIBC barcode?
An HIBC barcode always starts with a +. If a letter follows, it is a primary code with a
labeler code and product number. If a digit or $ follows, it is a secondary HIBC code with
production data.
Is HIBC suitable for UDI in Europe?
Yes, HIBCC is one of the four issuing entities designated by the EU in Implementing Decision (EU) 2019/939. That designation runs until 27 June 2029. An HIBC code can therefore serve as the UDI carrier on the label under the MDR and the IVDR.
What is a LIC in HIBC?
The LIC (Labeler Identification Code) is the four-character labeler code issued by HIBCC. Its first character is always a letter. A manufacturer can have a separate LIC for each subsidiary or division.
Can a barcode scanner read HIBC?
Almost any scanner reads the symbologies that carry HIBC, such as Code 39, Code 128 and DataMatrix. The challenge lies in the software, which must parse the HIBC structure and verify the modulo 43 check character. Some scanners can validate that check character themselves.
Why does HIBC use modulo 43?
HIBC started out on Code 39, which has 43 characters: 0β9, AβZ and seven special characters. A modulo 43 check character fits that set exactly. The standard prescribes modulo 43 regardless of the symbology used.
Do I have to choose between HIBC and GS1?
A manufacturer chooses one issuing entity per product for its UDI. HIBC is attractive if you want to keep your alphanumeric catalogue numbers. GS1 has the widest reach among wholesalers and outside healthcare.
π In summary
HIBC is HIBCCβs barcode standard for healthcare: a
+, a labeler code, product number and packaging level, optionally followed by expiry date, lot or serial number, protected by a modulo 43 check character.
The data can be carried in Code 39, Code 128, DataMatrix, QR or Aztec and is recognised by the FDA and the EU for UDI. If you support HIBC properly alongside GS1 in production, the warehouse and the hospital, you get reliable traceability down to lot or serial number.
