DV_ORDINAL shouldn't be used in C_DV_ORDINAL class

Description

Currently according to the specification, the C_DV_ORDINAL class has an attribute named "list" of type Set<DV_ORDINAL>. However it is impossible to create valid instances of DV_ORDINAL while constructing C_DV_ORDINAL during ADL parsing.

The reason is that the required attribute "value" (of type DV_CODED_TEXT) of DV_ORDINAL has a required string attribute "value" that is unknown during parsing. The actual value is normally supplied by a terminology service and probably requires user's choice, e.g. language of the terminology. What is normally constrained in DV_ORDINAL is the id of the terminology and the code_string, which is effectively a CODE_PHRASE.

Therefore, the members of the list attribute of C_DV_ORDINAL should only consists of an integer value and a code phrase value. That is exactly how the current Eiffel and Java reference implementation are done.

The Eiffel implementation:
http://www.openehr.org/svn/ref_impl_eiffel/TRUNK/libraries/openehr/src/am/openehr_profile/data_types/quantity/c_dv_ordinal.e

The Java implementation:
http://www.openehr.org/svn/ref_impl_java/TRUNK/openehr-ap/src/main/java/org/openehr/am/openehrprofile/datatypes/quantity/CDvOrdinal.java

Reporter

Rong Chen

Raised By

Rong Chen

Components

Affects versions

Configure