Dear Bert,

I'll try to answer your questions about LinkEHR and the decision we took
when the editor was developed. All these decisions are based on ADL & AOM
1.4 specifications, that are the ones implemented in both LinkEHR and the
Ocean archetype editor.

Your first question is about dealing with Domain Types. LinkEHR Editor is a
multireference model editor. That means that you can edit archetypes for
any reference model you import to it: openEHR, ISO EN 13606, HL7 CDA, CDISC
ODM, ASTM CCR, MML... From that perspective, we originally did not
incorporate specific features for just one standard. With regard to Domain
types, they are extensions to the standard ADL to facilitate
defining constraints over a few data types. At the 1.4 specifications they
are in fact introduced in a section called "Customising ADL". In the case
of openEHR, it incorporates domain types for DV_ORDINAL, DV_QUANTITY and
CODE_PHRASE.

When a domain type is found in LinkEHR, it cannot be edited at the
graphical editor but you can either go to ADL to modify it or right-click
at the node and select "Expand Domain Type". This option will automatically
convert the Domain Type into its canonical form that can be edited in
LinkEHR. In any case, we have recently implemented the specific support for
editing openEHR domain types at LinkEHR, but it has not yet included at the
published version.
On the other hand, should the Ocean archetype editor be able to edit the
canonical or standard form of those data types? In my opinion, clearly yes,
since it is pure ADL, but currently I think it is not supported there.

Now, your second question is about using node identifiers at the data types
level, and by extension, being able to add node descriptions to them.
Node_ids are used to identify nodes at the archetype definition tree and
also to add term definitions and term binding to them. In LinkEHR, every
node that is added has its own node_id.

>From the ADL specs: "Node identifiers are required for any object node
which is intended to be addressable elsewhere in the cADL text, or in the
runtime system and which would otherwise be ambiguous i.e. has sibling
nodes."

Our interpretation is that they are required in case of sibling nodes, but
it is not prohibited to use them at any other case. In other words, it is
not strictly necessary, but is is not incorrect either. Any ADL parser
should accept those node_id even if they afterwards ignore them for any
reason. In fact, there is a mismatch between this definition for node_ids
and the attribute "node_id" at the C_OBJECT class of the AOM, where it is
defined as a mandatory attribute. Something about this topic was already
discussed in the mailing list back in July 2008, but there were
no conclusions, I think:
http://lists.openehr.org/pipermail/openehr-technical_lists.openehr.org/2008-July/003948.html

Regards,
David


2012/6/23 Bert Verhees <bert.verhees at rosa.nl>

> Hi,
>
> I have some questions, I find hard to explain to my customers.
> See below.
>
> But first, I explain how I handle this problem, but I don't know if that
> is the best way.
> I always tell my customers to create archetypes in the LinkEHR editor, and
> if they want a C_DV_QUANTITY, create it by hand in a text-editor
> (because the LinkEHR editor does not offer dadl-code inside the
> definition, like the Ocean-editor tends to do in case of a DV_QUANTITY or
> DV_ORDINAL)
>
> It is a strange thing, because both, Diego Bosca, who is an important
> person inside the LinkEHR development, is often on this list.
> Also are the Ocean-developers of their Archetype-editor.
> There seems however no public discussion between the both approaches which
> seem incompatible.
>
> This is not very satisfying.
>
> Below I have the problems I find, worked out.
>
> Can someone please explain what is going on, and how I should explain this
> to people which have to work with archetypes.
>
> I was thinking of writing my own archetype-editor, which is not very hard,
> with all the published code available (thanks Rong)
> But I don't have time, coming months to do so.
>
> But if I would write one, this kind of problems would have been solved,
> that is for sure.
> I wonder, who's problem is it anyway?
>
> It is mine as developer on OpenEHR-kernel and working with customers.
>
> Thanks a lot
> Regards
> Bert Verhees
>
> ------------------------------**--
> The problem worked out
> ------------------------------**--
>
> The LinkEHR editor creates a DV_ORDINAL in ADL if an ORDINAL is wanted. It
> looks like this:
>
> DV_ORDINAL[at0015] occurrences matches {0..1} matches {  -- DV_ORDINAL
>                                                symbol existence matches
> {1..1} matches {*}
>                                                value existence matches
> {1..1} matches {1,2,3; 1}
>                                            }
>
> The OCEAN-editor creates a C_DV_ORDINAL which is empty in the definition
> but handles the constraint in the term-defitions
> ADL-part:
> C_DV_ORDINAL <
> >
> And in the term-definitions, it looks like this (it is under the NodeID
> from the parent ELEMENT)
> ["at0004"] = <
>                    description = <"*">
>                    a1 = <"een">
>                    text = <"New element">
>                    a2 = <"twee">
> >
> -----------------
> Both methods are in compatible to each other. Both archetype-editors do
> not open each others archetypes.
>
> This is very inconvenient.
>
> Another difference:
> The LinkEHR editor offers a NodeID on the DataValue inside the ELEMENT,
> giving the opportunity to give the data-value another description (in the
> term-definitions) then the ELEMENT has.
> The OCEAN does not offer this, but also does not accept archetypes made by
> the LinkEHR editor
> Even the most simple archetype created by the LinkEHR editor cannot be
> opened by the OCEAN editor.
>
> Like this snippet:
> definition
>    EVALUATION[at0000] occurrences matches {1..1} matches {  -- sda
>        data existence matches {1..1} matches {
>            ITEM_TREE[at0001] occurrences matches {0..1} matches {  --
> ITEM_TREE
>                items existence matches {0..1} cardinality matches {0..*;
> unordered; unique} matches {
>                    ELEMENT[at0002] occurrences matches {0..*} matches {
>  -- ELEMENT
>                        value existence matches {0..1} matches {
>                            DV_TEXT[at0003] occurrences matches {0..1}
> matches {*}  -- DV_TEXT
>                        }
>                    }
>                }
>            }
>        }
>    }
>
> ontology
>    terminologies_available = <...>
>    term_definitions = <
>        ["en-us"] = <
>            items = <
>                ["at0000"] = <
>                    text = <"sda">
>                    description = <"sda">
> >
>                ["at0001"] = <
>                    text = <"ITEM_TREE">
>                    description = <"This is a ITEM_TREE object">
> >
>                ["at0002"] = <
>                    text = <"ELEMENT">
>                    description = <"This is a ELEMENT object">
> >
>                ["at0003"] = <
>                    text = <"DV_TEXT">
>                    description = <"This is a DV_TEXT object">
> >
> >
> >
> >
>
>
>
>
>
> ______________________________**_________________
> openEHR-technical mailing list
> openEHR-technical at lists.**openehr.org<openEHR-technical at 
> lists.openehr.org>
> http://lists.openehr.org/**mailman/listinfo/openehr-**
> technical_lists.openehr.org<http://lists.openehr.org/mailman/listinfo/openehr-technical_lists.openehr.org>
>



-- 
David Moner Cano
Grupo de Inform?tica Biom?dica - IBIME
Instituto ITACA
http://www.ibime.upv.es

Universidad Polit?cnica de Valencia (UPV)
Camino de Vera, s/n, Edificio G-8, Acceso B, 3? planta
Valencia ? 46022 (Espa?a)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 
<http://lists.openehr.org/pipermail/openehr-technical_lists.openehr.org/attachments/20120624/12ac978f/attachment-0001.html>

Reply via email to