A mono drug in RxNorm is linked to a combination ATC in concept_ancestor

First of all, thanks for the amount of work to harmonise so many messy vocabularies.

I found some RxNorms which I dont understand why they appear as the descendants in the concept_ancestor tables for some ATC 5th level codes

For example: 21603699 - RxNorm - timolol 5 MG/ML
appears as descendant of :

  • 21603699 - ATC - S01ED01 - timolol; ophthalmic

  • 21603705 - ATC - S01ED51- timolol, combinations; ophthalmic

The first is making sense.
I dont understand why this is a descendant of the second S01ED51

Looking at the github vocabulary wiki on ATC, step 5

As ATC does not provide unambiguous classification for every drug on the global market, the ATC 5th - RxNorm drug relationships were ranked to further filter the links. For each RxNorm/RxE drug, only relationships with the highest rank ATC codes were included in concept_ancestor table.

The ranking was arranged as follows:

1- Manual links (COVID-19 vaccines, other vaccines, insulins),
2- Links between mono-ingredient RxNorm/RxE drugs and ATC codes that have one ingredient in their name,
3- Links between two-ingredient RxNorm/RxE drugs and ATC codes that have two ingredients in their name,
4- Links between 3/4-ingredient RxNorm/RxE drugs and ATC codes that have 3/4 ingredients in their name,
5- Links between RxNorm/RxE drugs and ATC codes formulated as “combination of”
6- Links between RxNorm/RxE combo-drugs and ATC codes formulated as “Ingredient A + group B” (such as C07BB04 acebutolol and thiazides; systemic)
7- Everything else.

I understand that
RxNorm - timolol 5 MG/ML TO ATC - S01ED01 - timolol; ophthalmic is level 2
and
RxNorm - timolol 5 MG/ML TO ATC - S01ED51- timolol, combinations; ophthalmic is level 5
If only the max level is taken then
RxNorm - timolol 5 MG/ML should be only in ATC - S01ED01 - timolol; ophthalmic

What am I missing ??

Hello Javier,

Thank you for your question. We need some time to investigate this issue, and we will come back as soon as we have any updates.

Best,
A. Tatur

hey Tatur,

Have you had time to look into this ??

Thanks

Hello Javier,

Thank you for your question and for closely examining the data. We have looked into the issue you mentioned. It indeed stems from certain nuances in the concept_ancestor building logic, which is unique for ATC as it is post-processed rather than calculated directly. Specifically, in this case, the incorrect inclusion of relationships may be related to how combinations and overlaps between ranking levels are handled when linking RxNorm and ATC codes.

We understand that this can cause confusion, and we are exploring strategies for optimizing ancestor calculation.

If you have additional questions or examples of similar cases, please don’t hesitate to share them with us.

Thank you for your patience and valuable contribution!

Best regards,
Anton Tatur

OHDSI Vocabulary Team

@ratuat:

Is that heuristic described somewhere?