OHDSI Home | Forums | Wiki | Github

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

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.

@MPhilofsky:

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.

Proposal:
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?

2 Likes

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 (
	SELECT * 
	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%'
		)
)
SELECT 
	c1.concept_name AS drug_name,
	dfv.relationship_id,
	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.

Cheers,
Ben

In your case, you care about specific routes that can’t be inferred from dose forms at all (RxNorm doesn’t have nasogastric tubes). So you need to keep that in your route_concept_id and use route_concept_id for research. In Theresa’s proposal your nasogastric route is standard and is a kid of enteral route and then systemic. Is it going to work for you?

Hey @benskov

In the proposal at least two routes are missing, which are inside the bladder, intraperitoneal, therefore I doubt it fits your use case perfectly. If we add these two routes, why not add more? And one day we will end up in SNOMED - exactly where we are now.

Besides, for local route, you need to use some proxy route Local, which is a hierarchical ancestor of topical, intrathecal, etc. Currently, all the routes you are looking for are available in SNOMED in a high-resolution with the correct hierarchy and no assumptions / data loss / data gain. Even the nice Surgical drain for Abscess management.

Makes sense?

Also could you please describe your experience (read wrestle) with weight-based medications here? This discussion takes its route in 2018, but to this day there is still no standard way how to do it (or am I missing something)?

I agree with @zhuk! Let’s not ruin the current use cases to met the needs of a new use case when there is an alternate solution which will satisfy both!

Has there been any progress on this work?

I opened a PR Add NCIt "route of administration" codes as concepts, add standard maps to SNOMED terms · Issue #1056 · OHDSI/Vocabulary-v5.0 · GitHub to add NCI route terms as non-standard with maps to SNOMED (we see NCI route codes in our source data).

@Scott_Favre
I’ve seen that you closed the issue already as completed because the Routes community contribution has been chosen for the February 2025 release. Just transferring the message here.

Also tagging @tburkard since it is her contribution and area of expertise

By the way, there is a potential for Route intersection with a CDISC vocabulary. Have you checked your routes against the current version of vocabs?

Thanks for the link to CDISC.

It looks like the route codes I find the NCIThesaurus file are actually CDISC codes? Athena shows C38288 for oral from.

Hello, @Scott_Favre

In short:
These codes are both NCIt codes/SCUIs and CDISC SCUIs, therefore, the intersection is possible.
However, SCUIs used as concept_codes in CDISC are only a subset of NCIt codes/SCUIs, therefore some codes may be missing.

As @zhuk mentioned, CDISC wiki may bring some light on how the Vocabulary ETL was done (e.g., concept_code definition, names assignment).

@zhuk @aostropolets @MPhilofsky @Christian_Reich here is the proposal discussed during the call we had on July 10th 2024 : only creating routes that do not exist yet (implant and injectable) and creating many (broad) relationships between dose forms and routes (including the newly created “Implant” and “Injectable”).
The idea is that we do not change the existing route vocabulary but allow those who do not have route readily available to infer it from dose form through the relationship.
Moreover, implant and injectable were created because they do not exist yet in the existing snomed route vocabulary but are useful routes (the existing snomed vocabulary lists around 100 ways of different injections which is way too detailed, but has no overall term such as “injectable”). However, the conclusion was to not create relationships between existing routes and the two new routes.
The github post where you can find the “new” route suggestion is still the same but the title has been changed to reflect the new suggestion " suggest to add two new routes and link dose form to route": suggest new tidier route hierarchy through linkage to dose form · Issue #860 · OHDSI/Vocabulary-v5.0

1 Like
t