Hi Seref,

Interesting thought! I think this comes down to a design choice, which
is whether we want to force single-rooted tree. By definition, tree
data structure has a single root. But when we model hierarchical
structure of clinical content, it's convenient to allow multiple nodes
at the top level of the tree without the need to create a root node
just to satisfy the notion of single-rooted tree. So it's a choice
between purity (according to computer science definition of a tree)
and convenience (which somewhat indirectly translated to usability of
the model and relevant tools).

Cheers,
Rong

2009/4/1 Seref Arikan <serefarikan at kurumsalteknoloji.com>:
> Hi,
> Why is "item" field of Item_tree of type List<Item>? I feel that it is
> causing a litle bit of overlap betwen Item_tree and item_table. Item_table
> has a rows property with type List<Cluster>, which is nice for representing
> multi column tables, but when it comes to a single column table, item_tree
> also seem to allow it, by using a List<Element> given that items property is
> List<Item>
> Would not it be better to enforce semantics of a tree structure by making
> item property of Item_tree a single Cluster ? Then the meaning of the
> elements of the cluster would be enforced by the container class, item_tree,
> where each member of cluster (whether cluster or element) would mean a new
> row in a tree. This would also force a tree with a single parent node, but
> it would still allow expression of a tree.
> Not a big deal, but I think it would be better to force the semantics of a
> type to make its use as clear as possible. Care to show me if I'm missing
> something? :)
>
> Kind regards
> Seref
>
>
> _______________________________________________
> openEHR-technical mailing list
> openEHR-technical at openehr.org
> http://lists.chime.ucl.ac.uk/mailman/listinfo/openehr-technical
>
>

Reply via email to