2013/8/27 Thomas Beale <thomas.beale at oceaninformatics.com>

>
>
>> What is so wrong about having at-codes in every class of the archetype
>> with no ontology definition for that code?
>>
>
> interesting question - so far (10 years!) we have always treated an
> at-code as something that is in the ontology. At the moment no tools at all
> would handle the assumption that only some codes had definitions; it would
> raise questions: how do you know which things need definitions and which
> don't? My guess is that there would need to be a special definition that is
> connected to the at-codes you want to have no definitions, which would
> complicate the archetype ontology section structure.
>
> - thomas
>
>

I'll try to summarize the origin of the different views we have regarding
this topic and maybe this can be also useful to see why this is not just a
configuration problem of the tools.

We can find the explanation of node identifiers in two places (I use the
latest drafts, I think):
- In AOM 1.5 specifications, page 47: "Semantic identifier of this node,
used to distinguish sibling nodes of the same type. [Previously called
?meaning?]. Each node_id must be defined in the archetype ontology as a
term code."
- In ADL 1.5 specifications, page 26: "In cADL, an entity in brackets of
the form [atNNNN] following a type name is used to identify an object node,
i.e. a node constraint delimiting a set of instances of the type as defined
by the reference model." and  "A Node identifier is required for any object
node that is intended to be addressable elsewhere in the same archetype, in
a specialised child archetype, or in the runtime data and which would
otherwise be ambiguous due to sibling object nodes"

The definition in AOM is the one followed by the openEHR editor, i.e. a
node identifier or atNNNN code is just a pointer to the ontology section
and a mechanism to distinguish sibling nodes. Thus, wherever it is not
needed, the tool does not introduce that code in order not to dirty the
ontology section.

The  first part of the definition in ADL is the one followed in LinkEHR
and, in our opinion, more correct formally. When you introduce an archetype
constraint for a C_OBJECT you are in fact creating a definition of a type
(a sub-type of the more generic type defined by the reference model class)
that will be used to create a subset of instances. We have to distinguish
this sub-type from the RM type, and since the class name cannot be changed,
the only solution is to use the atNNNN as type identifier. In other words,
our interpretation is that atNNNN codes are unique identifiers of each type
defined in the archetype, that may be also used to link to the ontology
section, but that is the optional part. In fact, the only exception to this
would be when you create constraints using a path, because then you are
just navigating through the RM but do not change the meaning of the
intermediate classes.

The logic of the tools and the validation checks of archetypes are built
based on those interpretations. I agree with Bert in one thing: tools
shouldn't change things without notifications, but in this case we face a
methodological difference, not just a configuration one, and that's why it
is not easy to be solved.

David

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

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/20130828/a5af394a/attachment.html>

Reply via email to