Patent ID: 8386535

Claim:
One or more non-transitory machine-readable media storing instructions for processing scanned document data, wherein the instruction, when executed by one or more processors, cause: receiving, over a network, first scanned document data that represents a first printed form used by a first organization; analyzing the first scanned document data to identify a first plurality of fields reflected in the first printed form and to generate a first form template; storing the first form template in a form template repository; receiving second scanned document data that represents a second printed form used by a second organization that is different than the first organization; analyzing the second scanned document data to identify a second plurality of fields reflected in the second printed form and to generate a second form template that is different than the first form template; storing the second form template in the form template repository; receiving third scanned document data that represents a filled-out form and that has a value entered for at least one field of the filled-out form, that corresponds to a particular template, and that is used by a third organization that is different than the first and second organizations; determining which template, of a plurality of templates that are stored in the form template repository, matches the particular template, wherein the plurality of templates includes the first form template and the second form template; in response to determining that the first form template matches the particular template, causing a plurality of values reflected in the filled-out form to be extracted from the third scanned document data based on the first form template; causing the plurality of values to be stored in an extracted form database and to be stored in association with the third organization; receiving fourth scanned document data that represents a second filled-out form that corresponds to a second particular template and that is used by a fourth organization that is different than the third organization; determining which template, of the plurality of templates that are stored in the form template repository, matches the second particular template, wherein the plurality of templates includes the first form template and the second form template; in response to determining that the first form template matches the second particular template, causing a second plurality of values reflected in the second filled-out form to be extracted from the fourth scanned document data based on the first form template; and causing the second plurality of values to be stored in the extracted form database and to be stored in association with the fourth organization.