6.15.1     Add a New Edit Check to an Object

You can add edit checks to objects that you have created in TrialBuilder.

To add a new edit check to an object:

1.       Access the applicable page. (See View Sites, View Patients, View Forms, View Groups,or, View Items for guidance.)

2.      Click the  Edits icon of the applicable object or use the Edit Checks menu to navigate to the edit checks page and skip to Step 4.

The Edits page displays the object and sub objects edits in the tables on the right. The Object Hierarchy tree displays the object list on the left.

3.       To navigate to an object in the Object Hierarchy tree, click the Expand icon. In the example above, the AEDETAILS object is expanded.

Each icon represents an object level, as shown in the table below. The edit actions that exist for each object level are also provided.  (See Manage Validation Actions for more information.)

 

Icon

Description

Edit Actions

Site

Caption Change

Patient

Caption Change, Create Visit, Deactivate, Drop, Enrolled, Show in Add Visit List

Visit

Caption Change, Create Form, Disabled Hidden, Scheduled, Show in Add Form List

Form

Caption Change to Incomplete, Disabled Hidden, Enabled, Hidden, Read Only, Show in Add Form List, Show SAE on Save

Group

Caption Change, Disabled Hidden, Enabled, Hidden, Read Only

Item

Calendar Notification, Change Notification, Data Value Advice (DVA), Data Value Change (DVC), Disabled Hidden, Dynamic Code List Filter, Dynamic Code List Setup, Enabled, Hidden, Post-save Warning, Pre-save Warning, Read Only, Required, Required Enabled, Unique Value Required, Valid

 

4.      Click the Add New Edit button at the top right of the page.

5.       Select the Target Type and then enter the Target Object via the following options in the Edit Check page:

·         Drag the applicable object/object path from the Object Hierarchy tree on the left and drop it into the Target Object field. To select an object path, click the Expand icon of the applicable object and drag a selectable path (in blue text) into the Target Object field.

·         Type the value in the Target Object field. As you type, select from a list of action expressions that most closely match your entry from the drop-down. For example, if you type "pat" the following drop-down displays. (Scroll down to view all selections.)

Note: When you drag and drop the Target Object into its field, the edit check OID (Object Identifier) on the top right of the page defaults according to the value you dragged into the Target Object field and the current edit action selected.

·         To locate a specific object, type the item in the Search field above the tree. In the example above, "CM" is entered in the Search field which shows all forms containing "CM" (CONMED-OMCM, DEMOG-OMCM, etc.)

The toggle changes from Target to Source, the Items tree displays on the left, the associated variables automatically populate in the Variable table below.

6.      Select the Scope, and Edit Action from the drop-down lists at the top of the page. 

 

Notes:

·         See Edit Check Attributes and Functions for more information about action expressions.

·         See Property Edit Checks for more information about edit checks that are available as item properties.

7.       In the Source Objects area (left), click the Items or Hierarchy tab and to view items you may add to your code in the Action Expression box. Add Items to your code via the following options:

·         In the Items tree, drag the applicable object/object path from the Object Hierarchy tree on the left and drop it into the Target Object field.

Note: Only items in blue text in the source objects list may be dragged from the ITEMS tab into the action/data expression fields.

·         In the Object Hierarchy tree, click the Expand icons to drill down to the applicable object (indicated by the icon).  To locate a specific item, scroll down the list, type the item in the Search field above the tree, or use the navigation bar below the tree to navigate through pages. In the example above, "CM" is entered in the Search field which shows all forms containing "CM" (CONMED, DEMOG, etc.)

Note: Only items in black text in the source objects list may be dragged from the HIERARCHY tab into the action/data expression fields.

 

8.      Type values from the Items/Object Hierarchy tree into the Action/Data Expression fields. For example, if you type "get" in the Action Expression field, the following pop-up displays.

 

9.      Enter/select the remaining options as necessary in the right panel:

·         Out of Form – To execute edit checks only if the data change that triggers the check is out of the form where the edit check Target object resides; dependent on other form(s). For cross-form edit checks, this option makes it easy for a study designer to make sure that edit checks only operate in one direction. The Out of Form edit check cannot be applied to edit checks programmed at item, form, or group scope, it can only be applied to the site, trial, or patient level.

·         Excluded To exclude edit checks from executing at runtime, so that you can perform a MSC (Mid-Study Change) without having all edit checks ready. This option is an alternative to deleting edits, and it has the advantage that if an edit is executing, then excluded, and then later included, any links to notes are preserved as the OID (Object Identifier) does not change.

·         Is Generated (for Template Edit Checks only) – To enable the link that returns you back to the source template edit.  (The Is Generated check box is unchecked if the edit check was not generated from a template edit.)

·         Excluded in Path – To specify object paths at which the check will not be executed. For example, you could write an edit check at Form scope and exclude it from certain visits. Click the Execution Paths button to specify execution paths to exclude from executing at runtime. In Execution Path Exclusion dialog, select the check boxes of the applicable paths and click the Exclude button. A confirmation message displays at the top of the dialog and checks display next to the applicable path under the Excluded column. Click the Un Exclude button to include any execution paths. You cannot exclude template-generated edit checks.

·         OID (Object Identifier) – unique identifier for the edit check. You can accept the default or enter a new OID. Once the protocol plane containing the check is published, the OID can no longer be edited.

 

10.   Click the Compile button to test the edit check. The Check icon displays if the compilation is successful. (The Exclamation icon displays if the compilation is not successful.)

 

Notes:

 

·         AnjuEDC will NOT prevent you from publishing a trial where one or more edit checks fail to compile (i.e., no error will occur when the trial is published in AnjuEDC).

·         In scenarios of conditional logic where the compiler determines that there is not a clear return value for all possible routes through the code, the compiler displays the following error message: “Warning: Not all code paths will return value. This may introduce unexpected result. Are you missing ‘default’ clause inside ‘switch’ statement?” Click here for examples of these scenarios and how to resolve them. (Client script functions similarly must properly return a value for all cases.)

·         To create a template edit check, you must click the Generate button from the Template Edit page. See Add a Template Edit Check for more information.

11.    If desired, select Reviewed or Completed from the Draft drop-down list to adjust the status of the edit check. (This can be selected at a later time when editing the edit check.)

12.   To add and run unit tests, see Add/Run Unit Tests.

 

Notes:

 

·         An edit check can only be saved if the target object and source items still exist.

·         To undo an edit check, click the Cancel button at the bottom of the Edits page.

·         To modify the UI and UI behavior based on the user’s language, change the URL in an edit check based on the patient’s selected language. To do this use new ProEditKeyWord GetUserLang (similar to GetUserName, GetRoleName) which would return the user's current language.