Farmacode
# Farmacode

Il farmacode (o code 32 o codice 32) è un codice a barre usato dal Ministero della salute italiano per identificare i medicinali.

È una rielaborazione del Code 39.

Esso fa parte della famiglia dei codici a barre ed è composto da un carattere (asterisco *) di start e di stop, ovvero di delimitazione del codice stesso, e da 9 caratteri in base 32 codificati in modo binario. I 9 caratteri in base 32 corrispondono ad altrettanti caratteri in base 10, dei quali il primo carattere è 0 poi seguono 7 caratteri che identificano il prodotto ed infine l'ultimo carattere che rappresenta il codice di controllo (check-digit).

È un codice bidimensionale composto da due possibili tipi di barre: strette e larghe. Lo spessore del modulo (ovvero del più piccolo spazio o barra presente nel codice) può essere di 0,250 o 0,254 mm

La codifica in base 32 usa le lettere dell'alfabeto di 26 lettere (meno A, E, I, O) più 10 numeri decimali (da 0 a 9), ottenendo la corrispondenza con la base 10 tramite una tabella.

Il codice di controllo (check-digit) viene calcolato nel modo seguente:

* si usano le prime 8 cifre (in base 10) che chiameremo c1, c2, c3, ..., c8
* si calcolano i seguenti prodotti:
   * z1 = 2 × c2
   * z2 = 2 × c4
   * z3 = 2 × c6
   * z4 = 2 × c8
* si calcola la somma S1 dei quozienti e dei resti di z1, z2, z3, z4 diviso 10
* si calcola la somma S2 delle cifre c1, c3, c5, c7 del codice
* si calcola la somma S = S1 + S2
* si divide S per 10
* il codice di controllo (e quindi la nona cifra in base 10 del codice) è il resto ottenuto dalla precedente operazione di divisione.
