I have a question about how I can map an OHDSI concept id to a UMLS concept. What I know is (learned from the recent OHDSI tutorial), given a concept name, I can retrieve its OHDSI concept id from the concept table and also find its ID in the source vocabulary ( e.g. a LOINC vocabulary id), and then I can retrieve this source concept id in the UMLS database to get its UMLS id.
This would mean multiple joins. Is there some table in OHDSI that has the mapping from OHDSI concept id to UMLS concept id directly?
Hi @mchen
Thereās no standard OHDSI Vocabulary table related to UMLS.
You can install UMLS on your instance.
Here is a code we use for this purpose (postgreSQL)
Then ācodeā column from MRCONSO table corresponds to concept_code
āSABā column from MRCONSO corresponds to vocabulary_id
sab = āSNOMEDCT_USā corresponds to vocabulary_id= āSNOMEDā
sab = āRXNORMā corresponds to vocabulary_id= āRxNormā
sab = āLNCā corresponds to vocabulary_id= āLOINCā
and so on, you can find what different SAB mean in UMLS documentation.
So you need only one join
Hi @Dymshyts thanks a lot for your quick reply and the query example. Itās good to know there is a table with this OMOP id and source vocabulary information!
Following up on this thread since Iām attempting to map CUIs to OMOP concepts using each CUIās source identifier (the āCODEā column). However, I have come across a handful of instances where certain source identifiers are not captured as source codes in concept records.
Please refer to the examples below. I understand the second one is a bit trickier to map, so using the first one as a case study makes more sense.
Is there something I am missing in the mapping process? If this is the correct approach, is there any way to address this issue?
If some UMLS vocabularies are not (yet) incorporated into OMOP, you wonāt be able to map exactly to their concept codes in the concept table. Thatās expected. OMOP only includes a subset of vocabularies from UMLS.
That said, you can still leverage UMLS internal mappings to get close to the intended meaning. When mapping to OMOP, you can use the CUI as a bridge. Even if OMOP does not contain the exact source vocabulary/code you started with, you can look up the CUIās other AUIs from vocabularies that are present in OMOP. That way, you can map to an equivalent OMOP concept, e.g. SNOMED instead of MEDCIN. Be careful with the mapping precision, sometimes the quality is not optimal.
Another reason you may see gaps is a version mismatch between the UMLS release youāre using and the vocabulary version integrated into OMOP. In that case, the best option is often just to wait for the next OHDSI Vocabularies update, as it may include the missing concepts.