1. A method for retrieving query results comprising: receiving, at a first device coupled to a network, an abstract query from a requesting entity, wherein the abstract query comprises one or more logical fields defined in a first data abstraction model comprising a plurality of first logical field definitions mapping to physical fields of a first database; wherein the one or more logical fields in the abstract query each have a respective concept code relating corresponding logical field definitions of a plurality of data abstraction models including the first data abstraction model, a second data abstraction model and a third data abstraction model, the second data abstraction model being resident on the first device and comprising a plurality of second logical field definitions mapping to physical fields of a second database; modifying the abstract query to include one or more of the second logical field definitions from the second data abstraction model based on the respective concept codes; issuing the modified abstract query against the second database to retrieve a first set of results for the modified abstract query; sending the abstract query to at least one second device coupled to the network, the second device comprising the third data abstraction model comprising a plurality of third logical field definitions mapping to physical fields of a third database, wherein the first, second and third data abstraction models, and their respective logical field definitions, are distinct from one another, and wherein the second device is configured to modify the abstract query to include one or more of the third logical field definitions from the third data abstraction model based on the respective concept codes; receiving a second set of results for the abstract query from the at least one second device; and providing the first and second set of results to the requesting entity.