HIBCC Medical Device Barcode Decoder & Modulo-43 Checksum Spec
Parse primary and secondary HIBCC medical barcodes with Modulo-43 check character validation.
Quick Technical Summary: Parse primary and secondary HIBCC medical barcodes with Modulo-43 check character validation. Implementation conforms to FDA 21 CFR 801.20 / EU MDR 2017/745.
Specification & Structural Breakdown
HIBCC formats use a leading plus sign (+) followed by a 4-character Labeler Identification Code (LIC), product code, unit of measure, and Modulo-43 checksum.
| Segment | Prefix | Content | Checksum |
|---|---|---|---|
| Primary DI | + | +[LIC][Product Code][UOM][Mod43] | Modulo-43 |
| Secondary PI | +$$ or /$$ | $$[Date Format][Exp][Lot][Mod43] | Modulo-43 |
Test HIBCC Medical Device Barcode Decoder & Modulo-43 Checksum Spec Live
Paste raw inputs up to 32KB and inspect deterministic parsed JSON in real-time across 330+ Cloudflare edge locations. Pure compute, zero cold-starts.
Parsed JSON Response Model
The edge microservice transforms input payloads into strongly-typed hierarchical JSON with zero cold starts:
{
"issuingAgency": "HIBCC",
"labelerIdCode": "A999",
"productCode": "123450",
"modulo43Valid": true
}
Copy-Paste Integration Code
Integrate this validator directly into your application using your production API key:
curl --request POST \
--url "https://fda-eu-mdr-medical-device-udi-decoder-gs1-hibcc-iccbba.stanzaapi.com/api/v1/udi/decode" \
--header "Content-Type: application/json" \
--header "x-api-key: YOUR_API_KEY" \
--data '{
"udi": "(01)00884838012345(17)260831(10)LOT7788(21)SN991823"
}'
const response = await fetch("https://fda-eu-mdr-medical-device-udi-decoder-gs1-hibcc-iccbba.stanzaapi.com/api/v1/udi/decode", {
method: "POST",
headers: {
"Content-Type": "application/json",
"x-api-key": process.env.API_KEY || "YOUR_API_KEY"
},
body: JSON.stringify({
"udi": "(01)00884838012345(17)260831(10)LOT7788(21)SN991823"
})
});
const data = await response.json();
console.log(data);
import requests
import json
url = "https://fda-eu-mdr-medical-device-udi-decoder-gs1-hibcc-iccbba.stanzaapi.com/api/v1/udi/decode"
headers = {
"Content-Type": "application/json",
"x-api-key": "YOUR_API_KEY"
}
payload = {
"udi": "(01)00884838012345(17)260831(10)LOT7788(21)SN991823"
}
response = requests.post(url, json=payload, headers=headers)
print(response.json())
package main
import (
"bytes"
"fmt"
"io"
"net/http"
"os"
)
func main() {
url := "https://fda-eu-mdr-medical-device-udi-decoder-gs1-hibcc-iccbba.stanzaapi.com/api/v1/udi/decode"
payload := []byte(`{"udi":"(01)00884838012345(17)260831(10)LOT7788(21)SN991823"}`)
req, _ := http.NewRequest("POST", url, bytes.NewBuffer(payload))
req.Header.Add("Content-Type", "application/json")
req.Header.Add("x-api-key", os.Getenv("API_KEY"))
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}
Frequently Asked Questions & Technical Notes
Each alphanumeric character is mapped to 0-42, summed, and modulo 43 is matched with the check character.
Related Medical Device UDI Barcode & AIDC Engine Formats
Explore sibling specifications and standards in the same developer cluster:
GS1 UDI Barcode Format & AI Parser Guide (GS1-128 & DataMatrix)
Parse GS1-128 linear barcodes and 2D DataMatrix medical device UDIs into structured DI/PI attributes in milliseconds.
View Format →ICCBBA ISBT 128 Medical Device & Cellular Therapy UDI Spec
Decode ICCBBA ISBT 128 medical and biologics identifiers for human cells, tissues, and cellular products.
View Format →FDA Global UDI Database (GUDID) Submission & Compliance Spec
Validate medical device UDI records against FDA GUDID data requirements before submitting to the FDA.
View Format →EU Medical Device Regulation (MDR 2017/745) EUDAMED UDI Spec
Verify Basic UDI-DI and UDI-DI data models for European EUDAMED regulatory compliance.
View Format →