1. Help Center
  2. Medication and Event Coding

Medical Coding

Accessing and Perform Coding Using MedDRA and WHO Drug Dictionaries

Access to Coding Projects

Prerequisite: User has Access to Coding Tool and Add/Edit Synonym

TrialKit Coder can be accessed either from within TrialKit EDC as shown below, or directly via the URL coder.trialkit.com

If using TKCoder for multiple studies, verify the intended study name displays at the top of the screen, along with the dictionary versions being used on that study:

To switch between different studies, use the menu at the upper right corner:


Access any existing coding project via the Open buttons.

If projects have not yet been configured, that can be done either by a study Administrator or anyone with access. Read more about setting up coding projects.

The project will open up displaying all terms that exist in the project. This could be data that was imported, or data that is coming directly from the EDC.


The visible columns can be modified:


The list can also be filtered for specific terms or uncoded records.


Continue reading for how to perform coding and other functions within a coding project.

To return to the list of coding projects, use the button at the bottom left:

Run Auto-coding

Autocoding is how the system can perform automatic coding on all terms that have not been manually coded. Read more below about manual coding.

Autocoding can easily be initiated via the button at the top of the coding project:

A prompt will display to ask if the match algorithm should work at the default 100% match threshold, or if similar terms should be matched (80% match threshold). Standard practice is to only use 100% match.

Once coding is initiated it's okay to exit or perform coding on other projects. When the job is completed, an email confirmation will be sent.

Any terms that don't get matched need to be manually coded and added as synonyms to prevent manually coding the same term in the future. Those steps are covered later in this article.

How Autocoder Works

TrialKit Coder's algorithm for auto-coding determines what gets coded and how it gets coded. Understanding the routine it follows is important knowledge prior to using the auto-code tool.

When running the autocoder, the following occurs:

  1. The system first looks for any terms with synonyms contained in the local Central or Project-specific synonym dictionary. If it finds matches, those terms get coded based on what is defined in each synonym.
  2. Next, all un-coded or previously-auto-coded terms remaining are run against the applicable dictionary to find a match. Records do not have autocoding run on them if:
    1. They have been previously manually coded
    2. They have been previously autocoded and had an ATC or SOC manually applied
    3. They have been reviewed with the Coder tool. Note, records reviewed/locked within EDC can still be autocoded.
  3. For MedDRA, the primary SOC is assigned. for WHO Drug, all ATCs are assigned. In both cases the SOC or ATC can be modified to the desired one, as detailed below.

For TrialKit integrated coding, records that have been review locked in EDC are still open to be coded since the coding variables exist outside of the form data. Review locks will not be broken, but audit trails on records may indicate coding activities after lock activities.


  • Records that have been manually coded are ignored
  • If a change is made to a term within TrialKit EDC, the term will contain a red strikethrough within the Coder interface, but previously coded data will be retained. The autocoder will only update the code if the term was not previously manually coded.

Auto-coding only codes 100% matches by default. To include similarity matching (80% weighted match), there is an option prior to running coding (as shown below).

Screen Shot 2021-05-20 at 9.44.08 AM

Batch Autocode

Batch coding can be done when there are multiple coding projects on a given study and the Medical Coder does not want to individually open each project to run auto-coder. This is essentially preventing redundant actions.

Similar to auto-coding a single project, it's okay to sign out and await confirmation emails for each project as the coding jobs get completed.


Manually Coding Terms

With a project open, tap the dictionary icon next to any term that needs to be coded or re-coded.


The dictionary will open with the verbatim term already populated to search on.

1. Modify the term as needed to search the desired code.

2. If there are synonyms available, they can be selected here as well.

3. In the list of results, select the desired code


The code will populate on the record along with all ATCs (WHO coding), or the primary SOC (MedDRA coding).

Selecting an ATC or SOC

As mentioned above, when a term is coded, by default, all ATCs are assigned. 

Tap the icon under the ATC/SOC column:

This will open a popup window of the options. Tap on the text of each to view details, or check the box to select the desired code.


A helpful step for coding medications is to display additional necessary columns in the table. The options available are setup by the Study Administrator.


Copying and Pasting Codes

If a record has been coded and another record needs the same set of codes applied, tap Copy on the one needed, followed by Paste on the empty one. 

As an alternative to individually copying and pasting codes, it can be more effective to add the term/code to the synonym dictionary and then re-run the autocoder. This will accomplish the same thing as copy/paste but with less manual work involved.

Deleting Codes 

Codes can be cleared on individual records for the purpose of allowing the autocoder to rerun the term through its process. Alternatively, without deleting the code, the record can simply be manually coded to change to the desired code.


Prerequisite: User has access to Query Management > Create Query

To query the site for specific terms, such as ones that need to be clarified, use the query button for any record. Any record that has been queried already will display the most recent query above the button.

For standalone coding where data has been imported (i.e. not coming from TrialKit EDC), querying will be internal to the Coding tool and will not query the external EDC unless it has been integrated.

When opened, a query history will display with the option to add a new message to the attention of the site, or a list of pre-defined queries can be selected from. This helps save time manually typing similar queries and is discussed more in the next section.


Query Templates

These are pre-defined query messages that can be set up for all coding projects within a given study. It helps speed up the querying process from the Medical Coder to the Site if the queries are typically generic messages that can be re-used regardless of the exact record being queried. These can be imported from a CSV file or manually added as needed. The query templates are separated by dictionary, where Event queries will be different from the Medication queries.

Here's an example file.

To manually add a query for using within coding projects:


Specify the dictionary type and the term that the query is most often used for. This will be a helpful reference when choosing from the query list later on:




Prerequisite: User has permission to Add/Edit synonyms

Synonyms are like a local dictionary specific to a study or coding project. It's a way to dictate the autocoder to apply a code to a given term that it would otherwise code differently (or not code at all). It's a powerful way to lessen the load of manual coding done on the various terms that sites might use for a given event or medication. Synonyms will be given priority over the native MedDRA or WHO dictionaries.

Access the synonym dictionaries from within any coding project. There are two types of dictionaries. The Project dictionary is the button on the right. the Central dictionary is the button on the left:

Central Synonyms vs Project Synonyms

The Central synonym list is used by ALL projects for the given dictionary version (MedDRA or WHO Drug) within the current study. The Project synonym list is specific only to the current coding project - so another coding project will not have access to the same list. If the same list is needed on another project, the batch import function can be used to move term/code pairs from one list to another.

The autocoder gives priority to Project synonyms over Central synonyms. This means if a term exists in both dictionaries with different codes, it will apply the code from the Project dictionary.

How Synonym Matching Works

If only a term/code are specified in the synonym, the system will use it for any record containing that term (exact match, non-case sensitive). If an ATC is specified with a route/indication, all elements must match in order for the synonym to be used by the auto-coder.

Adding Synonyms

TrialKit Coder also makes adding synonyms incredibly simple via three methods:

  • Batch import - Import an existing synonym list from an external source. To do so, open the desired synonym dictionary and locate the batch import button. The imported file should contain the following column headers:

    For MedDRA coding: term, code

    For WHO coding: term, code, indication, route, atccode

  • Quick-add from within a coding project. - This is the most efficient method while performing coding activities. On any record that contains a term and code match that is needed in the synonym list, use the quick-add button:

  • Manually adding - Add a term and code manually to the synonym dictionary. 

Synonyms within the local dictionary can be disabled from use by the auto-coder if needed, without completely deleting them. This is helpful to keep track of past synonyms that have been retired from use.


Coding Review

Review/validation can be performed on coded records as a way to verify the codes that were applied. This is not a required step, but can be helpful to support some users' workflows. If used, each project is setup to support up to two review levels based on user role. That can be seen on the main projects table:


When a user with the correct role accesses the project, there will be a review button in the right column. In this example, review level 1 has been conducted on the third record, and it is now ready for review level 2 if that is required.

If coding changes after it's been reviewed, or if the term gets changed on the record, the review will be automatically removed.


Exporting Coded Data

To Export the full dataset along with all coding details, open the desired project and tap the Export button at the top:

This will queue the export to run in the background. Depending on data size, it could take some time. It's okay to exit or sign out. The average export is fast, so can be accessed after a few seconds. It will not automatically download. Instead, the file needs to be retrieved from the Jobs Manager on the home screen:

From the popup window, export the needed file. Past jobs will also be retained.


WHO Drug Data Export columns

  • DrugName - The WHO drug name associated with the WHO code
  • PrefTerm - The Drug Name if it's the preferred name. If not, this displays ingredients
  • ATC Codes
  • Level 1-4 Code
  • Level 1-4 Name
  • match_status
  • status - Awaiting coding or awaiting review
  • last_coded - date and user that last coded the record, followed by "A" or "M" to indicate autocoded or manual coded
  • review_1 - date and user of review level 1, if applicable
  • review_2 - date and user of review level 2, if applicable
  • version - WHO dictionary version

MedDRA Data Export columns

  • LLT Name
  • PT Code
  • PT Name
  • PT SOC Code
  • PT SOC Name
  • HLT Codes
  • HLGT Codes
  • SOC Codes
  • match_status
  • status - Awaiting coding or awaiting review
  • last_coded - date and user that last coded the record, followed by "A" or "M" to indicate autocoded or manual coded
  • review_1 - date and user of review level 1, if applicable
  • review_2 - date and user of review level 2, if applicable
  • version - MedDRA dictionary version