OHDSI Home | Forums | Wiki | Github

Condition_occurrence, Death diagnoses

I was investigating how to build Death table. And I got very interesting question. Sometimes death could be defined from death diagnoses, which should go to “cause_concept_id” in the Death table.
Ex. ICD9CM code = 798.0 (‘Sudden death, cause unknown’) belongs to Condition domain.

My questions is: if a cause of death belongs to ‘Condition’ domain should we add a record, associated with this code, to cdm Condition_occurrene table as well?

My thoughts:

  1. In conventions of the Condition_occurrence table there are no restrictions on the diagnoses indicating death.
  2. As far as I know, in the case of multiple death diagnoses on the same death_date, in the Death table should be just one cause of death per person. We could pull all other death causes belonging to Condition domain to Condition_occurrence table. In this case, we will have all causes of death in our CDM and will not loose any information.

Looking forward hearing from you!

1 Like

Well, first I’m confused with your example,
798.0 Sudden infant death syndrome – what is the condition
but other concepts from this group
798.1 Instantaneous death
798. 2 Death occurring in less than 24 hours from onset of symptoms, not otherwise explained
798.9 Unattended death
belongs to Observation domain.


  1. 798.0 obligatorily added to condition_occurrence.
  2. can you give such an examples of multiple death diagnoses used?

Hello Dmytry,

Thank you for your quick answer!
You are right. I wanted to bring as an example, this code ‘798.0 Sudden infant death syndrome’. Regarding your question about multiple death diagnoses: I don’t have such situation now. I wanted to know if it is ok, if we will populate Сondition_occurrence table with the diagnoses that indicated the cause of death in the Death table.

Based on your example, I got another 2 questions:

  1. Cause of Death could belong to ‘Observation’ domain? It wouldn’t break the convention of CDM Death table "Valid Concepts for the cause_concept_id have domain_id=‘Condition’ “ ?
  2. What would be the best practice for cause of death, which maps to more than one standard concept? Example: concept_code = S06.5X7 (‘Traumatic subdural hemorrhage with loss of consciousness of any duration with death due to brain injury before regaining consciousness’) maps to 3 standard concepts: 4306655 (‘Death’), 4017107 (‘Traumatic subdural hemorrhage’), 372448 (‘Loss of consciousness’). Should we take all 3 standard concepts and to create 3 records per person in the Death table or we need to pick up one concept?

Don’t understand. Because the mapping would point to an Observation domain?

This is a really good question. And since nobody has asked before, nobody has answered. We only take cases that somebody brings up (I feel like the Supreme Court right now saying this. :slight_smile: )

In this case, the answer is “'Traumatic subdural hemorrhage”, nobody dies of “Loss of consciousness” and nobody dies of “Death”. But how would the machine know this?

And even if it did know: How would we represent this? Our “Maps to” relationshps are all equal.

Thank you for your answer Christian!

  1. Yes. Can we populate cause of death in the Death table with the codes, which maps to Observation domain?

2: I was thinking if we have a short list of the causes of death - one of the possible solutions could be to create source_to_concept_map to pick up the right cause?

3: I also would like to hear your opinion about my first question. In our team we have an ongoing discussion regarding this moment.


  1. No. Only conditions can lead to death. Even if there is an Observation causing a Condition, at the end of the day you need to have something going wrong with the functioning of your body.

  2. We could do the shortlist thing, but then - where do we get it from? (In fact, the initial purpose of the ICD system was just that. Prior to ICD6 it was called “International Classification of Causes of Death”). Any ideas?
    The source_to_concept_map: How would that work? It doesn’t actually know the difference between different kinds of mappings. In V5, we could introduce a new mapping relationship_id “Maps to Cause of Death” or so.

  3. Yes, both. The patient had that Condition before he died, so it’s legitimate to have it in the Condition table like all others.

@Christian_Reich thanks a lot for your answer! You helped me to move forward in my ETL process.

[quote=“Christian_Reich, post:6, topic:2609”]
In V5, we could introduce a new mapping relationship_id “Maps to Cause of Death” or so.
[/quote] Yes, if such relationship_id will exist it will solve the problem.


It would, wouldn’t it?

Unfortunately, not really. Because that would only help you if the cause of death is provided as an ICD code, or a Source Concept, and then you would have such a mapping. But what if the data is already in SNOMED. Then you would have no idea whether that SNOMED code is a good way to kill somebody or not.

We could use the concept_class_id and introduce something like “Can be cause for death” for each Concept. Except they already have a Concept Class (assigned by SNOMED). So, won’t work either.

And finally, and I think that is the only way it could work, we could could have a new relationship between the Standard Concepts (SNOMED, not the ICDs) and the Death Concept called “Can cause”. During ETL, if you wanted to put this Condition into the DEATH table, you’d have to check for this relationship first. Also not pretty, but better than the ones above.

Any other good idea?

@Christian_Reich, it looks like a big effort doing this with a whole SNOMED dataset


We don’t have to boil the ocean right away. For the time being, we really only need to cover the Source Concepts with multiple mappings.

and actually the part is covered with mappings, you may take a look:
–all of them are mapped to “Death” or concept that has “Death” as ancestor
select a.concept_code, a.concept_name,a.domain_id, r.relationship_id, c.concept_code, c.concept_name, c.domain_id, c.concept_class_id from concept a
join concept_relationship r on a.concept_id = r.concept_id_1 and r.invalid_reason is null
join concept c on c.concept_id = r.concept_id_2
where c.vocabulary_id = ‘SNOMED’ and a.concept_code in

these concepts also map to Death or to Descendats of Death:

should we inroduce new domain = ‘Death’, then ETL-team will automatically know which patients are dead.

For now just keep in mind that “Loss of consciousness” isn’t a cause of death, but
Traumatic subdural hemorrhage
Traumatic intracranial subarachnoid hemorrhage
and etc. are the real causes.
Do we have another cases when there are several variants?


Hang on here. I think you are mixing things up a bit:

Concepts that can be used as cause of death don’t have to explicitely have death in their description. A good old congestive heart failure is fully compatible with life, but can be cause of death.

The problem @tbanokina is mentioning is that if a pre-coordinated code maps to more than one Standard Concept, we don’t know which of them should be considered the cause of death. If the mapping is one-to-one we don’t have to worry, since a singleton “Loss of consciousness” will not be in the original data as cause of death.

@Christian_Reich, Yes, I mixed up
there are multiple questions:

  1. how to define death using condition concepts
  • should be a separate topic
  1. how to define cause of death if there are multiply mappings from one source_code
    and here I said “just ignore these loss of consciousness”

You can take a look:

A solution with a new relationship between standard concepts seems to be optimal. Unfortunately, I don’t have any better ideas.

Hi Everyone,

I am generating DEATH Table and I am having One subject more than once in my raw data.

Should I mention all three instance of the same subject in table.
cause of death is given like (Meddra Coding Preferred Term) in raw data or only one?.

2.HYPOTENSION (10021097)

start date and end date both are same for each observation.

Also, Kindly guide me that should i put Meddra PT Code (10003658) in CAUSE_SOURCE_VALUE and CAUSE_SOURCE_CONCEPT_ID would be the corresponding Concept ID of MedDra?
What should be the CAUSE_CONCEPT_ID in this case ? Would it be the SNOMED Concept ID From Vocab?

Please guide me as I am not sure of the same…


Let me clarify:
patient has 3 different causes of death in a raw data?

And anyway, you use “MedDRA - SNOMED eq” to get SNOMED concepts and put into CDM Standard concepts only.

Same here.

I continue this chat, because it’s a principal question - how to choose the one cause of death?
@TBanokina, have you ever meet such a case when it was different Source_concepts as a cause of death?
@Christian_Reich, any advice: what to do, whom to ask?
@nitishkjha, so the person has 3 causes of death in the raw data,
and we need to pick up only one
“Each Person may have more than one record of death in the source data. It is the task of the ETL to pick the most plausible or most accurate records to be aggregated and stored as a single record in the DEATH table.”
and I don’t know how automatically choose which one among ATRIAL FIBRILLATION, INTERSTITIAL PULMONARY FIBROSIS, HYPOTENSION should be chosen.

@Olena, as a pathologist, which one you’d choose as a cause of death?