A mapping is a collection of domains and the associated rules that you create to correctly map your data from a staging area to a specified data mart.
The mapping allows you to define the Standard or Specification, and target Data Store for any included Mapped Domains.
Create a Mapping
- Click the New button at the top of the right of the screen, and then select Mapping. The Custom Mapping window opens.
- In the Name field, enter a descriptive name for the mapping.
- In the Standard field, click the drop-down to select the intended standard or specification for the mapping. Selecting a standard or specification allows the mapper to suggest variable naming conventions and controlled terminology for any domains defined in the standard / specification.
Tip: The icon at the left of the standard or specification name indicates the type; standards are listed first and then specifications. Scroll to access all available selections.
- The Controlled Terminology field is only used when you have selected a Standard. When a specification is selected, the Controlled Terminology is built in. To select a version of the controlled terminology for a standard, click the drop-down and select the desired version. If you do not select a Controlled Terminology date / version, the most recent version will be used.
- Check the Active box to make the mapping active. Inactive mappings not be automatically executed when data is imported.
-
In the Map To field, click the drop-down to select the destination for the mapped domains. You can select from any existing data marts or staging areas.
Note: You can have multiple mappings per Data Store, but the names of the mapped domains in the data store must be unique. See Creating a New Mapped Domain below for more detail.
- In the Description field, enter a text description for the custom mapping.
- Click Save to save the mapping.
Create a New Mapped Domain
Each domain will result in a new table (dataset) being created in the database. These tables are created when domains or mappings are executed. Domains that are marked active will execute automatically when their source data is imported.
You can also manually execute a domain and force it to update its output table by clicking the execute button.
In addition to creating a new mapped domain using the steps below, Mapped Domains can be:
- Created automatically by Dynamic Mapping Templates. These automatically created domains will not appear until an import that matches the template is run.
- Created based on one of the Dynamic Mapping Templates, manually associating the dynamic template to your study, rather than through the default dynamic template behavior.
- Imported from an XML file.
- Imported from the Global Library.
Tip:
For details on using Dynamic Mapping Templates, see the article: Create a Domain from a Dynamic Mapping Template in Mapper.
For details on importing from a file or from the Global Library, see the article: Manage a Mapped Domain in Mapper.
Important: When creating a mapped domain, the tables from the target data store are available. Therefore, it is possible to accidentally select a table that depends on an existing mapping and create a self-referential or cyclical mapping. If a cyclical mapping is created, the system will NOT execute it, and will give you a warning when it tries to execute.
- In the Domains area, on the right side of the window, click New. The Domain window appears.
-
In the Name field, enter the name of the domain to be created. Names must be unique for the target data store of the mapping. You cannot create a domain named AE in two different mappings that point to the same data store.
Tip: If you enter the name of a domain that is part of your chosen mapping standard / specification (DM, AE, etc.), the system will be able to make suggestions for field names based on that standard / specification. The system will also add the name of the table to the description.
- Check the Active box if you need this domain to execute automatically when data is imported. Domains are typically left inactive during the development phase to avoid them being triggered automatically.
- Check the Intermediate box to make the mapping available as a source for further mapping. Intermediate mappings will not be exported, but are available to be used for other mappings.
After execution, the resultant table will appear in the target data store with a list icon instead of a table icon. This allows for intermediate mappings to be reused as part of other mapping when doing Table Joins or Unions. - In the Description field, enter a text description that describes the domain you are creating. If the Name is a recognized table/ panel name, the description will show the full name of the table.
- Click Save. The graphical Domain Editor screen displays.
Best Practices for Creating a Mapped Domain
- Link to a Standard / Specification first. Selecting a CDISC standard, custom standard, or specification allows for the auto-completion of field names, labels, and code lists, which helps prevent downstream mapping errors.
- Use unique domain names. Assign a unique table name to each mapped domain. When selecting source tables (including those created from previous mappings), be cautious not to choose a table your mapping is also designed to recreate, as this may result in the system blocking execution.
- Use Intermediate domains. Break complex transformations into smaller intermediate domains to create the final mapped domain. This approach simplifies troubleshooting and allows for the reuse of baseline or first-entry logic in other mappings. For instance, establish an intermediate domain that calculates each subject's baseline visit date, which can then be utilized in downstream mappings.
- Promote mapped domains to the Global Library. Promoting to the Global Library allows the mapped domain to be imported into other studies without re-coding, ensuring consistency and saving programming time.
- Use the Extract button in the Domain Editor. Extract complex transformation logic from an existing mapped domain into a reusable intermediate domain. This allows the same transformation to be referenced in other mappings without the need to rebuild it.