1. A computer-readable storage medium containing a program which, when executed by a processor, performs operations for managing execution of an analysis routine on input data, the operations comprising: receiving input; receiving user-selection of an analysis routine for processing the received input; wherein the analysis routine is defined by at least one abstract rule set having one or more abstract rules each having a conditional statement and a consequential statement; wherein the consequential statement defines a particular recommendation that is returned when the conditional statement is satisfied; wherein the conditional statement and the consequential statement are defined using logical field definitions defined in an abstraction model that models underlying physical data, wherein the logical field definitions each specify at least a logical field name and an access method mapping the logical field name to corresponding underlying physical data; and executing the analysis routine on the received input, comprising: identifying all required inputs for each abstract rule of the analysis routine; determining whether the received input includes data for all required inputs; and if the received input does not include data for one or more of the required inputs, retrieving suitable data for the one or more of the required inputs from a database.