Capturing FMD data matrix barcodes with a scanner 

As the FMD implementation deadline approaches verifiers and dispensers will need to consider how to capture the serialisation unique identifier codes. The codes may be read from the product package and typed in or a supplier could provide codes linked to a shipment as an electronic file. By far the most likely data input would be by scanning the data matrix barcode on the packet. Serialogical are among the providers of verification software and one of our first developments was to investigate scanning in of codes. Rest assured; there is no need to buy a specific brand of scanner to capture barcodes for our or anyone else’s software. A potential verifier probably already has one or more barcode scanners and it is quite likely that these would work for FMD purposes.  

A scanner is simply a computer input device like a keyboard. Rather than allowing specific characters to be input it reads a barcode and translates the pattern into a set of characters as if these had been typed in by a keyboard. The scanner could be wired to the computer or connected remotely in the same fashion as a wireless keyboard. With suitable software installed a camera attached to a computer can also be used to read barcodes. Not having the scanner physically wired to the computer can make scanning less of a tangle but the user would still need to be close enough to the processing computer to see or hear any feedback such as if a pack is successfully processed.  

When looking to buy or adapt a scanner the feature to look for is support of data matrix barcodes. This is the format required for FMD and products with this type of code are already appearing in pharmacies and wholesalers. The data matrix coding is similar to but not the same as that of QR barcodes. A scanner that supports QR barcodes but not data matrix is not good enough. To check if an existing scanner will work the quickest solution is to scan in a data matrix barcode. A scanner will take what it reads and if possible ‘type’ it into the application that currently has the flashing cursor. Example targets would be Microsoft Word, Excel or any text editor. If the scanner accepts the data matrix and produces recognisable keyboard characters it should be suitable for FMD use.There is one important caveat in processing FMD codes. The codes used within the UK contain 4 elements (product code, serial number, date and batch) as a single line of text. The verification program needs to be able to split this line of text into its 4 component parts and check each of them. Part of the code used to define which part of the text is which is a non-text character called the global separator. This is sometimes written as <GS>, FNC1 or Ascii(29). It is a computer character but unlike numbers and symbols on the keyboard is not shown when printed out. So if a data matrix code is scanned into a text editor the global separator will be skipped and not be output. The user cannot then be absolutely sure that the scanner in use is reading the FMD data matrix correctly.  

The best way to be absolutely sure is to scan into a program that will output the global separator. In a Windows machine the free program Notepad++ (not the Notepad that comes with Windows) will show the global separator. When running Serialogical or any other verification software Notepad++ is an important tool to ensure that the scanner is correctly set up. If the scanner seems to recognise the data matrix code but does not pick up the global separator it is probably caused by the software set-up of the scanner itself. Scanners are marketed with a number of default settings based on common uses but the data matrix itself is only recently becoming commonplace. Setting the scanner to pick up the global separator will vary depending on the scanner model. When this feature is set it will be written to the scanner’s own software so it will remember this for future scans unless the scanner develops some fault and has to be restored to its factory settings.  

A scanner used for data matrix barcodes should be able to read other common codes as well without needing to be re-set. The same device could read linear barcodes and data matrix barcodes, sending each to the active program. If a verifier were only dealing with a small number of packets the output could be directed to a verification program such as that created by Serialogical and later to another system, perhaps patient records simply by changing the active program on the computer. Of course if the output is sent to the wrong program the system will reject it as in the wrong format, no harm will be done barring the need to scan again. In a similar fashion several scanners can be associated with a single computer. The machine can read in scans much more quickly than an operator can present products. An issue would be what feedback relates to which scan if more than 1 scan is taking place. The codes sent can be checked on the computer output but this would hamper the speed benefit of having multiple simultaneous scans. A simpler solution would be to run several instances of the verification software on different machines or to have several scanning systems linked to a central device that sends data off for verification. Serialogical can provide options for all of these approaches. The most important element for the customer is how to achieve verification and decommissioning with the minimal disruption to existing working practice.