Need to obtain XSD for result set.
Correct statements about AQL 'being for EHR' to be broader (i.e. will work for demographics)
Example population queries for demographics
Also - need to query across EHR and Demographics together; is this embedded queries?
HF: what does conformance def look like for AQL? Be careful of extensions.
HF/TB: related: need the concept of Post in demographics
Cartesian problem / permutation explosion - need semantics defined (refer to Seref Arikan analysis)
Related: Ian - want to be able to say things like '40 kg' rather than 2 paths.
BN:
HF: in fact we do EHR CONTAINS COMPOSITION (probably take out 'EHR CONTAINs'? to get consistency); but: EHR => compositions etc is logical containment
could we have an 'IN' operator to cover all logical 'containment'?
Ian:
Link depth issue.
TB: need marked up Ref Model to indicate what links to follow.
Pablo: if we want to state conditions (e.g. Contains / Where) on LINK targets - it's a nested sub-query
Birger:
Bostjan: - keep AQL parser and processor simpler - potentially implement via params in service interface
Birger - counter-argument - lose semantic integrity of queries if broken up via API params
Ian: harder to sell AQL if aggregate operators like SUM, UNION, are in AQL
Erik: maybe consider meta-land to wrap AQL statements
Birger: ?analytics specific flavour of AQL
Iago: no good way to do patient subsetting for GDL; need AQL subsetting to be efficient
Bjorn: best way to define set in pop queries, esp for use in GDL
TB: model of optimisation / efficiency of AQL
Birger: could imagine EHR persistence impls that are optimised for analytics.
Question of UPDATE and DELETE i.e. modifying AQL statements as per SQL
Birger: in terms of mindshare - potential users of AQL see AQL as deficient
HF: keep it simple
Sebastian Iancu: want to generate an on-the-fly return structure e.g.
SELECT FROM ... e/data[at0003]/items[at0004]/items[at0005] as Hashmap( /name/value as Key, /value as Object( /magnitude as Magn, /units as Units ) ) FROM COMPOSITION c |
Birger: better to do post-processing to achieve this result.
Sebastian: could apply to UPDATE as well.
Possible ways to do this: GraphQL?
MS etc has e.g . JSON export of SQL results.
Bjorn: 'APL' - AQL Processing Language: need a processing pipeline concept
Erik: would be easy to add a post-processing script to run after a Query execute in REST API; can use more 'types', i.e. 'aql', 'aql-in-xquery' or whatever