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

Convert Interval<Integer> to MULTIPLICITY_INTERVAL to simplify specification and implementation.

    Details

    • Type: Change Request
    • Status: Closed
    • Priority: Minor
    • Resolution: Done
    • Affects Version/s: ADL 1.4
    • Fix Version/s: ADL 2.0
    • Component/s: AOM
    • Labels:
      None
    • Impact Analysis:
      Relatively simple change in AOM implementations; should not affect parsers etc badly.
    • Change Description:
      The type Interval<Integer> representing occurrences, existence and cardinality is replaced with a new type MULTIPLICITY_INTERVAL.

      Description

      Currently, there are three places in the AOM where Interval<Integer> is used:
      - C_ATTRIBUTE.existence
      - C_MULTIPLE_ATTRIBUTE.cardinality.interval
      - C_OBJECT.occurrences

      It is proposed to replace this with a class MULTIPLICITY_INTERVAL, which is formally defined as inheriting from Interval<Integer>. It has the same data members, but provides a place to define useful functions such as :
      - is_open: Boolean
      - is_optional: Boolean
      - as_string: String -- output in typical UML format, e.g. "0..1"

      as well as various constructors that make sense for multiplicity intervals. It also ensures the lower_limit cannot be less than 0.

      The other advantage is for formalisms like XML, the class MULTIPLICITY_INTERVAL can replace the pseudo type IntervalOfInteger in the BaseTypes.xsd (http://www.openehr.org/releases/1.0.2/its/XML-schema/documentation/BaseTypes.xsd.html#h1337655869).

        Attachments

          Activity

            People

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

              Dates

              • Due:
                Created:
                Updated:
                Resolved:

                Time Tracking

                Estimated:
                Original Estimate - 0.25d
                0.25d
                Remaining:
                Remaining Estimate - 0.25d
                0.25d
                Logged:
                Time Spent - Not Specified
                Not Specified