Re: usage of templates in AQL
Hi Georg, There is no direct connection between AQL and templates. What do I need to know about the data model structures of the templates potentially containing this archetype ? Nothing - you can use the CONTAINS statement to find your candidate archetype regardless of the enclosing composition/ template When there are multiple templates that contain this archetypes, will they all be found by this query, no matter where the archetype is contained in their structure? Yes, as above How can I constrain my query so that I only get those of a specific template ? The templateID is carried in the parent composition (optionally though not normally at entry level) select a_a, a/name/value, a/archetype_details/template_id/value from EHR e contains COMPOSITION a contains EVALUATION a_a[openEHR-EHR-EVALUATION.problem_diagnosis.v1] where a/archetype_details/template_id/value ='My lovely template' Do templates have to be specifically mentioned in the queries or are they handled as if they were archetypes as well ? No - you can ignore the templateId - templates are just 'design-time recipes' - the name of the recipe ids carried in the ''archetype_details/template_id/value' attribute but otherwise this is just pure archetypes. How could I change my query so that (when I receive results from different template types) that I also get the surrounding information in which template my archetype has been found in select a, a_a, a/name/value, a/archetype_details/template_id/value from EHR e contains COMPOSITION a contains EVALUATION a_a[openEHR-EHR-EVALUATION.problem_diagnosis.v1] where a/archetype_details/template_id/value ='My lovely template' In that example 'a' will return the whole containing composition - you probably do not want to do that but you get the idea. Ian Dr Ian McNicoll mobile +44 (0)775 209 7859 office +44 (0)1536 414994 skype: ianmcnicoll email: i...@freshehr.com twitter: @ianmcnicoll Director, freshEHR Clinical Informatics Ltd. CCIO inidus Ltd. i...@inidus.com Co-Chair, openEHR Foundation ian.mcnic...@openehr.org Hon. Senior Research Associate, CHIME, UCL On Mon, 16 Sep 2019 at 12:52, Georg Fette wrote: > Hello, > I have some question related to the coupling of AQL and templates: > Imagine I want to write an AQL query containing a certain archetype and > that archetype is used in multiple templates in the openEHR system. > What do I need to know about the data model structures of the templates > potentially containing this archetype ? > When there are multiple templates that contain this archetypes, will > they all be found by this query, no matter where the archetype is > contained in their structure? > How can I constrain my query so that I only get those of a specific > template ? > Do templates have to be specifically mentioned in the queries or are > they handled as if they were archetypes as well ? > How could I change my query so that (when I receive results from > different template types) that I also get the surrounding information in > which template my archetype has been found in ? > Greetings > Georg > > -- > - > Dipl.-Inf. Georg Fette Raum: B001 > Universität WürzburgTel.: +49-(0)931-31-85516 > Am Hubland Fax.: +49-(0)931-31-86732 > 97074 Würzburg mail: georg.fe...@uni-wuerzburg.de > - > > > ___ > openEHR-technical mailing list > openEHR-technical@lists.openehr.org > > http://lists.openehr.org/mailman/listinfo/openehr-technical_lists.openehr.org > ___ openEHR-technical mailing list openEHR-technical@lists.openehr.org http://lists.openehr.org/mailman/listinfo/openehr-technical_lists.openehr.org
Re: usage of templates in AQL
The short answer is that you don't have to care at all about the templates that were used. This is one of the fundamental advantages of openEHR - the query will find your blood sugars no matter what application, screen or form was used to capture it.What you need to know is what kind of Entry and what archetype e.g. Observation (actual glucose measurement), Evaluation.glucose_target (a target) ans so on. You might also want to specify what Composition type, e.g. Only Lab reports containing glucose, and not Device-recorded etc.Its all about the semantics. - thomas On 16 Sep 2019 12:52, Georg Fette wrote:Hello, I have some question related to the coupling of AQL and templates: Imagine I want to write an AQL query containing a certain archetype and that archetype is used in multiple templates in the openEHR system. What do I need to know about the data model structures of the templates potentially containing this archetype ? When there are multiple templates that contain this archetypes, will they all be found by this query, no matter where the archetype is contained in their structure? How can I constrain my query so that I only get those of a specific template ? Do templates have to be specifically mentioned in the queries or are they handled as if they were archetypes as well ? How could I change my query so that (when I receive results from different template types) that I also get the surrounding information in which template my archetype has been found in ? Greetings Georg -- - Dipl.-Inf. Georg Fette Raum: B001 Universität Würzburg Tel.: +49-(0)931-31-85516 Am Hubland Fax.: +49-(0)931-31-86732 97074 Würzburg mail: georg.fe...@uni-wuerzburg.de - ___ openEHR-technical mailing list openEHR-technical@lists.openehr.org http://lists.openehr.org/mailman/listinfo/openehr-technical_lists.openehr.org ___ openEHR-technical mailing list openEHR-technical@lists.openehr.org http://lists.openehr.org/mailman/listinfo/openehr-technical_lists.openehr.org
Re: usage of templates in AQL
Thanks for the answers. Is a template apart from being a container which aggregates archetypes, a semi-definition or a derivation of an archetype ? The .oet template definitions always state a derivation from a an existing archetype (archetype_id="openEHR-EHR-COMPOSITION.report.v1"), and the type from which this archetype is inherited from (xsi:type="COMPOSITION"). So when I query with AQL for this archetype I should find those templates, is that correct ? Greetings Georg -- - Dipl.-Inf. Georg Fette Raum: B001 Universität WürzburgTel.: +49-(0)931-31-85516 Am Hubland Fax.: +49-(0)931-31-86732 97074 Würzburg mail: georg.fe...@uni-wuerzburg.de - ___ openEHR-technical mailing list openEHR-technical@lists.openehr.org http://lists.openehr.org/mailman/listinfo/openehr-technical_lists.openehr.org
Re: usage of templates in AQL
Hi Georg, You don't find the templates as such, you find compositions committed against those templates definitions. Templates are just definitions of how to aggregate archetypes to meet a specific use-case. It is the composition instance that is committed and queried against. The data within that instance is tagged to show which archetype was used to define the data structure, and which overall template was used, but you are not really querying archetypes or templates, you are querying openEHR instance data marked-up to show how those data structures were defined and arranged - that mark-up is what allows you to use the template and archetypes to figure out how to query the data. Ian Dr Ian McNicoll mobile +44 (0)775 209 7859 office +44 (0)1536 414994 skype: ianmcnicoll email: i...@freshehr.com twitter: @ianmcnicoll Director, freshEHR Clinical Informatics Ltd. CCIO inidus Ltd. i...@inidus.com Co-Chair, openEHR Foundation ian.mcnic...@openehr.org Hon. Senior Research Associate, CHIME, UCL On Tue, 17 Sep 2019 at 11:21, Georg Fette wrote: > Thanks for the answers. > > Is a template apart from being a container which aggregates archetypes, > a semi-definition or a derivation of an archetype ? The .oet template > definitions always state a derivation from a an existing archetype > (archetype_id="openEHR-EHR-COMPOSITION.report.v1"), and the type from > which this archetype is inherited from (xsi:type="COMPOSITION"). > So when I query with AQL for this archetype I should find those > templates, is that correct ? > Greetings > Georg > > -- > - > Dipl.-Inf. Georg Fette Raum: B001 > Universität WürzburgTel.: +49-(0)931-31-85516 > Am Hubland Fax.: +49-(0)931-31-86732 > 97074 Würzburg mail: georg.fe...@uni-wuerzburg.de > - > > > ___ > openEHR-technical mailing list > openEHR-technical@lists.openehr.org > > http://lists.openehr.org/mailman/listinfo/openehr-technical_lists.openehr.org > ___ openEHR-technical mailing list openEHR-technical@lists.openehr.org http://lists.openehr.org/mailman/listinfo/openehr-technical_lists.openehr.org
Re: usage of templates in AQL
Ah, I understand. I just made the test to use the json_instance_generator of the CoboLabs openEHR Toolkit by creating an instance of one of my templates. The template name only appears in the archetype_details. The whole rest looks like a standard instance of the archetype the template is based on. When I have a system in which I have various templates for different kind of reports (e.g. echocardiography, anamnesis, etc.) and I would like to get all echocardiography data. Is it common practice to query using the archetype_details to identify the echocardiography reports, like you exemplified in your former answers ? Greetings Georg -- - Dipl.-Inf. Georg Fette Raum: B001 Universität WürzburgTel.: +49-(0)931-31-85516 Am Hubland Fax.: +49-(0)931-31-86732 97074 Würzburg mail: georg.fe...@uni-wuerzburg.de - ___ openEHR-technical mailing list openEHR-technical@lists.openehr.org http://lists.openehr.org/mailman/listinfo/openehr-technical_lists.openehr.org
Re: usage of templates in AQL
We are still working on Imaging but the current presumption is that we would use a generic Imaging Result archetype https://openehr.org/ckm/archetypes/1013.1.1494 which contains Examination result name and modality elements which we would query on to find 'Echocardiography' data. The exact use of Examination name and modality is likely to be somewhat dependent on local practice/ terminology use. Ian Dr Ian McNicoll mobile +44 (0)775 209 7859 office +44 (0)1536 414994 skype: ianmcnicoll email: i...@freshehr.com twitter: @ianmcnicoll Director, freshEHR Clinical Informatics Ltd. CCIO inidus Ltd. i...@inidus.com Co-Chair, openEHR Foundation ian.mcnic...@openehr.org Hon. Senior Research Associate, CHIME, UCL On Tue, 17 Sep 2019 at 11:54, Georg Fette wrote: > Ah, I understand. > I just made the test to use the json_instance_generator of the CoboLabs > openEHR Toolkit by creating an instance of one of my templates. The > template name only appears in the archetype_details. The whole rest > looks like a standard instance of the archetype the template is based on. > > When I have a system in which I have various templates for different > kind of reports (e.g. echocardiography, anamnesis, etc.) and I would > like to get all echocardiography data. Is it common practice to query > using the archetype_details to identify the echocardiography reports, > like you exemplified in your former answers ? > Greetings > Georg > > -- > - > Dipl.-Inf. Georg Fette Raum: B001 > Universität WürzburgTel.: +49-(0)931-31-85516 > Am Hubland Fax.: +49-(0)931-31-86732 > 97074 Würzburg mail: georg.fe...@uni-wuerzburg.de > - > > > ___ > openEHR-technical mailing list > openEHR-technical@lists.openehr.org > > http://lists.openehr.org/mailman/listinfo/openehr-technical_lists.openehr.org > ___ openEHR-technical mailing list openEHR-technical@lists.openehr.org http://lists.openehr.org/mailman/listinfo/openehr-technical_lists.openehr.org
Re: usage of templates in AQL
Hi Ian, Sorry, I did not mean specifically imaging data. What I meant was that all our templates are based on the archetype openEHR-EHR-COMPOSITION.report.v1. My question therefore was, if the only possibility to retrieve all data for a specific template type is by querying with something you described: select a from EHR e contains COMPOSITION a where a/archetype_details/template_id/value ='My lovely template' Greetings Georg -- - Dipl.-Inf. Georg Fette Raum: B001 Universität WürzburgTel.: +49-(0)931-31-85516 Am Hubland Fax.: +49-(0)931-31-86732 97074 Würzburg mail: georg.fe...@uni-wuerzburg.de - ___ openEHR-technical mailing list openEHR-technical@lists.openehr.org http://lists.openehr.org/mailman/listinfo/openehr-technical_lists.openehr.org
Re: usage of templates in AQL
Yes that works. It is also common to use the name/value attribute of the Composition root to identify a specific composition. Normally the name/value attribute of a templated Composition defaults to the underlying Composition archetype croot concept name e.g 'Bericht' but it can be renamed at template level and then queried select a from EHR e contains COMPOSITION a where a/name/value ='My local composition name' I have tended to use name/value but am coming round to using the templateId - both are valid. Ian Dr Ian McNicoll mobile +44 (0)775 209 7859 office +44 (0)1536 414994 skype: ianmcnicoll email: i...@freshehr.com twitter: @ianmcnicoll Director, freshEHR Clinical Informatics Ltd. CCIO inidus Ltd. i...@inidus.com Co-Chair, openEHR Foundation ian.mcnic...@openehr.org Hon. Senior Research Associate, CHIME, UCL On Tue, 17 Sep 2019 at 12:44, Georg Fette wrote: > Hi Ian, > Sorry, I did not mean specifically imaging data. > What I meant was that all our templates are based on the archetype > openEHR-EHR-COMPOSITION.report.v1. > My question therefore was, if the only possibility to retrieve all data > for a specific template type is by querying with something you described: > > select a > from EHR e contains COMPOSITION a > where a/archetype_details/template_id/value ='My lovely template' > > Greetings > Georg > > -- > - > Dipl.-Inf. Georg Fette Raum: B001 > Universität WürzburgTel.: +49-(0)931-31-85516 > Am Hubland Fax.: +49-(0)931-31-86732 > 97074 Würzburg mail: georg.fe...@uni-wuerzburg.de > - > > ___ > openEHR-technical mailing list > openEHR-technical@lists.openehr.org > > http://lists.openehr.org/mailman/listinfo/openehr-technical_lists.openehr.org > ___ openEHR-technical mailing list openEHR-technical@lists.openehr.org http://lists.openehr.org/mailman/listinfo/openehr-technical_lists.openehr.org
Re: usage of templates in AQL
There are a bunch of AQL examples at https://github.com/RippleOSI/Ripple-openEHR/tree/master/docs/bindings/Current%20Ripple%20Headings Ian Dr Ian McNicoll mobile +44 (0)775 209 7859 office +44 (0)1536 414994 skype: ianmcnicoll email: i...@freshehr.com twitter: @ianmcnicoll Director, freshEHR Clinical Informatics Ltd. CCIO inidus Ltd. i...@inidus.com Co-Chair, openEHR Foundation ian.mcnic...@openehr.org Hon. Senior Research Associate, CHIME, UCL On Tue, 17 Sep 2019 at 14:56, Ian McNicoll wrote: > Yes that works. It is also common to use the name/value attribute of the > Composition root to identify a specific composition. > Normally the name/value attribute of a templated Composition defaults to > the underlying Composition archetype croot concept name e.g 'Bericht' but > it can be renamed at template level and then queried > > select a > from EHR e contains COMPOSITION a > where a/name/value ='My local composition name' > > I have tended to use name/value but am coming round to using the templateId - > both are valid. > > Ian > > > > > > > Dr Ian McNicoll > mobile +44 (0)775 209 7859 > office +44 (0)1536 414994 > skype: ianmcnicoll > email: i...@freshehr.com > twitter: @ianmcnicoll > > > > Director, freshEHR Clinical Informatics Ltd. > CCIO inidus Ltd. i...@inidus.com > Co-Chair, openEHR Foundation ian.mcnic...@openehr.org > Hon. Senior Research Associate, CHIME, UCL > > > On Tue, 17 Sep 2019 at 12:44, Georg Fette > wrote: > >> Hi Ian, >> Sorry, I did not mean specifically imaging data. >> What I meant was that all our templates are based on the archetype >> openEHR-EHR-COMPOSITION.report.v1. >> My question therefore was, if the only possibility to retrieve all data >> for a specific template type is by querying with something you described: >> >> select a >> from EHR e contains COMPOSITION a >> where a/archetype_details/template_id/value ='My lovely template' >> >> Greetings >> Georg >> >> -- >> - >> Dipl.-Inf. Georg Fette Raum: B001 >> Universität WürzburgTel.: +49-(0)931-31-85516 >> Am Hubland Fax.: +49-(0)931-31-86732 >> 97074 Würzburg mail: georg.fe...@uni-wuerzburg.de >> - >> >> ___ >> openEHR-technical mailing list >> openEHR-technical@lists.openehr.org >> >> http://lists.openehr.org/mailman/listinfo/openehr-technical_lists.openehr.org >> > ___ openEHR-technical mailing list openEHR-technical@lists.openehr.org http://lists.openehr.org/mailman/listinfo/openehr-technical_lists.openehr.org