You only need a single case_when in the mutate() function. I changed the definition of the data frame to fix some errors and to avoid numeric column names.
library(dplyr)
#>
#> Attaching package: 'dplyr'
#> The following objects are masked from 'package:stats':
#>
#> filter, lag
#> The following objects are masked from 'package:base':
#>
#> intersect, setdiff, setequal, union
df_temp_wide2 <- data.frame(
symptoms_fever_enrollment = c("yes","yes","no","no","no"),
`c1`= c("no","no","no","yes","no"),
`c2`=c("yes","yes","yes","no","no"),
`c3`=c("yes","yes","yes","no","no"),
`c4`=c("no","no","no","no","no"))
df_temp_wide2 %>% #start with the data frame
mutate(symptoms_fever_ever = case_when(
symptoms_fever_enrollment == "yes" | `c1`=="yes" | `c2`=="yes" | `c3`=="yes" |
`c4`=="yes" ~ "Yes",
symptoms_fever_enrollment == "no" & `c1`=="no" & `c2`=="no" & `c3`=="no" &
`c4`=="no" ~ "No"))
#> symptoms_fever_enrollment c1 c2 c3 c4 symptoms_fever_ever
#> 1 yes no yes yes no Yes
#> 2 yes no yes yes no Yes
#> 3 no no yes yes no Yes
#> 4 no yes no no no Yes
#> 5 no no no no no No