AQL queries

Currently you can get the paths from the Archetype workbench - path
view. See
http://www.openehr.org/svn/ref_impl_eiffel/TRUNK/apps/doc/adl_workbench_help.htm

- thomas beale

Oh oh, now I am more confused :slight_smile:

So looking at body weight node structure I would have parsed a path
that would have included AT0004 in it to identify the discrete weight
data element (as in mass) .

http://www.patientos.org/forum_temp/archetype.png

But the query path shown in the tool suggests that sometimes the
ATxxxx identifier is dropped - perhaps because it was a single item?

http://www.patientos.org/forum_temp/query_path.png

This is confirmed in the Java reference parser as it parses the ADL
and looking at the path property on the quantity it shows a path of

/data[at0002]/events[at0003]/data[at0001]/item[at0004]/value

which is very different.

This is tough because as I build out reusable clinical documentation
sections I was hoping to tag the data elements with the appropriate
codified elements - e.g. I can just add
source: LOINC code: 3141-9
source: SNOMED code: (concept id)

but to add
source: OpenEHR code:
openEHR-EHR-OBSERVATION.body_weight.v1/data[at0002]/events[at0003]/data[at0001]/item[at0004]/value

is going to be manual typing if the workbench is right or I will do it
with code if the java parser is right.

Greg Caulton wrote:

Currently you can get the paths from the Archetype workbench - path
view. See
http://www.openehr.org/svn/ref_impl_eiffel/TRUNK/apps/doc/adl_workbench_help.htm

- thomas beale
    
Oh oh, now I am more confused :slight_smile:

So looking at body weight node structure I would have parsed a path
that would have included AT0004 in it to identify the discrete weight
data element (as in mass) .

http://www.patientos.org/forum_temp/archetype.png

But the query path shown in the tool suggests that sometimes the
ATxxxx identifier is dropped - perhaps because it was a single item?

http://www.patientos.org/forum_temp/query_path.png

This is confirmed in the Java reference parser as it parses the ADL
and looking at the path property on the quantity it shows a path of

/data[at0002]/events[at0003]/data[at0001]/item[at0004]/value
  

this path identifies the same element as
/data/events[at0003]/data/item/value

When there is only one element under a single-valued attribute, the
[atcode] is not needed; this is not an openEHR specific thing, it is
standard Xpath. Some intermediate nodes currently have codes but do not
need them, such as HISTORY (at0002 node), the ITEM_SINGLE node (at0001)
- the codes don't add any more semantics than already in teh underlying
reference model (i.e. HISTORY is a 'history' and ITEM_LIST is a 'list').
However, ideally the Weight ELEMENT node (at0004) would retain its
at-code, because it is semantically significant.

This issue has not yet been properly discussed in openEHR, and I should
probably turn back on the more slavish mode of path generation, with all
the at-codes included. If you are not doing your documentation
absolutely immediately, you can use an updated form of the workbench
which I will release in the next few days (which has a lot of other
archetype checking implemented).

BTW, you can just do ctrl-C on rows in the workbench path list and paste
into another tool.

- thomas beale