-
Notifications
You must be signed in to change notification settings - Fork 0
Systemic Lupus Erythematosus
Tiffany J. Callahan edited this page Jul 19, 2021
·
16 revisions
-
eMERGE Documentation
- 📄 Barnado et al 2017 Arthritis Care and Research.pdf (Downloaded: 03/21/19)
- Code Set
- GitHub Issue #11
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
"The algorithm with the highest PPV at 95% in the training set and 91% in the validation set was 3 or more counts of the SLE ICD-9 code, ANA positive (‡1:40), and ever use of both disease-modifying antirheumatic drugs and steroids, while excluding individuals with systemic sclerosis and dermatomyositis ICD-9 codes" PMID:27390187.
Case Criteria:
- dx_case_inclusion_criteria_1: Presence of at least 3 ICD-9CM codes for systemic lupus erythematosus (ICD9 codes - criteria # 1)
- mx_case_inclusion_criteria_1: Presence of positive antinuclear antibody (‡1:40) (measurement strings - criteria # 2)
- rx_case_inclusion_criteria_1: Presence of antimalarials, systemic corticosteroids, or disease-modifying antirheumatic drugs (drug strings - criteria # 3)
- dx_case_exclusion_criteria_1: NOT presence of diagnosis of certain codes (ICD9 codes - criteria # 4)
Control Criteria:
- No control group will be defined
Cohort Logic Table
COHORT | CHUNK | LOGICAL OPERATOR |
---|---|---|
CASE | dx_case_inclusion_criteria_1 | AND |
CASE | mx_case_inclusion_criteria_1 | AND |
CASE | rx_case_inclusion_criteria_1 | AND |
CASE | dx_case_exclusion_criteria_1 | --- |
- No covariates provided
WITH dx_case_inclusion_criteria_1 AS (
SELECT co.person_id, cohort.standard_code_set AS code_set
FROM
{database}.condition_occurrence co,
{database}.SYSTEMICLUPUSERYTHEMATOSUS_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, code_set
HAVING
COUNT(DISTINCT co.condition_concept_id) >= 3
),
mx_case_inclusion_criteria_1 AS (
SELECT m.person_id, cohort.standard_code_set AS code_set
FROM
{database}.measurement m,
{database}.SYSTEMICLUPUSERYTHEMATOSUS_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}
AND m.value_as_number > m.range_high
GROUP BY
m.person_id, cohort.standard_code_set
HAVING
COUNT(DISTINCT m.measurement_concept_id) >= 1
),
rx_case_inclusion_criteria_1 AS (
SELECT de.person_id, cohort.standard_code_set AS code_set
FROM
{database}.drug_exposure de,
{database}.SYSTEMICLUPUSERYTHEMATOSUS_COHORT_VARS cohort
WHERE
de.drug_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
de.person_id, cohort.standard_code_set
HAVING
COUNT(DISTINCT de.drug_concept_id) >= 1
),
dx_case_exclusion_criteria_1 AS (
SELECT co.person_id, cohort.standard_code_set AS code_set
FROM
{database}.condition_occurrence co,
{database}.SYSTEMICLUPUSERYTHEMATOSUS_COHORT_VARS cohort
WHERE co.condition_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
co.person_id, code_set
HAVING
COUNT(DISTINCT co.condition_concept_id) >= 1
)
SELECT * FROM
(SELECT person_id, code_set, 'SYSTEMICLUPUSERYTHEMATOSUS_CASE' AS cohort_type
FROM (
(SELECT person_id, code_set FROM dx_case_inclusion_criteria_1
INTERSECT DISTINCT
SELECT person_id, code_set FROM mx_case_inclusion_criteria_1
INTERSECT DISTINCT
SELECT person_id, code_set FROM rx_case_inclusion_criteria_1)
EXCEPT DISTINCT
SELECT person_id, code_set FROM dx_case_exclusion_criteria_1)
GROUP BY person_id, code_set, cohort_type)
;
This query can can also be accessed via a GitHub Gist here