Tipi di codici a barre

Data Matrix e GS1 DataMatrix: come è fatto, capacità, farmaci e sanità, lettori adatti

Il Data Matrix è un codice 2D a matrice, quadrato o rettangolare, riconoscibile dal bordo a L continuo su due lati. La versione attuale, ECC 200, ha correzione Reed-Solomon e contiene fino a 3116 cifre, 2335 caratteri alfanumerici o 1556 byte. Il GS1 DataMatrix è lo standard per farmaci e sanità. Serve un imager 2D: i laser non lo leggono.

Come è fatto

  • Finder pattern a L: due lati adiacenti formati da moduli tutti scuri. Indicano al lettore posizione, orientamento e dimensione.
  • Clock track (timing pattern): gli altri due lati, con moduli alternati chiari e scuri, che danno il passo della griglia.
  • Area dati: all'interno. Nei simboli più grandi (da 32 × 32 in su) è divisa in più regioni separate da linee di allineamento.
  • Zona di rispetto: almeno un modulo chiaro intorno al simbolo; nella pratica conviene lasciarne di più.

Le dimensioni quadrate vanno da 10 × 10 a 144 × 144 moduli, quelle rettangolari standard da 8 × 18 a 16 × 48. Una versione estesa più recente (DMRE, ISO/IEC 21471) aggiunge altri formati rettangolari, non supportati da tutti i lettori più vecchi.

Le vecchie versioni ECC 000-140 sono obsolete e non vanno usate per nuove applicazioni: quando senti parlare di Data Matrix oggi si intende ECC 200.

Capacità e compattezza

Capacità massime del Data Matrix ECC 200 (simbolo 144 × 144)
Tipo di datiCapacità massima
Cifre3116
Caratteri alfanumerici2335
Byte (dati binari o testo a 8 bit)1556

Il punto di forza del Data Matrix però non è la capacità massima, ma la compattezza con pochi dati: un GTIN più lotto, scadenza e seriale entra in un simbolo di pochi millimetri di lato. È per questo che si usa su confezioni di farmaci, dispositivi medici, componenti elettronici e pezzi meccanici. La correzione degli errori è fissa per ogni dimensione (non si sceglie un livello come nel QR Code) e permette di leggere simboli parzialmente danneggiati.

GS1 DataMatrix

Un GS1 DataMatrix è un Data Matrix che inizia con il carattere FNC1 e contiene dati strutturati con gli Application Identifier, esattamente come il GS1-128. Il lettore lo riconosce e, con l'identificatore AIM attivo, lo segnala con ]d2 invece di ]d1.

Farmaci

Il Regolamento delegato (UE) 2016/161, attuativo della direttiva sui medicinali falsificati, prevede sulle confezioni un identificativo univoco in un Data Matrix con: codice prodotto, numero di serie, lotto e data di scadenza, più un eventuale numero nazionale di rimborso. Con la sintassi GS1 diventa:

Testo leggibile:   (01)08001234567897 (17)271231 (10)L2405A (21)PZ7X9Q3K2M
Dati trasmessi:    ]d201080012345678971727123110L2405A<GS>21PZ7X9Q3K2M

I valori sono di esempio. In Italia il passaggio dal bollino farmaceutico al Data Matrix con identificativo univoco avviene secondo il calendario AIFA/Ministero: nel periodo di transizione in farmacia convivono bollino (Code 32) e Data Matrix. Un lettore per farmacia deve quindi essere 2D e configurato per entrambi. Vedi lettori in farmacia.

Dispositivi medici e ospedali

Per i dispositivi medici il sistema UDI previsto dalla normativa europea usa spesso il GS1 DataMatrix, con GTIN, lotto, seriale e scadenza. In ospedale lo trovi su farmaci in dose unitaria, strumenti, impianti, braccialetti paziente. Vedi sanità e ospedali.

Perché laser e lettori lineari non lo leggono

Laser e imager lineari misurano una sola linea attraverso il codice. Nel Data Matrix i dati sono distribuiti in una matrice: una linea attraversa solo una manciata di moduli, senza il riferimento del bordo a L e del clock track per ricostruire la griglia. Nessuna impostazione può compensare: serve un sensore che acquisisca l'intera immagine, cioè un imager 2D o una fotocamera. Approfondisci in laser, CCD o imager 2D.

Per codici marcati direttamente sul materiale (DPM: incisione laser, micropunzonatura su metallo o plastica) servono imager specifici con illuminazione adatta: un lettore 2D da ufficio spesso non li legge. Vedi lettori industriali rugged.

Impostazioni del lettore e dati in uscita

Opzioni Data Matrix da controllare
OpzioneDefault frequenteNota
Data MatrixDi solito attivo sui 2DControlla anche le dimensioni rettangolari e DMRE
Codici invertiti (chiaro su scuro)Spesso disattivoFrequente nelle marcature laser su metallo
Immagine speculareSpesso disattivoPer codici letti attraverso materiali trasparenti
Trasmissione AIM IDDisattivoUtile al software per distinguere ]d1 e ]d2
Carattere GSTrasmesso come ASCII 29In emulazione tastiera può perdersi

Il problema più frequente con i GS1 DataMatrix in emulazione tastiera è il separatore GS tra lotto e seriale: se si perde, il software non sa dove finisce il lotto. Le soluzioni sono in carattere GS e FNC1. Per scomporre una stringa letta e controllarla campo per campo usa il decodificatore GS1.

Caso tipico: in reparto il lettore 2D legge il Data Matrix di un farmaco e nel programma il lotto risulta L2405A21PZ7X9Q3K2M. Il GS tra lotto e seriale non arriva perché il lettore, in emulazione tastiera con layout italiano, non riesce a produrlo. Configurando il lettore per sostituire il GS con un carattere concordato con il fornitore del software, oppure passando alla porta COM virtuale, i campi tornano separati.

Problemi di lettura comuni

  • Codici molto piccoli su blister e fiale: servono lettori ad alta densità (spesso indicati come HD). Vedi codici piccoli e alta densità.
  • Superfici lucide o curve: blister e flaconi riflettono. Inclina il lettore; vedi superfici lucide, curve e riflessi.
  • Stampa a getto d'inchiostro a punti su cartone: moduli non contigui, ma i lettori 2D moderni li gestiscono quasi sempre.

Domande frequenti

Data Matrix o QR Code: quale scegliere?

Per etichette tecniche, piccole superfici e ambito sanitario il Data Matrix, che è anche lo standard GS1 in quei settori. Per contenuti rivolti al pubblico da leggere con il telefono, il QR Code.

Il telefono legge i Data Matrix?

Molte app sì, ma non tutte. Le fotocamere degli smartphone faticano con simboli molto piccoli; per uso professionale è meglio un lettore 2D dedicato.

Come capisco se un Data Matrix è GS1?

Attiva l'identificatore AIM sul lettore: ]d2 indica un GS1 DataMatrix. Puoi anche verificare se i dati iniziano con un AI valido, tipicamente 01.

Fonti e riferimenti

  • ISO/IEC 16022, specifica della simbologia Data Matrix; ISO/IEC 21471 (DMRE), ISO
  • GS1 General Specifications e linee guida GS1 DataMatrix, GS1
  • Regolamento delegato (UE) 2016/161 e informazioni AIFA sulla tracciabilità dei medicinali, aifa.gov.it
  • ISO/IEC 15415, qualità di stampa dei simboli 2D, ISO
  • Product Reference Guide dei lettori 2D Zebra, Honeywell, Datalogic

Altro in Tipi di codici a barre

Tutta la sezione Tipi di codici a barre