We're updating the issue view to help you get more done. 

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

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).

Status

Reporter

Thomas Beale

Raised By

Thomas Beale

Components

Affects versions

ADL 1.4