You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ctakes.apache.org by "Finan, Sean" <Se...@childrens.harvard.edu.INVALID> on 2023/08/07 13:26:04 UTC

Re: Building 2023AA Snomed RxNorm dictionary fails [EXTERNAL]

Hi Akram,

The first thing that I'll mention is that there are a lot of updates to the ctakes Dictionary builder in the unreleased version 5.0, so I am going to talk about its use.  https://github.com/apache/ctakes

>  1. Combining SNOMED and RxNorm in Dictionary Creation:
> I extracted data from umls-2023AA-full and RxNorm_full. After utilizing NLM Metamorphosys to install UMLS, the conversion of SNOMED from umls-2023AA-full into RRF files was successfully accomplished.
- For clarity, are you stating that you created RRF files for snomed from umls-2023AA_full and separate RRF files from RxNorm_full sources ?  If so, are you sure that UMLS 2023AA_full doesn't contain all of the RxNorm information that you need?

> I can only select one "UMLS Installation" source, limiting me to either SNOMED or RxNorm.
- This is correct.  Normally a dictionary is built from RRF files created using metamorphosys on a single source.
- There are two possible clobberings to combine dictionaries from disparate sources:

  1.  Concatenate the source RRF files from both sources.  You should only need to do this with the MRCONSO RRF files.  Then select the directory containing the concatenated RRF (and other RRF files) as the umls source for the dictionary creator gui.
  2.   Build 2 ctakes dictionaries, one from each source.  Then concatenate all "INSERT" lines into one dictionary file.

- A cleaner method for your situation is to create one ctakes dictionary for snomed and a separate ctakes dictionary for rxnorm.  Then create a dictionary descriptor file for multiple dictionaries.  Tim Miller has a great example of one here:  https://github.com/tmills/ctakes-docker/blob/master/ctakes-as-pipeline/MultipleDictionaryLookupSpecExample.xml
- The multiple dictionary approach is more flexible, but try not to use multiple dictionaries with a lot of overlap.

> 2. Error Message During Dictionary Build:
> Log Message: user lacks privilege or object not found: MED in statement [insert into MED-RT (CUI,MED-RT)  values (?,?)]
- I think that vocabularies containing a dash in the name such as "MED-RT" were problematic in older versions of the dictionary creator.  It should be ok with v.5
- The problem stemmed from SQL not allowing dash characters in table names without special treatment.  ctakes gets around it by converting the dash character to an underscore.

Sean

________________________________
From: Akram <as...@yahoo.com.INVALID>
Sent: Saturday, August 5, 2023 11:34 AM
To: dev@ctakes.apache.org <de...@ctakes.apache.org>
Subject: Building 2023AA Snomed RxNorm dictionary fails [EXTERNAL]

* External Email - Caution *

Hi All

I've been working on creating a dictionary for the 2023AA UMLS, specifically incorporating SNOMED and RxNorm. However, I've encountered two main challenges that I'm hoping to get assistance with:

1. Combining SNOMED and RxNorm in Dictionary Creation:
   To initiate the process, I extracted data from umls-2023AA-full and RxNorm_full. After utilizing NLM Metamorphosys to install UMLS, the conversion of SNOMED from umls-2023AA-full into RRF files was successfully accomplished. However, when I proceeded to employ cTAKES Dictionary Creator for transforming UMLS SNOMED and RxNorm into a singular dictionary, I encountered an issue. The challenge lies in the fact that I can only select one "UMLS Installation" source, limiting me to either SNOMED or RxNorm. Is there a viable solution that would enable me to effectively incorporate both SNOMED and RxNorm into the dictionary generation process?

2. Error Message During Dictionary Build:
   Following the selection of the NLM Metamorphosys output folder as the "UMLS Installation" source and checking all relevant boxes for Vocabulary and Semantic Type, I clicked on "Build Dictionary". Unfortunately, this action resulted in an error message being displayed. I'm seeking guidance on how to address and resolve this error in order to successfully complete the dictionary creation process.

Error Message: Dictionary ctakesdictionary could not be built in F:\cTAKES
Log Message: user lacks privilege or object not found: MED in statement [insert into MED-RT (CUI,MED-RT)  values (?,?)]

I truly appreciate any assistance that can be provided in overcoming these challenges.

Thank you very much.

[Inline image]

[Inline image]