OHDSI Home | Forums | Wiki | Github

New routes (and de-standardization of old SNOMED routes)

There is a proposal to harmonize routes presented at the OHDSI Symposia, which is getting close to the finish line.

In a nutshell, Teresa has proposed to reduce the number of standard routes to support dose estimation. The poster is attached to the GitHub issue.

As a result, some of the SNOMED routes will be de-standardized and mapped to new, broad groups. You’ll also have links between RxNorm/RxE Dose Forms and new routes.

If you use routes in your research, please review the attached file and provide your comments/questions.

new routes for forums.xlsx (31.6 KB)

I’m curious, why are we de-standardizing the existing routes? Is it really necessary? From the spreadsheet, it looks like a hierarchy could be created to meet the use case found on the poster while at the same time leaving the current, standard concept_ids intact.

Another thing to note, this poster and possibly this work is based on only two data sources: CPRD GOLD and CPRD AURUM. And per the poster, the data only contains one form of injection, “injectable”. Injectable is very broad term. The difference in bioavailability and rate of absorption between subcutaneous, intramuscular, intravenous and intrathecal is quite significant. And other data sources contain these more granular terms.

Will the following change the ETL? Or how will these links be used?:

From my understanding (please let me know if I missed something) of the use case, I think this solution is over engineered. Creating a hierarchy to meet the use case while leaving the current standard concepts intact is the best path forward.

I don’t have any strong opinions one way or the other. If we have concept usage statistics, perhaps we can inform the discussion with knowing usage frequency of the concepts in question.

But maybe prior concept usage measuring projects did not cover this. So in this case, we can reach out to some institutions (or even better networks) (AllOfUs comes to mind or N3C)

Hmm… (later edit) I even did some related work on this back in 2016 :slight_smile:
(but not true route but rather inferring it from dose form) (if I remember correctly)
See the plot below

poster abstract link: https://www.ohdsi.org/web/wiki/lib/exe/fetch.php?media=resources:huser-ohdsi-symp-2016-dose-form-v039c.pdf

@MPhilofsky, thank you for the questions. That is why we put this here for discussion. If you are interested in differences of bioavailability, you can use the dose forms to distinguish between them, here is the link to look them up: Athena (ohdsi.org)

Creating hierarchy instead of de-standardizing SNOMED routes would be another option indeed. I remember @Alexdavv had some reservations with this approach, so I’ll ask him to chime in here.

This proposal may be overengineered (or may not) - we currently don’t have a good understanding on if and how community members use routes and hope to get some insights here.

There are indeed porblems in design and technical implementation with rebuilding SNOMED hierarchy manually, with how it is structured in our Standardized Vocabularies.

In just talking points:

  1. SNOMED comes into OMOP from three different sources, and they have varying levels of support.
    • Most (about 180) of the routes belong to SNOMED CT Core, as expected – something that is universal for every healthcare system is eventually expected to end up in the SNOMED Core, and the set of possible ways to put medicine into a human is pretty universal. This is probably the best supported part.
    • 18 routes come from SNOMED UK version. They contain full duplicates to the International version, their hierarchical links unmaintained, and only update to happen to it was in 2020 – and it did not even fix all duplicates that were present at the time. That would require the most manual work.
    • One very exotic route (Arteriovenous graft route) comes from SNOMED US version. My guess is that it exists only for ICD-10-PCS compatibility.
  2. Any sort of manual support on our side would had to adapt to any changes and fixes SNOMED sources do themself. What happens, if SNOMED Core completely removes a route as “ambiguous” without a replacement mapping? What happens, if SNOMED UK releases an update and fixes all their routes, and they end up being different to ours? If changes are incompatible, do we accept the source logic, or double down on the changes that were already released by us? How would we determine precedence between new duplicates between the local versions?
  3. If we take the responsibility to maintain the routes, would we handle community requests for a new concept? After all, manually changing hierarchy and handling duplicates is not very far from manually adding concepts. Do we forward the request to SNOMED, just to still end up maintaining the added concept ourself?
  4. Most of the SNOMED UK routes will be gone from OMOP Vocabularies soon. Do we make an effort just to keep and maintain a tiny part of the Drug Extension module, which is also expected to drift further and further away from shared SNOMED structure?

I would argue that creating and supporting a manual hierarchy, and creating mappings for the old SNOMED Route concepts just once as a transition measure, is strictly less complicated than hacking into the hierarchy of SNOMED.

1 Like

We further discussed the topic on today’s Vocabulary WG call. Based on the discussion, the plan is to continue with the proposal subject to addition of more granular injectable routes (IM, IV, subcutaneous, intrathecal, below). Other routes on the table are epidural and intraarterial.

We now open this thread for others to comment on the routes they use in their research so that they can be incorporated as well. Please provide them by Jan 15th (deadline is guided by the upcoming release).

Also tagging @Vlad_Korsik who I heard has seen some routes in the data.

new routes for forums 010924.xlsx (33.2 KB)

The mapping seems to be done by going from Route of Administration Value(SNOMED) → New Route → Dose Form(RxNorm)

What makes this more useful than the direct Pharmaceutical dose form(SNOMED) → Dose Form(RxNorm)?

We have the SNOMED to RxNorm equivalent (RxNorm) mapping.

Overall this seems like a lot to manage as new products go to market, and something that could be solved via modeling while still off-loading that work of management to SNOMED/RxNorm.

There might be some confusion indeed. Mappings are constructed between SNOMED routes and new simplified routes to enable dose calculations for those data sources that have only ingredients. For the rest of the data sources that have more granular information, the preferred way is to store the information through RxNorm codes that have both dosage information and dose form (proxy for route), thus making routes and dosage calculations irrelevant altogether.

The second part - link between dose forms and routes are not mappings, but lateral links to support federated research with mixed data sources. If new dose form (not a new drug but a totally new dose form like a new super-duper-genetic-enabled-pill) comes to a market, such a link may be created but is not really focus of this proposal.

Hope it helps :slight_smile:

This seems to be a very quick process. Poster in October, forum post in late November, decision & implementation in January. I don’t think the community has had enough time to process this change. Is there any harm in delaying the implementation until the August 2024 vocab release? For those without source route data, the route information can be derived using Teresa’s method. And for those data sets with route information, the routes can be put into concept sets as defined in Teresa’s poster. So, research won’t be delayed.

Also, how will the following be used?

Guidance should be given to the community on this.


I am sure you mean that as a compliment or a praise. :slight_smile:

But kidding aside: I realize that keeping the community abreast with emerging developments is not easy. Let me try:

  1. We have had the route concepts from SNOMED for a long time. Some people populated them from route information in EHRs. Claims have no route information. Which means, for common OHDSI use cases they are of limited use.
  2. The SNOMED routes are built on the philosophy of how something can move from one body compartment to another. The result is a ton of crazy routes completely irrelevant for drug administration. If at all, they may be useful in surgeries or other procedures (e.g. Endotracheopulmonary route, Arteriovenous fistula route, Posterior juxtascleral route). Unfortunately, SNOMED doesn’t have a good hierarchy for those, otherwise we wouldn’t care about the crazies.
  3. @tburkard is working on standardizing daily dose calculations using just DRUG_EXPOSURE and DRUG_STRENGTH. Remember the DOSE_ERA table, sitting there idle and sulking that nobody puts anything in? Except now Darwin wants a ton of drug utilization studies with dosing and this problem became acute.

The proposed solution is this: Instead of the SNOMED routes we introduce a much simpler and more pragmatic set of routes that are relevant to drug administrations. These routes can be even used in claims, because they can be inferred from the dose forms of drugs (except injectables, it’s not clear whether the syringe is used iv, im, sc or other). Theresa doesn’t need the route or dose form to calculate anything, but the interpretation of the results massively depends on the true route of the drug.

To make life easier on the ETL wretch, we will introduce the mapping from the SNOMED routes to the simple new route system. And we already have the mapping from dose forms to these routes. Folks should be happy.

Bottom line: We have an important and urgent use case, and the current situation doesn’t cut it. This is a proposed solution.

1 Like

Hi everyone,

I stumbled upon this thread when working on our current expansion and think this topic is as important for the community as it is interesting! This sure must have been a lot of work – thanks for taking up the task!

One new route I am definitely missing is perineural. Epidural and intrathecal are only valid for neuraxial blocks. Peripheral nerve blocks are a valid treatment in anesthesia and would not be captured by the latter two.

What I’m not so sure about is the implant concept. It is a target of only one concept (Intrauterine route), which probably is just a local application, unless you are talking about contraceptives.

Personally, I struggle a bit with some of the mappings. I think in a clinical context, one has to detach the route from the expected site of action/the physician’s intention where the drug should interact.

For example, applying midazolam intranasally is a different thing than applying oxymethazoline to reduce local swelling. Therefore, transmucosal/nasal could be systemic in some cases and local in others. This holds true for a lot of the mappings. By providing the expected site of action, we could increase granularity and make ETL processes easier. Anyway, I’m not very familiar with the DRUG_EXPOSURE and DRUG_ERA tables, so I might miss the point here.

I also like @aostropolets’s point of not destandardizing the current routes since you’ll provide the mappings for users in need of the high-level data, and others can use the data in a more granular way if necessary.

You might have to take a look at the following mappings:

source_concept_name maps_to proposal comment
Caudal route injectable epidural If meant as caudal anesthesia, it is not systemic
Intraneural route injectable local Intraneural injection is usually avoided and might be only used for local applications
Intraosseous route local systemic IO infusions are equivalent to a standard IV
Intracranial route systemic local I do not know of cases where you would try to systemically inject something by injecting it via the brain (though I’m no neurosurgeon)

I hope this helps a bit.

I think we make the same mistake in @tburkard proposal. Nasal transmucosal and topical are not just the routes of administration but an attempt to follow the same approach to reflect not only how the drug is applied, but also how the doctor believes the drug is actually spread and act. Given the SNOMED experience and this attempt to improve it, we already know that there’s no good way to do that in the parent-child hierarchical model. Because it just works differently for different drugs, in different dosas, in different patient’s states, etc - @zhuk has good examples listed here.

Even though we make these decisions once and reflect them in the hierarchical model, at the end of the day, only ETLs that have it distinguished and clearly defined in their source data can map to it. But they’re still not happy, because we’ve made an exclusion for “nasal” and split it into two, but haven’t done it for others that could be relevant also (like injections that lead to a local effect only, or vaginal topical applications, or inhaled systemic drugs, etc.).

Those ETLs that only have general “nasal” in the data will not be able to map at all, because there’s no way they’ll be looking up the ingredients and their mechanism of action, PK/PD parameters. So we either add a more general concept “nasal” to be an alternative top dog, or map to 0. The same is true for “injections”, especially derived from the claims, and other cases.

This is what we do in the new approach. But the list of exceptions is arbitrary. And by adding more, the hierarchy itself becomes too complex (SNOMED) or broken (at least for those who don’t follow the general rule).

Exactly. I think this is the only option that can solve the whole problem:

  1. Only record a site where the drug was applied. Doctor’s intents, expectations on drug distribution, PK/PD parameters go out from the site concepts.
  2. Get rid of a big hierarchy because it only works for those who follow the rules. This way we don’t make the statements like inhalation always and only leads to a local effect.
  3. Allow the general concepts like “injections”, and “systemic”, but don’t put them in a hierarchy of things.
  4. Allow researchers to make their analytical decisions based on the site of application but considering dose form, ingredient, actual dose, and whatever else is needed.

the proposal has evolved to this point:

I agree with the @funaesthesia mappings.

Just to be clear, the route is a last resort. In general you would define your exposure in other ways, because you know the dose form or procedure code or whatever. Let’s keep this discussion in the way to solve the use case of estimating daily dose for systemic applications.

If people need more granularity in the local administrations, that is fine for me, but not suggested by me, because usually those does not really matter from a pharmacologic point of view.
To answer @Alexdavv point about having two nasals in the hierarchy. For me, if there is the option that something is systemic, it trumps the local application and is put in the systemic bucket, because we do not want to miss a systemic exposure, but I am happy to miss a local exposure. That being up to the ETL person is not really true, because the dose form to route mapping done by us as well decides where the drug goes (if it has a dose form).

I am not an expert in routes used by specialists (mentioned above, anaesthesia, intensive care etc.) Question is, are these theoretical questions, like nice to have, or really needed routes that you actually rely on in your research using health data?

My aim is not to solve the route problem but to have a solution that works for the time being until we have something better. We can discuss here forever, and actually never do anything :wink: I kind of see this happening when looking at the post @Alexdavv referenced Route 'standard' concepts not standard anymore? - #26 by rtmill… so it is up to you, me, all of us, that something is actually happening. Given that we are still discussing this also shows me that no one is actually using route in their data??

How about we push it out, collect some experience with use cases and add some more exotic routes if the need arises.

1 Like

Following this logic, does it mean that everything near the borderline (the forms like nasal solutions and inhalations, etc.) should be targeted by the mapping you provided to something that rolls up to the systemic route? Otherwise, the things like nasal midazolam or inhaled sevoflurane will appear in the “local” bucket.

Good plan.
Can we avoid adding any hierarchy at this point then?

Plus more general concepts like “nasal - don’t know how it actually act because I only used a mapping form the dose form” would be quite helpful. The analyst can easily figure them out by combining with the ingredients that act locally or not.

More exceptions and problem spaces under the cut

Some drugs taken orally have very low bioavailability, less than 10 per cent and are considered local.

  • vancomycin
  • erythromycin
  • lactulose

Inhalation is also both systemic and local. Systemic for anaesthesia drugs, local for B-agonists, until we reach a certain point when it becomes systemic.

I want to admit that I like the idea of splitting routes and calculating DDD, but I honestly don’t like sacrificing pharmacology for this. What I see at the moment - we don’t have an agreement, we don’t have a strong system with occasional exceptions, but mostly the whole bucket of exceptions, and we have only a month before the scheduled release. Therefore, I don’t think that pushing routes out now is a good idea. Given no agreement, we will have a very low threshold for rolling back to SNOMED.

That’s why I ask you to give a second thought to my idea and replace ‘Maps to’ with some new type of relationship.

We can call it ‘Has effect’ and it will solve all the use cases. It will not ruin the current usage of routes, and it will support the calculations of DDD. Also, as an answer to @Christian_Reich argument that it will take extra steps for analysts to jump to systemic/local effects - ‘Maps to’ requires even more extra steps.

Let’s say during the ETL process, source data gives the ETLes ‘intravenous’. What should poor ETLers do? They should match with an intravenous route non-standard and then jump to systemic/local. Let them match to intravenous (standard), which is super easy and intuitive, and then take one tiny step to systemic with the help of a new relationship.

What do you think?


It seems that it’s been a while and we have not reached an agreement. @Christian_Reich do you have any arguments against the solution Oleg has proposed?

Urgh! Now you are putting me on the spot to either agree with the awkward SNOMED-based solution or to continue arguing with @zhuk.

Well, I still like Theresa’s taxonomy. It’s simple, clean, straightforward and dose forms can be nicely aligned to it. It’s true that not everything is perfect in it, but it covers 99% of the uses cases. When has anybody ever studied nasal solution for a systemic drug? And when that cow indeed is coming home one day it is still possible to create the appropriate target cohorts.

The problem with trying things out is that we only have so much attention span of the community. We already got the heat this release for making too many changes. So, I wouldn’t stress folks with this one, which really is not the biggest nut we need to crack.

1 Like

Hi guys,

I’ll just chime in because we’re building an ICU OMOP CDM in this period, and I’m personally working on (read: wrestling with) our drug data. Theresa’s approach seems to fit our use very well.

Drug use in the ICU is a bit funky with some weird, but crucial, edge cases that need to be handled correctly to obtain the insights we look for. In particular, dose form is not necessarily a good proxy for administration route, and concentrations can be weight-based (to obtain similar infusion rates in different patients even if they need different amounts of a given drugs; this is the case for e.g. norepinephrine which is used a lot in ICUs).

One interesting route-related challenges is vancomycin: in our data, vancomycin has been given via six different routes: intravenous, via nasogastric tube, inside the bladder, intraperitoneal, local (through a absces drain) and intrathecal. The nasogastric route is used only for clostridium difficile colitis because you want the drug to work in the intestinal lumen and, thus, do not want it to be absorbed.

I’d be happy to proven wrong, but as far as I’ve been able to gather from relationships in the CDM, the best way to do this is to map vancomycin to the ingredient (1707687) and denote the actual administration route in route_conept_id. If we isntead map to e.g. a clinical drug, analyses might try to infer the administration route through the relationships, which would be incorrect. At least, that’s what I’d worry about as per this:

WITH vanco_drugs AS (
	FROM concept_relationship 
	WHERE concept_id_2 = 1707687
		AND relationship_id = 'RxNorm has ing' 
drug_forms_of_vanco AS (
	SELECT cr.* 
	FROM concept_relationship AS cr
	INNER JOIN vanco_drugs AS vd 
		ON vd.concept_id_1 = cr.concept_id_1
		AND (
			lower(cr.relationship_id) LIKE '%route'
			OR lower(cr.relationship_id) LIKE '%form%'
	c1.concept_name AS drug_name,
	c2.concept_name  AS dose_form_name
FROM drug_forms_of_vanco AS dfv
LEFT JOIN concept AS c1
	ON c1.concept_id = dfv.concept_id_1
LEFT JOIN concept AS c2
	ON c2.concept_id = dfv.concept_id_2

which yields:

drug_name relationship_id dose_form_name
sodium chloride / vancomycin Injectable Solution RxNorm has dose form Injectable Solution
Vancomycin Oral Lozenge RxNorm has dose form Oral Lozenge
Vancomycin Ophthalmic Solution RxNorm has dose form Ophthalmic Solution
Vancomycin Ophthalmic Ointment RxNorm has dose form Ophthalmic Ointment
vancomycin Injectable Suspension RxNorm has dose form Injectable Suspension
vancomycin Injectable Product Has dose form group Injectable Product
vancomycin Oral Liquid Product Has dose form group Oral Liquid Product
vancomycin Oral Product Has dose form group Oral Product
vancomycin Pill Has dose form group Pill
Vancomycin Intravenous Solution RxNorm has dose form Intravenous Solution
Vancomycin Intravenous Solution RxNorm has dose form Intravenous Solution
Vancomycin Oral Powder RxNorm has dose form Oral Powder
vancomycin Injectable Solution RxNorm has dose form Injectable Solution
vancomycin Oral Capsule RxNorm has dose form Oral Capsule
vancomycin Oral Solution RxNorm has dose form Oral Solution
vancomycin Oral Suspension RxNorm has dose form Oral Suspension
vancomycin Injection RxNorm has dose form Injection
Vancomycin Topical Powder RxNorm has dose form Topical Powder
Gentamicin / heparin / Vancomycin Injectable Solution RxNorm has dose form Injectable Solution
Vancomycin Prefilled Syringe RxNorm has dose form Prefilled Syringe
Vancomycin Injectable Suspension RxNorm has dose form Injectable Suspension

Again, this is the first time I actually work with mapping drugs, so I’d be happy to be proven wrong and would greatly appreciate some hints to places where I can reach a higher leve of understanding.