OHDSI Home | Forums | Wiki | Github

ICD10CM codes map to multiple standard SNOMED codes


(Roger Carlson) #1

As the topic says, I’m having an issue with ICD10CM codes mapping to multiple standard SNOMED codes. I don’t see any other posts about this, which makes me wonder if I’m understanding OMOP correctly.

For instance, I61.1 (Nontraumatic intracerebral hemorrhage in hemisphere, cortical) maps to two Standard SNOMED codes: Cortical hemorrhage:4176892 and Spontaneous cerebral hemorrhage: 43530727 (see http://athena.ohdsi.org/search-terms/terms/35207809)

Both of these show as the Primary Condition. Can I have two primary conditions? Does that make sense?

Moving on, when I query these from the Concept Relationship table for 35207809 (concept_id for I61.1):

SELECT [concept_id_1]
,[concept_id_2]
,[relationship_id]
,[valid_start_date]
,[valid_end_date]
,[invalid_reason]
FROM [OMOP].[concept_relationship]
where [concept_id_1] = 35207809

I get:
image

Several things jump out at me. The two “Maps to” relationships have different valid_start_dates, but have the same valid_end_dates. Does this mean that after 2017, both values are valid, but only the first before that? Or should the valid_end_date of the first be 2017-09-30, and there is just a single valid mapping during each range? (As a side note, I don’t see any valid_end_date other than 2099-12-31.)

I decided to see if there are any other ICD10CM codes that have multiple concepts mapped
SELECT [vocabulary_id]
,[concept_id_1]
,count([concept_id_2]) as countCONCEPTS
,[relationship_id]
,[concept_relationship].[valid_start_date]
,[concept_relationship].[valid_end_date]
FROM [EpicCare].[OMOP].[concept_relationship]
inner join omop.concept on concept_id_1 = concept_id
where [relationship_id] = ‘Maps to’ and [vocabulary_id] = ‘ICD10CM’
group by [vocabulary_id],[concept_id_1]
,[relationship_id]
,[concept_relationship].[valid_start_date]
,[concept_relationship].[valid_end_date]
having count([concept_id_2])>1

image

It turns out there are >11,000 IDC codes that map to multiple codes. I group them by valid_start_date, which means all of these have the SAME valid_start_date, not different ones like I61.1.

So I returned all the details of records,
with Count2 as
(
SELECT [vocabulary_id]
,[concept_id_1]
,count([concept_id_2]) as countCONCEPTS
,[relationship_id]
,[concept_relationship].[valid_start_date]
,[concept_relationship].[valid_end_date]
FROM [EpicCare].[OMOP].[concept_relationship]
inner join omop.concept on concept_id_1 = concept_id
where [relationship_id] = ‘Maps to’ and [vocabulary_id] = ‘ICD10CM’
group by [vocabulary_id],[concept_id_1]
,[relationship_id]
,[concept_relationship].[valid_start_date]
,[concept_relationship].[valid_end_date]
having count([concept_id_2])>1
)
SELECT [concept_relationship].[concept_id_1]
,[concept_id_2]
,[concept_relationship].[relationship_id]
,[concept_relationship].[valid_start_date]
,[concept_relationship].[valid_end_date]
,[invalid_reason]
FROM [OMOP].[concept_relationship]
inner join Count2
on [concept_relationship].[concept_id_1] = Count2.[concept_id_1]
where [concept_relationship].[relationship_id] = ‘Maps to’
–AND [concept_relationship].concept_id_1 = 35210345
order by [concept_relationship].[concept_id_1]

Which shows there are in fact multiple mappings with the same valid date
image

And so here is where my confusion lies. I thought an ICD10CM code should map to a single SNOWMED code. If it can map to multiples, which code should I choose to represent the condition? Or is it correct to list them both?

Please help me understand.


(JD Liddil) #2

So I’m a scientist/researcher not a database person. The SNOMED terms are less specific in my view. Which is “correct” is a medical call. It might be an interesting exercise to see how the terms maps to MedDRA.

Some research articles:
Nontraumatic intracerebral hemorrhage in hemisphere, cortical

Spontaneous cerebral hemorrhage


Cortical hemorrhage
https://www.jstage.jst.go.jp/article/nmc/51/1/51_1_30/_article


(Polina Talapova) #3

@roger.carlson an ICD10CM concept can have more than one (2-4) “Maps to” relationship in a case when there is no a full SNOMED equivalent. Such a combination of SNOMED concepts gives an opportunity to cover more ICD1OCM attributes (such as localisation, laterality, gender, clinical course, morphological peculiarities, some circumstances, etc.) and reflect the meaning of a source concept as accurate as possible. So, it is correct to list all standard SNOMED concepts mapped from each ICD1OCM concept you need.


(Dmytry Dymshyts) #4

Yes, it’s correct when ICD maps to couple of SNOMED concepts.
The general rule:
Concept “A with B” (ICD)
When “A with B” exists in SNOMED, we map it to “A with B” (SNOMED)
if not
we have
“A with B” (ICD) Maps to A (SNOMED)
“A with B” (ICD) Maps to B (SNOMED)


(Roger Carlson) #5

Okay. I guess I see that. The fact that OMOP retains the original concept code adds whatever additional information needed to tie them together.

So now the question about valid dates. So for those with different valid start dates, i.e.

  • A: 1970-01-01
  • B: 2017-10-01

should it be:

Before 2017-10-01
“A with B” (ICD) Maps to A (SNOMED)

After 2017-10-01
“A with B” (ICD) Maps to A (SNOMED)
“A with B” (ICD) Maps to B (SNOMED)


(Polina Talapova) #6

@roger.carlson Yes, this is correct!

valid_start_date in the concept_relationship table indicates when such a relationship (mapping) was created. “1970-01-01” is about an unknown exact date in the distant past.


t