Body:
...
Attributes:
...
A RangeCheck defines a constraint on the value of the enclosing item. It represents an expression that evaluates to True when the ItemData value is valid or False when the ItemData value is invalid. The expression is specified using either Comparator and CheckValue or using FormalExpressions.
Include Page |
---|
| RangeCheck Element |
---|
| RangeCheck Element |
---|
|
Include Page |
---|
| RangeCheck Attributes |
---|
| RangeCheck Attributes |
---|
|
Range Checks using Comparator and CheckValue
When using Comparator and Check Value each Range Check CheckValue, each range check represents a one-sided constraint. Multiple Range Checks range checks can be used to specify more complex constraints , (e.g., an upper and lower bound would require two Range Checks2 range checks).
Each constraint is equivalent to:
...
If an actual data value fails the constraint, it is either rejected (a Hard hard constraint) or a warning is produced (a Soft soft constraint).
For the following comparison operators, one Check Value check value is required.
LT | Less than |
LE | Less than or equal to |
GT | Greater than |
GE | Greater than or equal to |
EQ | Equal to |
NE | Not equal to |
A set of Check Values check values is required for these comparators:
IN | One of listed values |
NOTIN | Not any of list values |
If a Measurement Unit an associated unit with a measurement variable is specified, the corresponding Item values must have interconvertible Measurement Units (either explicitly or by default)reflect the values using the associated units specified. Refer to ItemRef/@UnitsItemOID. Proper conversion of units must be done as part of the Range Check. If a Measurement Unit is not specified, the corresponding Item values must not have Measurement Units (either explicitly or by default).
Examples:
range check.
Example |
---|
title | RangeCheck: Value must be positive |
---|
|
Code Block |
---|
<RangeCheck Comparator="GT">
<CheckValue>0</CheckValue>
</RangeCheck> |
...
Code Block |
---|
<RangeCheck Comparator="GE">
<CheckValue>18</CheckValue>
</RangeCheck>
<RangeCheck Comparator="LE">
<CheckValue>65</CheckValue>
</RangeCheck> |
...
Include Page |
---|
| RangeCheck - Positive Value |
---|
| RangeCheck - Positive Value |
---|
|
|
Example |
---|
title | RangeCheck: Value IN (list) |
---|
|
Include Page |
---|
| RangeCheck - 1, 3, or 5 |
---|
| RangeCheck - 1, 3, or 5 |
---|
|
|
Example |
---|
title | RangeCheck: Value between 18 to 65 inclusive |
---|
|
Include Page |
---|
| RangeCheck - Low-High |
---|
| RangeCheck - Low-High |
---|
|
|
Range Checks using FormalExpression
When using FormalExpression a Range Check range check can represent anything , (e.g., one-sided or multi-sided multisided checks). These type of checks must not provide CheckValue , or Comparator or MeasurementUnitRef as they would all be expressed in the FormalExpression itself. The FormalExpression takes the value of the ItemData element and returns a boolean value which is the result of the expression. Multiple FormalExpressions can be provided if each has a different Context attribute, allowing the same expression to be represented in forms appropriate to multiple systems. Multiple different expressions, with different meanings, must be represented as separate RangeChecksA reference to an externally defined question.
Example |
---|
title | Range Checks using FormalExpression |
---|
|
Include Page |
---|
| RangeCheck - Formal Expression |
---|
| RangeCheck - Formal Expression |
---|
|
|