Skip to content

Missing primary key for table death? #770

@lgautier

Description

@lgautier

Table death does not have a primary key, although this would help with data integrity. How unique are rows in that table?

My initial thought is that person_id can be a primary key in that table -- as all can be anticipated to die at most once --, but I am unclear
about whether death_type_concept_id and cause_concept_id model a 1:1 relationship with a death event. If not the case, and a death event can be associated with multiple death types or causes, a different primary key should be used.

This is currently present in all three versions 5.3, 5.4, and 6.0.

5.3

death,person_id,Yes,integer,NA,NA,No,Yes,PERSON,PERSON_ID,NA,NA,NA
death,death_date,Yes,date,The date the person was deceased.,"If the precise date include day or month is not known or not allowed, December is used as the default month, and the last day of the month the default day. For additional conventions related to this field, please refer to the [THEMIS repository](https://ohdsi.github.io/Themis/tag_death_date.html). ",No,No,NA,NA,NA,NA,NA
death,death_datetime,No,datetime,NA,"If you have date and time of death, populate death_datetime, otherwise leave NULL",No,No,NA,NA,NA,NA,NA
death,death_type_concept_id,No,integer,"This is the provenance of the death record, i.e., where it came from. It is possible that an administrative claims database would source death information from a government file so do not assume the Death Type is the same as the Visit Type, etc.",Use the type concept that reflects the source of the death record. [Accepted Concepts](https://athena.ohdsi.org/search-terms/terms?domain=Type+Concept&standardConcept=Standard&page=1&pageSize=15&query=). A more detailed explanation of each Type Concept can be found on the [vocabulary wiki](https://github.com/OHDSI/Vocabulary-v5.0/wiki/Vocab.-TYPE_CONCEPT).,No,Yes,CONCEPT,CONCEPT_ID,Type Concept,NA,NA
death,cause_concept_id,No,integer,"This is the Standard Concept representing the Person's cause of death, if available.","There is no specified domain for this concept, just choose the Standard Concept Id that best represents the person's cause of death.",No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA
death,cause_source_value,No,varchar(50),NA,"If available, put the source code representing the cause of death here.",No,No,NA,NA,NA,NA,NA
death,cause_source_concept_id,No,integer,NA,If the cause of death was coded using a Vocabulary present in the OMOP Vocabularies (not necessarily a standard concept) put the CONCEPT_ID representing the cause of death here.,No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA

5.4

death,person_id,Yes,integer,NA,NA,No,Yes,PERSON,PERSON_ID,NA,NA,NA
death,death_date,Yes,date,The date the person was deceased.,"If the precise date include day or month is not known or not allowed, December is used as the default month, and the last day of the month the default day. For additional conventions related to this field, please refer to the [THEMIS repository](https://ohdsi.github.io/Themis/tag_death_date.html). ",No,No,NA,NA,NA,NA,NA
death,death_datetime,No,datetime,NA,"If you have date and time of death, populate death_datetime, otherwise leave NULL",No,No,NA,NA,NA,NA,NA
death,death_type_concept_id,No,integer,"This is the provenance of the death record, i.e., where it came from. It is possible that an administrative claims database would source death information from a government file so do not assume the Death Type is the same as the Visit Type, etc.",Use the type concept that reflects the source of the death record. [Accepted Concepts](https://athena.ohdsi.org/search-terms/terms?domain=Type+Concept&standardConcept=Standard&page=1&pageSize=15&query=). A more detailed explanation of each Type Concept can be found on the [vocabulary wiki](https://github.com/OHDSI/Vocabulary-v5.0/wiki/Vocab.-TYPE_CONCEPT).,No,Yes,CONCEPT,CONCEPT_ID,Type Concept,NA,NA
death,cause_concept_id,No,integer,"This is the Standard Concept representing the Person's cause of death, if available.","There is no specified domain for this concept, just choose the Standard Concept Id that best represents the person's cause of death.",No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA
death,cause_source_value,No,varchar(50),NA,"If available, put the source code representing the cause of death here.",No,No,NA,NA,NA,NA,NA
death,cause_source_concept_id,No,integer,NA,If the cause of death was coded using a Vocabulary present in the OMOP Vocabularies (not necessarily a standard concept) put the CONCEPT_ID representing the cause of death here.,No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA

6.0

death,person_id,No,bigint,NA,NA,No,No,NA,NA,NA,NA,NA
death,death_date,No,date,NA,NA,No,No,NA,NA,NA,NA,NA
death,death_datetime,No,datetime,NA,NA,No,No,NA,NA,NA,NA,NA
death,death_type_concept_id,No,integer,NA,NA,No,Yes,CONCEPT,CONCEPT_ID,Type Concept,NA,NA
death,cause_concept_id,No,integer,NA,NA,No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA
death,cause_source_value,No,varchar(50),NA,NA,No,No,NA,NA,NA,NA,NA
death,cause_source_concept_id,No,integer,NA,NA,No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions