RISE_ID/T4_annual_survey/O3_T4_ID-LIMS_QC.R

# LIMS QC

#######################################
#COMPARE WITH LIMS
feces_lab <- sample_reception %>%
  filter (Sample_type == "Human Feces") %>%
  select (Barcode_sample, Date_receipt)

#merge with lab data
feces_check <- full_join(feces.compare, feces_lab,
                         by = c("feces.kits" = "Barcode_sample")) 
rm(feces_lab)
# write_csv(feces_check, path = "S:/R-MNHS-SPHPM-EPM-IDEpi/RISE/4. Surveys/3. Objectives/2. ID/3/20190225_child sampling/3. ID/2. Data/4. reports/feces_check.csv")

#note: you are looking at these tables for samples collected in the Field
# that have not been entered in the lab reception!
feces_check2 <- feces_check %>% 
  filter (!is.na(date.handout) & !is.na(date.pickup) & is.na(Date_receipt))

# feces kits were given out in the field and never picked up or returned to the lab:
feces_check3 <- feces_check %>% 
  filter (!is.na(date.handout) & is.na(date.pickup) & is.na(Date_receipt)) %>% 
  filter (count<3) %>% 
  rename (transporter.visits = count)

#at sample reception but not given out
feces_check4 <- feces_check %>%
  filter(is.na(date.handout) & !is.na(Date_receipt))

feces_check5 <- feces_check %>%
  filter (is.na(date.pickup) & !is.na(Date_receipt))

#################################
#Lab data
#################################


##################################
##################################
#4. MERGE  LIMS DATA
##################################
##################################

#4.1: merge KK1 and KK2
KK_samples <- full_join (LIMS_KK1, LIMS_KK2, by = c("Barcode_kk_slide" = "Barcode_KKslide")) %>%
  mutate (days_to_KK2 = date(date_KK2) - date(date_KK1))

KK_samples2 <- KK_samples %>%
  group_by(Barcode_sample) %>%
  summarise (date_KK1 = max(date_KK1),
             Barcode_kk_slide = max(Barcode_kk_slide),
             Barcode_kk_slide_check = min(Barcode_kk_slide),
             max_days_to_KK2 = max(days_to_KK2),
             reads = n()) %>%
  mutate (check = ifelse(Barcode_kk_slide == Barcode_kk_slide_check, "ok", "error")) %>%
  select (-Barcode_kk_slide_check)


#4.2:  merge sample kits with with laboratory sample reception
feces_merge2 <- left_join (feces_check, sample_reception, by = c("feces.kits" = "Barcode_sample"))
# merge with KK samples
feces_merge3 <- full_join (feces_merge2, KK_samples2, by = c("feces.kits" = "Barcode_sample"))

rm(LIMS_KK1, LIMS_KK2, feces_merge2, KK_samples)

#check for duplicates
feces_merge3[duplicated(feces_merge3$feces.kits),] #1  duplicate - 498
sample_duplicates <- feces_merge3[duplicated(feces_merge3$feces.kits),]





# #######################
# FECES
# #######################

feces_lab <- sample_reception %>%
  filter (Sample_type == "Human Feces") %>%
  select (Barcode_sample, Date_receipt, Sample_type)

#feces aliquot
feces_aliquot <- full_join (feces_lab, feces_aliq,
                            by = c("Barcode_sample" = "Barcode_sample")) %>%  #
  select (-Lab_tech, -Comments)
#write_csv(feces_aliquot, path = "S:/R-MNHS-SPHPM-EPM-IDEpi/RISE/2. Laboratory QA/LIMS/2. reports/feces_aliquot.csv")
# write_csv(feces_aliquot, path = "Z:/Data Files/Practice Data/ID_T4_annual_v1/Output/LIMS/feces_aliquot.csv")


#KK1
feces_kk1 <- full_join (feces_lab, KK1,
                        by = c("Barcode_sample" = "Barcode_sample")) %>%  #
  select (-Lab_tech, -Comments)
#add KK2
feces_kk <- full_join (feces_kk1, KK2,
                       by = c("Barcode_kk_slide" = "Barcode_KKslide")) %>%
  #select (-Lab_tech) %>%
  rename (date.kk1 = Date_process.x,
          date.kk2 = Date_process.y) %>% 
  filter (!is.na(date.kk1) & !is.na(date.kk2)) #exclude cases where neither kk1 nor kk2
#write_csv(feces_kk, path = "S:/R-MNHS-SPHPM-EPM-IDEpi/RISE/2. Laboratory QA/LIMS/2. reports/feces_kk2.csv")
# write_csv(feces_kk, path = "Z:/Data Files/Practice Data/ID_T4_annual_v1/Output/LIMS/feces_kk2.csv")

#Merge feces_kk with child data for Autiko's report - Jeff
feces_kk_final <- inner_join (feces_kit2, feces_kk,
                              by = c("feces_barcode_final" = "Barcode_sample")) %>%
  select (settlement_barcode, extract_house_no, today, name_feces, dob_feces,
          feces_barcode_final, Date_receipt, date.kk1, Barcode_kk_slide,
          date.kk2, AscarisLumbricoides, AscarisLumbricoides_comment,
          Hookworm, Hookworm_comment, TrichurisTrichura, TrichurisTrichura_comment,
          StrongyloidesStercoralis, StrongyloidesStercoralis_comment, TaeniaSpss,
          TaeniaSpss_comment, GeneralComments, Finalized)  %>%
  rename (settlement = settlement_barcode,
          house_no = extract_house_no,
          feces_barcode = feces_barcode_final,
          date_sample_reception = Date_receipt,
          date_of_pickup = today)

feces_kk_summary <- feces_kk_final %>%
  select (-name_feces, -dob_feces, -AscarisLumbricoides_comment, -Hookworm_comment,
          -TrichurisTrichura_comment, -StrongyloidesStercoralis_comment, -TaeniaSpss_comment) %>%
  mutate (AscarisLumbricoides = ifelse(AscarisLumbricoides > 0, 1, 0),
          Hookworm = ifelse(Hookworm > 0, 1, 0),
          TaeniaSpss = ifelse(TaeniaSpss > 0, 1, 0),
          TrichurisTrichura = ifelse(TrichurisTrichura > 0, 1, 0),
          StrongyloidesStercoralis = ifelse(StrongyloidesStercoralis > 0, 1, 0),
          GeneralComments = ifelse(!is.na(GeneralComments) & GeneralComments > 0, 1, 0)) %>%
  group_by (settlement) %>%
  summarise (AscarisLumbricoides = sum(AscarisLumbricoides, na.rm = TRUE),
             Hookworm = sum(Hookworm, na.rm = TRUE),
             TaeniaSpss = sum(TaeniaSpss, na.rm = TRUE),
             TrichurisTrichura = sum(TrichurisTrichura, na.rm = TRUE),
             StrongyloidesStercoralis = sum(StrongyloidesStercoralis, na.rm = TRUE),
             Other = sum(GeneralComments, na.rm = TRUE))

feces_mac2$Barcode_macconkey <- as.character(feces_mac2$Barcode_macconkey)

#macconkey
feces_mac_1 <- full_join (feces_lab, feces_mac1,
                          by = c("Barcode_sample" = "Barcode_sample")) %>%  #
  select (-Lab_tech, -Comments)
feces_mac <- full_join (feces_mac_1, feces_mac2,
                        by = c("Barcode_macconkey" = "Barcode_macconkey")) %>%  #
  select (-Lab_tech, -Comments)
#write_csv(feces_mac, path = "S:/R-MNHS-SPHPM-EPM-IDEpi/RISE/2. Laboratory QA/LIMS/2. reports/feces_mac.csv")
# write_csv(feces_mac, path = "Z:/Data Files/Practice Data/ID_T4_annual_v1/Output/LIMS/feces_mac.csv")

#compare feces aliquot to kk1 and mac1 QC
aliquotQC_1 <- full_join (feces_aliquot, feces_kk1,
                          by = c("Barcode_sample" = "Barcode_sample"))
aliquotQC <- full_join (aliquotQC_1, feces_mac_1,
                        by = c ("Barcode_sample" = "Barcode_sample")) %>%
  select (Barcode_sample, Date_receipt.x, Sample_type.x, Date_receipt.y,
          Barcode_kk_slide, Date_receipt, Barcode_macconkey) %>%
  rename (Sample_reception_date = Date_receipt.x, Sample_type = Sample_type.x,
          KK_slide_date = Date_receipt.y, Mac1_date = Date_receipt)
Monash-RISE/riseR documentation built on Dec. 11, 2019, 9:49 a.m.