The following examples will demonstrate how to use both the less than (lt) and the less than or equal to (lte) operators with the following data types:

  • INT
  • REAL
  • DATE

The ‘lt’ and ‘lte’ operators can not be used with ST or FILE.

Example 1

The first example will demonstrate how to specify a temperature is less than a particular positive value.  The data type is INT so no decimal places are allowed.

    <RuleDef OID=”RULE1″ Name=”This is an example”>
        <Description>The temperature for this subject was less than 105 degrees</Description>
        <Expression>ITEM_OID lt 105</Expression>
    </RuleDef>

If the DataType was REAL, decimal places would be allowed.

Example 2

The second example is similar, but it is stating that a value for one item is less than or equal to the value for another item.  The second item is part of the same Group as the first item.  Both items must be of the same DataType in order for this comparison to work.  If one item is an INT and the other is DATE, the RuleExpression will be invalid.

    <RuleDef OID=”RULE2″ Name=”This is an example”>
        <Description>Temperature is different</Description>
        <Expression>ITEM_OID_1 lte ITEM_OID_2</Expression>
    </RuleDef>

If the second item was not part of the same group, but contained in the same CRF, the Expression would have to be written as follows:

    <RuleDef OID=”RULE3″ Name=”This is an example”>
        <Description>Temperature is different</Description>
        <Expression>ITEM_OID_1 lte GROUP_OID.ITEM_OID_2</Expression>
    </RuleDef>

The path will continue to grow to the left if you have to include the CRF or CRF Version, or the Study Event Definition.  Each piece of the path is separated with a period (.) and everything must be capitalized.

Example 3

The following example uses DATEs with the less than or the less than and equal to operators.  The same principle applies where the system can only compare items of the same DataType.

    <RuleDef OID=”RULE4″ Name=”This is an example”>
        <Description>Visit Date is less than today’s date</Description>
        <Expression>ITEM_OID_1 lt _CURRENT_DATE</Expression>
    </RuleDef>

_CURRENT_DATE is a system level property that will pull the “today’s date” from the server OpenClinica is installed on.

    <RuleDef OID=”RULE5″ Name=”This is an example”>
        <Description>The date is 2013 or earlier</Description>
        <Expression>ITEM_OID_1 lt 2012-12-31</Expression>
    </RuleDef>

Notice the date must be in the ISO 8601 format otherwise the system will reject the RuleExpression.

As we go through the rest of the operators, we will also demonstrate how to combine multiple operators into a RuleExpression which should provide even greater clarity on how to use Rules.