OHDSI Home | Forums | Wiki | Github

Should I use SNOMED or ICD10 (ICD10+ICD10CM) for building a indication dictionary

Hi,
what would be the best way to select only the indications from CDM,
I tried using SNOMED by picking only Domain_id = “Condition”, which by the way retrieves concepts that are not actually diseases.
I also tried the similar approach using ICD and mapping back to SNOMED for standard concept name still im facing the same issue of getting entities that are not actually disease.
eg: ‘Pedal cycle accident’, ‘Motor vehicle accident victim’, ‘Motor vehicle nontraffic accident involving collision, not on public highway, between motor vehicle, except off-road motor vehicle, and nonmotor vehicle’, ‘Legal intervention involving injury by explosive shell’
any way to separate these from concepts like ‘Malignant neoplasm of vallecula’, ‘Stenosis of pulmonary artery’,‘Hemarthrosis’

any better way or suggestion to extract only disease would be really helpful

My use case is to build a disease dictionary using that the indications mentioned in product label document can be represented in a standardized way.

Many thanks

You may want to play with concept_ancestor table to achieve this.

The descendants under concept_id = 4274025 (Disease) are all diseases. Again, this is also dependent on your definition of disease. One category under Disease is Poisoning (concept_id = 442562). You may want to exclude that category. The accidents you mentioned, e.g., ‘Pedal cycle accident’ are under concept_id = 441840 (Clinical Finding) which is a top level concept above Disease.

Not sure if I explained this clearly. Please let me know if you need further clarification.

1 Like

@QI_omop makes an excellent suggestion, and you can use concept sets to do this:

I’ll do this on atlas demo, but these are the steps:

Start with adding concept 4274025 to a new concept set by searching for that concept, then adding it to your concept set including descendants. This has 141648 descendants!

To Exclude poisoning: you go to the Included Concepts tab, filter by the id 442562 (just paste that ID into the text field). Then select the Poisoning concept and at the bottom we check off ‘exclude’ and ‘descendants’. Clicking ‘Add to Concept Set’ will update the concept set.

This leaves 138011 concepts representing ‘disease’, but there’s other things like ‘injury following heroin use’. You can open up that concept (46287267) in a new tab to see what that item rolls up to: Injury Following Substance use -> Traumatic AND/OR non-traumatic injury -> Disease. So, in that hierarchy, seems like we’d want to exclude the Traumatic AND/OR non-traumatic injury. I’ve done so in my example. Note: I think I found an issue adding to the concept set from the search screen, so I had to take extra steps to add it to the concept set. If you have that error in your env, I apologize!)

After excluding Traumatic AND/OR non-traumatic injury, we are left with 125,428 concepts. I’ll stop here with my example, but by reviewing the Included Concepts, you may find other concepts in the hierarchy that you’d want to exclude. You’d do that by adding those concepts as ‘exclude descendants’ to the concept set.

Ref: http://atlas-demo.ohdsi.org/#/conceptset/1867905/expression

1 Like

Wow, thats exactly what I was looking for. Thanks @QI_omop. I will dive in concept_ancestor to get more grip.

thanks @Chris_Knoll , great suggestion. that’s really helpful.

Thanks

@QI_omop @Chris_Knoll , Clinical finding with concept_id ( ** 441840**) is at the highest order in SNOMED vocabulary, under that 39 classifications such as “Administrative statuses”,“Adverse incident outcome categories”, “Disease”, “Drug action” etc
This is with SNOMED Vocabulary,

Similarly how can I identify the hierarchy/ classifications for other vocabulary.

or is it like concept_ancestor table can be used only against the OMOP standardized vocab(SNOMED/RxNorm)

Thanks

Similarly how can I identify the hierarchy/ classifications for other vocabulary

The simplest way to identify hierarchy/ classifications is to randomly search a concept in Athena and then click the HIERARCHY button on the upper right corner. You will see a graphical display of the hierarchy all the way to the top level. Alternatively, you can also explore the concept_ancestor table to find out hierarchy by using the top level concepts.

Just want to clarify one thing. The OMOP classification hierarchy defined in the concept_ancestor table is not solely vocabulary based but includes the standard concepts of other vocabularies as well. For example, the descendants under Clinical finding with concept_id (441840) includes not only SNOMED concepts, but also standard concepts from ICDO3, Nebraska Lexicon etc.

or is it like concept_ancestor table can be used only against the OMOP standardized vocab(SNOMED/RxNorm)

Both Standard and Classification concepts are included in the concept_ancestor table.

1 Like
t