DataMatrix Beyond FMD

The DataMatrix barcode is no longer required on mainland UK pharmaceutical packs but is often still present on them and on other packaged goods. Serialogical’s development of our FMD solution has highlighted the obvious advantages of DataMatrix together with a few elements that could be improved from the FMD model.

DataMatrix advantages:

  • Easy to add to packs
  • Reading uses inexpensive and widely available hardware
  • The data is immutable
  • Useful quantities of data can be encoded in a small surface area

The common types of barcode currently seen are the flat set of lines (the 2D barcode) and the squares of the QR and DataMatrix codes. A 2D barcode can only represent a short string of numbers. QR and DataMatrix represent number and characters with the DataMatrix being able to contain more information in a given area than the QR code.

All three barcode technologies have the advantage that they can be printed on a range of surfaces. This makes them cheap and flexible; there is no electronic gizmo to embed. The total limit of data each can contain is governed by the number of printed blocks or lines that make them up. As more data is added to the barcode the print area will become bigger. There is some offset by setting a better resolution of print so that more dots or lines fit within the same printed area. If the printing becomes too fine it restricts the range of machines that can either print or read a barcode. Although there are mathematical limits to how much data can be represented by a barcode the practical size limit is likely to be governed by the size of the print area and how large an area can be scanned. A single DataMatrix code could fill an A4 sheet but few scanners are able to process such a large area. A more practical limit is 3 or 4cm for a single barcode. With these limits on physical size the DataMatrix becomes the best solution as it is a much more efficient data store than the QR barcode or 2D barcode.

To demonstrate how the DataMatrix expands with the information within here are 2 codes containing the first few words of Pride and Prejudice. The final example shows the QR Code equivalent.

It is a truth universally acknowledged
It is a truth universally acknowledged, that a single man in possession of a good fortune, must be in want of a wife.
It is a truth universally acknowledged, that a single man in possession of a good fortune, must be in want of a wife.

A printed barcode is immutable. With information printed directly onto the product pack it is relatively hard to replace manufacturer’s data with forged details. High specification packing lines can wrap a new outer around an existing pack without obvious signs of tampering. This is a common process when a packet such as a drug is re-boxed for a differing national market. Barcodes can be printed directly onto plastic inner packages or the surfaces of plastic bottles if an additional level of security is required.

Barcodes can be read by inexpensive devices connected to personal computers. For large quantities of goods devices can scan a wide area catching each barcode within their field of view. Duplicate scans of the same barcode are to be expected with multiple scans. These records can be removed by software after the scanning. This is useful where unique codes are to be gathered but if there are multiple quantities of a single code the quantities scanned will not be reliable. This can be avoided by having a unique code for each pack. DataMatrix codes are able to hold enough data to include a product code, a unique code for each pack as well as other information. Printing lines are able to cope with printing a different code on each pack on a production line.

Beyond a product code and a unique pack code details can be added concerning the product, production process and batch. These can be presented in clear text to any reader, encrypted or as a link to an on-line data store. With FMD the product details were in the DataMatrix and in clear text on the packet. This information can be sent by approved bodies to the regulating authority for information on the supply state of the pack. Had it already been supplied or is there a recall notice on the pack? The only information of use to the casual user would have been the expiry date of the pack. There was potential to add some information on the pack that might be of use to the consumer although in practice this was not taken up. Encrypted data could be added to a code as a means to restrict access to individuals with the appropriate keys to unlock it. As with any encryption system it will only be as secure as access to the keys allows.

The advantage of putting information on an object rather than providing a link to a database is that no connection is required to access that information. As the label is immutable there is no danger of the information being manipulated or lost due to interference in the linked database. On the other hand there is no way to update the information once a code has been printed.

An area of improvement on the FMD application lies in its use of the Group Separator. The FMD code consisted of 4 (later 5 with the NHRN added) parts. Some such as the batch expiry were of fixed length. Others such as the batch could be of variable length so ended with the Group Separator (ASCII 29) so that software can pull apart a single chain of characters into its component codes. The Group Separator is not a printable character so will not be seen on a computer screen or printout. DataMatrix scanners see the components of a code as a sequence of characters. This is based on the ASCII or Unicode values of those characters. How these codes are interpreted as letters depends on the scanner settings. By default scanners will have no problems with letters but few scanners came with the default setting to ‘see’ the Group Separator. These machines ignored the Global Separator, ran the previous and following code component together and read FMD pack codes as invalid when they were properly coded. Unfortunately many of the scanners in use were not set up for FMD and scanned packs incorrectly. In hindsight a simpler method of separating components within a group would have eliminated these problems. In recent years the comma (,) is used a separator in simple data sets. It has the additional advantage that the CSV (comma separated value) format is easily interpreted by spread sheet applications.

DataMatrix codes are a simple and inexpensive solution to supply chain tracking. Codes can be created and applied quickly by dedicated production line devices or by office printers for smaller scale or test applications. With our experience in FMD development Serialogocal can design custom codes. We have developed systems to take the codes and process them locally or pass them to a remote system through a secure network connection.