Job request: 13678
- Organisation:
- University of Manchester
- Workspace:
- cc_3_sens
- ID:
- 3f6huhjoc5eqr5ax
This page shows the technical details of what happened when authorised researcher Ya-Ting Yang requested one or more actions to be run against real patient data in the project, within a secure environment.
By cross-referencing the indicated Requested Actions with the
Pipeline section below, you can infer what
security level
various outputs were written to. Outputs marked as
highly_sensitive
can never be viewed directly by a researcher; they can only
request that code runs against them. Outputs marked as
moderately_sensitive
can be viewed by an approved researcher by logging into a highly
secure environment. Only outputs marked as
moderately_sensitive
can be requested for release to the public, via a controlled
output review service.
Jobs
-
- Job identifier:
-
unv5bi3rikgopjno
-
- Job identifier:
-
szqv2s6tpibnsvva
-
- Job identifier:
-
6h3nqn73zljkjwry
-
- Job identifier:
-
bwfxwcu6n3nfnrc5
-
- Job identifier:
-
tc2t4qip6ujbb653
-
- Job identifier:
-
stwbh4z5nhaatiqz
-
- Job identifier:
-
pgnxdntnb574tmiu
-
- Job identifier:
-
sfp365yncrrfxxj2
-
- Job identifier:
-
panoh33wsjths4as
Pipeline
Show project.yaml
version: '3.0'
expectations:
population_size: 1000
actions:
generate_study_population_covid_admission:
run: cohortextractor:latest generate_cohort --study-definition study_definition_covid_admission
outputs:
highly_sensitive:
cohort: output/input_covid_admission.csv
process_1:
run: r:latest analysis/process_1.R
needs: [generate_study_population_covid_admission]
outputs:
highly_sensitive:
case: output/case_covid_icu_death.csv
# case2: output/case_covid_icu_death_2.csv
control: output/control_covid_hosp.csv
# control2: output/control_covid_hosp_2.csv
matching: # matching with replacement # died covid
run: r:latest -e 'rmarkdown::render("analysis/matching.Rmd", knit_root_dir = "/workspace", output_dir="/workspace/output")'
needs: [process_1]
outputs:
moderately_sensitive:
html: output/matching.html
highly_sensitive:
rds1: output/matched_patients.rds
rds2: output/unmatched_patients.rds
csv: output/matched_patients_id.csv
check_unmatched:
run: r:latest -e 'rmarkdown::render("analysis/check_unmatched.Rmd", knit_root_dir = "/workspace", output_dir="/workspace/output")'
needs: [matching]
outputs:
moderately_sensitive:
html: output/check_unmatched.html
check_process_1:
run: r:latest -e 'rmarkdown::render("analysis/check_process_1.Rmd", knit_root_dir = "/workspace", output_dir = "output")'
needs: [generate_study_population_covid_admission]
outputs:
moderately_sensitive:
html: output/check_process_1.html
extract_variables:
run: cohortextractor:latest generate_cohort --with-end-date-fix --study-definition study_definition_outcome
needs: [matching]
outputs:
highly_sensitive:
cohort: output/input_outcome.csv
process_Rmatching: # add variables
run: r:latest analysis/process_Rmatching.R
needs: [extract_variables,matching]
outputs:
highly_sensitive:
cohort1: output/matched_outcome.rds
rds1: output/abtype79.rds
rds2: output/comor17.rds
table1: # matching var
run: r:latest -e 'rmarkdown::render("analysis/table1.Rmd", knit_root_dir = "/workspace", output_dir="/workspace/output")'
needs: [process_1,process_Rmatching]
outputs:
moderately_sensitive:
html: output/table1.html
table1_round:
run: r:latest analysis/table1.R
needs: [process_1,process_Rmatching]
outputs:
moderately_sensitive:
csv1: output/table1_unmatched.csv
csv2: output/table1_matched.csv
csv3: output/table1_random.csv
table2: # confounders
run: r:latest -e 'rmarkdown::render("analysis/table2.Rmd", knit_root_dir = "/workspace", output_dir="/workspace/output")'
needs: [process_Rmatching]
outputs:
moderately_sensitive:
html: output/table2.html
table2_round:
run: r:latest analysis/table2.R
needs: [process_Rmatching]
outputs:
moderately_sensitive:
csv1: output/table2_matched.csv
csv3: output/table2_random.csv
table2_ab: # ab
run: r:latest -e 'rmarkdown::render("analysis/table2_ab.Rmd", knit_root_dir = "/workspace", output_dir="/workspace/output")'
needs: [process_Rmatching]
outputs:
moderately_sensitive:
html: output/table2_ab.html
table3_round:
run: r:latest analysis/table3.R
needs: [process_Rmatching]
outputs:
moderately_sensitive:
csv1: output/table3.csv
csv3: output/table3_ab.csv
model:
run: r:latest analysis/model/model.R
needs: [process_Rmatching]
outputs:
moderately_sensitive:
csv1: output/model_1_crude.csv
csv2: output/model_1_adjusted.csv
model_2:
run: r:latest -e 'rmarkdown::render("analysis/model_2.Rmd", knit_root_dir = "/workspace", output_dir="/workspace/output")'
needs: [process_Rmatching]
outputs:
moderately_sensitive:
html: output/model_2.html
# # abtype modeling
model_2_3grp:
run: r:latest -e 'rmarkdown::render("analysis/model_2_3grp.Rmd", knit_root_dir = "/workspace", output_dir="/workspace/output")'
needs: [process_Rmatching]
outputs:
moderately_sensitive:
html: output/model_2_3grp.html
################# sensitivity analysis ###########
# model_subgroup: # by age and sex
# run: r:latest -e 'rmarkdown::render("analysis/model_subgroup.Rmd", knit_root_dir = "/workspace", output_dir="/workspace/output")'
# needs: [process_Rmatching]
# outputs:
# moderately_sensitive:
# html: output/model_subgroup.html
model_subgroup:
run: r:latest analysis/model/model_subgroup.R
needs: [process_Rmatching]
outputs:
moderately_sensitive:
csv1.1: output/model_3_male_crude.csv
csv1.2: output/model_3_male_adjusted.csv
csv1.3: output/model_3_male_ab.csv
csv2.1: output/model_3_female_crude.csv
csv2.2: output/model_3_female_adjusted.csv
csv2.3: output/model_3_female_ab.csv
csv3.1: output/model_3_age1_crude.csv
csv3.2: output/model_3_age1_adjusted.csv
csv3.3: output/model_3_age1_ab.csv
csv4.1: output/model_3_age2_crude.csv
csv4.2: output/model_3_age2_adjusted.csv
csv4.3: output/model_3_age2_ab.csv
csv5.1: output/model_3_age3_crude.csv
csv5.2: output/model_3_age3_adjusted.csv
csv5.3: output/model_3_age3_ab.csv
csv6.1: output/model_3_age4_crude.csv
csv6.2: output/model_3_age4_adjusted.csv
csv6.3: output/model_3_age4_ab.csv
model_age_plot:
run: r:latest -e 'rmarkdown::render("analysis/model_age_plot.Rmd", knit_root_dir = "/workspace", output_dir="/workspace/output")'
needs: [process_Rmatching]
outputs:
moderately_sensitive:
html: output/model_age_plot.html
model_gender_plot:
run: r:latest -e 'rmarkdown::render("analysis/model_gender_plot.Rmd", knit_root_dir = "/workspace", output_dir="/workspace/output")'
needs: [process_Rmatching]
outputs:
moderately_sensitive:
html: output/model_gender_plot.html
model_time_plot: # adjust for last AB time
run: r:latest -e 'rmarkdown::render("analysis/model_time_plot.Rmd", knit_root_dir = "/workspace", output_dir="/workspace/output")'
needs: [process_Rmatching]
outputs:
moderately_sensitive:
html: output/model_time_plot.html
model_time:
run: r:latest analysis/model/model_time.R
needs: [process_Rmatching]
outputs:
moderately_sensitive:
csv1.1: output/model_time_adj1.csv
csv1.2: output/model_time_adj2.csv
model_disease_plot: # adjust for individual
run: r:latest -e 'rmarkdown::render("analysis/model_disease_plot.Rmd", knit_root_dir = "/workspace", output_dir="/workspace/output")'
needs: [process_Rmatching]
outputs:
moderately_sensitive:
html: output/model_disease_plot.html
model_disease:
run: r:latest analysis/model/model_disease.R
needs: [process_Rmatching]
outputs:
moderately_sensitive:
csv1.1: output/model_disease_adj1.csv
csv1.2: output/model_disease_adj2.csv
# model_wave: # separate wave
# run: r:latest -e 'rmarkdown::render("analysis/model_wave.Rmd", knit_root_dir = "/workspace", output_dir="/workspace/output")'
# needs: [process_Rmatching]
# outputs:
# moderately_sensitive:
# html: output/model_wave.html
model_cca:
run: r:latest analysis/model/model_cca.R
needs: [process_Rmatching]
outputs:
moderately_sensitive:
csv1.1: output/model_cca_crude.csv
csv1.2: output/model_cca_adjusted.csv
model_complete_case_plot:
run: r:latest -e 'rmarkdown::render("analysis/model_complete_case_plot.Rmd", knit_root_dir = "/workspace", output_dir="/workspace/output")'
needs: [process_Rmatching]
outputs:
moderately_sensitive:
html: output/model_complete_case_plot.html
# model:
# run: r:latest -e 'rmarkdown::render("analysis/model.Rmd", knit_root_dir = "/workspace", output_dir="/workspace/output")'
# needs: [process_Rmatching]
# outputs:
# moderately_sensitive:
# html: output/model.html
# model_subgroup: # by age and sex
# run: r:latest -e 'rmarkdown::render("analysis/model_subgroup.Rmd", knit_root_dir = "/workspace", output_dir="/workspace/output")'
# needs: [process_Rmatching]
# outputs:
# moderately_sensitive:
# html: output/model_subgroup.html
# # abtype modeling
# model_abtype:
# run: r:latest -e 'rmarkdown::render("analysis/model_abtype.Rmd", knit_root_dir = "/workspace", output_dir="/workspace/output")'
# needs: [process_Rmatching]
# outputs:
# moderately_sensitive:
# html: output/model_abtype.html
# model_complete_case:
# run: r:latest -e 'rmarkdown::render("analysis/model_complete_case.Rmd", knit_root_dir = "/workspace", output_dir="/workspace/output")'
# needs: [process_Rmatching]
# outputs:
# moderately_sensitive:
# html: output/model_complete_case.html
################# check ok###########
### test 1:3 matching ###
matching_3: # matching with replacement # died covid
run: r:latest -e 'rmarkdown::render("analysis/matching_3.Rmd", knit_root_dir = "/workspace", output_dir="/workspace/output")'
needs: [process_1]
outputs:
moderately_sensitive:
html: output/matching_3.html
highly_sensitive:
rds1: output/matched_patients_3.rds
rds2: output/unmatched_patients_3.rds
csv: output/matched_patients_id_3.csv
process_Rmatching_3: # add variables
run: r:latest analysis/process_Rmatching_3.R
needs: [extract_variables,matching]
outputs:
highly_sensitive:
cohort1: output/matched_outcome_3.rds
rds1: output/abtype79_3.rds
rds2: output/comor17_3.rds
model_abtype_3:
run: r:latest -e 'rmarkdown::render("analysis/model_abtype_3.Rmd", knit_root_dir = "/workspace", output_dir="/workspace/output")'
needs: [process_Rmatching_3]
outputs:
moderately_sensitive:
html: output/model_abtype_3.html
# model_time: # adjust for last AB time
# run: r:latest -e 'rmarkdown::render("analysis/model_time.Rmd", knit_root_dir = "/workspace", output_dir="/workspace/output")'
# needs: [process_Rmatching]
# outputs:
# moderately_sensitive:
# html: output/model_time.html
# model_disease: # adjust for disease
# run: r:latest -e 'rmarkdown::render("analysis/model_disease.Rmd", knit_root_dir = "/workspace", output_dir="/workspace/output")'
# needs: [process_Rmatching]
# outputs:
# moderately_sensitive:
# html: output/model_disease.html
# model_wave: # separate wave
# run: r:latest -e 'rmarkdown::render("analysis/model_wave.Rmd", knit_root_dir = "/workspace", output_dir="/workspace/output")'
# needs: [process_Rmatching]
# outputs:
# moderately_sensitive:
# html: output/model_wave.html
#### addintional check for 6 weeks exclusion
extract_variables_6w:
run: cohortextractor:latest generate_cohort --study-definition study_definition_outcome_6w
needs: [matching]
outputs:
highly_sensitive:
cohort: output/input_outcome_6w.csv
process_Rmatching_6w: # add variables
run: r:latest analysis/process_Rmatching_6w.R
needs: [extract_variables_6w,matching,process_Rmatching]
outputs:
highly_sensitive:
cohort1: output/matched_outcome_6w.rds
# model_6w: # adjust for last AB time
# run: r:latest -e 'rmarkdown::render("analysis/model_6w.Rmd", knit_root_dir = "/workspace", output_dir="/workspace/output")'
# needs: [process_Rmatching_6w]
# outputs:
# moderately_sensitive:
# html: output/model_6w.html
model_6w_plot: # adjust for last AB time
run: r:latest -e 'rmarkdown::render("analysis/model_6w_plot.Rmd", knit_root_dir = "/workspace", output_dir="/workspace/output")'
needs: [process_Rmatching_6w]
outputs:
moderately_sensitive:
html: output/model_6w_plot.html
model_6w:
run: r:latest analysis/model/model_6w.R
needs: [process_Rmatching_6w]
outputs:
moderately_sensitive:
csv1.1: output/model_6w_binary_adj1.csv
csv1.2: output/model_6w_total_adj1.csv
csv1.3: output/model_6w_types_adj1.csv
csv2.1: output/model_6w_binary_adj2.csv
csv2.2: output/model_6w_total_adj2.csv
csv2.3: output/model_6w_types_adj2.csv
model_6w_time:
run: r:latest analysis/model/model_6w_time.R
needs: [process_Rmatching_6w]
outputs:
moderately_sensitive:
csv1.1: output/model_6w_time_adj1.csv
csv1.2: output/model_6w_time_adj2.csv
model_6w_time_plot: # adjust for last AB time
run: r:latest -e 'rmarkdown::render("analysis/model_6w_time_plot.Rmd", knit_root_dir = "/workspace", output_dir="/workspace/output")'
needs: [process_Rmatching_6w]
outputs:
moderately_sensitive:
html: output/model_6w_time_plot.html
#### addintional check for 6 weeks exclusion
# matching2: # matching with replacement # died any
# run: r:latest -e 'rmarkdown::render("analysis/matching2.Rmd", knit_root_dir = "/workspace", output_dir="/workspace/output")'
# needs: [process_1]
# outputs:
# moderately_sensitive:
# html: output/matching2.html
# highly_sensitive:
# rds1: output/matched_patients_2.rds
# rds2: output/unmatched_patients_2.rds
# csv: output/matched_patients_id_2.csv
# check_matching:
# run: r:latest -e 'rmarkdown::render("analysis/check_matching.Rmd", knit_root_dir = "/workspace", output_dir="/workspace/output")'
# needs: [matching]
# outputs:
# moderately_sensitive:
# html: output/check_matching.html
# check_matching2:
# run: r:latest -e 'rmarkdown::render("analysis/check_matching2.Rmd", knit_root_dir = "/workspace", output_dir="/workspace/output")'
# needs: [matching2]
# outputs:
# moderately_sensitive:
# html: output/check_matching2.html
# extract_variables2:
# run: cohortextractor:latest generate_cohort --study-definition study_definition_outcome2
# needs: [matching2]
# outputs:
# highly_sensitive:
# cohort: output/input_outcome2.csv
# process_Rmatching: # add variables
# run: r:latest analysis/process_Rmatching.R
# needs: [extract_variables,matching]
# outputs:
# highly_sensitive:
# cohort1: output/matched_outcome.rds
# process_Rmatching2: # add variables
# run: r:latest analysis/process_Rmatching2.R
# needs: [extract_variables2,matching2]
# outputs:
# highly_sensitive:
# cohort1: output/matched_outcome2.rds
# check_input: #
# run: r:latest -e 'rmarkdown::render("analysis/check_input.Rmd", knit_root_dir = "/workspace", output_dir = "output")'
# needs: [process_Rmatching2,extract_variables2,matching2,process_Rmatching,extract_variables,matching,process_1, generate_study_population_covid_admission]
# outputs:
# moderately_sensitive:
# html: output/check_input.html
### for covid icu/ covid death
# process_Rmatching: # add variables
# run: r:latest analysis/process_Rmatching.R
# needs: [extract_variables,matching]
# outputs:
# highly_sensitive:
# cohort1: output/matched_outcome.rds
# rds1: output/abtype79.rds
# rds2: output/comor17.rds
# check_exposures_cont: # continuous variables
# run: r:latest -e 'rmarkdown::render("analysis/check_exposures_cont.Rmd", knit_root_dir = "/workspace", output_dir="/workspace/output")'
# needs: [process_Rmatching]
# outputs:
# moderately_sensitive:
# html: output/check_exposures_cont.html
# check_exposures_cat: # category variables
# run: r:latest -e 'rmarkdown::render("analysis/check_exposures_cat.Rmd", knit_root_dir = "/workspace", output_dir="/workspace/output")'
# needs: [process_Rmatching]
# outputs:
# moderately_sensitive:
# html: output/check_exposures_cat.html
# modeling: # ab level
# run: r:latest -e 'rmarkdown::render("analysis/modeling.Rmd", knit_root_dir = "/workspace", output_dir="/workspace/output")'
# needs: [process_Rmatching]
# outputs:
# moderately_sensitive:
# html: output/modeling.html
# modeling2: # ab level+ CCI + covid vaccine
# run: r:latest -e 'rmarkdown::render("analysis/modeling2.Rmd", knit_root_dir = "/workspace", output_dir="/workspace/output")'
# needs: [process_Rmatching]
# outputs:
# moderately_sensitive:
# html: output/modeling2.html
# modeling3: # all
# run: r:latest -e 'rmarkdown::render("analysis/modeling3.Rmd", knit_root_dir = "/workspace", output_dir="/workspace/output")'
# needs: [process_Rmatching]
# outputs:
# moderately_sensitive:
# html: output/modeling3.html
# describe_ab:
# run: r:latest -e 'rmarkdown::render("analysis/describe_ab.Rmd", knit_root_dir = "/workspace", output_dir="/workspace/output")'
# needs: [process_Rmatching]
# outputs:
# moderately_sensitive:
# html: output/describe_ab.html
# abtype modeling
# modeling4: # all
# run: r:latest -e 'rmarkdown::render("analysis/modeling4.Rmd", knit_root_dir = "/workspace", output_dir="/workspace/output")'
# needs: [process_Rmatching]
# outputs:
# moderately_sensitive:
# html: output/modeling4.html
# broad ab modeling
# modeling5: # all
# run: r:latest -e 'rmarkdown::render("analysis/modeling5.Rmd", knit_root_dir = "/workspace", output_dir="/workspace/output")'
# needs: [process_Rmatching]
# outputs:
# moderately_sensitive:
# html: output/modeling5.html
### for covid icu/ any death
### for covid icu/ covid death
# process_Rmatching: # add variables
# run: r:latest analysis/process_Rmatching.R
# needs: [extract_variables,matching]
# outputs:
# highly_sensitive:
# cohort1: output/matched_outcome.rds
# rds1: output/abtype79.rds
# rds2: output/comor17.rds
check_exposures_cont: # continuous variables
run: r:latest -e 'rmarkdown::render("analysis/check_exposures_cont.Rmd", knit_root_dir = "/workspace", output_dir="/workspace/output")'
needs: [process_Rmatching]
outputs:
moderately_sensitive:
html: output/check_exposures_cont.html
check_exposures_cat: # category variables
run: r:latest -e 'rmarkdown::render("analysis/check_exposures_cat.Rmd", knit_root_dir = "/workspace", output_dir="/workspace/output")'
needs: [process_Rmatching]
outputs:
moderately_sensitive:
html: output/check_exposures_cat.html
modeling: # ab level
run: r:latest -e 'rmarkdown::render("analysis/modeling.Rmd", knit_root_dir = "/workspace", output_dir="/workspace/output")'
needs: [process_Rmatching]
outputs:
moderately_sensitive:
html: output/modeling.html
modeling2: # ab level+ CCI + covid vaccine
run: r:latest -e 'rmarkdown::render("analysis/modeling2.Rmd", knit_root_dir = "/workspace", output_dir="/workspace/output")'
needs: [process_Rmatching]
outputs:
moderately_sensitive:
html: output/modeling2.html
modeling3: # all
run: r:latest -e 'rmarkdown::render("analysis/modeling3.Rmd", knit_root_dir = "/workspace", output_dir="/workspace/output")'
needs: [process_Rmatching]
outputs:
moderately_sensitive:
html: output/modeling3.html
describe_ab:
run: r:latest -e 'rmarkdown::render("analysis/describe_ab.Rmd", knit_root_dir = "/workspace", output_dir="/workspace/output")'
needs: [process_Rmatching]
outputs:
moderately_sensitive:
html: output/describe_ab.html
# abtype modeling
modeling4: # all
run: r:latest -e 'rmarkdown::render("analysis/modeling4.Rmd", knit_root_dir = "/workspace", output_dir="/workspace/output")'
needs: [process_Rmatching]
outputs:
moderately_sensitive:
html: output/modeling4.html
# broad ab modeling
modeling5: # all
run: r:latest -e 'rmarkdown::render("analysis/modeling5.Rmd", knit_root_dir = "/workspace", output_dir="/workspace/output")'
needs: [process_Rmatching]
outputs:
moderately_sensitive:
html: output/modeling5.html
extract_variables_ab_yr1:
run: cohortextractor:latest generate_cohort --study-definition study_definition_ab_yr1
needs: [matching]
outputs:
highly_sensitive:
cohort: output/input_ab_yr1.csv
Timeline
-
Created:
-
Started:
-
Finished:
-
Runtime: 00:00:49
These timestamps are generated and stored using the UTC timezone on the TPP backend.