Summary

This guide presents the current list of custom dependencies and their uses. 

Table of Contents


Standard custom dependencies are created when a function that cannot be performed by the expression language can be made generic enough to be used across studies. This guide presents the current list of custom dependencies and their uses.


Except where noted, these dependencies are configured on the Dependencies worksheet by setting Expression Type to ‘custom’ and Expression to the name of the custom dependency.

DelayQuestionSave

Ensures that the question is saved last on a form. Generally, this kind of functionality is performed by scripts. However, when used, it is primarily for supporting custom extensions. It will never fire.

DuplicateId

Checks the question value for uniqueness across all sites’ records. It will only function on the primary question. The primary question is typically the subject identifier.

DuplicateIdToolOnly

Checks the question value for uniqueness across all subjects within the current site. It will only function on the primary question which in most cases is the subject identifier.

LookupTable

Allows for an application to dynamically check against a list of values in a separate file. This dependency is used with Local Lab functionality.

LookupTableNegated

Performs in the same way as LookupTable but checks the inverse of the expression. This dependency is used with Local Lab functionality.

RefCheck

Runs a dependency on the referenced form from a reference question. Note that this means you cannot compare questions between the two forms. The edit check expression must be limited to the form being referenced. For example, you cannot check that an AE date is before a ConMed date. You can, however, look at other ConMed questions on the ConMed form with the expression.

This dependency is configured in the Dependencies and App Properties worksheets.

Dependencies

  1. Expression Type: Enter ‘custom’
  2. Expression: Enter ‘RefCheck’
  3. Complete the other fields as you generally would for standard dependencies.

For the following example, suppose there is Conmed form called ‘cm’ with a question ‘cmterm.’ Suppose also that there is a form reference question on an AE form with type ‘cmrel.’ On the dependencies form, the questionTypeId is ‘cmrel’ and the expression is set to ‘RefCheck.’


App Properties

Three properties must be added to the App Properties worksheet.

  1. Name: Enter ‘referenceCheck’ followed by the questionTypeId.
  2. Value: Enter the dependency expression that will be evaluated.
    Example: cmterm != ‘aspirin’
  3. Name: Enter ‘referenceCheck’ followed by the questionTypeId and the word, ‘Merge’
    Example: referenceCheckcmrelMerge
  4. Value:
    • Enter ‘AND’ if all selected questions should evaluate to true
    • Enter ‘OR’ if at lest one selected question should evaluate to true



Note: This value is only important for multi-reference questions such as those that use a multi-select box. The default value is 'AND', which will be used if the property is not defined or if an invalid property value is entered. 



  1. Name: Enter ‘referenceCheck’ followed by the questionTypeId and the word, ‘Question’
  2. Value: If the question references a form, enter the questionId. Otherwise, leave the field blank.
    • In the following example the value must be entered, because the question’s reference path leads to the form, cm.




UniqueForAppByAlias

Checks the question value (by path) for uniqueness across all subjects in the study.

This dependency is similar to DuplicateId, but it works on any question including primary questions. This dependency also uses a more intelligent comparison method. For Integers and Floats, it will use the question data type to determine the nature of the value being compared in order to attain a more accurate match.

Note: Leading zeros will be ignored. For example, the value 001 would be considered equal to 01 and 1. Additionally, the values “000″, “00″, “0″ would all be considered empty strings and would not be included in the calculation.



This dependency should not be used on Dynamic Forms. It is intended to compare across subjects by alias and will not compare across all values if placed on a dynamic form. For example, if used on an AE, AE1 will be compared across all subjects, but AE1 will not be compared to AE2.


UniqueForToolByAlias

Functions in the same way as UniqueForAppByAlias but reduces the scope of the check for uniqueness to the current site instead of the entire study.


Note: Leading zeros will be ignored. For example, the value 001 would be considered equal to 01 and 1. Additionally, the values “000″, “00″, “0″ would all be considered empty strings and would not be included in the calculation.


ValidEmail

Ensures that the value entered for the question is in the correct email address format.

ValueChanged

Fires when a question value changes. It will not fire when answering a question for the first time.



Need more help?

Please visit the Fountayn Contact Information page.