Skip to content

Commit 4573c8a

Browse files
committed
matrix summary
1 parent b113ebc commit 4573c8a

File tree

3 files changed

+89
-17
lines changed

3 files changed

+89
-17
lines changed

postProcessingNegativeControls/R/main.R

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -197,7 +197,7 @@ execute <- function(conceptsOfInterest = 0,
197197
}
198198

199199

200-
executeMatrix <- function(connectionDetails, evidenceData, vocabulary, findIngredients = 0, findConditions = 0){
200+
executeMatrix <- function(connectionDetails, evidenceData, vocabulary, findIngredients = 0, findConditions = 0, summarizeEvidenceMatrix = 0){
201201

202202
################################################################################
203203
# VARIABLES
@@ -210,6 +210,7 @@ executeMatrix <- function(connectionDetails, evidenceData, vocabulary, findIngre
210210

211211
matrixIngredients <- paste0(evidenceData,".nc_matrix_ingredients")
212212
matrixConditions <- paste0(evidenceData,".nc_matrix_conditions")
213+
matrixSummary <- paste0(evidenceData,".matrix_summary")
213214

214215
################################################################################
215216
# FIND POTENTIAL INGREDIENTS
@@ -252,6 +253,28 @@ executeMatrix <- function(connectionDetails, evidenceData, vocabulary, findIngre
252253

253254
}
254255

256+
################################################################################
257+
# FIND MATRIX SUMMARY
258+
################################################################################
259+
if(summarizeEvidenceMatrix){
260+
conn <- DatabaseConnector::connect(connectionDetails = connectionDetails)
261+
262+
sql <- SqlRender::loadRenderTranslateSql(sqlFilename = "summarizeEvidenceMatrix.sql",
263+
packageName = packageName,
264+
dbms = attr(conn, "dbms"),
265+
oracleTempSchema = NULL,
266+
cemEvidence = cemEvidence,
267+
storeData=matrixSummary,
268+
matrixIngredients = matrixIngredients,
269+
matrixConditions = matrixConditions,
270+
vocabulary=vocabulary,
271+
evidence = evidenceData
272+
)
273+
274+
DatabaseConnector::executeSql(conn=conn,sql)
275+
}
276+
277+
255278
################################################################################
256279
# CLEAN UP
257280
################################################################################

postProcessingNegativeControls/extras/codeToRun.R

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ execute(conceptsOfInterest = '372599,432285,432290,432866,432876,432883,433440,4
1010
################################################################################
1111
# CONNECTIONS - RUN ON APS
1212
################################################################################
13+
library(postProcessingNegativeControls)
14+
1315
config <- read.csv("extras/config_aps.csv",as.is=TRUE)[1,]
1416
Sys.setenv(dbms = config$dbms)
1517
Sys.setenv(user = config$user)
@@ -31,5 +33,6 @@ connectionDetails <- DatabaseConnector::createConnectionDetails(
3133
executeMatrix(connectionDetails = connectionDetails,
3234
evidenceData = Sys.getenv("evidence"),
3335
vocabulary = Sys.getenv("vocabulary"),
34-
findIngredients = 1,
35-
findConditions = 1)
36+
findIngredients = 0,
37+
findConditions = 0,
38+
summarizeEvidenceMatrix = 1)
Lines changed: 60 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,6 @@
1-
WITH CTE_PAIRS AS (
2-
/*
3-
SELECT 1314273 AS INGREDIENT_CONCEPT_ID, 432870 AS CONDITION_CONCEPT_ID --RITUXIMAB / thrombocytopenic disorder
4-
UNION
5-
SELECT 1314273 AS INGREDIENT_CONCEPT_ID, 4029574 AS CONDITION_CONCEPT_ID --RITUXIMAB / Salt-losing congenital adrenal hyperplasia
6-
*/
7-
SELECT COUNT(*)
1+
/*PREP - BUILD CONDITIONS OF INTEREST AND THEIR FAMILY ONCE AND INDEX*/
2+
/*WITH CTE_PAIRS AS (
3+
SELECT *
84
FROM CEM_V2_0_0_20200226.dbo.nc_matrix_conditions, CEM_V2_0_0_20200226.dbo.nc_matrix_ingredients
95
),
106
CTE_PAIRS_EXPAND AS (
@@ -17,15 +13,52 @@ CTE_PAIRS_EXPAND AS (
1713
FROM CTE_PAIRS p
1814
JOIN CEM_V2_0_0_20200226.dbo.CONCEPT_ANCESTOR ca2
1915
ON ca2.DESCENDANT_CONCEPT_ID = p.CONDITION_CONCEPT_ID
16+
)
17+
SELECT *
18+
INTO #TEMP_CTE_PAIRS_EXPAND
19+
FROM CTE_PAIRS_EXPAND*/
20+
21+
/*SELECT *
22+
INTO SCRATCH.dbo.EAV_TEMP_CTE_PAIRS_EXPAND
23+
FROM #TEMP_CTE_PAIRS_EXPAND
24+
25+
CREATE INDEX IXD_TEMP_CTE_PAIRS_EXPANDED ON SCRATCH.dbo.EAV_TEMP_CTE_PAIRS_EXPAND (INGREDIENT_CONCEPT_ID, FAMILY_CONDITION_CONCEPT_ID)
26+
*/
27+
28+
29+
30+
--COUNT(*) --7305329
31+
32+
WITH CTE_PAIRS_EXPAND AS (
33+
SELECT *
34+
FROM #TEMP_CTE_PAIRS_EXPAND e
35+
WHERE e.INGREDIENT_CONCEPT_ID = 1314273
2036
)
2137
SELECT p.INGREDIENT_CONCEPT_ID, p.CONDITION_CONCEPT_ID,
2238
MAX(EVIDENCE_EXISTS) AS EVIDENCE_EXISTS
39+
INTO #TEMP_SUMMARIZE_EVIDENCE
2340
FROM (
41+
/*INDICATIONS*/
42+
SELECT p.INGREDIENT_CONCEPT_ID, p.CONDITION_CONCEPT_ID,
43+
MAX(CASE WHEN c1.CONCEPT_ID IS NOT NULL THEN 1 ELSE 0 END) AS EVIDENCE_EXISTS
44+
FROM CTE_PAIRS_EXPAND p
45+
JOIN CEM_V2_0_0_20200226.dbo.CONCEPT_ANCESTOR ca
46+
ON ca.ANCESTOR_CONCEPT_ID = p.INGREDIENT_CONCEPT_ID
47+
JOIN CEM_V2_0_0_20200226.dbo.CONCEPT_RELATIONSHIP cr
48+
ON cr.RELATIONSHIP_ID IN ('Is CI of','Is FDA-appr ind of','Is off-label ind of')
49+
AND cr.CONCEPT_ID_2 = ca.DESCENDANT_CONCEPT_ID
50+
JOIN CEM_V2_0_0_20200226.dbo.CONCEPT_RELATIONSHIP cr1
51+
ON cr1.CONCEPT_ID_2 = cr.CONCEPT_ID_1
52+
AND cr1.CONCEPT_ID_1 = p.FAMILY_CONDITION_CONCEPT_ID
53+
JOIN CEM_V2_0_0_20200226.dbo.CONCEPT c1
54+
ON c1.CONCEPT_ID = cr1.CONCEPT_ID_1
55+
GROUP BY p.INGREDIENT_CONCEPT_ID, p.CONDITION_CONCEPT_ID
56+
UNION ALL
2457
/*LITERATURE*/
2558
SELECT p.INGREDIENT_CONCEPT_ID, p.CONDITION_CONCEPT_ID,
2659
MAX(CASE WHEN cu.CONCEPT_ID_1 IS NOT NULL THEN 1 ELSE 0 END) AS EVIDENCE_EXISTS
2760
FROM CTE_PAIRS_EXPAND p
28-
LEFT OUTER JOIN CEM_V2_0_0_20200226.dbo.CEM_UNIFIED cu
61+
JOIN CEM_V2_0_0_20200226.dbo.CEM_UNIFIED cu
2962
ON SOURCE_ID IN ('medline_winnenburg')
3063
AND cu.CONCEPT_ID_1 = p.INGREDIENT_CONCEPT_ID
3164
AND cu.CONCEPT_ID_2 = p.FAMILY_CONDITION_CONCEPT_ID
@@ -35,9 +68,9 @@ FROM (
3568
SELECT p.INGREDIENT_CONCEPT_ID, p.CONDITION_CONCEPT_ID,
3669
MAX(CASE WHEN cu.CONCEPT_ID_1 IS NOT NULL THEN 1 ELSE 0 END) AS EVIDENCE_EXISTS
3770
FROM CTE_PAIRS_EXPAND p
38-
LEFT OUTER JOIN CEM_V2_0_0_20200226.dbo.CONCEPT_ANCESTOR ca
71+
JOIN CEM_V2_0_0_20200226.dbo.CONCEPT_ANCESTOR ca
3972
ON ca.ANCESTOR_CONCEPT_ID = p.INGREDIENT_CONCEPT_ID
40-
LEFT OUTER JOIN CEM_V2_0_0_20200226.dbo.CEM_UNIFIED cu
73+
JOIN CEM_V2_0_0_20200226.dbo.CEM_UNIFIED cu
4174
ON SOURCE_ID IN ('splicer', 'eu_pl_adr')
4275
AND cu.CONCEPT_ID_1 = ca.DESCENDANT_CONCEPT_ID --SPLICER NEEDS TO BE BROUGHT TO INGREDIENT LEVEL
4376
AND cu.CONCEPT_ID_2 = p.FAMILY_CONDITION_CONCEPT_ID
@@ -47,20 +80,20 @@ FROM (
4780
SELECT p.INGREDIENT_CONCEPT_ID, p.CONDITION_CONCEPT_ID,
4881
MAX(CASE WHEN u1.CONCEPT_ID_1 IS NOT NULL THEN 1 ELSE 0 END) AS EVIDENCE_EXISTS
4982
FROM CTE_PAIRS_EXPAND p
50-
LEFT OUTER JOIN CEM_V2_0_0_20200226.dbo.CEM_UNIFIED u1
83+
JOIN CEM_V2_0_0_20200226.dbo.CEM_UNIFIED u1
5184
ON u1.SOURCE_ID = 'aeolus'
5285
AND u1.CONCEPT_ID_1 = p.INGREDIENT_CONCEPT_ID
5386
AND u1.CONCEPT_ID_2 = p.FAMILY_CONDITION_CONCEPT_ID
5487
AND u1.STATISTIC_VALUE_TYPE = 'PRR'
5588
AND u1.STATISTIC_VALUE >= 2
56-
LEFT OUTER JOIN CEM_V2_0_0_20200226.dbo.CEM_UNIFIED u2
89+
JOIN CEM_V2_0_0_20200226.dbo.CEM_UNIFIED u2
5790
ON u2.SOURCE_ID = 'aeolus'
5891
AND u1.UNIQUE_IDENTIFIER = u2.UNIQUE_IDENTIFIER
5992
AND u2.CONCEPT_ID_1 = p.INGREDIENT_CONCEPT_ID
6093
AND u2.CONCEPT_ID_2 = p.FAMILY_CONDITION_CONCEPT_ID
6194
AND u2.STATISTIC_VALUE_TYPE = 'CASE COUNT'
6295
AND u2.STATISTIC_VALUE >= 3
63-
LEFT OUTER JOIN CEM_V2_0_0_20200226.dbo.CEM_UNIFIED u3
96+
JOIN CEM_V2_0_0_20200226.dbo.CEM_UNIFIED u3
6497
ON u3.SOURCE_ID = 'aeolus'
6598
AND u1.UNIQUE_IDENTIFIER = u3.UNIQUE_IDENTIFIER
6699
AND u3.CONCEPT_ID_1 = p.INGREDIENT_CONCEPT_ID
@@ -70,4 +103,17 @@ FROM (
70103
GROUP BY p.INGREDIENT_CONCEPT_ID, p.CONDITION_CONCEPT_ID
71104
) p
72105
GROUP BY p.INGREDIENT_CONCEPT_ID, p.CONDITION_CONCEPT_ID
73-
--INDICATIONS
106+
107+
108+
WITH CTE_UNIVERSE AS (
109+
SELECT *
110+
FROM CEM_V2_0_0_20200226.dbo.nc_matrix_conditions, CEM_V2_0_0_20200226.dbo.nc_matrix_ingredients
111+
WHERE INGREDIENT_CONCEPT_ID = 1314273
112+
)
113+
SELECT u.INGREDIENT_CONCEPT_ID, u.CONDITION_CONCEPT_ID,
114+
MAX(CASE WHEN EVIDENCE_EXISTS IS NULL THEN 0 ELSE EVIDENCE_EXISTS END) AS EVIDENCE_EXISTS
115+
FROM CTE_UNIVERSE u
116+
LEFT OUTER JOIN #TEMP_SUMMARIZE_EVIDENCE e
117+
ON e.INGREDIENT_CONCEPT_ID = u.INGREDIENT_CONCEPT_ID
118+
AND e.CONDITION_CONCEPT_ID = u.CONDITION_CONCEPT_ID
119+
GROUP BY u.INGREDIENT_CONCEPT_ID, u.CONDITION_CONCEPT_ID

0 commit comments

Comments
 (0)