access on items in a cluster

2019-10-30 Thread Georg Fette

Hello,
I would like to typecheck AQL queries and have some problems doing that:
The items in a CLUSTER are of type ITEM. If I access 
myCluster/items[at0001]/value, is there any possibility to type-check 
the validity of this path without having the concrete archetype 
definition at hand? Just using the reference model isn't enough for this 
task, because ITEMs do not have a value-field.
How can (from an object oriented point of view) the values of the ITEMs 
be accessed without knowing if it is an ELEMENT ?
Why is there a distiguishment between ELEMENT, ITEM and CLUSTER at all ? 
If the fields "items" and "value" were already attached to the class 
ITEM it would be easier.

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: difference in expressability for archetype and template definitions

2019-10-12 Thread Georg Fette

so, ADL2 is used to define both archetypes as well as templates ?

--
-
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


name of language to define OPTs ?

2019-10-12 Thread Georg Fette

Hello,
What is the language name in which templates (OPT and OPT2) are defined ?
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


difference in expressability for archetype and template definitions

2019-10-12 Thread Georg Fette

Hello,
In what extends does the specification language for defining archetypes 
and the language for defining templates differ ?
Both take existing data models (RM types and archetypes) and constrain 
them as needed.
It is often said, that archetypes are used to recombine RM types and 
templates are used to recombine archetypes. But the slot mechanism 
within the archetype definition does as well allow archetypes 
recombination within archetypes. And the constraining that is done 
within templates could as well be done using the constraining mechanisms 
of archetype design.
Why are two specification languages needed ? And if one has elements 
that the other is missing, why can't those elements simply be included 
in the other, to reduce the amount of specification languages ?

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


information gain by "cardinality" ?

2019-10-11 Thread Georg Fette

Hello,
Constrained Container RM-Types can define a "cardinality" for their 
list/array fields and the contained types can define "occurrences" for 
themselves inside the array.
The summed max-"occurrences" may never surpass the max-"cardinality and 
the summed min-"occurrences" may never be less than the min-"cardinality".
The min-max-"occurrences" could perhaps even be calculated from the 
"occurrences".

What information gain does the "cardinality" provide ?
Or what is the usecase where a given "cardinality" is needed, because 
the information is not already given by the all "occurrences" ?

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: data element type from the RM

2019-10-10 Thread Georg Fette
But if the class is contained within a template instance only within 
some technical background information and it is not part of the 
reference model, how can a query mechanism like AQL use this information 
during query execution ?
How does an AQL query engine know that an archetype based on Composition 
is a Composition when this link is given in the RM-part of the 
serialized instance only within the archetype_id of the 
archetype_details ? From that it could deduced by using the background 
knowledge of the available archetype definitions that it is in fact a 
Composition. It would be easier if this would be directly included in 
the RM-part of a serialized Composition itself.

Or is the class type something one would assume as part of the RM ?
Greetings
Georg

--
-
Dipl.-Inf. Georg Fette  Raum: B009
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


data element type from the RM

2019-10-09 Thread Georg Fette

Hello,
Which is the field that stores the RM-model-type of data elements ? When 
I use the ocean instance generator the json contains a field called 
"@xsi:type", which contains this information. Where in the RM-model 
itself is this type-field defined ?

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


definition of custom fields in archetypes

2019-10-09 Thread Georg Fette

Hallo,
I have a question about the degree of freedom in defining archetypes:
Archetypes are not composed but rather specified by constraining the 
base classes from the reference model. Hence no new/custom field members 
can be definied in the definition of a new archetype but only the field 
members already existing in the base classes have to be used. So there 
will never be a path like


a/myField/myProperty/value

but always just something like

a/data/events/items/value

The same applies for the definition of templates.
Is this 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: API for adding data to an EHR

2019-09-27 Thread Georg Fette

ah, cool, that was what I was looking for. Thank you

Am 27.09.2019 um 13:52 schrieb Georg Fette:

Hello,
In which part of the openEHR API is the definition of how to add an 
instance of a template to an existing EHR ?
Something like "add  to EHR>" ?

Greetings
Georg



--
-
Dipl.-Inf. Georg Fette  Raum: B009
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


API for adding data to an EHR

2019-09-27 Thread Georg Fette

Hello,
In which part of the openEHR API is the definition of how to add an 
instance of a template to an existing EHR ?

Something like "add  to " ?
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


schema of .oet xml templates

2019-09-19 Thread Georg Fette

Hello,
In the international CKM in the template "Demo with hide-on-form.oet" 
there is a tag named "activityDescription". I thought that only a fixed 
set of tags (e.g. "Content", "Item", "Rule") are allowed in template 
definitions. This tag looks like is a field name of the archetypes 
"openEHR-EHR-INSTRUCTION.imaging.v1". If arbitrary field names are 
allowed in template definitions, can there be at all a fixed template 
xml schema definition ?

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

2019-09-17 Thread Georg Fette

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

2019-09-17 Thread Georg Fette

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

2019-09-17 Thread Georg Fette

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


usage of templates in AQL

2019-09-16 Thread Georg Fette

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


Re: openehr template specification questions

2019-09-16 Thread Georg Fette

Hi Thomas,
Thanks for the link.
The links on the page
https://specifications.openehr.org/releases/ITS-XML/latest/components/AM/OET/
are all dead. Some of them can be repaired by removing the OET from the url.
Greetings
Georg

Am 16.09.2019 um 13:06 schrieb Thomas Beale:


Georg,

if you go to the ITS page 
<https://specifications.openehr.org/releases/ITS/latest/index>, you 
can see links to most concrete formats you need. The XML format for 
AOM2 and OPT2 is there as well, which is the format for ADL2 
templates, since the latter are just a kind of archetype in ADL2. 
THese latter XML formats have not yet been used much, but the ADL 
workbench generates them (but doesn't read them). The ADL-designer 
and/or LinkEHR will read the XML formats for ADL 1.4 and .oet, but 
probably not (yet) ADL2-XML.


- thomas

On 16/09/2019 11:58, Georg Fette wrote:

Hello,
I am currently trying to learn the openEHR template format 
specification.
The first thing I did was looking at the specification page 
(https://specifications.openehr.org/), to see what template formats 
exist. On this page OPT1.4, OPT2 and AOM2 are listed as description 
laguages that somehow are related to templates. .oet is not listed on 
this page and I did not find a a formal definition of the 
xml-specification for .oet.

Is there somewhere a formal .oet specification ?
I read the pages linked to OPT1.4, OPT2 and AOM2 linked on the 
specification page.
The next thing I did was that I downloaded all templates from 
https://www.openehr.org/ckm/, https://arketyper.no/ckm/ and 
https://ckm.highmed.org/ckm/ using the bulk exports and tried to 
infer the specification from what I got from those three CKMs. Are 
the names of the tags simply the names of the archetype fields from 
the archetypes, enriched with  and  ?
The next thing I looked at were the .opt files. The CKMs can export 
those individually using the Ocean OPT components. Which format do 
those files correpont to, OPT1.4 or OPT2 ?
On the specification page 
https://specifications.openehr.org/releases/AM/latest/OPT2.html I did 
not find a specification for the XML-Format of .opts.

Is the .optx specification somewhere available ?
Is it possible with one of the available workbenches (perhaps even 
using a CKM) to transform the .opt-XML file into an .adl file ?

Greetings
Georg


--
Thomas Beale
Principal, Ars Semantica <http://www.arssemantica.com>
Consultant, ABD Project, Intermountain Healthcare 
<https://intermountainhealthcare.org/>
Management Board, Specifications Program Lead, openEHR Foundation 
<http://www.openehr.org>
Health IT blog <http://wolandscat.net/> | Culture blog 
<http://wolandsothercat.net/> | The Objective Stance 
<https://theobjectivestance.net/>


--
---------
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 template specification questions

2019-09-16 Thread Georg Fette

Hello,
I am currently trying to learn the openEHR template format specification.
The first thing I did was looking at the specification page 
(https://specifications.openehr.org/), to see what template formats 
exist. On this page OPT1.4, OPT2 and AOM2 are listed as description 
laguages that somehow are related to templates. .oet is not listed on 
this page and I did not find a a formal definition of the 
xml-specification for .oet.

Is there somewhere a formal .oet specification ?
I read the pages linked to OPT1.4, OPT2 and AOM2 linked on the 
specification page.
The next thing I did was that I downloaded all templates from 
https://www.openehr.org/ckm/, https://arketyper.no/ckm/ and 
https://ckm.highmed.org/ckm/ using the bulk exports and tried to infer 
the specification from what I got from those three CKMs. Are the names 
of the tags simply the names of the archetype fields from the 
archetypes, enriched with  and  ?
The next thing I looked at were the .opt files. The CKMs can export 
those individually using the Ocean OPT components. Which format do those 
files correpont to, OPT1.4 or OPT2 ?
On the specification page 
https://specifications.openehr.org/releases/AM/latest/OPT2.html I did 
not find a specification for the XML-Format of .opts.

Is the .optx specification somewhere available ?
Is it possible with one of the available workbenches (perhaps even using 
a CKM) to transform the .opt-XML file into an .adl file ?

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


templates in .oet and .opt

2019-09-06 Thread Georg Fette

Hi,
I am not yet very familiar with templates and I only recently started 
digging into the documentation.
One thing I encountered is the distiguishment between template (.oet) 
and operational templates (.opt).
I played a bit using the oceans-toolbox and transformed some .oets into 
.opts.
Although the oceans-toolbox seems not capable to reimport the exported 
.opts, it looks like both representations can be transformed into the 
other without loss of information. E.g. in the .opt some parts of the 
archetypes can be set to 0..0, but they still exist if needed to 
recreate the constrain that was used to model this 0..0 (which perhaps 
formerly was a 0..1).

So my questions are:
- Are the two representation really bidirectionally transformable into 
each other ?
- For which tasks is which representations mostly used for ? Is it 
correct to say that the former is more appropriate for modeling purposes 
and the latter more for technical processing.

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


usage of references to archetype instances in templates ?

2019-09-06 Thread Georg Fette

Hi,
Does openEHR contain the paradigm to reference instances of archetypes 
in template instances ? When I want to use an archetype instance in two 
different templates I have two possibilities, 1. to duplicate the data 
and store it in the serialized objects of both template instances or 2. 
to store the archetype instance once and reference it from within the 
template instances. The 2nd option would have the advantage that I could 
change the data of the archetype instance and both template instances 
immediately would point to correct data. Unfortunately the templates can 
constrain the archetype differently any change on an archetype instance 
would have to trigger a check on all references of this instance to 
ensure that all constaints on the used archetype are still met. This 
trigger mechanism doing those checks could be a bit complicated.
If such a reference mechanism is used in openEHR, where in the 
documentation is it specified ?

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: automatic demotion of lists in AQL ?

2019-05-06 Thread Georg Fette

Hi Seref,
Ok, thank you for the answer.
From that I and the other answers I would summarize that
"implicit iteration over lists in order to further process the elements"
is a paradigm that does actually exist in AQL.
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: automatic demotion of lists in AQL ?

2019-05-05 Thread Georg Fette

Hello,
In order to better understand the semantics of AQL I try to rephrase the 
problem I have:
Imagine an archetype "openEHR-EHR-CLUSTER.example.v1" that allows the 
multiple existence of a specific contained field:


definition
    CLUSTER[at] matches {
        items cardinality matches {0..*; unordered} matches {
            ELEMENT[at0001] occurrences matches {0..*} matches { value 
matches { DV_TEXT matches {*} } }

        }
    }

Is it allowed to constrain this archetype in the WHERE part by accessing 
the field within a path? :


SELECT e FROM EHR e CONSTAINS CLUSTER a[openEHR-EHR-CLUSTER.example.v1]
WHERE a/items[at0001]/value = 'test'

The problem I have with this query is that the path "a/items[at0001]" is 
a list, so it perhaps cannot be extended with "value", because a list 
does not have a field "value" but only the members of this list have 
this field.
An alternative to the query above would be to resolve the list in the 
FROM part by writing something like this:


SELECT e FROM EHR e CONSTAINS CLUSTER a[openEHR-EHR-CLUSTER.example.v1]
CONTAINS DV_TEXT b
WHERE b/value = 'test'

This would work in the above example, but would create further problems 
if there are further elements in parallel to ELEMENT[at0001] that as 
well contain DV_TEXTs and which would be matched as well by the 
alternative query.

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


AQL access of fields of potential subclasses or derived archetypes

2019-05-03 Thread Georg Fette

Hello,
I have a question the is a bit related to the discussion about the 
constraining of the ELEMENT type in the laboratory_analytes.
The current specification defines the field "ehr_status" of the class 
EHR with the type OBJECT_REF. In the AQL specification there is an 
example (chapter 3.7.2.3. NOT) that accesses this field with the 
assumption that the field is of type EHR_STATUS.
I have written a type checker for AQL queries, so I am now stumbling 
across queries that access fields of potential subclasses or derived 
archetypes.

Does/should the specification generally allow such a thing ?
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: automatic demotion of lists in AQL ?

2019-05-02 Thread Georg Fette

Hi Thomas,
I do not want to use the path element "items[at0001]" multiple times. 
What I mean is that in the query


SELECT a/items[at0001]/value
FROM EHR e CONTAINS CLUSTER 
a[openEHR-EHR-CLUSTER.laboratory_test_analyte.v1]


the path "a/items[at0001]" denotes a list of ELEMENT (min: 0, max: *). 
Thus the access to the field "value" of this list seems odd. But from 
the specification it seems that if I want to receive all values of all 
values of all elements this query is the correct query to make what I want.
To access all path leafs of all elements of such a list is therefore 
implicitely done.

Greetings
Georg

--
---------
Dipl.-Inf. Georg Fette  Raum: B009
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: constraining of laboratory_test_analyte Analyte result

2019-05-02 Thread Georg Fette

Hi Thomas,
It depends on what you mean with "specialise". I do not wish to create a 
new archetype but I rather would like to query existing instances of the 
openEHR-EHR-CLUSTER.laboratory_test_analyte.v1 archetype. From those 
instances I would like to query only this with specific attributes. One 
constraint I am able to define is to constrain the analyte name:


SELECT e
FROM EHR e CONTAINS CLUSTER 
a[openEHR-EHR-CLUSTER.laboratory_test_analyte.v1]

WHERE a/items[at0024]/value/value = 'Calcium'

But how can I manage to as well constrain the value ? The path 
openEHR-EHR-CLUSTER.laboratory_test_analyte.v1/items[at0001] is of the 
type ELEMENT, which has a DATA_VALUE for its field "value". The concrete 
instances of the analytes do have decendents of the DATA_VALUE type in 
the place for ELEMENT[at0001]/value, e.g. DV_QUANTITY. Is it possible to 
use paths to those concrete value types in the WHERE-paths, such like:


SELECT e
FROM EHR e CONTAINS CLUSTER 
a[openEHR-EHR-CLUSTER.laboratory_test_analyte.v1]
WHERE a/items[at0024]/value/value = 'Calcium' AND 
a/items[at0001]/value/magnitude > 100


From a type checking point of view, this is not allowed, because the 
data type at the path a/items[at0001]/value (which is DATA_VALUE) does 
not contain a field "magnitude". To make this work I would have to bind 
the value to the concrete type, with something like:


SELECT e
FROM EHR e CONTAINS CLUSTER 
a[openEHR-EHR-CLUSTER.laboratory_test_analyte.v1]

CONTAINS DV_QUANTITY b
WHERE a/items[at0024]/value/value = 'Calcium' AND a/items[at0001]/value 
= b and b/magnitude > 100


but I don't think this is allowed in AQL. I am not yet that fluent in 
AQL, so I could need a little help in this.

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: AQL questions

2019-04-30 Thread Georg Fette

Ah, thanks for the clarifications.
Greetings
Georg

--
-
Dipl.-Inf. Georg Fette  Raum: B009
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


constraining of laboratory_test_analyte Analyte result

2019-04-29 Thread Georg Fette

Hello,
How do I constrain the Analyte result of a laboratory_test_analyte.v1 ?
The Analyte result are defined as an ELEMENT that is only constrained by 
a node predicate (i.e. ELEMENT[at0001]). Therefore the results cannot be 
bound with a specialized type and an alias within the FROM part, as in 
the FROM part only archetypeID-predicates are allowed and no node 
predicates. As the result is defined with the abstract ELEMENT type, 
which has an abstract DATA_VALUE as its content, no paths can be defined 
that constrain specific aspects of subclasses of DATA_VALUE that are 
actually stored in the ELEMENT[at0001] field of the test_analyte.

How can this problem be resolved ?
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


AQL query for blood pressure from the AQL documentation

2019-04-29 Thread Georg Fette

Hello,
I have a problem with the interpretation of an AQL query from the AQL 
documentation. In section 6.3 the path to the value of the systolic 
blood pressure is

/data[at0001]/events[at0006]/data[at0003]/items[at0004]/value/value
The first part until
/data[at0001]/events[at0006]/data[at0003]/items[at0004]/value
denotes a DV_QUANTITY.
Where is the additional field 'value' of the type DV_QUANTITY defined ?
The class itself defines the fields 'magnitude', 'precision', 'units', 
'normal_range' and 'other_reference_ranges'. Its parent class DV_AMOUNT 
defines 'accurany_is_percent' and 'accuracy'. The next parent 
DV_QUANTIFIED defines 'magnitude_status' and again 'accuracy'. The next 
parent DV_ORDERED defines 'normal_status', 'normal_range' and again 
'other_reference_ranges'. The two parents of DV_ORDERED are DATA_VALUE 
and Ordered, both define no fields.
Has this field access to be 'magnitude' instead of 'value' or am I 
missing something ?

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


automatic demotion of lists in AQL ?

2019-04-26 Thread Georg Fette

Hello,
Is it allowed to use an element that is allowed to appear multiple times 
within a path ?

For example in the query

SELECT a/items[at0001]/value
    FROM EHR e
        CONTAINS CLUSTER a[openEHR-EHR-CLUSTER.laboratory_test_analyte.v1]

the field items[at0001] may appear 0..* times. Thus the access to the 
value field is not properly defined from a type checking point of view.
Does the AQL specification allow such constructs and how is this 
situation interpreted ?

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: AQL questions

2019-04-25 Thread Georg Fette

Hi Bjørn,
Thank you for your answers. They make me assume that the 
CONTAINS-operator is recursive because in your second query you ommited 
the part with "CONTAINS OBSERVATION 
o[openEHR-EHR-OBSERVATION.laboratory_test.v1]". Is this assumption 
correct ? This would make writing AQL a lot simpler.
Another assumption I have is that the predicate namespaces always relate 
to the aliased archetype the path they are used within starts with. In 
your first query you use at0001 and at0002 each two times but they seem 
to have different meanings.

Greetings
Georg

--
-
Dipl.-Inf. Georg Fette  Raum: B009
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


AQL questions

2019-04-25 Thread Georg Fette

Hello,
I have some problems concerning the formulation of an AQL query.
I would like to check a laboratory analyte within a laboratory test. The 
analyte should have "Calcium" as analyte name and I would like to 
receive all EHRs that contain the analyte as the query result.
The SELECT part seems easy, as I just want the EHRs, so this looks like 
this:


SELECT e

A problem I now have is about the nesting of the Archetypes. As the test 
is an OBSERVATION and an EHR contains only COMPOSITIONs, I wonder if I 
have to include a COMPOSITION in order to reach the tests. This would 
lead to a FROM part looking like this:


FROM EHR e
    CONTAINS COMPOSITION
        CONTAINS OBSERVATION 
b[openEHR-EHR-OBSERVATION.laboratory_test_result.v1]


The next problem I have is about the definition of the containment of 
the analyte in the FROM part or better in the WHERE part. The FROM part 
would require me to define the actual nesting structure of the 
test-OBSERVATION up to the analyte-CLUSTER. This would look like this:


FROM EHR e
    CONTAINS COMPOSITION
        CONTAINS OBSERVATION 
b[openEHR-EHR-OBSERVATION.laboratory_test_result.v1]

            CONTAINS HISTORY
                CONTAINS EVENT
                    CONTAINS ITEM_TREE
                        CONTAINS CLUSTER 
c[openEHR-EHR-CLUSTER.laboratory_test_analyte.v1]


This looks a bit bloated, so I think this should rather be moved to the 
WHERE part, which would look like this:


FROM EHR e
    CONTAINS COMPOSITION
        CONTAINS OBSERVATION 
b[openEHR-EHR-OBSERVATION.laboratory_test_result.v1]
WHERE 
b/data[at0001]/events[at0002]/data[at0003]/items[at0097]/items[at0024].value 
= 'Calcium'


In this WHERE path I am wondering about the necessity of the path part 
predicates (i.e. the [at...] parts). Are these predicates always 
necessary for every path part ? Or are they only necessary when the path 
part object would be ambiguous without the predicate (e.g. in the items 
of CLUSTERs or ITEM_LISTs) ?
Furthermore I wonder about the namespace from which the predicates are 
taken from. For the first part of the WHERE until the archetype slot is 
reached (i.e. b/data[at0001]/events[at0002]/data[at0003]/items[at0097]) 
the predicates are from the laboratory_test_result archetype. For the 
rest of the path (i.e. /items[at0024].value) the predicates are taken 
from the laboratory_test_analyte archetype. This switching of namespaces 
seems wrong, so I think I still have some misunderstanding of AQL 
concerning the predicates.


How would the correct query/queries look like ? Are there multiple valid 
alternatives to express my query using combinations of the approaches 
scetched above ?

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: serialization syntax of openEHR instance data

2019-02-22 Thread Georg Fette

Hello,
Thank you all. The .xsds are already very useful. And the Toolkit also 
looks beneficial for what I want to do.

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


serialization syntax of openEHR instance data

2019-02-21 Thread Georg Fette

Hello,
Is there a documentation of the syntax how openEHR EHR data is 
serialized ? I would be interested in a concrete example of an 
EHR-API-GET-call and the returned String in XML or JSON which can be 
used as transfer medium between applications or as a storage format. It 
would be beneficial if the example EHR would contain some commonly used 
archetypes and some usual demographics data.
I have taken a look at 
https://openehr.github.io/specifications-ITS-REST/ehr.html and at the 
"EHR Extract Information Model" but I haven't found something that 
satified me in this matter.

Greeting
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: openEHR on FHIR and vice versa

2018-12-14 Thread Georg Fette

Hi Diego,
Thank you. That profile worked.
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: openEHR on FHIR and vice versa

2018-12-14 Thread Georg Fette

Hi Diego,
I just tried to import with the LinkEHR studio via the Import->FHIR 
option this StructureDefinition :


{"resourceType":"StructureDefinition","id":"Test","name":"Test","type":"Test","baseDefinition":"http://hl7.org/fhir/StructureDefinition/DomainResource","snapshot":{"element":[{"id":"Test","path":"Test","min":0,"max":"*"}]}}

A dialog appeared, in which I could configure some import details. But 
after that nothing happed. Is there an example available, which shows 
what the FHIR import in LinkEHR is capable of ?

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 on FHIR and vice versa

2018-12-14 Thread Georg Fette

Hello,
I have just read the paper "Combining Archetypes with Fast Health 
Interoperability Resources in Future-proof Health Information Systems", 
in which the representation of openEHR archetypes as FHIR profiles is 
presented. As I am also trying to use this approach and I wonder if 
there are working and publicly available applications (possibly emerged 
from the above mentioned research) that use that approach ? I am 
especially interested in:
- transforming openEHR archetypes into FHIR profiles 
(StructureDefinitions) and storing them in a FHIR server.
- transforming FHIR profiles into openEHR archetypes and storing them in 
an openEHR server.
- transforming openEHR archetype instances into FHIR resources (Bundles) 
and storing them in a FHIR server.
- transforming FHIR resources into openEHR instances and storing them in 
an openEHR server.

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


use_node semantics

2018-12-12 Thread Georg Fette

Hello,
I am unsure about the semantics of the use_node keyword. Can the 
archetype branch that is attached at the place where use_node is 
mentioned be seen like when a preprocessor would paste the part of the 
referenced branch into the place where use_node is used ? In practice 
this could create problems when a recursive insertion of the referenced 
branch is inserted, but from a logical point of view is that 
interpretation correct ?
Is an archetype using use_node-branches equivalent to an archetypes in 
which the referenced branch have been explicitely pasted into the 
use_node places ?

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: Reference Model as Archetypes ?

2018-12-12 Thread Georg Fette

Hello,
In the LinkEHR files the archetypes for the "EHR Infomation Model" are 
contained (ACTION, CLUSTER, etc.). Are there also somewhere archetypes 
that describe the "Data Types Information Model" (e.g. DV_QUANTITY, 
DV_MEDIA, etc.).

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: Reference Model as Archetypes ?

2018-12-12 Thread Georg Fette

Hi Diego,
In the Archetypes contained in the LinkEHR files I am missing the 
subclasses that are subclassed by the root archetypes. In ACTION for 
example the subclass INSTRUCTION_DETAILS is used. This is used in the 
ACTION.adl file and it is parseable but I wonder if there is an 
INSTRUCTION_DETAILS.adl file somewhere, which possibly defines something 
that is not yet defined in the ACTION.adl file. Or can be assumed that 
the subclasses wherever they are mentioned are fully desribed at the 
places where they are introduced ?

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: Reference Model as Archetypes ?

2018-12-12 Thread Georg Fette

Hi Diego,
Yes, if you have a working parser for those archetypes that would be 
useful. The modified grammer would also be useful.

What are the copyright constraints on your parser and your grammmer file ?
I managed to get one of the archetypes parsed by lowercasing the 
language codes and removing all elements that include a recursive 
use_node statement.
Is the inability to parse use_nodes that reference a node upwards in the 
same branch of the element a bug in version 1.0.71 ?

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: Reference Model as Archetypes ?

2018-12-12 Thread Georg Fette

Hi Diego,
I just tried to parse the .adl files from LinkEHR and got several 
Exceptions. I currently use the adl-parser from 
org.openehr.java-libs_v_1.0.71.

Which parser can I use to parse those archetypes ?
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: Reference Model as Archetypes ?

2018-12-12 Thread Georg Fette

Hi Diego,
Thank you, that is exactly what I was looking for.
In the DEMOGRAPHICS and the EHR package there are 6 archetypes which 
have the same name but differ only in their full path name: CLUSTER, 
ELEMENT, ITEM_LIST, ITEM_SINGLE, ITEM_TABLE and ITEM_TREE. Why are they 
two versions of those archetypes with almost identical content ?

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


Reference Model as Archetypes ?

2018-12-11 Thread Georg Fette

Hello,
Is there somewere a machine readable definition available which 
describes the content of the openEHR Reference Model as Archetypes ?
The Reference Model classes should be expressable as Archetypes, 
shouldn't they ? At least concerning their logical data model. The 
methods they also possibly provide can hardly be expressed using Archetypes.

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: ADL specification question

2018-11-29 Thread Georg Fette



Hi Diego,
The items inside the CLUSTER look like this:

CLUSTER[at0001] matches {
  items cardinality matches {2..*; ordered} matches {
ELEMENT[at0002] matches {
  value matches {
DV_COUNT matches {*}
  }
}
ELEMENT[at0003] matches {
  value matches {
DV_TEXT matches {*}
  }
}
  }
}

It could be that I not yet fully understand ADL, therefore I would need to 
verify/falsify some assumptions I make:

- Both elements (at0002, at0003) have an implicit cardinality of "1..1" ?
- The keyword "ordered" just indicates that the items inside an instance of the 
cluster at0001 have to maintain the order in which they were defined. The order does not 
affect an enforced order of the types of the elements inside the cluster ?
- What is true?:
* The cluster at0001 may include the elements at0002 and at0003 in any order an 
unlimited amounts of them as long as the cluster includes at least 2 of them. The 
specification inside of at0001 just gives the set of possible elements that may appear as 
items of at0001. E.g. "at0003, at0003, at0002, at0003, ..."
* The cluster at0001 has to include at least 2 elements in the order given in the 
at0001 definition and the order may be repeat an unlimited amount of times, e.g. 
"at0002, at0003, at0002, at0003, ..."

Greetings
Georg


Hello Georg,

What (and how many) objects you have inside the items attribute?
Think the cardinality as the "vector" capacity, and inside you can put them
in order (depending on their occurrences, they may even not appear at all)

Regards

El jue., 29 nov. 2018 10:31, Georg Fette 
<http://lists.openehr.org/mailman/listinfo/openehr-technical_lists.openehr.org>>

>escribió:


Am 29.11.2018 um 10:30 schrieb Georg Fette:

Hello,
I have an archetype with a complex object derived of CLUSTER with
"items cardinality matches {2..*; ordered}"
and those two items are also defined inside the complex object.
I understand the semantics of this definition that both items always 
have to appear together inside the cluster but the package of those 
two items may appear any number of times.
Is it allowed for instances of this archetype to have an uneven number 
of items > 2 inside this cluster, because that would still suffice the 
restriction of having 2..* children. Or do the instances always have 
to have both elements as a package that are defined as items in this 
cluster.
As I am not the author of the archetype I do not completely understand 
how the definition has to be interpreted.

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


ADL specification question

2018-11-29 Thread Georg Fette

Hello,
I have an archetype with a complex object derived of CLUSTER with
"items cardinality matches {2..*; ordered}"
and those two items are also defined inside the complex object.
I understand the semantics of this definition that both items always 
have to appear together inside the cluster but the package of those two 
items may appear any number of times.
Is it allowed for instances of this archetype to have an uneven number 
of items > 2 inside this cluster, because that would still suffice the 
restriction of having 2..* children. Or do the instances always have to 
have both elements as a package that are defined as items in this cluster.
As I am not the author of the archetype I do not completely understand 
how the definition has to be interpreted.

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: Parsing of Archetypes/Templates

2018-11-12 Thread Georg Fette

Hi Peter,
The Archie-Toolkit looks promising.

I tried to parse one of the archetypes from the CKM (BloodPressure) and 
tried to parse the exported ADL. However, I got a Exception when trying 
this because the exported ADL does not seem to be parseable:

line 1:24 mismatched input '1.4' expecting VERSION_ID
line 2:1 mismatched input 'openEHR-EHR-OBSERVATION.blood_pressure.v1' 
expecting ARCHETYPE_HRID


With the exported XML and the try to unmarshal the XML with the JAXBUtil 
I also did not succeed. Is there somewhere a testcase were I can see a 
working example of a parsed ADL String ?


Greetings
Georg

Hello George,

If you are looking for something to handle ADL 2 archetypes - the most 
recent version -, have a look at https://github.com/opener/archie . It 
is a java library that can parse archetypes, flatten and validate  them, 
create operational templates and more.


Are you using the openehr reference model, or something else like fihr?

Although Archie can parse and serialize archetypes in XML, archetypes 
are usually stored as ADL. This is a custom more readable format. Of 
course you can then easily convert it to XML or Json to work with them 
in other tools where you do not have an ADL parser ready.


Note that for ADL 2 as far as I know there is no official XSD released 
yet, so it is possible you run into compatibility problems with XML. For 
ADL 1.4 this is not a problem.


Regards,

Pieter Bos

Am 12.11.2018 um 09:18 schrieb Georg Fette:

Hello,
For a project we want to create a generic mechanism to transform 
archetypes into FHIR Logical Models, so we can store, retrieve and 
query archetype instance with FHIR tools (CQL, FHIR-REST-API-query). 
At the moment we just want to read/write archetypes and not archetype 
instances. We are looking for existing components to parse and process 
archetypes. I have some questions I encountered related to these issues:
- I have found several projects that store openEHR-data (archetypes as 
well as archetype instances) into different data substrates (Neo4J, 
ARM (archetype relational mapping), EtherCIS). Although I have not yet 
looked at the code of these projects I assume that they take an 
archetype XML-file, parse it and thus create a runtime object of the 
archetype. That runtime object can then be given as a parameter to a 
persistence layer (e.g. JOOQ, Hibernate, etc.). In order to reuse 
something from already existing projects I am looking for a parser 
that creates a runtime object from an archetype-XML-String, so we can 
write our own components that transform it into a FHIR runtime object. 
The component we are looking for should preferably be written in Java, 
as this is our language of choice in our project.
- I am not ye sure if we are looking for a method to transform 
archetypes, templates or operational templates into FHIR related 
structures, as I am not yet that familiar with which data structure is 
preferably used for which kind of task. Therefore, component that, 
instead of archetypes, parse templates or operational templates would 
be appreciated as well.

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


Parsing of Archetypes/Templates

2018-11-12 Thread Georg Fette

Hello,
For a project we want to create a generic mechanism to transform 
archetypes into FHIR Logical Models, so we can store, retrieve and query 
archetype instance with FHIR tools (CQL, FHIR-REST-API-query). At the 
moment we just want to read/write archetypes and not archetype 
instances. We are looking for existing components to parse and process 
archetypes. I have some questions I encountered related to these issues:
- I have found several projects that store openEHR-data (archetypes as 
well as archetype instances) into different data substrates (Neo4J, ARM 
(archetype relational mapping), EtherCIS). Although I have not yet 
looked at the code of these projects I assume that they take an 
archetype XML-file, parse it and thus create a runtime object of the 
archetype. That runtime object can then be given as a parameter to a 
persistence layer (e.g. JOOQ, Hibernate, etc.). In order to reuse 
something from already existing projects I am looking for a parser that 
creates a runtime object from an archetype-XML-String, so we can write 
our own components that transform it into a FHIR runtime object. The 
component we are looking for should preferably be written in Java, as 
this is our language of choice in our project.
- I am not ye sure if we are looking for a method to transform 
archetypes, templates or operational templates into FHIR related 
structures, as I am not yet that familiar with which data structure is 
preferably used for which kind of task. Therefore, component that, 
instead of archetypes, parse templates or operational templates would be 
appreciated as well.

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


SHRINE for openEHR ?

2018-10-01 Thread Georg Fette

Hello,
Is there an equivalent to i2b2's SHRINE in the openEHR world ? SHRINE is 
a system that distributed an i2b2 query to a network of i2b2 
installations and aggregates the returned results.

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: Identifying archetype nodes in AQL via terminology code

2018-09-06 Thread Georg Fette

Ah, okay. Thank you.

Am 06.09.2018 um 10:33 schrieb Birger Haarbrandt:

Hi Georg,

currently, this is not possible directly using AQL. However, 
technically it is possible to make a look-up within all archetypes to 
automatically retrieve the elements (and their paths) that have a 
matching terminology-binding (for example to the snomed code for 
gender). This path could then be used within an AQL query which can 
use the code for "male". I actually was thinking about building such a 
tool within HiGHmed make analytics quers more convenient, though we 
are still searching for a developer.


Hope this answers your question,

Birger

--
*Birger Haarbrandt, M. Sc.
Peter L. Reichertz Institut for Medical Informatics (PLRI)
Technical University Braunschweig and Hannover Medical School
Software Architect HiGHmed Project *
Tel: +49 176 640 94 640, Fax: +49 531/391-9502
birger.haarbra...@plri.de
www.plri.de


Am 06.09.2018 um 10:21 schrieb Georg Fette:

Hello,
In AQL it is possible to constrain the value of a node to one of the 
codes that are allowed for that value (as specified in the respective 
archetype).
To find patients with gender (snomed-ct:248153007) male 
(snomed-ct:248153007) I could write something like this:


SELECT e FROMEHR e CONTAINSDEMOGRAPHICS d

WHERE d.items[at0017].value = 'snomed-ct:248153007'


Is it possible to identify the node of an archetype instead of its 
path parts (e.g. d.gender or d.items[at0017]) also with a terminology 
code, so the query would rather look like something like that:


SELECT e FROMEHR e CONTAINSDEMOGRAPHICS d

WHERE d.items['snomed-ct:263495000'].value = 'snomed-ct:248153007'


I am not very experienced with AQL so the queries are probably 
already syntactically wrong.

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






--
-
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


Identifying archetype nodes in AQL via terminology code

2018-09-06 Thread Georg Fette

Hello,
In AQL it is possible to constrain the value of a node to one of the 
codes that are allowed for that value (as specified in the respective 
archetype).
To find patients with gender (snomed-ct:248153007) male 
(snomed-ct:248153007) I could write something like this:


SELECT e FROMEHR e CONTAINSDEMOGRAPHICS d

WHERE d.items[at0017].value = 'snomed-ct:248153007'


Is it possible to identify the node of an archetype instead of its path 
parts (e.g. d.gender or d.items[at0017]) also with a terminology code, 
so the query would rather look like something like that:


SELECT e FROMEHR e CONTAINSDEMOGRAPHICS d

WHERE d.items['snomed-ct:263495000'].value = 'snomed-ct:248153007'


I am not very experienced with AQL so the queries are probably already 
syntactically wrong.

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


post-coordination in openEHR

2018-08-09 Thread Georg Fette

Hello,
Using terminology bindings it is posssible to bind terminology IDs of 
specific terminologies to archetypes as well as to their members. In the 
openEHR documentation it is written that there is no concept of 
post-coordination outside the terminology environment. What does that 
exactly mean ? When I have a post-coordinated expression, how do I use 
it within openEHR ? The linkage of an openEHR system to a potential 
terminology server is something that I do not yet unterstand very well.

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


Export via CDISC ODM or FHIR

2018-03-06 Thread Georg Fette

Hello,
Are there already ideas about a future export API of AQL queries that 
support an export in CDISC ODM or FHIR ? It would be nice to have an 
export format that could be immediately consumed by other systems 
supporting the same specifications. I am not yet that much into either 
topic (ODM as well as FHIR), therefore I do not yet see if the desire 
itself makes not sense or if there are serious problems that would 
hinder such exports.

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

repository of AQL queries ?

2018-02-20 Thread Georg Fette

Hallo,
Is there somewhere a repository of archived AQL queries ?
I could imagine that to be a bit problematic because the queries are 
always bound to their corresponding repository of archetypes.
An AQL-query-repository would be great as a source for examples when 
trying to learn AQL. It would also be a good resource for experiments 
and testcases, because real life queries often include aspects that 
other developers would never have thought of.

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: openEHR REST APIs - Release 0.9.0 / invitation for comments

2018-02-20 Thread Georg Fette

Hi Seref,
Thank you very much for your clarifications.
So, the SELECT in AQL works like a JOIN in SQL (or like the behavior of 
Xquery and Sparql with which I am not that much familar yet). This is 
something that should be better emphasized in the documentation. As you 
say that many people ask for a solution that creates concatenated facts 
in the same cell, I would assume that some people not only wish for this 
behavior but even assume it is indeed the actual behavior.

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: openEHR REST APIs - Release 0.9.0 / invitation for comments

2018-02-16 Thread Georg Fette

Hi Seref,
Quite some discussion you already had on this topic last year. The 
examples are a bit hard to grasp because of their complexity in size. 
Although they are not really that extremely complex but perhaps the 
problems should be discussed with the least complex examples as possible.


I would think it more understandable if it were explicitely described in 
the API documentation that all result data is generally encoded in JSON 
(with a link/reference to the corresponding reference model page). But 
that wouldn't be sufficient. The description of the encoding concerns 
not only how a single element is encoded but even more how collections 
are encoded. Those collections are not ITEM_LISTs or any other part of 
the reference model of openEHR because they are formed at the moment the 
query is executed. When in the example from the API the "uid"-member of 
"c" is assumed to be of the type ITEM_LIST (or any other collection 
type) and the member "value" of "uid" were a primitive, the requested 
column "c/uid/value" represents a collections although the "value"s 
themselves are primitves. This can't be handled with a generic 
object-serialization mechanism. The only object containing all desired 
"value"s is the parent "c" object. This could be generically serialized, 
but it isn't requested in the query. So there has to be an iteration 
over all "value"s,which can themselves be serialized, but all their 
resulting JSON-Strings would have to be concatenated (externally from 
the serializing mechanisms) and written to the same result cell. Or, 
when no concatenation is desired, some solution with something like a 
Cartesian product would be needed.


How do the commercial implementations of AQL like the software from 
Marand handle this stuff ?


Greetings
Georg

--
-----
Dipl.-Inf. Georg Fette  Raum: B009
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: openEHR REST APIs - Release 0.9.0 / invitation for comments

2018-02-15 Thread Georg Fette

Hello,
I have some questions on the explicit definition on how the result rows 
are returned in the query API:
1. In the example at 
https://www.openehr.org/releases/ITS/Release-0.9.0/docs/query.html#header-resultset-example 
there is one result row with one fact for each of the columns that were 
requested. Three of the columns contain primitves (i.e. Strings) but one 
column contains a JSON representation of an object. It is difficult to 
grasp from the example why some facts are returned as primitves and some 
as serialized JSON objects. It would be beneficial to see the 
corresponding archetype definitions in order to understand how different 
columns containing different parts of the archetypes are encoded.
2. When one of the columns contains a list of items in each cell 
(because the denoted data type is an ITEM_LIST), will the content of 
that cell be JSON serialized ? When a user requests all laboratory 
values (e.g. calcium measurements) for a specific patient, then a table 
would be returned. But instead of receiving the individual measurements 
in seperate columns so the result could be immediately processed in 
tools like Excel or SPSS, the data would have to be again crunched by 
another tool that makes a real table out of the table-JSON-compound.
2b. What happens when multiple columns can contain multiple values as 
their values. When every column containing multiple values (ITEM_LISTs) 
will be encoded with JSON and written to the same cell this will not be 
an issue. But when the multiple values are instead distributed over 
multiple cells (or rows) some mechanism has to be defined how to cope 
with the combination of two columns containing multiple values for one 
record. In SQL-JOINs this is handled with the Cartesian product of the 
sets of facts. But this bears the risk of combinatorial explosions when 
defining queries with too many columns containing too many values for 
each record.

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

AQL Parser

2018-02-15 Thread Georg Fette

Hello,
What is the best (comfortable, easiest to use, most often used, most 
interoperable, etc.) implementation of an AQL parser currently available ?
After some googleling I found a Git repository of JacSoyYo. 
Alternatively I could cut the parser from the EtherCIS-Server.
Currently I am only interested in a runtime object model of AQL queries 
so I do not need an interpreter engine.

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