Table of Contents | ||||||
---|---|---|---|---|---|---|
|
Overview
Developer
Ocean Informatics. Team: Chunlan Ma MD, Heath Frankel, Thomas Beale
Overview
Existing Query Languages
Currently, the available query languages, such as SQL, XQuery, or Object-Oriented Query Language, have dependencies on particular system data structure and working environment. Users must know the persistence data structure of an EHR in order to write an appropriate query. The query statement cannot be used by other systems which have different data store. Consequently, none of the these languages meet the aforementioned requirements and none of these can be used directly as the query language required by integrated care EHRs
...
This is an example of a terminology URI:
...
EHR URI
to be continued...
...
- Find what data is required. The aforementioned scenario requires abnormal blood pressure values are returned, including both systolic pressure and diastolic pressure.
- Write the appropriate identified path to the required item (variable name is required if the class object is required). Multiple identified path is separated using comma. For this particular scenario, two identified paths are found for systolic and diastolic data value by following Step 2. The completed query statement looks like:
No Format SELECT obs/data[at0001]/events[at0006]/data[at0003]/items[at0004]/value/magnitude, obs/data[at0001]/events[at0006]/data[at0003]/items[at0005]/value/magnitude FROM EHR [ehr_id/value=$ehrUid] CONTAINS COMPOSITION [openEHR-EHR-COMPOSITION.encounter.v1] CONTAINS OBSERVATION obs [openEHR-EHR-OBSERVATION.blood_pressure.v1] WHERE obs/data[at0001]/events[at0006]/data[at0003]/items[at0004]/value/magnitude>= 140 OR obs/data[at0001]/events[at0006]/data[at0003]/items[at0005]/value/magnitude>= 90
Current status
AQL features
...
not yet supported in the Ocean Informatics AQL Parser
...
This is the list of all features that are not yet supported in the AQL Parser implemented by Ocean Informatics (Jun 2008):
- TOP
- Name alias
- Using boolean operators in FROM clause CONTAINS is not supported. For instance, the second and third example in CONTAINMENT are not supported.
- XOR, NOT boolean operators. Currently only AND, OR are supported in WHERE clause.
- All functions are not supported.
- Advanced operators
- ORDER BY
- TIMEWINDOW
AQL features that are proposed, but not finalised
Arithmetic functions
It has been proposed that AQL would support some basic arithmetic functions, such as addition , subtraction . Multiplication, and division may be supported as well. We do not have any scenario requiring for these two functions yet.
...
No Format |
---|
c1/context/other_context/items[at0006]/items[at0013]/value > current-date() - PIY |
Other functions
It is proposed that AQL may also support other functions, such as:
...