#' getIndividualData.R
#'
#' tet a specified patient's demographic, PSA, biopsy, and treatment results to the console
#'
#'
#' @param idInput Integer of patient record to be displayed
#' @param patientDataframes Full
#' @export
getIndividualData<- function(idInput = 5, patientDataframes, bx_data) {
pt.data <- patientDataframes[[1]] #global variable patientDataframes put into temporary dataframes with names matching RJAGS prep
psa.data <- patientDataframes[[2]]
#bx.data <- bx_data
bx.data <- patientDataframes[[3]]
# bx.data <- bx_data
lapply(psa.data, class)
#pt.data[pt.data$id == patient,] #actually works and is equiv #patientDataframes[[1]][patientDataframes[[1]]$id == patient,]
#psa.data[psa.data$id == patient,]
#bx.data[bx.data$id == patient,]
#library(dplyr)
#print("Demographics Data: ")
formattedDemo <- filter(pt.data, id == idInput)
formattedDemo$dob <- as.Date(formattedDemo$dob.num, origin="1970-01-01")
#formattedDemo$dobCheck <-as.numeric(as.Date(formattedDemo$dob))
formattedDemo <- formattedDemo[c("id", "age.dx", "vol.avg", "dob")]
names(formattedDemo) <- c("Patient", "Age at Dx", "Avg Vol", "DOB")
#print("Patient Id")
#print(formattedDemo$Patient)
#print("Age at Diagnosis")
#print(formattedDemo$'Age at Dx')
#print("DOB")
#print(formattedDemo$DOB)
#print("Average Prostate Volume")
#print(formattedDemo$'Avg Vol')
formattedPsa <- filter(psa.data, id == idInput)
formattedPsa$visit <- as.Date(formattedPsa$psa.date.num, origin = "1970-01-01")
formattedPsa <- formattedPsa[c("age", "visit", "psa")]#add age
#formattedPsa$visit <- as.Date(formattedPsa$psa.date, origin = "1970-01-01")
names(formattedPsa) <- c("Age", "Visit", "PSA")
formattedBx <- filter(bx.data, id == idInput, bx.here == 1)
#for (i in 1:nrow(formattedBx)) {
# bxDate <- as.Date(formattedBx$bx.date[i])
# formattedBx$ageNum[i] <- bxDate - formattedDemo$DOB
# formattedBx$age[i] <- formattedBx$ageNum[i]/365
#}
formattedBx$visit <- as.Date(formattedBx$bx.date.num, origin = "1970-01-01")
formattedBx <- formattedBx[c("visit", "bx.age", "bx.here", "surgery")]
names(formattedBx) <- c("Visit", "Age", "Biopsy", "Surgery")
merged.data <- merge(formattedPsa, formattedBx, by=c("Visit", "Age"), all = TRUE)
#all NA replaced with '-'
for (i in 1:nrow(merged.data)) {
#adjusting PSA to 2 decimals
PSAval <- as.numeric(merged.data$PSA[i])
PSAsmall <- round(PSAval, digits = 2)
merged.data$PSA[i] <- PSAsmall
#adjusting vol to 2 decimals
ageVal <- as.numeric(merged.data$Age[i])
ageSmall <- round(ageVal, digits = 1)
merged.data$Age[i] <- ageSmall
#volVal <- as.numeric(merged.data$Vol[i])
#volSmall <- round(volVal, digits = 1)
#merged.data$Vol[i] <- volSmall
#if(is.na(merged.data$Vol[i])) {
# merged.data$Vol[i] <- "-"
#}
#if (merged.data$RC[i] == 0) {
# merged.data$RC[i] <- "N"
#}
#else if (merged.data$RC[i] == 1) {
# merged.data$RC[i] <- "Y"
#}
if(is.na(merged.data$Age[i])) {
merged.data$Age[i] <- "-"
}
if(is.na(merged.data$PSA[i])) {
merged.data$PSA[i] <- "-"
}
if(is.na(merged.data$Biopsy[i])) {
merged.data$Biopsy[i] <- "-"
}
if (merged.data$Biopsy[i] == 1) {
merged.data$Biopsy[i] <- "Y"
}
if (merged.data$Biopsy[i] == 0) {
merged.data$Biopsy[i] <- "N"
}
if(is.na(merged.data$Surgery[i])) {
merged.data$Surgery[i] <- "-"
}
if(merged.data$Surgery[i] == 0) {
merged.data$Surgery[i] <- "N"
}
if (merged.data$Surgery[i] == 1) {
merged.data$Surgery[i] <- "Y"
}
#merged.data$PSA[i]
}
names(merged.data) <- c("Visit Date", "Patient Age", "PSA value", "Biopsy", "Surgery")
return(merged.data)
#ages are messed up, thinks biopsy at later time has younger patient age
#find differences between IOP and non IOP versions and add T/F option
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.