User Tools

Site Tools



The Anatomical Therapeutic Chemical (ATC) Classification System is a drug classification system that classifies the active ingredients of drugs according to the organ or system on which they act and their therapeutic, pharmacological, and chemical properties. It is controlled by the World Health Organization Collaborating Centre for Drug Statistics Methodology (WHOCC). Inasmuch as the ATC codes are semantic identifiers, the ATC vocabulary was taken as a basis for the OMOP Drug Hierarchy. As of 30 September 2021, there are 6497 valid codes in the ATC.


ATC source codes are obtained from WHOCC ATC/DDD Index 2021 and, in OMOP, stored in the table of class_drugs_scraper


The translation of source ATC codes to the OMOP Vocabulary is presented on the OHDSI GitHub.

Concept Names

  1. ATC codes of 1st-3th Classes are written in UPPERCASE.
  2. ATC codes of 4th Class are written in Initcap.
  3. ATC codes of 5th Class are written in lowercase and contain the information about Active Ingredient(s) or Ingredient Group(s) together with the route of administration. The latter is separated from the Ingredient-related information by semicolon “;”. Different routes of one Drug Product are separated by a comma “,”.
  4. OMOPized names of ATC Classes, containing information about the route of administration, are assigned by the vocabulary team through the concept_manual table. Details of ATC Adm.R-to-OMOP conversion are described below.
  5. Some 5th ATC Classes, which have name duplicates in other hierarchical axes, can get additional characteristics inherited from the higher ATC Class in brackets. Note, that brackets given by the source are placed before the semicolon, while OMOP-made brackets go after it.
  6. Row ATC names as well as ATC names concatenated with DDD information are stored in class_drugs_scraper and concept_synonym_manual.
  7. Either updated or deprecated ATC codes are marked with '[U]' or '[D]' at the beginning of the concept_name respectively.

Concept Codes

ATC codes are alphanumeriс entities of different length, which reflects their Class:

ATC Class Length Code example
1st 1 character A
2nd 3 characters A01
3rd 4 characters A01A
4th 5 characters A01AA
5th 7 characters A01AA01


All ATC codes are of the Drug domain, however, they may be hierarchically connected to the Device or Observation (concept_class_id = ‘Substance’) domains.

Concept Classes

concept_class_id description count
ATC 5th Chemical substance subgroup (ingredients or combinations) 5131
ATC 4th Therapeutic/pharmacological/chemical subgroup 890
ATC 3rd Pharmacological subgroup 267
ATC 2nd Therapeutic subgroup 94

Concept Status (Standardness)

Valid ATC codes are Classifications, invalid ATC codes are Non-standard ones.


The source usually supplies replacement ATC codes for those which have been deprecated. However, there are several ATC Classes without replacement (they seem to be semantically wrong or being erroneously placed into the ATC hierarchy).


Relationships are defined within ATC and between ATC and RxNorm, RxNorm Extension, Multilex, SNOMED, NDFRT, and VA Class.

ATC-specific relationships (internal)

relationship_id reverse target
ATC - RxNorm RxNorm - ATC RxNorm, RxNorm Extension ■ connects ATC Classes and Drug Products, but not Ingredients
■ technically non-hierarchical, however, semantically it resembles the 'Subsumes' relationship_id with the reverse of 'Is a'
ATC - RxNorm pr lat RxNorm - ATC pr lat RxNorm, RxNorm Extension ATC - RxNorm primary lateral connects:
– Monocomponent ATC Classes with their full semantic equivalents in the form of main active Standard Ingredients
– the 1st Active Ingredient of Multicomponent ATC Classes with Standard Ingredients
■ used as a Primary unambiguous link for ATC Classes with a clear and well-defined Ingredient
■ non-hierarchical
■ semantically, it is an equivalent to ‘Maps to’ relationship_id, and usually (except for exemptions) has such a pair in concept_relationship
ATC - RxNorm sec lat RxNorm - ATC sec lat RxNorm, RxNorm Extension ATC - RxNorm secondary lateral connects the 2nd Active Ingredient OR any subsequent Active Ingredient of a Multicomponent ATC Class to Rx/RxN Standard Ingredient
■ non-hierarchical
■ used as a Secondary unambiguous link for ATC Classes with clear and well-defined Ingredient(s)
■ the presence of this link is a prerequisite for creating a ‘Maps to’ relationship_id
ATC - RxNorm pr up RxNorm - ATC pr up RxNorm, RxNorm Extension ATC - RxNorm primary upward connects the 1st Ingredient Groups of Multicomponent ATC Classes to respective Rx/RxN Standard Ingredients
■ applied to Multicomponent ATC Classes, which names:
– starts either from the Ingredient Group or the word of combinations
– contains only one Ingredient Group, which is mentioned somewhere in the middle
■ hierarchical (applied at the post-processing, gives +1 level of separation)
■ used as Primary ambiguous link, in which ATC Class is represented with a particular group of Ingredients with a common trait
■ can be used for a well-defined but diverse group of ingredients (e.g. diastase, tree pollen, feather)
ATC - RxNorm sec up RxNorm - ATC sec up RxNorm, RxNorm Extension ATC - RxNorm secondary upward connects the 2nd Ingredient Group OR any subsequent Ingredient Group OR NOT mentioned and unspecified list of Ingredients, which can be in combination with Primary lateral or Primary upward ATC Classes, to respective Rx/RxN Ingredients
■ hierarchical (applied at the post-processing, gives +1 level of separation)
■ refers to the Secondary ambiguous link for Multicomponent ATC Classes

Possible combinations of ATC-specific relationships used at the Ingredient level

  1. ATC - RxNorm pr lat + ATC - RxNorm sec lat
  2. ATC - RxNorm pr lat + ATC - RxNorm sec up
  3. ATC - RxNorm pr up + ATC - RxNorm sec up
  4. ATC - RxNorm pr up + ATC - RxNorm sec lat


The ATC vocabulary is the hierarchical terminology, in which “the lowest” 5th ATC Drug Classes, reflecting real Drug Products, are connected to “higher” ATC Classes (from the 4th to 1st) via the one-step ancestry. In OMOP, the original ATC hierarchy is extended by Standard Drug Products of RxNorm and RxNorm Extension vocabularies, which are assigned to be descendants of the 5th ATC Classes.

The OMOP conversion of ATC Administration Routes

atc.adm_r omop.adm_r
implant implant
Inhal inhalant
Inhal. powder
Instill.sol. instillation solution
intravesical intravesical
N nasal
O local oral*
O oral
O, P systemic
Opht ophthalmic
oral aerosol local oral
P parenteral
R rectal
s.c. implant implant
SL sublingual
T topical
TD patch transdermal
V vaginal
documentation/vocabulary/atc.txt · Last modified: 2021/10/06 15:54 by ptalapova