Study Definition module

 

Arezzo basics

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.

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:

Conditions

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:

Referring to question values

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.

The current question in validations

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.

Referring to category values

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.

Unknown data

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.

 

 

Related Topics

Using Arezzo in RQGs

Arezzo Memory

Arezzo Syntax

Date and Time Functions

eForm and Visit Triggers

Arezzo Functions

Operators

Partial Dates