You can create Arezzo terms by combining the question codes in your study with the predefined functions and operators of Arezzo. Examples of Arezzo terms
The Expression Builder helps you to create correct Arezzo terms.
For a list of all Arezzo expressions in a study, run the Arezzo Terms Report in the SDDU module. Please note this is different from the report of the same name in the SD module which checks for the accurracy of expressions.
An Arezzo expression is a formula that describes how to calculate a value. For example
pulse * 2
represents the value of the pulse question multiplied by 2.
Expressions are used for:
Question derivations
Question validation messages
eForm labels
Subject label, gender and date of birth
Lab test dates
An Arezzo condition is an expression which contains at least one comparison operator (such as greater than or equal to) and therefore always evaluates to true or false. For example
pulse > 80
is true if the value of the pulse question is greater than 80.
You can combine conditions using the logical operators and and or, and negate conditions using the not operator.
Conditions are used for:
Question validation conditions
'Collect if' conditions
Registration eligibility conditions
If you are creating an Arezzo term on an eForm (for example a question’s derivation or validation condition) and you want to refer to a question on the same eForm, you can use just the question code. For example, the validation condition
Age > 18
refers to the question Age, which must be on the same eForm as where the condition is being evaluated. This condition is true if the value of Age is greater than 18.
If you want to refer to a question on a different eForm, you must specify the visit code and eForm code as well as the question code, separated by colons. For example
Screening:Cover:Age > 18
refers to the question Age on the Cover eForm in the Screening visit. You can use this expression anywhere in your study.
You can also specify visit and eForm cycles, and repeat numbers of questions. In fact, if you are using an expression that references a cycling visit, eForm or question, you must include a cycle specifier.
Within validation conditions, you should always use the special term me:value to refer to the value of the question being validated. Do not use the code of the question itself Why not?
For example, the validation condition
me:value =< BPSystolic
is true if the value of the question being validated is less than or equal to the value of the BPSystolic question on the same eForm.
You must always use the category code when referring to values of category questions. For example, if a question Sex has category codes of 1 and 2 referring to category values of Female and Male, the condition
Sex = 2
is true if the value of the Sex question is Male.
Note: When deriving the value of a category question, the derivation expression must specify the text value rather than the code value. Click here for more information.
See the section on Arezzo Syntax for help on the correct usage of strings, quotes, brackets and spaces.
If you refer to unknown data in an Arezzo condition, the condition will always be treated as false. For example, the condition
me:value > Screening:Vital:Pulse
will only be true if there is a value for the Pulse question on the Vital eForm in the Screening visit, and this value is less than the current question. If there is no value for the Pulse question, the condition will evaluate to false.
To avoid unexpected results arising from unknown data, it is often safer to use the general function isknown, which tests for the existence of a question value.