OHDSI Home | Forums | Wiki | Github

Convert icd-10 to snomed

(Jackson Feng) #1

Sorry I am new here. currently working on a product that needs to convert icd10 to snomed codes. wondering if anyone knows a solution for it and/or how to do it.


(Dermot Doyle) #2

Hi Jackson,

This is a subject I have some familiarity with.

First you need a mapping between both, but that’s not actually the biggest challenge. The biggest challenge is the subsequent remapping as new versions are released. Also, if you are linking other terminologies then your challenge multiplies.

There are mappings here at www.bioportal.com - https://bioportal.bioontology.org/ontologies/SNOMEDCT/?p=mappings

The above is the SNOMED CT ontology, and if you scroll down, you’ll see various ICD mappings. I can’t vouch for their accuracy or completeness, but they are probably a good start.

As I guess you know that both ICD and SNOMED (and in fact many clinical terminologies) continuously evolve. So, you have to remap as each new release occurs. I can tell you right now, if the onotology has any scale, then the remapping is very time consuming and laborious, and often containing inaccuracies.

There is an AI which can perform the remapping, called Dynaccurate (www.dynaccurate.com) which is currently in a research phase, but is going to market in Q2 2021. I’m the business advisor on that project, so feel free to reach out to me personally if you want more information on the AI. As far as we know, the AI is unique, but if you do hear of any other tools, I would be quite interested to know about them.

Also, the data scientists I work with could probably help you with regard to your over overall project too.

Hope the above helps,

(Melanie Philofsky) #3

The OHDSI vocabulary team curates the ICD10 (international version) and ICD10CM (US version) to SNOMED mappings. You can find and download from Athena.


Hello @freedafeng,

OMOP Vocabularies include mapping between ICD10 and SNOMED, you can have a look in Athena (vocabulary browser). When you open a result (example), there’s a field ‘Non-standard to Standard map (OMOP)’ — you’ll mostly see SNOMED concepts there.
For automated scenarios, you can download OMOP Vocabularies in CSV from Athena (account required), load them into a database using scripts from OHDSI/CommonDataModel repository and query for the mapping:

    source.concept_code, source.concept_name,  -- ICD code + full name
    target.concept_code, target.concept_name   -- corresponding SNOMED concept
FROM concept source
INNER JOIN concept_relationship rel
    ON rel.concept_id_1 = source.concept_id    -- numeric ID for ICD code, OMOP-assigned
    AND rel.invalid_reason IS NULL             -- mapping is not deprecated
    AND rel.relationship_id = 'Maps to'        -- relationship for mapping between codes
INNER JOIN concept target
    ON target.concept_id = rel.concept_id_2
    AND target.invalid_reason IS NULL          -- SNOMED code should be valid
    source.vocabulary_id = 'ICD10'   -- also ICD10CM, etc
    AND target.vocabulary_id = 'SNOMED'

(Dermot Doyle) #5

Thanks @MPhilofsky - I’m going to check that out! Very useful.

Can I ask, how do you maintain the mappings? Is it a community effort or is there some level of automation?

(Dermot Doyle) #6

@rookie_crewkie Thanks for this - when you say ‘automated scenarios’ do you mean automated queries to Athena?

(Jackson Feng) #7

Thanks a lot for the very helpful information! I am now in the process of downloading the data. So far everything works perfectly.

(Jackson Feng) #8

Thank you very much rookie_crewkie! I followed your instructions (they are quite clear and easy to follow) and everything worked nicely. The data quality is actually very high. Better than I expected for sure. never been happier.


Hello @Dermot_Doyle,

There’s no public API in Athena as far as I know. By ‘automated’, I meant using OMOP Vocabularies in applications locally to translate concepts en masse rather than query for each one separately.

(Dermot Doyle) #10

Okay, thanks for clarifying!

(Melanie Philofsky) #11

@Dymshyts or @mik can provide the best answer to your question

(Dmytry Dymshyts) #12

Mappings are mostly manually built by the group of medical doctors working in OHDSI Vocabulary team.

But of course, there is some automation - new concepts retrieval, incorporating concept replacements provided by a source (for example SNOMED occasionally replaces concepts, improves their definition), automatic checks for a consistency of the mapping etc.
And there’s some broader community effort - when users bump into issues or mapping inaccuracies, they report it and suggest a better mapping.

(Dermot Doyle) #13

Thanks Dmytry - that explains a lot and makes perfect sense for maintaining incremental changes on an ongoing basis.

If, however, you needed to do a large scale remapping, do let me know, as this is something that can now be automated.