Patent ID: 7801878

Claim:
A computer-implemented method of matching a data record with one of a plurality of reference records in a system, the computer-implemented method embodied as executable computer program instructions stored on a computer-readable medium that, when executed by a processor in a computer, match the data record with one of the plurality of reference records, the computer-implemented method comprising: (A) receiving the data record in to a memory in the computer via an I/O adaptor; (B) retrieving a reference record from the plurality of reference records that is closest to the received data record, using an indexing tree that combines all field-level distances with secondary indexing and a best-first search algorithm for identifying matches between the received data record and the reference record and conditionally reconciling data within the received data record with data in the reference record, and then calculating an application-specific, predefined distance between the received data record and the retrieved reference record; and (C) determining that the reference record approximately and sufficiently for the specific application, matches the received data record, if the calculated distance is less than or equal to a selectable application-specific threshold, wherein the reference record is determined to exactly match the received data record when the calculated distance is zero; repeating steps (B) and (C) until a reference record is determined to either exactly match the received data record, or until a predetermined maximum number of reference records have been determined to approximately match the received data record; (D) ranking from closest to farthest the reference records that were determined to approximately match the received data record by the calculated distance; (E) if only one reference record is found that exactly matches the received data record, performing automatic processing on the exact matching reference record and the received data record and outputting a result of the automatic processing; and (F) if only one reference record is determined to be ranked as a top approximate match for the received data record, and if the top-ranked approximately matching reference record is within a predefined automatic processing threshold defining what is close enough, performing the automatic processing on the reference record and the received data record and outputting a result of the automatic processing, wherein if no reference records are determined to exactly match the received data record, and no reference records are determined to approximately match the received data record, storing the received data record as a persistent query.