Two pass verification
Two-pass verification, also called double data entry, is a data entry quality control method that was originally employed when data records were entered onto sequential 80-column Hollerith cards with a keypunch. In the first pass through a set of records, the data keystrokes were entered onto each card as the data entry operator typed them. On the second pass through the batch, an operator at a separate machine, called a verifier, entered the same data. The verifier compared the second operator's keystrokes with the contents of the original card. If there were no differences, a verification notch was punched on the right edge of the card.
The IBM 056 and 059 Card Verifiers were companion machines to the IBM 026 and 029 keypunches, respectively. The later IBM 129 keypunch also could operate as a verifier. In that mode, it read a completed card (record) and loaded the 80 keystrokes into a buffer. A data entry operator reentered the record and the keypunch compared the new keystrokes with those loaded into the buffer. If a discrepancy occurred the operator was given a chance to reenter that keystroke and ultimately overwrite the entry in the buffer. If all keystrokes matched the original card, it was passed through and received a verification punch. If corrections were required, then the operator was prompted to discard the original card and insert a fresh card on which corrected keystrokes were typed. The corrected record (card) was passed through and received a corrected verification punch.
While this method of quality control clearly is not proof against systematic errors or operator misread entries from a source document, it is very useful in catching and correcting random miskeyed strokes which occur even with experienced data entry operators. However, it proved to be a fatally tragic flaw in the Therac 25 incident. This method has survived the keypunch and is available in some currently available data entry programs (e.g. PSPP/SPSS Data Entry). At least one study suggests that single-pass data entry with range checks and skip rules approaches the reliability of two-pass data entry; however, it is desirable to implement both systems in a data entry application.