Utilizzi

Lettore di codici a barre in farmacia: bollino AIC, Code 32 e GS1 DataMatrix

In farmacia serve un imager 2D con Code 39 e Code 32 abilitati (bollino AIC e tessera sanitaria), GS1 DataMatrix con trasmissione del separatore GS (identificativo univoco previsto dalla normativa europea anticontraffazione), EAN-13 per parafarmaco e lettura da schermo per ricette dematerializzate e app. Un lettore laser oggi non basta più.

In breve: imager 2D da banco o a pistola con base, tastiera italiana, suffisso Invio, simbologie Code 39, Code 32, EAN/UPC, Code 128/GS1-128, GS1 DataMatrix, QR e PDF417 attive; FNC1 trasmesso come GS (ASCII 29) se il gestionale gestisce il Data Matrix.

Quali codici passano sul banco di una farmacia

Una farmacia italiana è uno dei contesti con più simbologie diverse sullo stesso bancone. Ecco cosa trovi davvero:

Codici tipici in farmacia e cosa deve saper leggere il lettore
DoveSimbologiaContenutoNota per il lettore
Bollino del farmacoCode 32 (codifica farmaceutica italiana basata su Code 39)Codice AIC, in chiaro con la lettera A davantiServe la conversione Code 39 in Code 32 attiva
Confezione con identificativo univocoGS1 DataMatrixAI (01) codice prodotto, (17) scadenza, (10) lotto, (21) serialeSolo imager 2D; separatore GS tra campi variabili
Parafarmaco, cosmetici, integratoriEAN-13, a volte EAN-8 o UPC-AGTIN del prodottoStandard retail, nessuna configurazione speciale
Tessera sanitariaCode 39Codice fiscale, 16 caratteriCode 39 attivo, niente verifica cifra di controllo
Promemoria ricetta dematerializzataCodici lineari (Code 39 o Code 128 a seconda del documento) e talvolta 2DNRE in due codici separati, codice fiscaleSpesso mostrati sullo smartphone del cliente; vedi leggere l'NRE
Dispositivi mediciGS1 DataMatrix, GS1-128, HIBCUDI: codice dispositivo più dati di produzioneAbilita anche GS1-128

Per una panoramica delle famiglie di simbologie trovi tutto in tipi di codici a barre.

Il bollino e il Code 32: perché il lettore "sbaglia" il codice AIC

Il bollino farmaceutico stampato dal Poligrafico (IPZS) riporta il codice AIC del medicinale in un codice a barre di tipo Code 32, detto anche codice farmaceutico italiano. Fisicamente è un Code 39: le 9 cifre (8 di codice più una di controllo) vengono convertite in base 32 e codificate in 6 caratteri Code 39. Sotto le barre leggi la versione in chiaro, con la A iniziale.

Conseguenza pratica: se il lettore ha Code 39 attivo ma non la conversione Code 32, il gestionale riceve 6 caratteri alfanumerici incomprensibili invece del codice AIC. Non è un difetto del lettore né del bollino.

Code 32 non attivo:   6 caratteri alfanumerici (es. lettere e cifre senza senso)
Code 32 attivo:       9 cifre del codice AIC
Code 32 + prefisso A: A seguito dalle 9 cifre

Molti lettori professionali hanno due opzioni distinte, "converti Code 39 in Code 32" e "trasmetti prefisso A per Code 32". Il gestionale di farmacia di solito si aspetta una delle due forme: controlla il manuale del software o fai una prova leggendo un bollino e confrontando con il codice AIC in anagrafica. Il percorso per abilitare simbologie e opzioni è spiegato in abilitare le simbologie.

Le opzioni di conversione Code 32 hanno nomi diversi tra produttori e non tutti i lettori economici le offrono. Prima di acquistare, cerca "Code 32" o "Italian Pharmacode" nella guida di programmazione del modello. Non usare codici di programmazione presi da manuali di altri modelli.

GS1 DataMatrix e identificativo univoco (FMD)

Il Regolamento delegato (UE) 2016/161, attuativo della direttiva sui medicinali falsificati (FMD), prevede sulle confezioni dei medicinali soggetti a prescrizione un identificativo univoco in un Data Matrix bidimensionale, più un sistema antimanomissione. L'Italia, che già aveva il bollino come sistema di tracciatura, ha una transizione propria: tempi e modalità dipendono dal calendario stabilito da AIFA e Ministero della Salute, quindi verifica sempre lo stato aggiornato sui canali ufficiali prima di decidere un investimento.

Il Data Matrix sulle confezioni segue la sintassi GS1. Una lettura tipica, con le parentesi aggiunte solo per leggibilità, contiene:

(01)08012345678907(17)271231(10)LOTTO42A(21)SN8F3K29Q7ZX
  • (01) codice prodotto a 14 cifre (GTIN, o codice nazionale nel formato previsto dal sistema di tracciatura).
  • (17) data di scadenza nel formato AAMMGG.
  • (10) numero di lotto, lunghezza variabile.
  • (21) numero seriale, lunghezza variabile, unico per ogni confezione.

Lotto e seriale hanno lunghezza variabile: per sapere dove finiscono, il simbolo contiene il carattere FNC1, che il lettore trasmette come GS (ASCII 29). In emulazione tastiera questo carattere spesso sparisce o diventa un tasto inatteso, e il gestionale non riesce più a separare lotto e seriale. La soluzione dipende dal software: alcuni vogliono il GS, altri un carattere sostitutivo, altri leggono via porta COM. Approfondisci in carattere GS e FNC1 e prova le tue stringhe con il decodificatore GS1.

Per vedere se il GS arriva davvero, leggi un Data Matrix nel test lettore: mostra i caratteri invisibili con il loro codice ASCII. Se tra lotto e (21) non vedi il 29, il problema è nel lettore o nella modalità di trasmissione, non nel gestionale.

Quale lettore scegliere per il banco

Il criterio principale è uno: imager 2D. Un laser legge il bollino e gli EAN, ma non il Data Matrix, non i QR e quasi mai codici mostrati sullo schermo dello smartphone (ricette, app di fidelizzazione). Vedi il confronto in laser, CCD o imager 2D.

Forma del lettore in base al tipo di banco
SituazioneForma consigliataPerché
Banco con molte vendite rapideLettore da banco (presentazione) 2DMani libere, il farmacista passa la scatola davanti alla finestra
Confezioni voluminose o lette in magazzinoPistola 2D con base, oppure cordlessArriva alla merce senza sollevarla
Ricevimento merce e controllo scadenzeCordless 2D o terminale AndroidLettura lontano dal PC, anche in modalità batch

Molti modelli da banco funzionano in modalità ibrida: leggono in presentazione quando sono nel supporto e a grilletto quando li prendi in mano. Le differenze sono spiegate in lettore a pistola o da banco.

Configurazione consigliata

Configurazione consigliata per un lettore da farmacia
ImpostazioneValoreMotivo
InterfacciaUSB HID tastiera (o USB COM se il gestionale lo richiede)HID non richiede driver; la COM gestisce meglio il GS
Paese tastieraItalianoEvita simboli sbagliati in QR e codici con trattini
SuffissoInvio (CR)Il gestionale conferma la riga in automatico
Code 39Attivo, verifica cifra di controllo disattivaTessera sanitaria e base del Code 32
Code 32Attivo, prefisso A secondo il gestionaleBollino AIC
EAN-13, EAN-8, UPC-AAttiviParafarmaco
GS1-128, GS1 DataMatrixAttivi, FNC1 trasmesso come GSIdentificativo univoco, dispositivi medici
QR, PDF417AttiviRicette e documenti su smartphone
Simbologie non usateDisattive (es. Codabar, MSI)Meno letture errate su codici parziali

La procedura completa, dal reset alla prova finale, è in come configurare un lettore; per il suffisso vedi aggiungere Invio o Tab.

Consigli di flusso di lavoro

  1. Configura partendo da zero. Ripristina le impostazioni di fabbrica, poi imposta tastiera italiana, suffisso e simbologie. Configurazioni stratificate da tecnici diversi sono la prima causa di comportamenti strani.
  2. Prova un campione per ogni tipo di codice. Un bollino, un parafarmaco, una tessera sanitaria, un Data Matrix, un promemoria sullo schermo di un telefono. Annota cosa arriva nel gestionale.
  3. Salva la configurazione. Con il software del produttore (vedi software di configurazione) esporta il profilo: se il lettore si guasta, quello nuovo è pronto in un minuto.
  4. Abbassa il volume, non spegnere il beep. In farmacia il silenzio è gradito ma il feedback serve; usa volume basso o vibrazione (volume, LED e vibrazione).

Errori comuni

  • Bollino letto come stringa senza senso: Code 32 non attivo, solo Code 39.
  • Codice fiscale troncato di un carattere: verifica cifra di controllo Code 39 attiva con "non trasmettere cifra di controllo": il lettore scarta l'ultimo carattere credendolo un controllo.
  • Lotto e seriale incollati: il GS non arriva al gestionale. Vedi la sezione Data Matrix.
  • QR della ricetta con simboli sbagliati: lettore impostato su tastiera USA (caratteri sbagliati).
  • Codice sullo smartphone che non si legge: lettore laser o luminosità dello schermo troppo bassa (leggere codici da schermo).
  • Bollini lucidi sul flacone curvo: riflessi, inclina leggermente il lettore (superfici lucide e curve).

Domande frequenti

Il lettore che uso per il parafarmaco va bene anche per il bollino?

Sì se supporta Code 39 con conversione Code 32. Leggere l'EAN-13 non garantisce nulla sul bollino: verifica l'opzione nella guida di programmazione.

Devo per forza cambiare lettore per il Data Matrix?

Se il tuo è laser o CCD lineare sì, perché fisicamente non può leggere un codice 2D. Un imager 2D legge anche tutti i codici lineari che usi oggi.

Il gestionale riceve il Data Matrix ma la scadenza non viene riconosciuta: perché?

Quasi sempre manca il GS dopo un campo a lunghezza variabile, oppure arriva un prefisso inatteso. Controlla la stringa con il test lettore e con il decodificatore GS1.

Fonti e riferimenti

  • Regolamento delegato (UE) 2016/161 sulle caratteristiche di sicurezza dei medicinali; indicazioni nazionali di AIFA.
  • GS1 General Specifications e linee guida GS1 Healthcare: gs1.org, GS1 Italy.
  • ISO/IEC 16022 (Data Matrix), ISO/IEC 16388 (Code 39).
  • Product Reference Guide dei lettori: Honeywell, Zebra, Datalogic.

Altro in Utilizzi

Tutta la sezione Utilizzi