The value of a precedent operation can be used to determine in a highly focused manner a subsequent values. The process by which the answer to Question 1 leads to a relevant Question 2, the answer to which leads to an answer or relevant Question 3, etc., is called 'cascading.

   By way of illustration, let's assume that a 'Last Will' is the objective. The initial questions that might need answering a 'What is the sex of Client? (Male or Female)", "Is the Client Married? (Yes or No)" and 'Does Client have children?" With that information, other decisions can be automatically set or other relevant questions posed.

<<*AskOptions(radio)*!T-orSex!Testator = Male/Testator = Female*>>

<<*AskOptions(radio)*!Client Married!Client is Married/Client is Single*>>

<<*AskOptions(radio)*!HasChildren!Client has children/Client has no children*>>

<<*AskOptional*!Minor Children!Are any children minors*>>

<<*AskOptional*!Guardian!Appoint Guardian for minors?*>>

<<*AskOptions*!UGMA trust!UGMA Trust/No UGMA Trust*>>

 

While the above setup makes sense, the last 3 questions are only relevant if there are children. Cascading logic avoids the waste of time reading and answering irrelevant question. Here are 'cascading' questions

<<*AskOptions(radio)*!T-orSex!Testator = Male/Testator = Female*>>

<<*AskOptions(radio)*!Client Married!Client is Married/Client is Single*>>

<<*AskOptions(radio)*!HasChildren!Client has children/Client has no children*>>

<<*If*!Client has children!="True",<<*AskOptional*!Minor Children!Are any children minors*>>,!Minor Children!="False">>

<<*If*!Minor Children!="True",<<*AskOptional*!Guardian!Appoint Guardian for minors?* >>, !Guardian!="False">>

<<*If*!Minor Children!="True",<<*AskOptions(radio)*!UGMA!UGMA trust/No UGMA trust*>>,!UGMA!="False">>

   In the above example, the 'minors' questions are asked only if there are children. The 'guardian' and 'UGMA' questions are are asked only (1) there are children and (2) one or more of those children are minors. Otherwise, !Guardian! and !UGMA! are set to "False." (!Minor Children! was set to 'False' near the beginning if there were no children to begin with). (Note also that for !Guardian! we asked an 'AskOptional' to determine its value and for !UGMA! we presented a two part 'AskOptions'. This was to demontrate that it does not matter which you use. AskOptional takes up less space, but it could accidentally be left unchecked when 'checked' was the proper response. Some folks prefer the manadatory response of 'AskOptions(radio)'.

   So, the next question that naturally arises is "Why the need to affirmatively assign 'False' to the values for !Minor Children!, !Guardian! and !UGMA!. Read answer here.