CDM Table name: CONDITION_OCCURRENCE

Two types of conditions will be captured in JMDC: (1) ICD-10 diagnoses with start dates of the associated visit (see visit_occurrence section for how these are determined), and (2) ICD-10 diagnoses with start dates of the “date_of_medical_care_start”. This second type of condition record can be considered to be a ‘condition era’ type record, as the condition start date will in some cases be the actual start of the condition as opposed to a service date related to the condition. See mapping table below for specific logic.

This condition-era type record is possible because in Japanese claims, the “date_of_medical_care_start” is specified for almost all conditions and is the first day when that hospital/clinic started to provide health-care service for that condition. This date can be very old (e.g., decades ago).

The “date_of_medical_care_start” is often the date of true occurrence of the condition though the date can be later than the true occurrence date as a new start date will be created if the patient is referred to a different clinic/hospital. Even in the same clinic/hospital, a new start date may be given to the same condition of the same patient because of several reasons. For instance, if the patient had an acute condition again after the recovery from the previous same acute condition, a new start date may be created as two episodes were judged independent. Even for the chronic condition, a new start date may be created if the service has not been given for certain period (e.g., more than several months). The latter may occur according to the policy of handling patient’s conditions which may differ between clinics/hospitals. A new start date may also be created from an administrative view (e.g., the service fee for a new condition is a little higher than that for an old condition).

Note: We include events outside of the observation period in the CONDITION_OCCURRENCE table but these records will not be used to create CONDITION_ERAs.

Reading from JMDC.Diagnosis

When an ICD10 code in the diagnosis table maps to a concept in the Condition domain a record should be created in the condition_occurrence table, except when the field ‘Suspicion flag’ equals 1.

Destination Field Source Field Logic Comment Field
condition_occurrence_id      
person_id member_id Remove ‘M’ prefix  
visit_occurrence_id claim_id Remove ‘C’ prefix  
condition_type_concept_id type_of_claim Outpatient: 32859 (Outpatient claim)
Inpatient or DPC: 32853 (Inpatient claim)
 
condition_start_date month_and_year_of_medical_care date_of_medical_care_start Use start of visit. Create additional condition occurrences (condition ‘eras’) if date_of_medical_care_start is earlier than the start of month_and_year of_medical_care. If date_of_medical_care_start precedes the observation_period_start date, set start to observation_period_start_date.  
condition_end_date month_and_year_of_medical_care For condition era type records, the end date should be the end of the last diagnosis for that patient that has the specific date_of_medical_care_start, medical_facility_id, and standard_disease_code. For all other records set to null.  
condition_concept_id standard_disease_code   Lookup icd10_level4_code in diagnosis_master table, and use vocab to map to standard concept. Remove ‘-‘ prior to mapping (e.g. ‘I50-‘ should map to ‘I50’), and ignore period (e.g. ‘I500’ should map to ‘I50.0’)
condition_source_value standard_disease_code standard_disease_name Concatenate standard_disease_code and standard_disease_name separated by the pipe “|” delimiter as: standard_disease_code \| standard_disease_name Lookup icd10_level4_code in diagnosis_master table
condition_source_concept_id standard_disease_code   Lookup icd10_level4_code in diagnosis_master table, and use vocab to map to source concept. Remove ‘-‘ prior to mapping (e.g. ‘I50-‘ should map to ‘I50’), and ignore period (e.g. ‘I500’ should map to ‘I50.0’) Lookup icd10_level4_code
provider_id medical_facility_id   Use dummy provider corresponding to the institute
condition_start_datetime      
condition_end_datetime      
stop_reason      
visit_detail_id      
condition_status_source_value main_disease_flag    
condition_status_concept_id main_disease_flag If main_disease_flag = 1 set to 32902 (primary condition) , else set to 32908 (secondary condition)  
preceding_visit_occurrence_id      

Reading from Annual_Health_Checkup

The annual_health_checkup table is a wide table with one row per date and many columns representing individual values like BMI, fasting blood sugar, and sleep quality. These columns are mapped to standard concepts as detailed in the mapping file here. Some variable-value pairs are mapped to condition concept

Destination Field Source Field Logic Comment Field
condition_occurrence_id      
person_id member_id Remove ‘M’ prefix  
visit_occurrence_id claim_id Remove ‘C’ prefix  
condition_type_concept_id type_of_claim 32836 (EHR physical examination)  
condition_start_date date_of_health_checkup    
condition_end_date NULL    
condition_concept_id mapped concept   See the mappings for these columns in the manual mapping file
condition_source_value column name from annual_health_checkup    
condition_source_concept_id 0    
provider_id      
condition_start_datetime      
condition_end_datetime      
stop_reason      
visit_detail_id      
condition_status_source_value      
condition_status_concept_id      
preceding_visit_occurrence_id      

Change Log

March 12, 2024

  • condition_type_concept_id cleaned up

April 6, 2022

  • Added logic to map CONDITION_STATUS_CONCEPT_ID from main_disease_flag in diagnosis

Aug 10, 2023

  • Added reading from Annual_Health_Checkup

Please contact Clair Blacketer (https://github.com/clairblacketer) if you have any questions