As mentioned in the context of ANY and IVL, URG is 21090s primary mechanism for dealing with values that are uncertain but
known to fall within a specific range. These values are implicitly continuous in their nature and hence URG is parametrised
by quantities (QTY). It is a general point that URG data types cannot be used in place of QTYs as part of, for example, IVL
definitions.
Because of the multiple different expressions of uncertainty and embedded in the ISO 21090 data types, a decision was taken
to deprecate uncertainty expressed within the data type, in favour of uncertain ranges or information model structures where
specific requirements for representation of specific types of uncertainty are clear. This is in part a pragmatic conformance
issue in that low level data type uncertainty is not known to be a feature of many current applications. This does however
mean that certain types of representation must be explicitly modelled in information structures, and hence cannot be part
of the definition of other complex data types. Specifically the representation of a single value with a confidence range for
measurement (e.g. systolic BP = 120mmHg +/- 15mmHg).
This is implemented as described in ISO 21090.
Specializes
Attributes
| Name |
Data type |
Occurs |
Description |
|
high
|
T
|
1..1 |
This is implemented as described in ISO 21090. |
|
highClosed
|
Boolean
|
1..1 |
This is implemented as described in ISO 21090. |
|
low
|
T
|
1..1 |
This is implemented as described in ISO 21090. |
|
lowClosed
|
Boolean
|
1..1 |
This is implemented as described in ISO 21090. |
Constraints
| Type |
Name |
Specification |
| no inner attributes |
Invariant |
inv: validTimeLow.oclIsUndefined and validTimeHigh.oclIsUndefined and controlActRoot.oclIsUndefined and controlActExtension.oclIsUndefined
and flavorId.oclIsUndefined and nullFlavor.oclIsUndefined and updateMode.oclIsUndefined and expression.oclIsUndefined and
originalText.oclIsUndefined and uncertainty.oclIsUndefined and uncertaintyType.oclIsUndefined
|
| nullFlavor |
Invariant |
inv: nullFlavor = NullFlavor.UNK |