library("openfda")
mykey <- "HCG3uEa4BhaHf4e1BEeh92lYtQUhQGykRBs5N2FW"
lamotrigine_HEPATIC_FAILURE <- fda_query("/drug/event.json") %>%
fda_api_key(mykey) %>%
fda_filter("receivedate", "[20040101+TO+20220630]") %>%
fda_filter("patient.drug.openfda.generic_name", "LAMOTRIGINE") %>%
fda_filter("patient.reaction.reactionmeddrapt.exact", "(%22HEPATIC+FAILURE%22)") %>%
fda_limit(1000) %>%
fda_search() %>%
fda_exec()
## Fetching: https://api.fda.gov/drug/event.json?search=receivedate:[20040101+TO+20220630]+AND+patient.drug.openfda.generic_name:LAMOTRIGINE+AND+patient.reaction.reactionmeddrapt.exact:(%22HEPATIC+FAILURE%22)&api_key=HCG3uEa4BhaHf4e1BEeh92lYtQUhQGykRBs5N2FW&limit=1000
dim(lamotrigine_HEPATIC_FAILURE) ## 211
## [1] 211 27
colnames(lamotrigine_HEPATIC_FAILURE)
## [1] "safetyreportversion" "safetyreportid"
## [3] "primarysourcecountry" "occurcountry"
## [5] "transmissiondateformat" "transmissiondate"
## [7] "reporttype" "serious"
## [9] "seriousnessother" "receivedateformat"
## [11] "receivedate" "receiptdateformat"
## [13] "receiptdate" "fulfillexpeditecriteria"
## [15] "companynumb" "duplicate"
## [17] "reportduplicate" "primarysource"
## [19] "sender" "receiver"
## [21] "patient" "seriousnessdeath"
## [23] "seriousnesslifethreatening" "seriousnesshospitalization"
## [25] "seriousnessdisabling" "authoritynumb"
## [27] "seriousnesscongenitalanomali"
sapply(names(lamotrigine_HEPATIC_FAILURE),function(i) class(lamotrigine_HEPATIC_FAILURE[[i]]))
## safetyreportversion safetyreportid
## "character" "character"
## primarysourcecountry occurcountry
## "character" "character"
## transmissiondateformat transmissiondate
## "character" "character"
## reporttype serious
## "character" "character"
## seriousnessother receivedateformat
## "character" "character"
## receivedate receiptdateformat
## "character" "character"
## receiptdate fulfillexpeditecriteria
## "character" "character"
## companynumb duplicate
## "character" "character"
## reportduplicate primarysource
## "list" "data.frame"
## sender receiver
## "data.frame" "data.frame"
## patient seriousnessdeath
## "data.frame" "character"
## seriousnesslifethreatening seriousnesshospitalization
## "character" "character"
## seriousnessdisabling authoritynumb
## "character" "character"
## seriousnesscongenitalanomali
## "character"
# lamotrigine_HEPATIC_FAILURE$patient
library(jsonlite)
lamotrigine_HEPATIC_FAILURE_flat <- flatten(lamotrigine_HEPATIC_FAILURE, recursive = TRUE)
colsclass <- sapply(names(lamotrigine_HEPATIC_FAILURE_flat),function(i) class(lamotrigine_HEPATIC_FAILURE_flat[[i]]))
which(colsclass=="list")
## reportduplicate patient.reaction patient.drug
## 17 34 35
lamotrigine_HEPATIC_FAILURE_flat$patient.reaction[1]
## [[1]]
## reactionmeddraversionpt reactionmeddrapt reactionoutcome
## 1 17.0 Tubulointerstitial nephritis 1
## 2 17.0 Nausea 6
## 3 17.0 Vomiting 6
## 4 17.0 Renal pain 6
## 5 17.0 Oliguria 6
## 6 17.0 Renal failure 1
## 7 17.0 Hepatic failure 1
library(xlsx)
lamotrigine_HEPATIC_FAILURE_flat_rmnest <- lamotrigine_HEPATIC_FAILURE_flat[,-c(17,34,35)]
write.xlsx(lamotrigine_HEPATIC_FAILURE_flat_rmnest,file="1. lamotrigine_HEPATIC_FAILURE_flat.xlsx")
lamotrigine_HEPATIC_FAILURE_flat_sub <- lamotrigine_HEPATIC_FAILURE_flat[,c(2,34,35)]
library(tidyverse)
## ── Attaching packages ─────────────────────────────────────── tidyverse 1.3.1 ──
## ✔ ggplot2 3.3.6 ✔ purrr 0.3.4
## ✔ tibble 3.1.7 ✔ dplyr 1.0.9
## ✔ tidyr 1.2.0 ✔ stringr 1.4.0
## ✔ readr 2.1.2 ✔ forcats 0.5.1
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ purrr::flatten() masks jsonlite::flatten()
## ✖ dplyr::lag() masks stats::lag()
lamotrigine_HEPATIC_FAILURE_flat_sub_unnest1 <- lamotrigine_HEPATIC_FAILURE_flat_sub[,c(1:2)] %>% unnest(cols = c(patient.reaction))
write.xlsx(lamotrigine_HEPATIC_FAILURE_flat_sub_unnest1, file="2. lamotrigine_HEPATIC_FAILURE_patient.reaction.xlsx")
lamotrigine_HEPATIC_FAILURE_flat_sub_unnest2 <- lamotrigine_HEPATIC_FAILURE_flat_sub[,c(1,3)] %>% unnest(cols = c(patient.drug))
sapply(names(lamotrigine_HEPATIC_FAILURE_flat_sub_unnest2),function(x) class(lamotrigine_HEPATIC_FAILURE_flat_sub_unnest2[[x]]))
## safetyreportid drugcharacterization
## "character" "character"
## medicinalproduct drugauthorizationnumb
## "character" "character"
## drugstructuredosagenumb drugstructuredosageunit
## "character" "character"
## drugseparatedosagenumb drugintervaldosageunitnumb
## "character" "character"
## drugintervaldosagedefinition drugdosagetext
## "character" "character"
## drugdosageform drugadministrationroute
## "character" "character"
## drugindication actiondrug
## "character" "character"
## openfda drugstartdateformat
## "data.frame" "character"
## drugstartdate drugenddateformat
## "character" "character"
## drugenddate activesubstance
## "character" "data.frame"
## drugcumulativedosagenumb drugcumulativedosageunit
## "character" "character"
## drugbatchnumb drugrecurreadministration
## "character" "character"
## drugadditional drugtreatmentduration
## "character" "character"
## drugtreatmentdurationunit drugrecurrence
## "character" "list"
head(lamotrigine_HEPATIC_FAILURE_flat_sub_unnest2$openfda[1])
## application_number
## 1 ANDA200672, ANDA206382, ANDA213949, ANDA078956, ANDA077633, ANDA078009, ANDA076701, ANDA213271, ANDA200828, ANDA078625, ANDA079204, ANDA202498, ANDA202383, ANDA090170, ANDA079099, ANDA077783, ANDA204158, NDA020764, NDA020241, NDA022251, ANDA078947, ANDA090607, ANDA207763, ANDA079132, ANDA200694, ANDA078525, ANDA214124, ANDA076708, ANDA090401, ANDA201168, NDA022115, ANDA207497, ANDA203370
## 2 ANDA084427, ANDA040521, ANDA040342, NDA008762, ANDA200565
## 3 ANDA205130, NDA204417, ANDA202869, ANDA090515, ANDA078904, NDA021872, ANDA091399, ANDA078858, ANDA090767, ANDA078106, ANDA201157, ANDA078918, ANDA078993, ANDA079063, ANDA203052, ANDA090843, ANDA078234, ANDA078774, ANDA078960, ANDA206880, ANDA090876, ANDA201464, ANDA078154, ANDA090025, ANDA215069, ANDA090263, ANDA091261, ANDA202958, ANDA207160, ANDA213532, ANDA076920, ANDA091627, NDA202543, ANDA078582, ANDA202167, NDA207958, ANDA212688, ANDA090893, ANDA090028, ANDA203059, ANDA204511, ANDA206838, ANDA090992, NDA021505, NDA021035, ANDA211954, ANDA209474, ANDA216375, ANDA090981, ANDA091485, ANDA205102, ANDA091360, ANDA203468, NDA022285, ANDA203308, ANDA090601, ANDA209781, ANDA204312, ANDA076919, ANDA090261, ANDA079120, ANDA078976
## 4 ANDA207611, ANDA077960, ANDA073484, ANDA073229, ANDA074060, ANDA070868, ANDA075379
## 5 ANDA200672, ANDA206382, ANDA213949, ANDA078956, ANDA077633, ANDA078009, ANDA076701, ANDA213271, ANDA200828, ANDA078625, ANDA079204, ANDA202498, ANDA202383, ANDA090170, ANDA079099, ANDA077783, ANDA204158, NDA020764, NDA020241, NDA022251, ANDA078947, ANDA090607, ANDA207763, ANDA079132, ANDA200694, ANDA078525, ANDA214124, ANDA076708, ANDA090401, ANDA201168, NDA022115, ANDA207497, ANDA203370
## 6 part343
lamotrigine_HEPATIC_FAILURE_flat_sub_unnest2 <- unnest(lamotrigine_HEPATIC_FAILURE_flat_sub_unnest2)
## Warning: `cols` is now required when using unnest().
## Please use `cols = c(openfda, activesubstance, drugrecurrence)`
colclass <- sapply(names(lamotrigine_HEPATIC_FAILURE_flat_sub_unnest2),function(x) class(lamotrigine_HEPATIC_FAILURE_flat_sub_unnest2[[x]]))
lamotrigine_HEPATIC_FAILURE_flat_sub_unnest2 <- lamotrigine_HEPATIC_FAILURE_flat_sub_unnest2[,colclass=="character"]
write.xlsx(lamotrigine_HEPATIC_FAILURE_flat_sub_unnest2, file ="3. lamotrigine_HEPATIC_FAILURE_patient.drug.xlsx")
tab3_with_age <- merge(lamotrigine_HEPATIC_FAILURE_flat_rmnest[,c(2,31)],lamotrigine_HEPATIC_FAILURE_flat_sub_unnest2,by="safetyreportid")
write.xlsx(tab3_with_age, file ="4. lamotrigine_HEPATIC_FAILURE_patient.drug_with_age.xlsx")
table(lamotrigine_HEPATIC_FAILURE_flat_rmnest$seriousnessdeath)
##
## 1 2
## 59 4
ages <- lamotrigine_HEPATIC_FAILURE_flat_rmnest$patient.patientonsetage
sum(na.omit(as.numeric(ages))<18)
## [1] 39
59/211
## [1] 0.2796209