Medical Device Barcode Decoder — 2D DataMatrix, GS1-128 & Hospital Scanners
Decode 2D DataMatrix and linear GS1-128 barcodes scanned at hospital bedsides and surgical supply rooms into structured JSON.
Quick Technical Summary: Decode 2D DataMatrix and linear GS1-128 barcodes scanned at hospital bedsides and surgical supply rooms into structured JSON. Implementation conforms to FDA 21 CFR 801.20 / EU MDR 2017/745.
Specification & Structural Breakdown
Medical device packaging predominantly employs ISO/IEC 16022 2D DataMatrix with ECC 200 error correction to encode high-density DI and PI data within miniature footprints on surgical implants and instruments.
| Symbology | Standards | Typical Application | Encoding Density |
|---|---|---|---|
| GS1 DataMatrix (ECC 200) | ISO/IEC 16022 | Implants, vials, orthopedic screws, surgical tools | High (up to 3,116 numeric / 2,335 alphanumeric) |
| GS1-128 (Code 128) | ISO/IEC 15417 | Outer cartons, shipper boxes, sterile pouches | Moderate (linear 1D continuous barcode) |
| HIBCC MicroPDF417 / DataMatrix | ANSI/HIBC 2.6 | Diagnostic reagents, dental equipment, laboratory supplies | High (stacked 2D multi-row matrix) |
| ICCBBA ISBT 128 2D Matrix | ICCBBA Standard 001 | Blood bags, tissue graft containers, cellular therapy cryo-tubes | High (deterministic composite segments) |
Test Medical Device Barcode Decoder — 2D DataMatrix, GS1-128 & Hospital Scanners 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:
{
"symbologyDetected": "GS1_DATAMATRIX_2D",
"rawPayload": "]d201008848380123451726083110LOT7788\u001d21SN991823",
"deviceIdentifier": "00884838012345",
"productionIdentifiers": {
"expirationDate": "2026-08-31",
"lotNumber": "LOT7788",
"serialNumber": "SN991823"
},
"bedsideScanReady": 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
In raw AIDC scanner output, variable-length GS1 Application Identifiers are delimited by ASCII 29 (GS / \u001d) or the ]d2 symbology identifier prefix. Stanza automatically detects and unescapes GS delimiters.
Yes. Whether handheld scanners output raw string streams with ASCII control characters or human-readable bracketed strings, Stanza normalizes both transparently.
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 →HIBCC Medical Device Barcode Decoder & Modulo-43 Checksum Spec
Parse primary and secondary HIBCC medical barcodes with Modulo-43 check character validation.
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 →