Configurable framework for storing and retrieving arbitrary information from a database
First Claim
1. A computer program, stored on a tangible computer-readable medium for storing a set of user answers, the computer program including executable instructions that cause a computer to:
- access a database that is characterized by a database schema, the database schema comprising;
at least one root comprising a root attribute;
one or more question nodes comprising a question attribute; and
one or more selection nodes comprising a selection type, the selection type indicating a location of a selection item;
one or more user encounter nodes; and
one or more user answer nodes;
wherein;
each root is associated with one or more predetermined encounters;
each root is linked to one or more of the question nodes;
one or more of the question nodes are linked to one or more of the selection nodes; and
each of the user answer nodes are linked to a user encounter node; and
execute a user interface, wherein the user interface is configured to;
initiate a user encounter node in the database;
select one or more first predetermined encounters;
for at least one of the first selected predetermined encounters;
for one or more roots associated with the first selected predetermined encounter;
for each question node associated with the root;
present the question attribute associated with the question node;
present the selection items associated with the selection nodes that are associated with the question node; and
receive a user selection; and
store the user selection as a first user answer in the database;
link the first user answer with the user encounter;
selecting one or more second predetermined encounters, based at least in part on a user selection received in response to a question attribute; and
for one or more of the second selected second predetermined encounters;
for one or more roots associated with the second predetermined encounter;
for each question node associated with the root;
present the question attribute associated with the question node;
receive a second user answer;
store the second user answer in the database; and
link the second user answer with the user encounter;
wherein the first user answer and second user answer have different data types.
1 Assignment
0 Petitions
Accused Products
Abstract
A system, apparatus and method are provided that enable the receipt of answers to questions from users and to make those answers persistent within a generalized database schema. A set of one or more middleware entities and components are provided to process the user'"'"'s answers that are submitted to the system. The middleware entities differentiate one user from another user by use of a session. Different sets of questions are grouped into encounters, and the answers to the questions for a particular encounter are given a unique identifier. The unique identifier can be used to identify the user and/or the particular encounter. The answers to the questions can be retrieved and viewed in numerous ways, such as by user, by encounter, by question, by question type, by answer, by answer type, etc. The selection of database schema and the structure of the middleware enables the system to handle any answer to any question without requiring the restructuring of the database or database schema.
-
Citations
20 Claims
-
1. A computer program, stored on a tangible computer-readable medium for storing a set of user answers, the computer program including executable instructions that cause a computer to:
-
access a database that is characterized by a database schema, the database schema comprising; at least one root comprising a root attribute; one or more question nodes comprising a question attribute; and one or more selection nodes comprising a selection type, the selection type indicating a location of a selection item; one or more user encounter nodes; and one or more user answer nodes; wherein; each root is associated with one or more predetermined encounters; each root is linked to one or more of the question nodes; one or more of the question nodes are linked to one or more of the selection nodes; and each of the user answer nodes are linked to a user encounter node; and execute a user interface, wherein the user interface is configured to; initiate a user encounter node in the database; select one or more first predetermined encounters; for at least one of the first selected predetermined encounters; for one or more roots associated with the first selected predetermined encounter; for each question node associated with the root;
present the question attribute associated with the question node;
present the selection items associated with the selection nodes that are associated with the question node; and
receive a user selection; and
store the user selection as a first user answer in the database;
link the first user answer with the user encounter;selecting one or more second predetermined encounters, based at least in part on a user selection received in response to a question attribute; and for one or more of the second selected second predetermined encounters; for one or more roots associated with the second predetermined encounter; for each question node associated with the root;
present the question attribute associated with the question node;
receive a second user answer;
store the second user answer in the database; and
link the second user answer with the user encounter;
wherein the first user answer and second user answer have different data types. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. An information handling system comprising:
-
one or more processors; a memory storing executable instructions that cause at least one of the one or more processors to; access a database that is characterized by a database schema, the database schema comprising; at least one root comprising a root attribute; one or more question nodes comprising a question attribute; and one or more selection nodes comprising a selection type, the selection type indicating a location of a selection item; one or more user encounter nodes; and one or more user answer nodes; wherein; each root is associated with one or more predetermined encounters; each root is linked to one or more of the question nodes; one or more of the question nodes are linked to one or more of the selection nodes; and each of the user answer nodes are linked to a user encounter node; and execute a user interface, wherein the user interface is configured to; initiate a user encounter node in the database; select one or more first predetermined encounters; for at least one of the first selected predetermined encounters; for one or more roots associated with the first selected predetermined encounter; for each question node associated with the root;
presenting the question attribute associated with the question node;
present the selection items associated with the selection nodes that are associated with the question node; and
receive a user selection; and
store the user selection as a first user answer in the database;
link the first user answer with the user encounter;selecting one or more second predetermined encounters, based at least in part on a user selection received in response to a question attribute; and for one or more of the second selected second predetermined encounters; for one or more roots associated with the second predetermined encounter; for each question node associated with the root;
present the question attribute associated with the question node;
receive a second user answer;
store the second user answer in the database; and
link the second user answer with the user encounter;
wherein the first user answer and second user answer have different data types.- View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A method for storing a set of user answers, comprising:
-
accessing a database that is characterized by a database schema, the database schema comprising; at least one root comprising a root attribute; one or more question nodes comprising a question attribute; and one or more selection nodes comprising a selection type, the selection type indicating a location of a selection item; one or more user encounter nodes; and one or more user answer nodes; wherein; each root is associated with one or more predetermined encounters; each root is linked to one or more of the question nodes; one or more of the question nodes are linked to one or more of the selection nodes; and each of the user answer nodes are linked to a user encounter node; and executing a user interface, wherein the user interface is configured to; initiate a user encounter node in the database; select one or more first predetermined encounters; for at least one of the first selected predetermined encounters; for one or more roots associated with the first selected predetermined encounter; for each question node associated with the root;
present the question attribute associated with the question node;
present the selection items associated with the selection nodes that are associated with the question node; and
receive a user selection; and
store the user selection as a first user answer in the database;
link the first user answer with the user encounter;selecting one or more second predetermined encounters, based at least in part on a user selection received in response to a question attribute; and for one or more of the second selected second predetermined encounters; for one or more roots associated with the second predetermined encounter; for each question node associated with the root;
present the question attribute associated with the question node;
receive a second user answer;
store the second user answer in the database; and
link the second user answer with the user encounter;
wherein the first user answer and second user answer have different data types.
-
Specification