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>

Reply via email to