Skip to main content
PVgenix logo
Guide

AI MedDRA Coding Explained: How Auto-Coding Works and Where It Stops

Coding is the step where automation is most mature in pharmacovigilance, and the one with the least forgiving version control. This guide covers how auto-coding actually works, why verbatim text is genuinely hard, and what the reviewer must still own.

PVgenix12 min read

Coding is where automation in pharmacovigilance is most mature, most measurable, and most consequential to get subtly wrong. It looks like a lookup problem — take the reported text, find the matching term — and it is not. Reporters do not write in dictionary terminology, one phrase frequently contains several distinct events, and the correct answer depends on which dictionary version was in force.

This guide covers how auto-coding actually works, the specific linguistic problems it has to solve, why version management matters more here than almost anywhere else in the case record, and what a coder must still own.

The dictionary is licensed content

Third-party dictionaries and licensed content - including MedDRA and the WHO Drug Dictionary - are procured and licensed by the client. PVgenix integrates them into the application.

MedDRA is a hierarchical terminology. Without going into the terminology itself, the structural point that matters for coding practice is that terms exist at several levels of specificity, and coding decisions interact with how data is later retrieved and analysed.

LevelRole in coding and analysis
Lowest Level Term (LLT)The most specific level, closest to how the event was actually reported. Cases are commonly coded here to preserve the reported nuance
Preferred Term (PT)The level at which most reporting, tabulation and signal detection is performed. Each LLT links to a PT
High Level Term (HLT)Groups related PTs for analysis
High Level Group Term (HLGT)A broader grouping used for aggregation
System Organ Class (SOC)The top level, used for presenting summary tabulations in periodic reports
The levels of the hierarchy, and the role each plays in practice.

Why level choice has downstream effects

Coding too specifically or too generally changes what your signal detection and periodic tabulations show. Coding a set of symptoms individually rather than coding the diagnosis a clinician would recognise can fragment a genuine safety picture across several terms — one of the reasons medical review, not just QC, needs to look at coding.

The difficulty is linguistic, not clerical. These are the specific problems any auto-coding approach has to handle, and they are the reason simple dictionary lookup was never sufficient.

01
Vocabulary mismatch

Reporters write "threw up", "couldn't stop being sick", "emesis". Consumers, HCPs and literature authors use entirely different registers for the same event.

02
Multiple events in one phrase

"Rash, itching and swelling of the face after the second dose" is three or four separate coded events, not one — and splitting it correctly is a judgement.

03
Negation and hypotheticals

"No signs of infection" and "we were worried about a possible reaction" must not become coded events. Naive matching codes both.

04
Symptom versus diagnosis

A reported list of symptoms may correspond to a diagnosis a clinician would recognise. Which to code is a clinical decision with analytical consequences.

05
Misspellings and abbreviations

Free-text intake produces typos, local abbreviations and non-standard shorthand at high rates, particularly from consumer channels.

06
Language and translation

Multi-market intake means source text in several languages, where translation choices affect the coded outcome.

07
Temporality and context

Medical history, concomitant conditions and the adverse event itself are all clinical text in the same document — coding must attach the term to the right context.

08
Severity mixed into the term

"Severe headache" mixes an event with a severity qualifier that generally belongs in a separate structured field.

Practical implementations layer several techniques, because each catches what the previous one misses. Understanding the layers helps you interpret why a given proposal was made — and why confidence differs between cases.

LayerWhat it doesLimitation
Exact matchDirect match of verbatim text against dictionary termsOnly works when the reporter happened to use dictionary language
Synonym and alias listsMaps known lay and clinical variants to terms, often curated over timeOnly covers variants someone has already added
NormalisationHandles case, punctuation, plurals, spacing and common misspellingsMechanical only — no understanding of meaning
Historical match reuseReuses previously accepted codings of the same verbatim textPropagates any earlier error consistently — powerful and therefore risky
Semantic / model-based matchingMatches on meaning rather than surface form, handling paraphrase and unusual phrasingProbabilistic; needs confidence scoring and review
Context handlingDetects negation, hypotheticals, medical history versus event, and splits multi-event phrasesThe hardest part; imperfect and the main reason review remains necessary
The layers of an auto-coding approach, in the order they typically apply.

Historical match reuse deserves specific attention

Reusing previously accepted codings is efficient and improves consistency — which is exactly why an error in an accepted coding propagates silently across every subsequent case with that verbatim text. Any implementation using this should let you correct a historical mapping centrally and identify the cases already coded from it.

MedDRA is updated periodically, and the update is not cosmetic — terms are added, and the status of existing terms can change. This has direct consequences for a safety database, and it is the aspect of coding most likely to produce an audit finding.

  • Every coded case should record which dictionary version it was coded against — without this, the coding cannot be interpreted or defended later
  • Version upgrades should be controlled and deliberate, applied by an administrator rather than happening implicitly
  • Recoding or impact assessment on upgrade needs to be planned: which cases are affected, what is recoded, what is left as coded, and on what basis
  • Submissions must represent the dictionary version consistently, since the receiving authority interprets terms against a version
  • Aggregate reports and signal detection compare data across time, so a version change mid-interval needs to be understood rather than discovered when numbers move
  • The upgrade itself is a change to a qualified system and should follow change control, with the assessment documented

The question an auditor asks

"Which MedDRA version was this case coded against, and which version was in force when the listedness assessment was made?" If the system cannot answer both from the record, the coding and the expectedness determination are both difficult to defend — which is why version control is not an administrative nicety.

Auto-coding produces proposals. What makes the proposal safe is the handling around it.

MechanismWhy it matters
Per-term confidenceLets low-confidence terms be routed to review individually, rather than trusting or re-checking the whole case
Verbatim preserved alongside the codeThe reported text must remain in the record; the coded term does not replace it
Manual override on any termThe coder must always be able to change a proposal — with no configuration that prevents it
Override recorded with attributionWhat was proposed, what it was changed to, by whom, when — this is your evidence that review is real
Multi-event splitting visibleThe reviewer needs to see how one verbatim phrase became several coded terms and be able to adjust it
Version enforcementCoding always against the administratively controlled current version, never an ad-hoc one
Medical review of clinical appropriatenessQC checks convention; a clinician checks whether the term represents the event — see medical review versus quality review
What the coding step should provide.

The boundary

AI assists intake and data entry. Qualified personnel review, edit, and approve AI-generated content before a case proceeds; regulated judgments remain with the client's PV personnel.

For the distinction between coding conventions checked at QC and clinical appropriateness assessed at medical review, see medical review versus quality review.

Coding is unusually measurable, which makes it a good place to demonstrate whether your automation is genuinely working.

MetricHow to interpret it
Auto-coding proposal rateThe share of terms for which a proposal was produced at all. Low rates point at source quality or synonym coverage
Override rateThe share of proposals a coder changed. Very high means the model or synonym coverage is weak; very low may mean reviewers are accepting uncritically
Override reasons distributionMore useful than the rate: wrong level, wrong term, missed event, spurious event from negation each imply a different fix
Coding consistency across codersThe same verbatim coded differently by different people indicates a conventions or training gap
Terms changed at medical reviewPoints specifically at clinical appropriateness rather than convention — often the symptom-versus-diagnosis question
Missed events (found later)Events present in the narrative but never coded. The most serious coding failure, because it is invisible in the structured data
Cases coded against a superseded versionShould be structurally impossible; any occurrence is a control failure rather than a metric to trend
Coding metrics and how to read them.

The metric that hides the worst failure

Override rate tells you about terms that were proposed. It says nothing about events in the narrative that were never coded at all — and a missed event is worse than a mis-coded one, because the structured data gives no hint that anything is absent. Catching this is precisely why the narrative-versus-data comprehension check at QC cannot be automated away.

Product coding runs alongside event coding and has its own characteristic difficulties, which are structural rather than linguistic.

  • Brand name versus active substance, with the same brand meaning different formulations in different markets
  • Combination products, where the reported name maps to several active substances
  • Strength, form and route variants of the same product
  • Local and historical brand names that no longer match current market authorisations
  • Distinguishing suspect from concomitant medication — a case attribute, not a coding one, but frequently conflated during entry
  • The same version-management discipline as MedDRA: record the version, upgrade under control

In PVgenix, MedDRA and WHO Drug Dictionary versions are managed centrally by an administrator, auto-coding proposes terms against the controlled version, manual override is available on every term and recorded on the audit trail, and the reported verbatim is preserved alongside the coded term. Dictionaries themselves are licensed by the client. See case processing and assessment.

The short version

Auto-coding works well because coding is a language problem with a verifiable answer — but the hard parts are negation, multi-event phrases, and symptom versus diagnosis, which is why proposals need per-term confidence and a coder who can override anything. Record the dictionary version on every case, upgrade under change control, and watch for missed events rather than only mis-coded ones.

Also in this cluster: AI in pharmacovigilance for the assistance-versus-decision boundary, and AI versus manual ICSR processing for where coding sits in the overall effort picture.

AI MedDRA codingMedDRA auto-codingautomated adverse event codingMedDRA version managementMedDRA coding accuracyWHO Drug Dictionary coding

Frequently asked questions

Common questions

See PVgenix on your case types

Request a demo to walk through intake, AI-assisted processing, and human-in-the-loop review on your own scenarios.