Variable properties
variable level plugin properties the plugin properties in this section are applied at variable level use these to map data points in the source to target variables description used to provide a human readable description of the mapping logic applied to map the source dataset/target datasets multi list element mapping used to specify the mapping for the target variable using the list of options specified, this is the main source of logic to map the target variable back to the source variable if there are multiple source datasets then users can specify multiple mapping elements if users do specify multiple source datasets, ensure to use appropriate source dataset identifiers on each different mapping source type used to classify the type of mapping for the target variable a dropdown list of all the different possible types of mappings the system is capable of this is used in conjunction with the plugin properties below to determine the mapping the list of source type mappings are none source variable string function dataset lookup copy mapping choice valuelist value name valuelist value label valuelist value origin valuelist value data value valuelist value original unit valuelist variable sequence no sequentially number rows sequence no sequentially number rows per subject sequence no unscheduled visit populate idvarval comment data value follow the relevant sections for more detail on the individual source types the only one not covered below is the source type “none” this is used when no mapping value is intended to be returned this means that the column in the output dataset is blank source this is used in many places throughout the mapping plugin and is context aware source is recommended to be specified in this context, this is used to cover the source types of “source variable” and “string” for “source variable” it is used to specify the source variable in a direct one to one mapping for “string” it will output an explicit string do not uppercase used to determine the casing of the final value the converter by default outputs everything in uppercase ‘yes’ means that the system will not uppercase the final value controlled terminology lookup used to specify a look up to a controlled terminology specified in the define file if any coded value matches the source value of the mapping it will return the decode value of the terminology the controlled terminology lookup property has the following plugin properties controlled terminology identifier this is a dropdown list of all the controlled terminologies specified in the define file users select one from the list as the identifier for this mapping default value used to specify a fall back value if there is no match on any of the coded values specified for terminology specified above function used to specify one of the inbuilt functions for the converter tool copy mapping used to copy a mapping from another variable users specify which variable they wish to copy from and whatever mapping is specified in that variable is used here also the copy mapping has the following plugin properties domain this is a drop down list of all the domains in the define file users specify the parent domain of the variable they wish the mapping to be copied from variable this is a drop down list of all the variables in the domain specified above users select the variable they wish the mapping to be copied from source dataset identifier for instances where there are multiple mappings on the selected variable, users specify the source dataset identifier for the individual mapping they are trying to copy choice the choice mapping allows you to apply conditional logic to your mappings this follows the traditional logic of if then else statements when choice mappings are built up by a number of when statements users should use the when statement to define different scenarios of when they would want a specified output if the when conditions are not met then the logic will fall back to the otherwise element users should try and create unique when elements so that they do not have scenarios where multiple when’s could execute condition (if) when conditions can be chained together output value (then) if the when condition is satisfied, users can specify the output value this allows for the basic mapping options, including outputting a string value otherwise (else) if none of the when conditions are met, users are able to specify a fall back value example in the following example, if the source variable sae has a "y" value; then the choice mapping will convert it to a "yes" string value if sae does not have a value of "y" then the output value is converted to "no" dataset lookup source used to specify mapping that can look up a dataset which is not one of the current source datasets use this mapping type if you want to access a dataset which will only be used for this particular variable mapping if a dataset is used for multiple variables you should consider joining the dataset to the source also used when the dataset comes from a different source system to the other source datasets for example, if most source datasets come from an edc but there is an external lab dataset to be incorporated, it may be better to use a dataset lookup as the edc and lab dataset structures may differ, making it impossible to use a dataset join lookup dataset identifier used to specify the source dataset that you are trying to lookup when used to specify the conditions under which the dataset lookup should work users can specify multiple when conditions calculated value used to specify the returned value based on the dataset lookup match this is a traditional mapping element note at this level, options are limited to the following source types none lookup variable source variable string function choice the lookup variable source type is unique to this level of mapping it refers to a variable in the lookup dataset calculated value modifier this is a dropdown list containing maximum and minimum as options the dataset lookup can only ever return one row for the mapping but it is possible that the when specified may return multiple rows in the lookup dataset this will result in multiple calculated values, this is why the property forces the user to choose maximum or minimum as it needs to select only one return from the when specified in the minimum and maximum work as expected if the values returned are numeric i e minimum will return the lowest value and maximum will return the highest value if the values are textual then the minimum/maximum will be determined alphabetically result mapping as a result of calculated value https //docs google com/document/d/12uiyzrsdtxmwu2nxdxsqlb2pcnrguytx/edit#bookmark=id lnxbz9 and calculated value modifier, there will be a returned value from the dataset lookup from here users can specify a further mapping for this result this is a basic mapping element note source types are limited here to none calculated value lookup variable source variable string function choice calculated value is a reference to the value returned as a result of the mapping result mapping will often be the calculated value but the result mapping allows an extra level of logic to be applied to the calculated value the example below is the same as above except the result mapping applies a substring after function to the output to llt name in the correct format source dataset identifier used to link the mapping to a particular source dataset users can define multiple mapping elements for variables this should be used when there are multiple source dataset elements specified if multiple source datasets are specified, you can use multiple mappings for each element based on those source datasets if you do this they must populate this property with the source dataset that the particular mapping is referring to valuelist source types for the valuelist source types these correspond to the valuelist values specified in the define file these are used when there is a horizontal to vertical pivot operation in place valuelist value name this will return the name of the current value in the pivot operation valuelist value label this will return the description of the current value in the pivot operation valuelist value data value this will return the mapping result of the current value in the pivot operation valuelist value origin this will return the origin of the current value in the pivot operation valuelist value original unit see valuelist values properties; mapping; original unit for more detail valuelist variable see valuelist values properties; mapping; variable for more detail sequence no source types sequentially number rows increments for every row in the target domain sequentially number rows per subject requires usubjid to be present and populated in the target domain increments by one for every row for each unique usubjid value, starting at one this replicates the sdtm seq derivation sequentially number rows unscheduled visit increments for every row in the target domain based on the visit type if visit is unscheduled then the output will increment with a leading 0 0001 example to organize visits and unscheduled visits map all visits into a single dataset scheduled visits should have a visitnum assigned, while unscheduled visits should have a blank visitnum sort by visit date to arrange the visits in chronological order for each subject apply a choice mapping to handle unscheduled visits use the following logic if visit = 'unscheduled', assign “sequence no unscheduled visit ” otherwise, use the visitnum this process fills in the missing visitnums, starting from the preceding visitnum for example visit visitnum visit 1 1 visit 2 2 unscheduled unscheduled visit 3 3 after applying the sequentially number rows unscheduled visit mapping, the dataset will look like this visit visitnum visit 1 1 visit 2 2 unscheduled 2 0001 unscheduled 2 0002 visit 3 3 copying mappings allows users to copy whole mappings from one variable to another the copying mechanism is separate to the copy mapping element in the previous section this functionality allows users to copy mappings within the application to then paste into other mapping elements it allows for easier re use of mappings
