BACKGROUND: Bar code technology has decreased transcription errors in many healthcare applications. However, we have found that linear bar code identification methods are not failsafe. In this study, we sought to identify the sources of bar code decoding errors that generated incorrect patient identifiers when bar codes were scanned for point-of-care glucose testing and to develop solutions to prevent their occurrence.
METHODS: We identified misread wristband bar codes, removed them from service, and rescanned them by using 5 different scanner models. Bar codes were reprinted in pristine condition for use as controls. We determined error rates for each bar code–scanner pair and manually calculated internal bar code data integrity checks.
RESULTS: As many as 3 incorrect patient identifiers were generated from a single bar code. Minor bar code imperfections, failure to control for bar code scanner resolution requirements, and less than optimal printed bar code orientation were confirmed as sources of these errors. Of the scanner models tested, the Roche ACCU-CHEK® glucometer had the highest error rate. The internal data integrity check system did not detect these errors.
CONCLUSIONS: Bar code–related patient misidentifications can occur. In the worst case, misidentified patient results could have been transmitted to the incorrect patient medical record. This report has profound implications not only for point-of-care testing but also for bar coded medication administration, transfusion recipient certification systems, and other areas where patient misidentifications can be life-threatening. Careful control of bar code scanning and printing equipment specifications will minimize this threat to patient safety. Ultimately, healthcare device manufacturers should adopt more robust and higher fidelity alternatives to linear bar code symbologies.
Bar code technology has been an indispensable advancement for patient safety. When used for patient and/or specimen identification, bar codes, combined with the appropriate software, permit clinical staff to instantly identify individual patients and their medications and specimens and have significantly reduced identification and data entry error rates (1, 2). Despite this, there still exists the potential for bar code misreads and patient misidentification. On the basis of findings in our institution, we estimate that more than 1 in 84 000 bar code–scanning events generate an incorrect patient identifier.
We were first alerted to bar code–related errors in our institution when several patients' point-of-care testing (POCT)4 glucose results were not transmitted to the intended patient medical records. Iterative scanning of wristbands from these patients produced both correct and incorrect patient identifiers. The defective bar codes originated from 2 different printer models (Datacard Model LBD24-2043-002 and FastMark AMT Datasouth Model 4602), with each printer model printing a specific sized bar code (width by height = 13 × 13 mm or 25 × 12 mm, respectively, where bar code width was defined as the measured distance across the bar code, perpendicular to the long axis of the bar code bars). Visual examination of the problematic wristbands revealed fine white lines in the black alphanumeric text juxtaposed to the bar code. These lines were parallel to and ran through the adjacent bar code bars, splitting a single bar code bar into 2 bars of variable width. These white lines were observed in all faulty wristbands. Printers responsible for generating these faulty bar codes were either replaced or removed from service for maintenance.
Built-in data integrity checks are essential to ensure the fidelity of the scan in cases where the bar code is misprinted or damaged. Code 128, the healthcare industry bar code standard and the symbology used by our institution, uses such an algorithm (3). Bar codes printed with Code 128 symbology have 4 parts in the sequence: the 3-digit start code, the payload (in our case, a 12-digit patient identification number), a 2-digit check character (CkChr), and a 3-digit stop code. Scanner software computes the CkChr from the decoded payload and compares it to the printed CkChr in the bar code. If the payload is decoded into a number that is different than what was intended, then the computed check character should differ from the printed CkChr, causing the software to reject the decoded payload number as incorrect (rejection error). However, if the decoded number computes into a CkChr identical to the CkChr computed from the intended number, then the incorrect number will be accepted as correct by the scanner (substitution error). Rejection errors hold no patient safety risks because the scanner does not accept the incorrect number. Substitution errors, on the other hand, are concerning, since an operator frequently doesn't realize that the substitution has occurred. In the work presented herein, we demonstrate that this bar code integrity check system has limitations and that bar code–related misidentification errors can occur. Sources of observed bar code misread errors and solutions to reduce their occurrence are presented.
Materials and Methods
A total of 10 defective bar codes were identified and removed from service over the course of a year. The sequestered bar codes were scanned by 3 different operators, 15 times each, using 5 different commercially available scanner models (45 scans per scanner model, for a total of 225 scans per bar code). The 5 scanners included 2 laser scanners (Roche ACCU-CHEK® glucometers [RACGs] and Metrologic MS 9540), 2 charge-coupled device/light-emitting diode (CCD/LED) scanners (Adesso NUSCAN 1000U and ZBA AS-8210), and 1 omni-directional scanner (Symbol LS-9100-411 BA). The check sum (CkSum) was manually calculated for each 12-digit payload result by using the following formula for Code 128C: where XX1 through XX6 represents the first through sixth pairs of encoded digits in the payload, respectively. The CkChr was calculated as the remainder of the CkSum divided by 103 (modulo 103 CkSum) (4).
The manufacturer of the original bar codes reprinted each of the above bar codes in pristine condition to control for defective printing or bar code damage. Each bar code was printed in the same width as the original defective bar code and at a standard 17-mm width to control for the RACG scanner specifications. These control bar codes were scanned in the exact same manner as the defective bar codes (45 scans per scanner model, for a total of 225 scans per bar code). Substitution error rates defined as [(number of incorrect scans/total number of attempted scans) × 100] for 5 different bar code scanners were determined for the defective and control bar codes. Rejection error rates, defined as [(number of failed scans/total number of attempted scans) × 100], were also calculated. CIs (95%) were determined by the adjusted Wald method (5).
Table 1 shows partial correct and incorrect patient identifiers (payloads) accepted for the defective bar codes. As many as 3 incorrect patient identifiers were generated from a single defective bar code. The misread and subsequently accepted payloads, coincidentally, generated the correct CkChr, thereby evading the data integrity check. Some of the bar codes were interpreted to contain payloads with 7, 8, and 11 digits, rather than the intended 12 digits. Bar code scanners are often designed to read bar codes from a variety of different linear symbologies. Therefore, these events may reflect the scanner's misinterpretation of the linear symbology as something other than Code 128C, such as Code 39 or interleaved 2 of 5, with a different number of digits.
Bar code scanner misreads were not unique to the RACG scanners (Tables 2 and 3). Laser (RACG and Metrologic), CCD/LED (Adesso and ZBA), and omni-directional (Symbol) bar code scanners were all shown to generate substitution and/or rejection errors with the 10 defective bar codes (Table 2). The 2 laser-based scanners generated vastly different error rates; the RACG produced the highest rates of substitution errors of all scanners tested (maximum 80.0%), whereas the Metrologic scanner was the only scanner that did not produce any substitution errors in this study. Instead, the Metrologic scanner frequently rejected the defective bar codes with rejection rates as high as 100%. The Symbol, ZBA, and Adesso scanners all had similar substitution and rejection rates, falling between the relative extremes observed for the 2 laser scanners.
Control bar codes, printed in a suitable width (17 mm) for the RACG scanner, were completely free of errors. However, the controls reprinted in their original widths were surprisingly shown to generate multiple substitution errors, albeit with less frequency than in the original defective bar codes (Table 3). In 1 instance, the Adesso CCD scanner produced an identifier with a previously unobserved 10 digits (bar code 1 in Table 3). All control bar codes were free of rejection errors.
If sufficiently large, localized bar code printing defects can adversely affect the ability of bar code readers to successfully decode the bar code symbols (4). When print heads malfunction, for example, because of normal wear and/or clogging, the damaged print head may not properly transfer heat to the printing media. In the 10 defective bar codes described herein, this type of common printer malfunction resulted in unintentional white voids comprising the width of an individual print head running the length of the bar codes (i.e., parallel to the bars and spaces) (Fig. 1A) (4). To avoid potentially high substitution error rates, the ANSI MH10.8M-1983 (6) specification allows any number of extraneous spots or voids in the printed bar code, provided that a single printing defect is not >0.4W, where a module (W) is the width of the most narrow bar or space in a bar code, and all bars and spaces are some multiple of W. The defect size-to-W ratio can be calculated to evaluate the potential for the observed bar code defects to generate bar code misreads.
In Code 128C, each set of 2 digits is represented by 3 pairs of variable width bars and spaces, comprising a total of 11W. The total number of modules in the bar code is the sum of the start code (11W), the payload (6 pairs × 11W = 66W), the CkChr (11W), and the stop code (13W), for a total of 101W. For the original defective 13-mm- and 25-mm-wide bar codes, W is then 0.129 mm and 0.248 mm, respectively. The resolution of both bar code printers at our institution is 203 dpi. Each print head is therefore 0.125-mm wide (1/203 in or 0.0049 in), and the respective void defect widths are then 0.97W (13-mm-wide bar code) and 0.50W (25-mm-wide bar code), both greater than the specified 0.4W maximum allowable defect size. Spurious sensing of unintended bars and spaces in the bar codes could be expected given the relative size of these printer errors, with more errors anticipated for the narrower 13-mm bar codes (4). This could explain the frequency of substitution and rejection errors observed with the original defective bar codes. The built-in data integrity check system failed to recognize these errors because the incorrect identifiers, coincidentally, generated the correct CkChr (Table 1). In an initial effort to detect these printer errors before wristbands were placed into service, a thick black line was printed beneath the bar codes (Fig. 1A). This black line also served to alert staff regarding the need for printer repair. The wristband bar code orientation has since been changed in our institution such that voids generated by defective print heads run perpendicular, rather than parallel, to the bar code bars, to further minimize this risk (Fig. 1B).
Increasing bar code widths should theoretically reduce the risk of misreads due to printer defects by decreasing the defect-to-W ratio. This also holds true for reducing the likelihood of bar code scanner errors caused by postprinting damage, such as bar code scratches. Nevertheless, unexpectedly high substitution error rates were observed with the longer 25-mm bar codes (maximum error rate = 80.0%) (Table 2). Failure to control for bar code scanner resolution specifications was identified as a potential explanation. The scanner's spot size (width of the tightly focused laser beam used to interrogate the bar code or, in the case of a CCD scanner, the width of the aperture used to collect the light reflected from the bar code) (4) and W should be synchronized to minimize the potential for misreads. On the basis of spot size, the RACG and Metrologic scanners have recommended minimum W values of 0.173 mm (6.8 mils) and 0.127 mm (5 mils), respectively. However, when the scanner spot size is considerably smaller than the bar code's W (W = 0.248 mm for the 25-mm bar codes), extraneous specks and voids may be more likely to be misinterpreted as additional bars or spaces (4). After reprinting the bar codes to control for printing defects and damage, the frequency of substitution errors for the longer 25-mm control bar codes (W = 0.248) was much lower than for the 13-mm bar codes, with only 1 error observed for all 25-mm control bar code–scanner combinations.
Substitution errors observed for the 13-mm control bar codes (Table 3) were also thought to be attributed to bar code scanner resolution specification mismatches. The 13-mm bar codes (W = 0.129 mm) exceeded the resolving power of the RACG (minimum W = 0.173), likely contributing to the discrepant error rates observed for the 2 laser scanners for both the defective and control 13-mm bar codes (Tables 2 and 3, respectively). All defective bar codes were reprinted in a width closer to the resolution requirements of the 2 laser scanners (17 mm), and no substitution errors were observed (Table 3). We are currently working to determine an enterprise-wide uniform bar code width meeting the resolution requirements of all currently used bedside scanners that will be used across all affiliated institutions.
Bar code scanners are often designed to decode a variety of bar code symbologies. The substitution errors in which an incorrect number of numerical digits were generated suggest that the scanners incorrectly interpreted those bar codes (bar codes 2, 6, and 10 in Table 1) as non-Code 128C symbologies. This source of error could be eliminated by restricting bar code scanners to read only a single bar code symbology or a fixed number of digits. However, some bar code scanners do not offer this functionality. This is an important consideration when selecting bar code scanners. Our middleware and laboratory information system require a 12-digit identifier to electronically file laboratory results to a medical record, thus limiting the patient safety threat of these types of errors.
Bar code technology has enhanced patient care by increasing the speed and accuracy of data entry in many healthcare applications. However, we demonstrate that linear bar codes are not failsafe and that misreads can occur because of printing defects, lack of adequate error detection in bar code symbology algorithms, and/or opto-mechanical acquisition systems. Code 128C, the current healthcare standard for bar code symbology, has a total of 102 possible CkChr. This number of possible CkChr is quite low compared with newer bar code symbologies. Incorrectly decoded numbers therefore have a higher risk of generating the same CkChr as the one that was intended. Code 128C has a generally accepted but estimated substitution error rate between 1 in 2.7 million and 1 in 37 million. At our institution, we perform an average of 70 000 POCT glucose readings per month (average 840 000 per year). In one 12-month period, we identified 10 bar codes that generated substitution errors on at least 1 occasion. On the basis of this finding, we estimate at least 1 substitution error in 84 000 bar code scans. There were a number of issues that contributed to these errors in our case and clearly affected our estimated error rate for Code 128 symbology. Printing defects, lack of adequate error detection in bar code symbology algorithms, failure to control for scanner resolution specifications, bar code orientation, and bar code width all appeared to have contributed in part to the bar code decoding errors reported herein. In this instance, misprinted patient wristband bar codes generated incorrect patient identification numbers, preventing filing of associated POCT glucose results. In the worst case, these misidentified results could have been transmitted to the incorrect patient medical record.
For manual patient identification, our institution requires that 2 unique patient identifiers be applied and used on all specimen containers and patient armbands. Contrary to this practice, linear bar codes generally contain only 1 patient identifier in the payload because of space limitations on most wristbands, labels, and other identifying material, since linear (1-dimensional) bar code symbology is space-intensive relative to newer bar code technologies. In this case, if 2 identifiers had been encoded into the bar code, the likelihood that the scanners would have incorrectly read and accepted the wrong patient information would have been greatly reduced. If the bar code scanner read and accepted the wrong data, the middleware system should have flagged the information as incorrect when both identifiers did not match a single patient record.
All quality practices are fundamentally challenged by the limitations of the bar coding technology currently accepted as the standard for healthcare (3). Increases in healthcare workload are driving more providers to bar code technology, and the errors we have discovered have profound implications not only for POCT, but also for bar coded medication administration (2, 7–11), transfusion recipient certification systems (12–18), and other areas where errors can be life-threatening. Advances in bar code technology have led to the development of 2-dimensional (including matrix) bar codes. These bar codes have much higher data density (allowing for more than 1 patient identifier in the bar code), more rigorous error checking, and higher tolerance for printer failures and damage compared with linear bar codes (19, 20). Adopting these new symbologies will require endorsement from healthcare standards groups to drive vendors to undergo the expense of upgrading their systems. Ultimately, healthcare device manufacturers should adopt more robust and higher fidelity alternatives to linear bar code symbologies for patient safety.
The authors wish to recognize the invaluable contribution of Dr. James Wiseman, for assisting with statistical analysis, and of Dr. Ulysses G.J. Balis, for providing bar code technology expertise.
↵4 Nonstandard abbreviations:
- point-of-care testing;
- check character;
- Roche ACCU-CHEK glucometer;
- charge-coupled device/light-emitting diode;
- check sum.
Author Contributions: All authors confirmed they have contributed to the intellectual content of this paper and have met the following 3 requirements: (a) significant contributions to the conception and design, acquisition of data, or analysis and interpretation of data; (b) drafting or revising the article for intellectual content; and (c) final approval of the published article.
Authors' Disclosures of Potential Conflicts of Interest: No authors declared any potential conflicts of interest.
Role of Sponsor: The funding organizations played a direct role in the design of study, choice of enrolled patients, review and interpretation of data, and preparation and final approval of manuscript.
- Received for publication May 18, 2010.
- Accepted for publication July 16, 2010.
- © 2010 The American Association for Clinical Chemistry