Skip to Navigation | Skip to Content

openEHR-Implementers mailing list archives

[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

RE: latest archetype & template drafts


Hi Thomas,

With your input I can state that the problems are in the tools because:

  1. It is not possible to define a node_id for a internal ref on Oceans Archetype Editor.
  2. When an archetype is parsed o AOM with the Java Ref Impl ADL parser, the node_id of the reference is always empty, so the node_id is not inferred from the target id.

Is this correct? 

Best regards,
Pablo.



Date: Thu, 17 Dec 2009 09:01:42 +0000
From: thomas.beale@oceaninformatics.com
To: openehr-implementers@openehr.org
Subject: Re: latest archetype & template drafts

pablo pazos wrote:
Hi Thomas,

I see you're seeing problems with node_id in C_Primitive and C_Domain_Type, I've a problem in ArchetypeInternalRef too.

This is my issue:

In the AOM specs, every CObject has a mandatory node_id attribute, included the ArchetypeInternalRef.

I make an archetype using Oceans Archetype Editor and the node with the reference looks like this (I think this is a valid ADL node):

CLUSTER[at0008] occurrences matches {0..1} matches { -- Pelvis
items cardinality matches {0..*; unordered} matches {
use_node ELEMENT occurrences matches {0..3} /data[at0001]/events[at0002]/data[at0003]/items[at0004]/items[at0012]
}
}


But the use_node internal reference has no node_id, so, in the AOM structure parsed from the ADL, the ArchetypeInternalRef to  /data[at0001]/events[at0002]/data[at0003]/items[at0004]/items[at0012] has no node_id.

This problem complicates our binder implementation to support Internal Refs :(

see section 5.3.7 of the  ADL 1.5 draft -

As for any other object constraint node, use_node constraints must have a node identifier when
occurring within a container attribute, or when otherwise ambiguous within a single-valued attribute.
However, rather than having to state the identifier explicitly, it is inferred from the object identifier of
the target of the reference. If an identifier is required at the position of the use_node reference due to
the node identification rules, the reference target must must be given a node identifier if it doesn’t
already have one. In the rare case where the identifier at the reference target is also used on a sibling
node of the reference, the reference must have an explicit node identifier.

hope this helps

- thomas


Windows Live: Make it easier for your friends to see what you’re up to on Facebook.
_______________________________________________
openEHR-implementers mailing list
openEHR-implementers@openehr.org
http://lists.chime.ucl.ac.uk/mailman/listinfo/openehr-implementers