-
Notifications
You must be signed in to change notification settings - Fork 0
Sickle Cell Disease
Tiffany J. Callahan edited this page Jul 19, 2021
·
23 revisions
-
eMERGE Documentation
- 📄Computable Phenotype Description.pdf (Downloaded: 03/21/19)
- Code Set
- GitHub Issue #14
See the SQL query to identify the cohort below and note that the mapping between the bolded words at the beginning of each of the case criteria and the named query chunks
Case Criteria:
-
dx_case_inclusion_criteria_1: Presence of codes for sickle cell disease in the problem list, medical history, as a primary diagnosis at encounter, non-primary diagnosis at encounter, or as a discharge diagnosis (ICD9 codes - criteria # 1)
- Outpatient (
visit_concept_id = 9202
) - Emergency Room - Hospital (
visit_concept_id = 9203
) - Inpatient Hospital (
place_of_service_concept_id = 9201
)
- Outpatient (
-
visit_inclusion_criteria_1: Two outpatient visits at least 30 days apart or one hospitalization in the electronic medical record
-
Hospitalization Visit Codes:
- Emergency Room - Hospital (
visit_concept_id = 9203
) - Inpatient Hospital (
place_of_service_concept_id = 9201
)
- Emergency Room - Hospital (
-
Outpatient Visit Code:
- Outpatient (
visit_concept_id = 9202
)
- Outpatient (
-
Hospitalization Visit Codes:
- dx_case_exclusion_criteria_1: NOT greater presence of sickle cell trait diagnoses than qualifying sickle cell disease diagnoses (ICD9 codes - criteria # 2)
Control Criteria:
- No control group defined
Cohort Logic Table
COHORT | CHUNK | LOGICAL OPERATOR |
---|---|---|
CASE | dx_case_inclusion_criteria_1 | AND |
CASE | visit_inclusion_criteria_1 | AND |
CASE | dx_case_exclusion_criteria_1 | --- |
- No specified covariates
WITH dx_case_inclusion_criteria_1 AS (
SELECT co.person_id, cohort.standard_code_set AS code_set
FROM
CHCO_DeID_Oct2018.condition_occurrence co,
CHCO_DeID_Oct2018.SICKLECELLDISEASE_COHORT_VARS cohort
WHERE
co.condition_concept_id = CAST(cohort.standard_concept_id AS int64)
AND cohort.standard_code_set = {code_set_group}
GROUP BY co.person_id, cohort.standard_code_set
HAVING
COUNT(DISTINCT co.condition_concept_id) >= 1
),
visit_inclusion_criteria_1 AS (
SELECT person_id FROM
-- identify patients with at least 2 outpatient visits at least 30 days apart
(SELECT v1.person_id
FROM
CHCO_DeID_Oct2018.visit_occurrence v1,
CHCO_DeID_Oct2018.visit_occurrence v2
WHERE
v1.person_id = v2.person_id
AND v1.visit_concept_id in (9202)
AND v2.visit_concept_id in (9202)
AND v1.visit_start_datetime < v2.visit_start_datetime
AND DATETIME_DIFF(DATETIME(v2.visit_start_datetime), DATETIME(v1.visit_start_datetime), DAY) >= 30
GROUP BY v1.person_id, v1.visit_start_datetime, v2.visit_start_datetime
ORDER BY
v1.visit_start_datetime, v2.visit_start_datetime)
UNION ALL
-- identify patients with at least 1 hospitalization
(SELECT person_id FROM
CHCO_DeID_Oct2018.visit_occurrence
WHERE
visit_concept_id in (9201, 9203)
GROUP BY
person_id, visit_occurrence_id
HAVING
COUNT(DISTINCT visit_occurrence_id) >= 1)
),
dx_case_exclusion_criteria_1 AS (
SELECT v.person_id, cohort.standard_code_set AS code_set
FROM
CHCO_DeID_Oct2018.visit_occurrence v,
CHCO_DeID_Oct2018.care_site c,
CHCO_DeID_Oct2018.condition_occurrence co,
CHCO_DeID_Oct2018.SICKLECELLDISEASE_COHORT_VARS cohort
JOIN
(SELECT DISTINCT v.person_id, COUNT(DISTINCT co.condition_concept_id) AS trait_count, cohort.standard_code_set AS code_set
FROM
CHCO_DeID_Oct2018.visit_occurrence v,
CHCO_DeID_Oct2018.care_site c,
CHCO_DeID_Oct2018.condition_occurrence co,
CHCO_DeID_Oct2018.SICKLECELLDISEASE_COHORT_VARS cohort
WHERE co.visit_occurrence_id = v.visit_occurrence_id
AND co.condition_concept_id = CAST(cohort.standard_concept_id AS int64)
AND cohort.phenotype_definition_number = 2
AND cohort.standard_code_set = {code_set_group}
GROUP BY
v.person_id, code_set) b
ON v.person_id = b.person_id
WHERE co.visit_occurrence_id = v.visit_occurrence_id
AND co.condition_concept_id = CAST(cohort.standard_concept_id AS int64)
AND cohort.phenotype_definition_number = 1
GROUP BY
v.person_id, code_set, b.trait_count
HAVING
COUNT(DISTINCT co.condition_concept_id) > b.trait_count
)
SELECT person_id, code_set, 'SICKLECELLDISEASE_CASE' AS cohort_type FROM (
SELECT person_id, code_set FROM dx_case_inclusion_criteria_1
WHERE person_id IN (SELECT person_id FROM visit_inclusion_criteria_1)
EXCEPT DISTINCT
SELECT person_id, code_set FROM dx_case_exclusion_criteria_1)
;
This query can can also be accessed via a GitHub Gist here