except is an operation that applies to two sets. It removes any attributes from the first set that appear in the second. The first set is usually expressed in terms of group names, whilst the second set contains attribute names. The simplest syntax is
{ names_1 } in range [lower, upper] except { names_2 }
where:
names_1 is a comma separated list of group attribute names
names_2 is a comma separated list of attribute names
lower and upper are constants or numbers defining the range.
For example, suppose the definition of a calculated value attribute HighAllergens was any allergen with value in the range [15, 50), with the exception of milk which had a separate definition for children aged 2 or younger. We need to define a set of all allergens except milk with a value in the range, as follows:
{pollen, food, mould, mite} in range [15, 50) except {milk}
and then add the age-dependent definition for milk as follows:
union {milk} in range [2, 15) for (age <= 2) union {milk} in range [15, 50) for (age > 2)
Note that with this definition, milk is considered to be a high allergen for the following 1 year old patient:
age 1 sex F milk 11.0 peanut 43.5 cod 12.1 soya 44.6 wheat 25.3 HighAllergens soya (44.6), wheat (25.3) and milk (11.0)
See also: for