1. A computer-implemented method comprising:
providing a database comprising healthcare information of a patient, the database administered on behalf of the patient by a third party rather than a healthcare provider;
providing an engine in communication with the database;
causing the healthcare information of the database to be changed via the engine by the patient or by an authorized representative of the patient; and
based upon the changed healthcare information, causing the engine to automatically communicate with the healthcare provider.
2. A method as in claim 1 wherein the engine is configured to automatically communicate an alert to the healthcare provider.
3. A method as in claim 1 wherein the engine is configured to automatically communicate the changed healthcare information to the healthcare provider.
4. A method as in claim 1 wherein the engine is configured to automatically communicate in response to polling.
5. A method as in claim 1 further comprising causing the healthcare information of the database to be additionally changed via the engine by the healthcare provider.
6. A method as in claim 1 further comprising causing the engine to communicate a reward to the patient in response to the changed healthcare information.
7. A non-transitory computer readable storage medium embodying a computer program for performing a method, said method comprising:
providing a database comprising healthcare information of a patient, the database administered on behalf of the patient by a third party rather than a healthcare provider;
providing an engine in communication with the database;
causing the healthcare information of the database to be changed via the engine by the patient or by an authorized representative of the patient; and
based upon the changed healthcare information, causing the engine to automatically communicate with the healthcare provider.
8. A non-transitory computer readable storage medium as in claim 7 wherein the engine is configured to automatically communicate an alert to the healthcare provider.
9. A non-transitory computer readable storage medium as in claim 7 wherein the engine is configured to automatically communicate the changed healthcare information to the healthcare provider.
10. A non-transitory computer readable storage medium as in claim 7 wherein the engine is configured to automatically communicate in response to polling.
11. A non-transitory computer readable storage medium as in claim 7 wherein the method further comprises causing the healthcare information of the database to be additionally changed via the engine by the healthcare provider.
12. A non-transitory computer readable storage medium as in claim 7 wherein the method further comprises causing the engine to communicate a reward to the patient in response to the changed healthcare information.
13. A computer system comprising:
one or more processors;
a software program, executable on said computer system, the software program configured to:
provide a database comprising healthcare information of a patient, the database administered on behalf of the patient by a third party rather than a healthcare provider;
provide an engine in communication with the database;
cause the healthcare information of the database to be changed via the engine by the patient or by an authorized representative of the patient; and
based upon the changed healthcare information, cause the engine to automatically communicate with the healthcare provider.
14. A computer system as in claim 13 wherein the engine is configured to automatically communicate an alert to the healthcare provider.
15. A computer system as in claim 13 wherein the engine is configured to automatically communicate the changed healthcare information to the healthcare provider.
16. A computer system as in claim 13 wherein the engine is configured to automatically communicate in response to polling.
17. A computer system as in claim 13 wherein the software program is further configured to cause the healthcare information of the database to be additionally changed via the engine by the healthcare provider.
18. A computer system as in claim 13 wherein the software program is further configured to cause the engine to communicate a reward to the patient in response to the changed healthcare information.
The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.
1. A method for modifying of a query that includes a JOIN clause, the method comprising:
determining whether one or more data structures in a JOIN clause of a query include a parentchild relationship;
responsive to determining that the one or more data structures in the JOIN clause of the query include a parentchild relationship, determining whether the query that includes the JOIN clause includes a filter applied on one or more data structures in the JOIN clause with an OR condition between filters; and
responsive to determining that the query that includes the JOIN clause does not include the filter applied on one or more data structures in the JOIN clause with an OR condition between filters, modifying the query that includes the JOIN clause to utilize relationship constructs corresponding to the determined parentchild relationship between the one or more data structures in the JOIN clause of the query.
2. The method of claim 1, further comprising:
sending the modified query to a system utilizing data relationship concepts.
3. The method of claim 1, wherein the determining whether the one or more data structures in the JOIN clause of the query include a parentchild relationship comprises:
accessing metadata corresponding to the data structures in the JOIN clause of the query; and
determining a parent data structure and a child data structure of the data structures in the JOIN clause of the query.
4. The method of claim 1, further comprising:
determining that the query that includes the JOIN clause does include a filter applied on one or more data structures in the JOIN clause with an OR condition between filters;
determining one or more child queries from the query that includes the JOIN clause; and
modifying each of the one or more child queries utilizing relationship constructs.
5. The method of claim 4, further comprising:
sending the one or more modified child queries to a system utilizing data relationship concepts;
receiving a result set corresponding to each of the one or more modified child queries from the system utilizing data relationship concepts; and
performing a UNION of received result sets corresponding to each of the one or more modified child queries.
6. The method of claim 1, wherein said modifying the query that includes the JOIN clause into a query utilizing relationship constructs, comprises:
modifying a SELECT clause of the query that includes the JOIN clause to utilize a child data structure to refer to a parent data structure;
modifying a FROM clause of the query that includes the JOIN clause to a name of the child data structure; and
adding a filter corresponding to the parent reference of the child data structure.
7. The method of claim 4, wherein said determining the one or more child queries from the query that includes the JOIN clause includes:
determining data structures and filters specified in OR condition of the query; and
generating a child query, for each data structure specified in OR condition of the query, wherein each generated child query includes one or more clauses of the query that includes the JOIN clause with a WHERE clause comprising filters corresponding to one data structure.
8. The method of claim 4, wherein said modifying each child query into a child query utilizing relationship constructs includes:
modifying a SELECT clause of the child query to utilize a child data structure to refer to a parent data structure;
modifying a FROM clause of the child query to a name of the child data structure; and
adding a filter corresponding to a parent reference of the child data structure.
9. The method of claim 1, wherein said determining whether one or more data structures in a JOIN clause of a query include a parentchild relationship, further comprise:
receiving a query that includes a JOIN clause that references at least two data structures; and
determining whether the at least two data structures referenced by the JOIN clause included in the received query include a parentchild relationship.
10. The method of claim 1, wherein the query is modified into a query utilizing relationship constructs prior to execution of the query or sending the query to a system for execution.