Summary

This article covers filing information from the same source into multiple sites.

Table of Contents


Double data entry (DDE) is the act of filing information from the same source of case book data into multiple sites. Once subjects are filed into the DDE sites, special difference reports may be generated from the data. These allow the user to detect and reconcile differences in forms across these sites.

DDE is configured in the “App Properties” worksheet of DataArchitect. Permissions are assigned in the “Roles” worksheet. As double data entry works only with pairs of sites, at a minimum this will require two sites to be configured as partners. In some cases further configuration may be required.

Note: The following steps may require you to place properties in the worksheets of your DA. These items are case sensitive, any incorrect characters will result in undefined behavior or error.


Overview

The following is a high-level explanation of the structure and configuration process for double data entry utilities.

For usage, see the article describing the Difference Manager.

Site Relationships

DataArchitect recognizes three types of relationships for the purpose of linking DDE sites together, and only two are established in the DA file itself:

Child – Child

  • This pairs two sites into a basic DDE tool so difference reports can be executed between them.
  • This pairing is established using the diffToolXXXPartner property in the DA (see here).


Child – Parent

  • This simply associates one site with a larger container site.


Parent sites are defined during trial design when creating new sites under the Design Node.


Note: Child – Parent relationships are not built in the DA.



Parent – Parent

  • This relationship connects two parent sites that both include basic DDE tools (paired DDE sites) as children.

  • We can run difference reports on all included child DDE sites from the parent’s difference manager.

  • This pairing is established using the diffParentXXXPartner property in the DA (see here).



This image demonstrates how you might relate your DDE sites to each other. In this setup A1 – B1 and A2 – B2 are related by a Child – Child relationship. This would allow you to run reports on sites A1 and A1 only when viewing these sites. The same applies to A2 and B2, their difference reports are not visible from A1 and B1. However, because the parent sites are also related by a Parent – Parent relationship, the difference manager is enabled on the parent level. This means that reports for both DDE pairs can be executed from either All Sites A or All Sites B.

Minimum Configuration and Options

At a minimum you must define two sites to be a basic DDE tool (depicted by a dark blue line in the image above). Parent relationships between children and other parents may be added to create a hierarchy that allows you to run difference reports from multiple pairs of DDE sites from a single location.

There are a range of optional properties that can be configured in the AppProperties worksheet. These are all described and explained below. These options only need to be addressed in the DA if you wish to alter their default operation.

Connecting Sites

Trial Manager

  1. Open your study in Trial Manager and navigate to the “All Sites” form under the Design Node.
    • This is where you can create new sites.
    • The form used to create new sites has a “Parent Site” field that defines the Child – Parent relationship described above.
    • When sites are created they have an automatically generated “Tool ID” inserted into the corresponding field on this form.
  2. Collect the ID’s of the child and parent sites for use in the DA.

AppProperties

If you are defining a Child – Child relationship:

  1. Name: Enter “diffToolXXXPartner“, where XXX is the Tool ID of the first DDE site.
  2. Value: Enter the tool ID of the second DDE site.
  3. Repeat for any other DDE pairs.
    • This will enable the Difference Manager at the level of the DDE sites.


If you are defining a Parent – Parent relationship:

  1. Name: Enter “diffParentXXXPartner“, where XXX is the Tool ID of the first parent site.
  2. Value: Enter the tool ID of the second parent site.
  3. Repeat for any other parent pairs.
    • This will enable the Difference Manager at the level of the parent sites, permitting difference reports for all configured DDE child sites from a single location.


Note: You may have both DDE and non-DDE sites contained within a single parent site.



Note: Define each of these relationships only once. If A is linked to B in the dA, a second property linking B back to A will result in error.


Matching Subjects to Compare

The difference analysis needs to know how to match the subjects to be compared. It does this using a key that is, by default, the primary name of the subject. It is important that the generated key properly identifies each patient so they can be matched across both DDE sites. For this reason a stronger key may be necessary.

The following steps may be used to change how it is created:

  1. Open the AppProperties worksheet of your DA.
  2. Name: Enter “ddeRecordMatch” into this cell.
  3. Value: This field should be filled with one of the following options from the table below.



primaryThe subject matching is done with the primary name only. This is the default value for the property.
primarySecondaryThe subject matching is done using a key made by adding the secondary name to the end of the primary name.
secondaryPrimaryThe subject matching is done using a key made by adding the primary name to the end of the secondary name.
expressionThe subject matching is done with a special expression that is evaluated for each record. Use this option only when needed, as This can impact performance. When this option is used, then it is required to specify the expression to evaluate with the property ddeRecordExpression explained below.

If you entered “expression” in step 3, continue with the remaining steps in the section. Otherwise you may skip to the next section.

  1. Return to the AppProperties worksheet and enter the following property.
  2. Name: Enter “ddeRecordExpression“.
  3. Value: Enter an expression into this field that can be evaluated to a string using question paths.


Example

#demog.birthdt + '-' + #demog.initials


This expression would result in a record key calculation with the value of the birthdt question from the demog form combined with a dash and the value of the initials question from the demog form.

Matching Forms to Compare

Once two subjects in different sites have been matched, their forms must also be matched. This is also done with a key that is, by default, a combination of the form type ID and the form name. If you wish to modify the key generation you may use the steps below.

Note: These steps will have to be repeated for each form type you wish to modify the key calculation for.


  1. Open the AppProperties worksheet in your DA
  2. Name: Enter “ddeFormExpression-” followed by the form type ID of class of forms you are trying to modify.
  3. Value: Enter an expression that can be evaluated to a string using question types, aliases, and constants (see example below).


Note: Form keys only have to be unique within their parent containers. Because these are matched before individual forms, you can assume that if you are defining a DDE form expression for concomitant medications that you are operating within the concomitant medication container. Do not use full question paths.


Example

For example, if a concomitant medication form has the form type ID “cm” and the naming procedure uses the sequence number, the default key generated might be “Medication 1″. This would be matched to another “Medication 1″ form in a second record. Depending on the sequence of data entry however, these medications may actually be different. If medication question has the name “cmterm”, then we can instead set ddeFormExpression-cm to value “cmterm” to properly identify the forms.

Another example use case occurs when multiple periods of concomitant medications are possible. In this case adding the medication start date to the form match expression would allow you to uniquely map the forms. Assume the start date question type is “cmstdt”, then the property ddeFormExpression-cm could be set to “cmterm + ‘-’ + cmstdt” to generate a proper key. Again, note that the expression uses simple question types/aliases.

Configuring the Difference Manager

There are several properties that can be used to modify the appearance and operation of the Difference Manager. To do this, in the AppProperties worksheet of your DA enter the property’s name under the Name column. Then, under the Value column, enter either “true” or “false” to turn the function on or off.

ddeIgnoreCaseThis causes the difference analysis to ignore the case of subject keys, form keys, and question answers. By default this is set to “false” making the analysis case-sensitive.
ddeIgnoreLeadingZerosBy default the difference analysis checks the whole value that is used for comparison. This property is set to false by default, but by setting setting it to true, it is possible to have the utility ignore leading zeros on subject keys, form keys, and question answers.
ddePagerOnTopThis property enables the display of a pager row (page navigation tools) on top of the differences results. It can be set to true or false, and has a default value of true.
ddePagerOnBottomThis property enables the display of a pager row (page navigation tools) below the differences results. It can be set to true or false, and has a default value of true.

Permission Configuration

There are several screens and actions a user must have permissions for in order to access all of the double data entry utilities. In a typical case a user is likely to have all of the following permissions. However, in some circumstances you may want to restrict access to all or some of these functions.

To add each of the following permissions:

  1. Open the Roles sheet of your DA.
  2. Custom Actions: Enter a descriptive name. (This is only organizational and has no actual effect on permissions.)
  3. Actions Required: If the permission is an action, add the value from the table below to this column.
  4. Screens Required: If the permission is a screen, add the value from the table below to this column.
  5. Conclude by adding an “X” to each of the role columns you wish to have this permission.
  6. *Optional* These permissions are separated to allow for additional customization based on role permissions. If you wish to enable all permissions under a single Custom Action title, you may enter the actions and screens required as a list separated by commas.

 

Actions RequiredScreens RequiredDescription
 diffManager View the Difference Manager and available reports. (Only visible if DDE partners are configured.)
 viewDiffArchivesView archived reports and historic execution results.
 deleteDiffArchiveEnables a required confirmation before deleting difference archives.
analyzeDiffs Run difference reports.
exportDiffs Export report results to Text or Excel.
saveDiffConfig Edit and add new difference reports.
runModifiedDiffConfig Allows the execution of one-time modified report configurations. (Changes to the configuration are not saved beyond a single execution.)
deleteDiffArchive Delete archived report results.
deleteDiffConfig Delete a difference report configuration along with associated archives.

 

Double Data Entry Messages Explained

This is a listing of the error and warning messages that can occur in the double data entry report results.

Error DDE-1

No partner tool is configured for tool {1} (id {1})

Explanation: This error is thrown when no partner tool is configured. To fix this, correct the configuration in the DA.

Error DDE-2

Partner tool not found for tool {1} (id {1}).

Explanation: This error is thrown when a partner tool has been configured for DDE, but that tool does not actually exist. This is likely a typo in a tool ID. To fix this, correct the configuration in the DA.

Error DDE-3

Tool {1} (id {1}) is not accessible.

Explanation: This error is thrown when your current role lacks the permissions to run difference reports in both of the partner sites. To fix this, make sure the same role is assigned to both sites with the proper privileges.

Warning DDE-4

Mapping for form is not unique.

Explanation: This warning is thrown when the difference analysis maps two or more forms within the current hierarchy to the same key. This is either a simple data entry problem or your form key is not specific enough. To fix this either correct the typo or use the ddeFormExpression-XXX property to create a key that will uniquely describe your forms.

Warning DDE-5

Property ddeRecordExpression is required and missing.

Explanation: This warning is thrown when the application is configured to use an expression for key calculation, but the expression itself is not defined. To fix this you can do one of two things. You can either choose a different option for key generation using the ddeRecordMatch property, or you can use the ddeRecordExpression-XXX to define the missing expression.

Warning DDE-7

Mapping for records is not unique.

Explanation: This warning is thrown when two or more subjects are mapped to the same key. This is also either a data entry error or the record key is not strong enough. To fix this, you should utilize the ddeRecordMatch property to create a key that will uniquely describe the records.

There are several supported methods for key definition. Choose the most appropriate for your situation:

  • Use of the primary name only.
  • Use of a combination of primary and secondary name.
  • Use of a combination of secondary and primary name.
  • Use of a expression for the record. This has some impacts on the performance, but it may be required in rare cases.

Error DDE-8

Configuration problem. Tools {1} and {2} belong to different applications.

Explanation: This error is thrown when the configured partner tool belongs to a different application and can cannot be used for comparison. All double data entry tools to compare need to belong to the same application. To fix this, correct the configuration.


Need more help?

Please visit the Fountayn Contact Information page.