Search Mailing List Archives
[bioontology-support] finding RXCUIs for a large list of medication names
Jennifer Leigh Vendetti
vendetti at stanford.edu
Thu Sep 15 15:16:11 PDT 2022
Sure, no problem. Feel free to reach out in the future if you need further assistance.
On Sep 15, 2022, at 1:16 PM, Eikstadt, Richard <eikstadt at med.umich.edu<mailto:eikstadt at med.umich.edu>> wrote:
I'm going to follow Robert's suggestions, but may reach out to you again in the near future.
If there's a ticket or somesuch you need to close to close this loop, please go ahead with that.
Thanks for your help!
From: Jennifer Leigh Vendetti <vendetti at stanford.edu<mailto:vendetti at stanford.edu>>
Sent: Thursday, September 15, 2022 2:51 PM
To: Eikstadt, Richard <eikstadt at med.umich.edu<mailto:eikstadt at med.umich.edu>>
Cc: support at bioontology.org<mailto:support at bioontology.org> <support at bioontology.org<mailto:support at bioontology.org>>
Subject: Re: [bioontology-support] finding RXCUIs for a large list of medication names
External Email - Use Caution
It looks like Robert Wynne provided a link to a tool that may prove useful for you, particularly if you want to do operations in batches.
If you end up still wanting to use the BioPortal REST API, I’ve written some comments below.
On Sep 14, 2022, at 6:44 AM, Eikstadt, Richard <eikstadt at med.umich.edu<mailto:eikstadt at med.umich.edu>> wrote:
Yes, I'm referring to the drug ontology I guess. I assume that's the correct place for medications, right?
This support list is mostly monitored by the software developers maintaining BioPortal. We can help you with software issues and API questions, but we’re not experts on the content of ontologies that end users submit. If you have questions about particular ontologies, the contact persons are generally listed on the summary page for each ontology, e.g., for the Drug Ontology, the summary page is here: https://bioportal.bioontology.org/ontologies/DRON.
If you wanted to get a general sense for which ontologies in BioPortal contain a medication of interest, you could enter the medication name in the Search tab (https://bioportal.bioontology.org/search), and see a list, e.g.:
<Screen Shot 2022-09-15 at 11.02.22 AM.png>
We also have a service called the Ontology Recommender (https://bioportal.bioontology.org/recommender) - you can enter text or comma separated keywords and BioPortal calculates which ontologies may be most relevant for you, e.g.:
<Screen Shot 2022-09-15 at 11.08.35 AM.png>
Both search and the recommender are available at the API level. Documentation for those endpoints is here:
Examples of medication names that I'd like to correctly categorize (i.e. categorize means assign the correct rxcui to)
HYDROCORTISONE 10 MG PO TABS
sevelamer carbonate 800 MG Oral Tablet
sevelamer carbonate 800 MG Tablet (although the above med is found in RxNav, this one is not. Seems odd, they are basically the same.)
10 ML rituximab-abbs 10 MG/ML Injection [Truxima]
FUROSEMIDE 40 MG/4ML INJ SOLN
FUROSEMIDE 40 MG
One possibility for using the API to get the RxCUI for a medication would be to have a program that loops over your medications of interest, and uses the search endpoint to search for the medication by name, and ask for the result set to include the list of properties associated with each result. You can limit searches to particular ontologies.
So, for example - assuming you’re interested in using the Drug Ontology to get RxCUI data, you could issue an API call like the following against the search endpoint for the “FUROSEMIDE 40 MG” medication:
… and you’ll get JSON back that looks like this:
<Screen Shot 2022-09-15 at 11.30.46 AM.png>
One thing that’s not obvious from looking at the result set (specifically the arrays of properties name value pairs) is that the RxCUI value is stored in a property with an ID of "http://purl.obolibrary.org/obo/DRON_00010000”. In the Drug Ontology this is the ID of the property with a human readable label of “has_RxCUI”. You can see what I mean if you navigate to the Properties tab for DRON in BioPortal and select the has_RxCUI property in the property tree (https://bioportal.bioontology.org/ontologies/DRON/?p=properties):
<Screen Shot 2022-09-15 at 11.34.35 AM.png>
Essentially, the JSON result set above is saying that "Furosemide 40 MG Oral Tablet” has an RxCUI value of “313988”, etc.
Another issue I see is that your list of medication names doesn't seem to be exact matches for what’s contained in DRON. So, the API call I issued above returned a rather large result set. You can tell the search endpoint to require exact matches, but this didn’t return anything with the “require_exact_match" parameter enabled:
I had better luck when I expanded the “ontologies” parameter to include RXNORM, i.e.:
… which returned only one result. Since the result is from the RXNORM ontology, the RXCUI is stored in a different property called "http://purl.bioontology.org/ontology/RXNORM/RXCUI”:
<Screen Shot 2022-09-15 at 11.45.40 AM.png>
On a final note, I’m not sure if you’re aware that we have code examples for working with the API in various languages in this GitHub repository:
Hope this information is helpful.
Electronic Mail is not secure, may not be read every day, and should not be used for urgent or sensitive issues
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the bioontology-support