Uploaded image for project: 'Specifications - Archetype model'
  1. Specifications - Archetype model
  2. SPECAM-4

DV_ORDINAL shouldn't be used in C_DV_ORDINAL class

    Details

    • Type: Change Request
    • Status: Open
    • Priority: Minor
    • Resolution: Unresolved
    • Affects Version/s: ADL 1.4
    • Fix Version/s: ADL 1.6
    • Component/s: AOM
    • Labels:
      None
    • Impact Analysis:
      Limited impact since the current major reference implementations already use the proposed solution.
    • Change Description:
      Hide
      A new class ORDINAL consists of an integer value and a code_phrase value should be used in the list of C_DV_ORDINAL instead of full-fledged DV_ORDINAL instances. This new ORDINAL is necessary to facilitate C_DV_ORDINAL parsing and in-memory representation. For convenience, this class should be placed in the same package where C_DV_ORDINAL resides.
      Show
      A new class ORDINAL consists of an integer value and a code_phrase value should be used in the list of C_DV_ORDINAL instead of full-fledged DV_ORDINAL instances. This new ORDINAL is necessary to facilitate C_DV_ORDINAL parsing and in-memory representation. For convenience, this class should be placed in the same package where C_DV_ORDINAL resides.

      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

        Attachments

          Activity

            People

            • Assignee:
              thomas.beale Thomas Beale
              Reporter:
              rong.chen Rong Chen
              Raised By:
              Rong Chen
              Analyst:
              Thomas Beale
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated: