OHDSI Home | Forums | Wiki | Github

Fetching SCTID using SNOMED problem code and correcting ICD codes

Hello Everyone,

I am trying to map our diagnosis data. However, some of our source data has SNOMED Problem code

Example:

SNOMED problem code - 1786560016 (source data)
Putting this problem code in the concept code of the concept table gives 0 records
Putting this problem code in the SNOMED browser gives SCTID = 398760006 as shown here
Putting this SCTID in the concept code of the concept table gives 381572

Has anyone here tried this before?

Is there any automated way or database querying approach to get the corresponding SCTID for all my problem codes that I have in my source data? I can automate it but before I do it, would like to check with the community on whether anyone has already tried it or is there any other way to do this?

q2) Our source data has ICD code data as well. However, the code is missing the dot in between. For ex: I have a code which is E1472, Z992 but the actual code is E14.72 and Z99.2. Is there any specific guideline on where the dot should be? how can I know where the dot should be put to be able to use them to map it OMOP concept Id? In this case, should we just rely on textual description of the diagnosis to map to OMOP concept ID?

How can these issues be fixed? Any advice on how did you handle such issues would really be helpful

@Akshay:

Q1: The problem code is invisible outside your institution. But the SCTID 398760006 is the concept_code. The concept_id is indeed 381572 (Abducens nerve palsy). Write a CONDITION_OCCURRENCE record with it, no need to map standard concepts. That will always work: problem code -> SCTID -> concept_id (domain_id=‘Condition’ and vocabulary_id=‘SNOMED’ if there are ambiguities) and you are all set.

Q2: The dot is always after the third character. Check out the ICD-10 codes yourself and you’ll see.

@Christian_Reich - Appreciate all your help.

For Q1, I will find an automated way to get SCTID from the problem code.

I would like to suggest a way.

SCTID 1786560016 stems from SNOMED description table. Unfortunately, there is no suitable field in CDM Vocabularies to preserve SCTID of individual description, so we only store SCTID of concept itself in concept.concept_code.

In SNOMED, every single bit of information (concept, each one of possible names and each relation) has it’s own unique SCTID. So 1786560016 points at one of possible synonyms of 398760006 - “6th nerve palsy”.

If you need a crosswalk to retrieve concept SCTID as from description SCTID, you would need to download SNOMED source files (here is one of possible links, but you may need to find one that has your SNOMED Edition), and look for fields id and conceptId in description table. First one is description SCTID, and second is concept SCTID, which corresponds to concept_code in OMOP.

By conventions, each id in description table can only correspond to single distinct conceptId. However, it may have not always have been the case, so in case of multiple matches you should trust the row with the highest value of effectiveTime.

1 Like
t