Hello,
We are having some problems with Reference Model class PARTICIPATION.
We want to define an archetype of COMPOSITION type and state, that it could
have two types of participants: Doctors and Patients; At least one Doctor
and one Patient participant must be specified.
After we create an archetype (we use Ocean Archetype Editor v2.2) and
constrain PARTICIPATION.function using "at0007" = Doctor & "at0008" =
Person, we get following XML (I removed all unnecessary elements):
<attributes xsi:type="C_MULTIPLE_ATTRIBUTE">
<rm_attribute_name>participations</rm_attribute_name>
<children xsi:type="C_COMPLEX_OBJECT">
<rm_type_name>PARTICIPATION</rm_type_name>
<node_id />
<attributes xsi:type="C_SINGLE_ATTRIBUTE">
<rm_attribute_name>function</rm_attribute_name>
<children xsi:type="C_COMPLEX_OBJECT">
<rm_type_name>DV_CODED_TEXT</rm_type_name>
<node_id />
<attributes xsi:type="C_SINGLE_ATTRIBUTE">
<rm_attribute_name>defining_code</rm_attribute_name>
<children xsi:type="C_CODE_PHRASE">
<rm_type_name>CODE_PHRASE</rm_type_name>
<node_id />
<terminology_id>
<value>local</value>
</terminology_id>
<code_list>at0007</code_list>
</children>
</attributes>
</children>
</attributes>
</children>
<children xsi:type="C_COMPLEX_OBJECT">
<rm_type_name>PARTICIPATION</rm_type_name>
<node_id />
<attributes xsi:type="C_SINGLE_ATTRIBUTE">
<rm_attribute_name>function</rm_attribute_name>
<children xsi:type="C_COMPLEX_OBJECT">
<rm_type_name>DV_CODED_TEXT</rm_type_name>
<node_id />
<attributes xsi:type="C_SINGLE_ATTRIBUTE">
<rm_attribute_name>defining_code</rm_attribute_name>
<children xsi:type="C_CODE_PHRASE">
<rm_type_name>CODE_PHRASE</rm_type_name>
<node_id />
<terminology_id>
<value>local</value>
</terminology_id>
<code_list>at0008</code_list>
</children>
</attributes>
</children>
</attributes>
</children>
<cardinality>
<is_ordered>false</is_ordered>
<is_unique>false</is_unique>
<interval>
<lower_included>true</lower_included>
<lower_unbounded>false</lower_unbounded>
<upper_unbounded>true</upper_unbounded>
<lower>0</lower>
</interval>
</cardinality>
</attributes>
The problem with this archetype is this:
There is no "node_id" specified on neither of PARTICIPATION alternatives
(C_COMPLEX_OBJECTs).
Furthermore, in AOM 1.5 specification, C_MULTIPLE_ATTRIBUTE class
description (page 39) is validation rule, that sounds like this:
<...>VACMI: child node identification: any object node added as a child to a
container
attribute must have a node identifier.<...>
And this rule is being violated.
My questions are:
1) How would we query & bind those constraints with data if we do not have
node_id neither on constraint nor on data?
2) How would we validate invariant "VACMI" on this C_MULTIPLE_ATTRIBUTE
node?
My suggestions for fixing this issue would be:
1) Derive PARTICIPATION class from "Locatable" or "Pathable" so that data
could be attributed with node_id.
2) Get rid of validation rule "VACMI" (this does not solve data <--->
constraint binding issue);
3) Any other suggestions?
Regards,
Justinas Prelgauskas,
PhD student at Kaunas University of Technology
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
<http://lists.openehr.org/mailman/private/openehr-technical_lists.openehr.org/attachments/20110107/b4ae5e95/attachment.html>