EDGE ENGINE SUB-2MS DETERMINISTIC V8 EXECUTION • ZERO DATA RETENTION • EXPLORE API SPECS →
FDA 21 CFR 801.20 / EU MDR 2017/745 <2ms Edge Edge Compute

EU Medical Device Regulation (MDR 2017/745) EUDAMED UDI Spec

Verify Basic UDI-DI and UDI-DI data models for European EUDAMED regulatory compliance. This specification documents the exact field layout, checksum rules, and validation behavior so your integration matches FDA 21 CFR 801.20 / EU MDR 2017/745 without reading the source standard.

Latency: <2ms Edge Availability: 99.99% Standard: EU MDR 2017/745 / EUDAMED In-Memory Execution
Interactive Edge Workbench

⚡ Live EU Medical Device Regulation (MDR 2017/745) EUDAMED UDI Spec Interactive Workbench

Test real-time validation and schema parsing for EU Medical Device Regulation (MDR 2017/745) EUDAMED UDI Spec directly in your browser. Runs in sub-5ms with zero setup.

32KB Demo Cap 60 req/min Burst <2ms V8 Compute Zero Data Retention
input.txt 0 B
output.json demo-ready
Status: Ready
{
  "status": "Click RUN VALIDATION to execute on the Cloudflare edge..."
}
Sandbox Quota: Free Tier (50 reqs/mo) • Production keys from $29/mo Get Free Sandbox Key →
Need 512KB+ Payloads, High-Throughput & 99.9% Production SLA?
Direct API keys include pooled monthly quotas, zero cold-starts, and HIPAA BAA eligibility on the Mega tier.
Get Production API Key →
LLM / MCP
Prompt-Ready Specification for AI Agents llms.txt
Structured format rules and schemas optimized for LLM coding agents and Model Context Protocol tooling.
Raw .md
Official Standard & Validation Protocol Authority: FDA AccessGUDID Database & IMDRF ↗

Quick Summary: Verify Basic UDI-DI and UDI-DI data models for European EUDAMED regulatory compliance. Validates strictly against FDA 21 CFR 801.20 / EU MDR 2017/745 with sub-5ms in-memory response times.

Latency
<2ms Edge
Standard
EU MDR 2017/745 / EUDAMED
Version
Max Payload
512 KB
Privacy
In-Memory (0 bytes stored)

Specification & Structural Breakdown

Technical Summary: Validates strictly against FDA 21 CFR 801.20 / EU MDR 2017/745. Payloads are parsed in memory and return clean, typed JSON in milliseconds with zero data logged.

EU MDR introduces the Basic UDI-DI as the main key in EUDAMED representing device models sharing intended purpose and risk class.

IdentifierLevelFormatUsage
Basic UDI-DIModel / FamilyGS1 GSRC / HIBCC / ICCBBA codeEU Certificates & Declarations of Conformity
UDI-DIPackaged ItemGTIN-14 / HIBC PrimaryTrade item packaging and barcode

Parsed JSON Response Model

The edge microservice transforms input payloads into strongly-typed hierarchical JSON envelopes with sub-5ms latency:

HTTP 200 JSON Response Envelope
{
  "eudamedValidation": "PASS",
  "basicUdiDi": "008848380DEVICEFAM88",
  "udiDi": "00884838012345",
  "mdrCompliant": true
}

Copy-Paste Integration Code (6 Languages)

Integrate EU Medical Device Regulation (MDR 2017/745) EUDAMED UDI Spec directly into your production application with native, zero-dependency code snippets in cURL, Node.js, Python, Go, C#, and a ready-to-paste Claude prompt. Get a free API key → (no credit card required):

curl --request POST \
  --url "https://api.stanzaapi.com/udi-decoder/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://api.stanzaapi.com/udi-decoder/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://api.stanzaapi.com/udi-decoder/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://api.stanzaapi.com/udi-decoder/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))
}
using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;

class Program
{
    static async Task Main()
    {
        using var client = new HttpClient();
        client.DefaultRequestHeaders.Add("x-api-key", Environment.GetEnvironmentVariable("API_KEY") ?? "YOUR_API_KEY");

        var json = @"{""udi"":""(01)00884838012345(17)260831(10)LOT7788(21)SN991823""}";
        var payload = new StringContent(json, Encoding.UTF8, "application/json");

        var response = await client.PostAsync("https://api.stanzaapi.com/udi-decoder/api/v1/udi/decode", payload);
        var content = await response.Content.ReadAsStringAsync();
        Console.WriteLine(content);
    }
}
Integrate the StanzaAPI udi-decoder micro-API.

Endpoint: POST https://api.stanzaapi.com/udi-decoder/api/v1/udi/decode
Auth header: x-api-key: YOUR_API_KEY
Content-Type: application/json
Request body:
{
  "udi": "(01)00884838012345(17)260831(10)LOT7788(21)SN991823"
}

Rules:
- Send the request with a 2-second timeout.
- Parse the standard envelope { success, data, meta: { latency_ms, version } }.
- On failure, read { success: false, error, code } and branch on the code.
- Do not retry 4xx responses; surface the error code to the caller.
- Treat invalid-but-well-formed payloads as HTTP 200 with data.valid === false.

Frequently Asked Questions & Technical Notes

What is the difference between Basic UDI-DI and UDI-DI in Europe?

The Basic UDI-DI is purely an administrative regulatory key on certificates, whereas UDI-DI is printed directly on the device package barcode.

Related Medical Device UDI Barcode & AIDC Engine Formats

Explore sibling specifications and standards in the same developer cluster:

Complementary Enterprise APIs

Seamlessly orchestrate data pipelines across adjacent financial, regulatory, and supply-chain protocols:

All Medical Device UDI Barcode & AIDC Engine Formats & Specifications (8) Directory Index ↓
GS1 UDI Barcode Format & AI Parser Guide (GS1-128 & DataMatrix) HIBCC Medical Device Barcode Decoder & Modulo-43 Checksum Spec ICCBBA ISBT 128 Medical Device & Cellular Therapy UDI Spec FDA Global UDI Database (GUDID) Submission & Compliance Spec EU Medical Device Regulation (MDR 2017/745) EUDAMED UDI Spec FDA AccessGUDID Device Identifier (DI) Lookup & Record Verification Medical Device Barcode Decoder — 2D DataMatrix, GS1-128 & Hospital Scanners EU EUDAMED Basic UDI-DI & UDI-DI Validation Architecture