You can use the following logic functions in your fields' display text or in the values of your skip or validation logic. 



FunctionDescriptionExample
if(boolean condition, string then, string else)Evaluates the first parameter as boolean, returning the second parameter when true, otherwise the third parameter.=if($age >= 18, "eligible", "under-age") 
coalesce(string arg1, string arg2)Returns first non-empty value of arg1 and arg2 or empty if both are empty and/or non-existent.=coalesce($answer, "default") returns "default" if $answer has no value 
once(string calc)The parameter will be evaluated and returned if the context nodes’s value is empty, otherwise the current value of the context node will be returned. The function is used e.g. to ensure that a random number is only generated once with once(random()).=once(random())
true()Returns true.
false()Returns false.
boolean(* arg)Converts its argument to a boolean=boolean("1") returns true 
boolean-from-string(string arg)Returns true if the required parameter string is "true" or "1", or false if not “true” or “1”.=boolean-from-string("2") returns false 
not(boolean arg)Returns true if its argument is false, and false otherwise.=if (not($isHIVPostive) AND $isOnTreatment), "StatusX", "StatusY") 
regex(string value, string expression)Returns result of regex test on provided value. The regular expression is created from the provided expression string ('[0-9]+' becomes /[0-9]+/).
Regex can be used for advanced validation.
=regex($code, "^[0-9]{4,10}") validates whether the code is a 4 to 10 digit number.
checklist(number min, number max, string v*)Check whether the count of answers that evaluate to true (when it converts to a number > 0) is between the minimum and maximum inclusive. Min and max can be -1 to indicate not applicable.=checklist(2, -1, $criteria_1 = "yes", $criteria_2 = "yes", $criteria_3 = "yes") returns true if at least 2 of the given criteria are "yes"
weighted-checklist(number min, number max, [string v, string w]*)Like checklist(), but the number of arguments has to be even. Each v argument is paired with a w argument that weights each v (true) count. Returns true or false depending on if value of the weighting is within the min and max range.
=weighted-checklist(1, 3, $criteria_1 = "yes", 0.5, $criteria_2 = "yes", 0.75, $criteria_3 = "yes", 5 )




Tip: if your calculation does not seem to work correctly, try adding white space around the operator, e.g. instead of "=($field_1+5)" use "=($field_1 + 5)" 




Also see here for more functions and expressions you can use.