Skip to content

Commit 42f7f48

Browse files
Create Smoking in CPRD
1 parent ef4e944 commit 42f7f48

File tree

1 file changed

+60
-0
lines changed

1 file changed

+60
-0
lines changed

Smoking in CPRD

+60
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
library(survival)
2+
load("crea.rep.rda")
3+
CPRD<-read_dta("hf_cases_clinical.dta")
4+
CPRDb<-CPRD[CPRD$enttype=="4",]
5+
6+
CPRD2<-read_dta("hf_cases_additional.dta")
7+
CPRDb<-merge(CPRDb,CPRD2,all.x=TRUE)
8+
9+
#data5=start,#data6=stop
10+
CPRDA<-CPRDb[!is.na(CPRDb$data5)|!is.na(CPRDb$data6),]
11+
CPRDB<-CPRDb[is.na(CPRDb$data5)&is.na(CPRDb$data6),] #If neither the smoking or cessation data field are populated, fill in based on code
12+
CPRDC<-CPRD[!CPRD$enttype=="4",]
13+
14+
Smokcodes<-read.csv("CPRDsmoking.csv")
15+
Smokcodes1<-Smokcodes[Smokcodes$Cessation==1,]
16+
Smokcodes2<-Smokcodes[Smokcodes$Smoking==1,]
17+
18+
#eventdate2 is a temporary variable.
19+
CPRDA$eventdate2 <- strptime(as.character(CPRDA$eventdate), "%Y-%m-%d")
20+
CPRDA$eventdate3<-format(CPRDA$eventdate2, "%Y%m%d")
21+
CPRDB$eventdate2 <- strptime(as.character(CPRDB$eventdate), "%Y-%m-%d")
22+
CPRDB$eventdate3<-format(CPRDB$eventdate2, "%Y%m%d")
23+
CPRDC$eventdate2 <- strptime(as.character(CPRDC$eventdate), "%Y-%m-%d")
24+
CPRDC$eventdate3<-format(CPRDC$eventdate2, "%Y%m%d")
25+
26+
CPRDB$data5<-ifelse(CPRDB$medcode %in% Smokcodes2$MedCode,CPRDB$eventdate3,NA)
27+
CPRDB$data6<-ifelse(CPRDB$medcode %in% Smokcodes1$MedCode,CPRDB$eventdate3,NA)
28+
29+
CPRDC$data5<-ifelse(CPRDC$medcode %in% Smokcodes2$MedCode,CPRDC$eventdate3,NA)
30+
CPRDC$data6<-ifelse(CPRDC$medcode %in% Smokcodes1$MedCode,CPRDC$eventdate3,NA)
31+
32+
CPRDB<-CPRDB[!is.na(CPRDB$data5)|!is.na(CPRDB$data6),]
33+
CPRDC<-CPRDC[!is.na(CPRDC$data5)|!is.na(CPRDC$data6),]
34+
35+
CPRDA<-CPRDA[,c("patid","eventdate","eventdate2","eventdate3","data5","data6")]
36+
CPRDB<-CPRDB[,c("patid","eventdate","eventdate2","eventdate3","data5","data6")]
37+
CPRDC<-CPRDC[,c("patid","eventdate","eventdate2","eventdate3","data5","data6")]
38+
39+
Smoke<-rbind(CPRDA,CPRDB,CPRDC)
40+
Smoke$data5 <- strptime(as.character(Smoke$data5), "%Y%m%d")
41+
Smoke$data5<-format(Smoke$data5, "%Y-%m-%d")
42+
Smoke$data5<-as.Date(Smoke$data5, "%Y-%m-%d")
43+
Smoke$data6 <- strptime(as.character(Smoke$data6), "%Y%m%d")
44+
Smoke$data6<-format(Smoke$data6, "%Y-%m-%d")
45+
Smoke$data6<-as.Date(Smoke$data6, "%Y-%m-%d")
46+
47+
Smoke<-Smoke[!is.na(Smoke$data5),]
48+
Smoke$patid<-as.character(Smoke$patid)
49+
50+
length(unique(crea.rep$PatientID[crea.rep$patid %in% Smoke$patid]))
51+
#Only 2 patients in our dataset have smoking information
52+
indx1 <-neardate(crea.rep$PatientID, Smoke$patid, crea.rep$event.date, Smoke$eventdate,best="prior")
53+
54+
crea.rep$SmokeDate<-Smoke[indx1, "data5"]
55+
crea.rep$StopDate<-Smoke[indx1, "data6"]
56+
crea.rep$Smoker<- ifelse(as.numeric(abs(crea.rep$event.date - crea.rep$SmokeDate))>=0, 1, 0)
57+
crea.rep$Smoker<- ifelse(!is.na(crea.rep$StopDate)&as.numeric(abs(crea.rep$event.date - crea.rep$StopDate))>=0, 0, crea.rep$Smoker)
58+
crea.rep$Smoker<-unlist(crea.rep$Smoker)
59+
#Remove working columns:
60+
#crea.rep<-crea.rep[,c(1:106)]

0 commit comments

Comments
 (0)