EM and its features

Regardless of whether you continue to use the Conditions Editor or manually compose Relevance Equations, you get these additional benefits:
 * 1) You can create more complex validation criteria
 * 2) *All of the advanced question attribute (like max_answers, min_num_value_n, max_num_value) can use Expressions.  So, you min/max criteria can be easily adjusted based upon prior responses, even if they are on the same page.
 * 3) *EM also handles all regular-expression-based validation, so you can robustly combine preg and equation-based question attributes.
 * 4) Easy Re-ordering (or deleting) of Questions and Groups
 * 5) *Prior to version 1.92, you could not re-order questions or groups if LimeSurvey thought that such-re-ordering could break conditions in which they were used.  Similarly, you could not delete questions if any other questions depended upon them.
 * 6) *With EM's syntax highlighting, it is easy to see and validate whether you try to use questions before they are declared.  So, we now let you re-order or delete questions and groups whenever you like.  EM will update all of the syntax highlighting to show you potential errors.
 * 7) *The re-order questions view has been enhanced to help with such review.  It now shows the question's relevance equation and tailoring, so you can immediately see whether any variables become pink (meaning they are used before being declared).
 * 8) The Question/Group Navigation Index is always available and accurate
 * 9) *Prior to version 1.92, these indexes were not available if there were complex conditions
 * 10) *With EM, we can guarantee that they are accurate.
 * 11) *Subjects can even jump back, to a prior question, change the answer, then jump forward (or submit)
 * 12) **When jumping forwards, EM will re-validate all of the intervening questions/groups.
 * 13) **If any questions become irrelevant, they will be NULLed in the database so that your data is internally consistent
 * 14) **If any questions become relevant or newly fail mandatory or validation rules, EM will stop on that page and force the user to answer those questions before jumping to their final destination.
 * 15) Auto-conversion of Conditions to Relevance
 * 16) *When you upgrade your database, all existing surveys that have conditions will have relevance equations generated for them
 * 17) *Whenever you import a survey, relevance equations will be created as needed
 * 18) *Whenever you add, delete, or modify conditions, EM will generate the appropriate relevance equation.
 * 19) Convenient Syntax Highlighting
 * 20) *When EM shows the relevance equation, it will show the Qcode, even if you entered an SGQA code, as we assume this will be easier to read.
 * 21) *All variables are color coded to show whether they were declared before or after the current question (or before or after the current group).  This lets you quickly detect and fix cases where you try to use variables for relevance (including array_filter), tailoring, or validation equations prior to declaring them.
 * 22) *In addition, if you hover your mouse over the color-coded variable, you will see the most important metadata about that question.   This includes the Group Sequence #, Question Sequence #, Qcode, Text of the question, and all available answer choices (if it is a question type with enumerated answer choices).
 * 23) **The list of answer choices uses this syntax:  'answers':{key:val, ... }.
 * 24) **key has the syntax 'scale~code' where scale is the answer scale (e.g. for dual scale), and code is the answer code.
 * 25) **val has the syntax 'value~shown' where value is the assessment value (if using assessments, otherwise code)(e.g. Qcode.value), and shown is the display value as seen by the subject (e.g. Qcode.shown)
 * 26) **This means that many surveys can use calculations without needing assessment mode.  If you have enumerated answer options  that are unique, non-decimal, and non-negative, you can simply do calculations on the Qcode.code values.
 * 27) Easy review of entire survey logic and content
 * 28) *There is a new Show Survey Logic feature that lets you see everything about the survey (or group or question) on a single page.
 * 29) *It shows the Group, Question, Sub-Question, and Answer-level details for the selected scope (survey vs. group vs. question)
 * 30) *It also shows the relevance, subquestion-level relevance (for array_filter and array_filter_exclude), and generated validation equation (for preg and any validation rules like min/max sum/number of values), and all non-blank question attributes.
 * 31) *Everything is syntax-highlighted so that you can see potential syntax errors (like unbalanced parentheses or use of variables before they were declared)
 * 32) *The syntax-highligting supports rapid navigation and editing of the survey.
 * 33) **If you click on a variable name, it opens a browser window (or tab) that shows you that question and lets you edit it.
 * 34) **If you click on a group name, it opens a browser window (or tab) showing the group-reorder view so that you can easily move questions around.
 * 35) **All of the question attributes are also syntax highlighted.  This lets you set and see expressions within advanced question options (like basing the max/min number/sum of values on an expression)
 * 36) *The EM author used similar view (a little cleaner) to let his collaborating Epidemiologists and Institutional Review Board validate and authorize surveys with thousands of questions in highly branched and tailored structured interviews