Patent ID: 8271540

Claim:
A system on at least one computer having one or more processors, the system for conducting a survey questionnaire comprising: an Engine module, controlled by the one or more processors of the least one computer, for assembling a datamodel object used to conduct a survey questionnaire, said datamodel object including a question section and a rule section, the question section having a plurality of question objects each comprising a question, the rule section having a plurality of rule objects for determining which questions of the question objects to present and the order in which to present the questions; a programming interface controlled by the one or more processors of the least one computer, the programming interface coupled to the Engine module, the programming interface for defining the plurality of questions of the datamodel object, the programming interface further comprising a metadata viewer for allowing access to metadata while the plurality of questions and the rules are defined at the programming interface; a data storage module controlled by the one or more processors of the least one computer, the data storage module external from the Engine module, the data storage module for storing the datamodel object assembled by the Engine module, wherein the question objects are stored in a separate portion of the data storage module from the rule objects; the Engine module comprising a database object module for sharing data with the data storage module; and an interview interface coupled to the Engine module, the interview interface for presenting questions from the datamodel object stored on the external data storage module to an interview subject; wherein: the Engine module is for receiving, from the interview interface, a response to a question presented to the interview subject; the database object module is for storing, to the data storage module, the response of the interview subject received by the Engine module and response metadata associated with the response; and the Engine module is for outputting a subsequent question of the question objects from the data storage module to the interview interface, based on the rule objects and the responses of the interview subject stored in the data storage module.