-
Notifications
You must be signed in to change notification settings - Fork 0
Peanut Allergy
Tiffany J. Callahan edited this page Jul 19, 2021
·
14 revisions
-
eMERGE Documentation
- 📄 Peanut_Allergy_algorithm_0.pdf (Downloaded: 03/21/19)
- Code Set
- GitHub Issue #16
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:
CASE TYPE 1
- all_case_inclusion_criteria_1: Presence of >=1 mention of "peanut" (condition strings; drug strings; measurement strings; observation strings; procedure strings - criteria # 1)
- mx_case_inclusion_criteria_1: Presence of quantitative immunoassay testing performed (RAST) (measurement strings - criteria # 2)
- px_inclusion_criteria_1: Presence of >=1 Allergen specific IgE, quantitative (CPT codes - criteria # 3)
CASE TYPE 2
- all_case_inclusion_criteria_1: Presence of >= 1 mention of "peanut" (condition strings; drug strings; measurement strings; observation strings; procedure strings - criteria # 1)
- Presence of >= 1 of various allergy testing procedures:
Control Criteria:
- No control group defined
Cohort Logic Table
COHORT | CHUNK | LOGICAL OPERATOR |
---|---|---|
CASE TYPE 1 | all_case_inclusion_criteria_1 | AND |
CASE TYPE 1 | mx_case_inclusion_criteria_1 | OR |
CASE TYPE 1 | px_inclusion_criteria_1 | --- |
CASE TYPE 2 | all_case_inclusion_criteria_1 | AND |
CASE TYPE 2 | px_inclusion_criteria_2 | OR |
CASE TYPE 2 | px_inclusion_criteria_3 | OR |
CASE TYPE 2 | px_inclusion_criteria_4 | --- |
- No covariates specified
WITH all_case_inclusion_criteria_1 AS (
SELECT person_id, {code_set_group} AS code_set FROM
(SELECT co.person_id
FROM
{database}.condition_occurrence co,
{database}.PEANUTALLERGY_COHORT_VARS cohort
WHERE
co.condition_concept_id = CAST(cohort.standard_concept_id AS int64)
AND cohort.phenotype_definition_number = 1
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
UNION DISTINCT
SELECT de.person_id
FROM
{database}.drug_exposure de,
{database}.PEANUTALLERGY_COHORT_VARS cohort
WHERE
de.drug_concept_id = CAST(cohort.standard_concept_id AS int64)
AND cohort.phenotype_definition_number = 1
AND cohort.standard_code_set = {code_set_group}
GROUP BY
de.person_id, cohort.standard_code_set
HAVING
COUNT(DISTINCT de.drug_concept_id) >= 1
UNION DISTINCT
SELECT m.person_id
FROM
{database}.measurement m,
{database}.PEANUTALLERGY_COHORT_VARS cohort
WHERE
m.measurement_concept_id = CAST(cohort.standard_concept_id AS int64)
AND cohort.phenotype_definition_number = 1
AND cohort.standard_code_set = {code_set_group}
GROUP BY
m.person_id, cohort.standard_code_set
HAVING
COUNT(DISTINCT m.measurement_concept_id) >= 1
UNION DISTINCT
SELECT o.person_id
FROM
{database}.observation o,
{database}.PEANUTALLERGY_COHORT_VARS cohort
WHERE
o.observation_concept_id = CAST(cohort.standard_concept_id AS int64)
AND cohort.phenotype_definition_number = 1
AND cohort.standard_code_set = {code_set_group}
GROUP BY
o.person_id, cohort.standard_code_set
HAVING
COUNT(DISTINCT o.observation_concept_id) >= 1
UNION DISTINCT
SELECT pr.person_id
FROM
{database}.procedure_occurrence pr,
{database}.PEANUTALLERGY_COHORT_VARS cohort
WHERE
pr.procedure_concept_id = CAST(cohort.standard_concept_id AS int64)
AND cohort.phenotype_definition_number = 1
AND cohort.standard_code_set = {code_set_group}
GROUP BY
pr.person_id, cohort.standard_code_set
HAVING
COUNT(DISTINCT pr.procedure_concept_id) >= 1
)),
mx_case_inclusion_criteria_1 AS (
SELECT m.person_id, cohort.standard_code_set AS code_set
FROM
{database}.measurement m,
{database}.PEANUTALLERGY_COHORT_VARS cohort
WHERE
m.measurement_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 m.person_id, cohort.standard_code_set
HAVING
COUNT(DISTINCT m.measurement_concept_id) >= 1
),
px_case_inclusion_criteria_1 AS (
SELECT pr.person_id, cohort.standard_code_set AS code_set
FROM
{database}.procedure_occurrence pr,
{database}.PEANUTALLERGY_COHORT_VARS cohort
WHERE
pr.procedure_concept_id = CAST(cohort.standard_concept_id AS int64)
AND cohort.phenotype_definition_number = 3
AND cohort.standard_code_set = {code_set_group}
GROUP BY pr.person_id, cohort.standard_code_set
HAVING
COUNT(DISTINCT pr.procedure_concept_id) >= 1
),
px_case_inclusion_criteria_2 AS (
SELECT pr.person_id, cohort.standard_code_set AS code_set
FROM
{database}.procedure_occurrence pr,
{database}.PEANUTALLERGY_COHORT_VARS cohort
WHERE
pr.procedure_concept_id = CAST(cohort.standard_concept_id AS int64)
AND cohort.phenotype_definition_number = 4
AND cohort.standard_code_set = {code_set_group}
GROUP BY pr.person_id, cohort.standard_code_set
HAVING
COUNT(DISTINCT pr.procedure_concept_id) >= 1
),
px_case_inclusion_criteria_3 AS (
SELECT pr.person_id, cohort.standard_code_set AS code_set
FROM
{database}.procedure_occurrence pr,
{database}.PEANUTALLERGY_COHORT_VARS cohort
WHERE
pr.procedure_concept_id = CAST(cohort.standard_concept_id AS int64)
AND cohort.phenotype_definition_number = 5
AND cohort.standard_code_set = {code_set_group}
GROUP BY pr.person_id, cohort.standard_code_set
HAVING
COUNT(DISTINCT pr.procedure_concept_id) >= 1
),
px_case_inclusion_criteria_4 AS (
SELECT pr.person_id, cohort.standard_code_set AS code_set
FROM
{database}.procedure_occurrence pr,
{database}.PEANUTALLERGY_COHORT_VARS cohort
WHERE
pr.procedure_concept_id = CAST(cohort.standard_concept_id AS int64)
AND cohort.phenotype_definition_number = 6
AND cohort.standard_code_set = {code_set_group}
GROUP BY pr.person_id, cohort.standard_code_set
HAVING
COUNT(DISTINCT pr.procedure_concept_id) >= 1
)
SELECT * FROM
(SELECT person_id, code_set, 'PEANUTALLERGY_CASE_TYPE1' AS cohort_type
FROM (
SELECT person_id, code_set FROM all_case_inclusion_criteria_1
INTERSECT DISTINCT
(SELECT person_id, code_set FROM mx_case_inclusion_criteria_1
UNION DISTINCT
SELECT person_id, code_set FROM px_case_inclusion_criteria_1)
GROUP BY person_id, code_set, cohort_type))
UNION ALL
(SELECT person_id, code_set, 'PEANUTALLERGY_CASE_TYPE2' AS cohort_type
FROM (
SELECT person_id, code_set FROM all_case_inclusion_criteria_1
INTERSECT DISTINCT
(SELECT person_id, code_set FROM px_case_inclusion_criteria_2
UNION DISTINCT
SELECT person_id, code_set FROM px_case_inclusion_criteria_3
UNION DISTINCT
SELECT person_id, code_set FROM px_case_inclusion_criteria_4))
GROUP BY person_id, code_set, cohort_type)
;
This query can can also be accessed via a GitHub Gist here