diff --git a/models/claims_preprocessing/encounters/encounter_models.yml b/models/claims_preprocessing/encounters/encounter_models.yml index 6b7f3a01b..80c3e0753 100644 --- a/models/claims_preprocessing/encounters/encounter_models.yml +++ b/models/claims_preprocessing/encounters/encounter_models.yml @@ -4477,7 +4477,16 @@ models: tags: - claims_preprocessing - encounters - + columns: + - name: end_date + description: The discharge date or end date of the claim if discharge date is null. + tests: + - not_null: + description: > + If this is null, the end date will default to the start date for encounters to ensure the encounter is not open-ended and + prevents grouping encounters far into the future. + config: + severity: warn - name: encounters__prof_and_lower_priority description: adding in lower priority institutional claims in one location with professional for grouping to higher level encounters config: diff --git a/models/claims_preprocessing/encounters/intermediate/acute_inpatient/acute_inpatient__generate_encounter_id.sql b/models/claims_preprocessing/encounters/intermediate/acute_inpatient/acute_inpatient__generate_encounter_id.sql index b8f1fa1e0..bdbc1d554 100644 --- a/models/claims_preprocessing/encounters/intermediate/acute_inpatient/acute_inpatient__generate_encounter_id.sql +++ b/models/claims_preprocessing/encounters/intermediate/acute_inpatient/acute_inpatient__generate_encounter_id.sql @@ -18,7 +18,7 @@ select claim_id enc.claim_id , enc.patient_data_source_id , c.start_date - , c.end_date + , coalesce(c.end_date, c.start_date) as end_date -- Avoids large length of stay gaps being combined , enc.facility_npi , enc.discharge_disposition_code from {{ ref('encounters__stg_medical_claim') }} as enc diff --git a/models/claims_preprocessing/encounters/intermediate/emergency_department/emergency_department__generate_encounter_id_pre_sort.sql b/models/claims_preprocessing/encounters/intermediate/emergency_department/emergency_department__generate_encounter_id_pre_sort.sql index a6067d324..999dbc066 100644 --- a/models/claims_preprocessing/encounters/intermediate/emergency_department/emergency_department__generate_encounter_id_pre_sort.sql +++ b/models/claims_preprocessing/encounters/intermediate/emergency_department/emergency_department__generate_encounter_id_pre_sort.sql @@ -18,7 +18,7 @@ with claim_start_end as ( enc.claim_id , enc.patient_data_source_id , c.start_date - , c.end_date + , coalesce(c.end_date, c.start_date) as end_date -- Avoids large length of stay gaps being combined , enc.facility_npi , enc.discharge_disposition_code , enc.claim_type -- 'institutional' | 'professional' diff --git a/models/claims_preprocessing/encounters/intermediate/inpatient_hospice/inpatient_hospice__generate_encounter_id.sql b/models/claims_preprocessing/encounters/intermediate/inpatient_hospice/inpatient_hospice__generate_encounter_id.sql index 8bd92a8c9..7700e5c53 100644 --- a/models/claims_preprocessing/encounters/intermediate/inpatient_hospice/inpatient_hospice__generate_encounter_id.sql +++ b/models/claims_preprocessing/encounters/intermediate/inpatient_hospice/inpatient_hospice__generate_encounter_id.sql @@ -18,7 +18,7 @@ with claim_start_end as ( enc.claim_id , enc.patient_data_source_id , c.start_date - , c.end_date + , coalesce(c.end_date, c.start_date) as end_date -- Avoids large length of stay gaps being combined , enc.facility_npi , enc.discharge_disposition_code from {{ ref('encounters__stg_medical_claim') }} as enc diff --git a/models/claims_preprocessing/encounters/intermediate/inpatient_long_term/inpatient_long_term__generate_encounter_id.sql b/models/claims_preprocessing/encounters/intermediate/inpatient_long_term/inpatient_long_term__generate_encounter_id.sql index 1f1c021a6..28bd8f9d5 100644 --- a/models/claims_preprocessing/encounters/intermediate/inpatient_long_term/inpatient_long_term__generate_encounter_id.sql +++ b/models/claims_preprocessing/encounters/intermediate/inpatient_long_term/inpatient_long_term__generate_encounter_id.sql @@ -18,7 +18,7 @@ with claim_start_end as ( enc.claim_id , enc.patient_data_source_id , c.start_date - , c.end_date + , coalesce(c.end_date, c.start_date) as end_date -- Avoids large length of stay gaps being combined , enc.facility_npi , enc.discharge_disposition_code from {{ ref('encounters__stg_medical_claim') }} as enc diff --git a/models/claims_preprocessing/encounters/intermediate/inpatient_psych/inpatient_psych__generate_encounter_id.sql b/models/claims_preprocessing/encounters/intermediate/inpatient_psych/inpatient_psych__generate_encounter_id.sql index 68412aceb..58bea8fd6 100644 --- a/models/claims_preprocessing/encounters/intermediate/inpatient_psych/inpatient_psych__generate_encounter_id.sql +++ b/models/claims_preprocessing/encounters/intermediate/inpatient_psych/inpatient_psych__generate_encounter_id.sql @@ -18,7 +18,7 @@ with claim_start_end as ( enc.claim_id , enc.patient_data_source_id , c.start_date - , c.end_date + , coalesce(c.end_date, c.start_date) as end_date -- Avoids large length of stay gaps being combined , enc.facility_npi , enc.discharge_disposition_code from {{ ref('encounters__stg_medical_claim') }} as enc diff --git a/models/claims_preprocessing/encounters/intermediate/inpatient_rehab/inpatient_rehab__generate_encounter_id.sql b/models/claims_preprocessing/encounters/intermediate/inpatient_rehab/inpatient_rehab__generate_encounter_id.sql index 29b82d31f..102a63318 100644 --- a/models/claims_preprocessing/encounters/intermediate/inpatient_rehab/inpatient_rehab__generate_encounter_id.sql +++ b/models/claims_preprocessing/encounters/intermediate/inpatient_rehab/inpatient_rehab__generate_encounter_id.sql @@ -18,7 +18,7 @@ with claim_start_end as ( enc.claim_id , enc.patient_data_source_id , c.start_date - , c.end_date + , coalesce(c.end_date, c.start_date) as end_date -- Avoids large length of stay gaps being combined , enc.facility_npi , enc.discharge_disposition_code from {{ ref('encounters__stg_medical_claim') }} as enc diff --git a/models/claims_preprocessing/encounters/intermediate/inpatient_snf/inpatient_snf__generate_encounter_id.sql b/models/claims_preprocessing/encounters/intermediate/inpatient_snf/inpatient_snf__generate_encounter_id.sql index d0b1724b0..73659a159 100644 --- a/models/claims_preprocessing/encounters/intermediate/inpatient_snf/inpatient_snf__generate_encounter_id.sql +++ b/models/claims_preprocessing/encounters/intermediate/inpatient_snf/inpatient_snf__generate_encounter_id.sql @@ -18,7 +18,7 @@ with claim_start_end as ( enc.claim_id , enc.patient_data_source_id , c.start_date - , c.end_date + , coalesce(c.end_date, c.start_date) as end_date -- Avoids large length of stay gaps being combined , enc.facility_npi , enc.discharge_disposition_code from {{ ref('encounters__stg_medical_claim') }} as enc diff --git a/models/claims_preprocessing/encounters/intermediate/inpatient_substance_use/inpatient_substance_use__generate_encounter_id.sql b/models/claims_preprocessing/encounters/intermediate/inpatient_substance_use/inpatient_substance_use__generate_encounter_id.sql index 23b24440f..b470979a9 100644 --- a/models/claims_preprocessing/encounters/intermediate/inpatient_substance_use/inpatient_substance_use__generate_encounter_id.sql +++ b/models/claims_preprocessing/encounters/intermediate/inpatient_substance_use/inpatient_substance_use__generate_encounter_id.sql @@ -18,7 +18,7 @@ with claim_start_end as ( enc.claim_id , enc.patient_data_source_id , c.start_date - , c.end_date + , coalesce(c.end_date, c.start_date) as end_date -- Avoids large length of stay gaps being combined , enc.facility_npi , enc.discharge_disposition_code from {{ ref('encounters__stg_medical_claim') }} as enc