Skip to content

Job request: 8879

Organisation:
The UK Renal Registry
Workspace:
ckd-coverage-ve
ID:
7q3zlrevrzygi46b

This page shows the technical details of what happened when the authorised researcher Ed Parker requested one or more actions to be run against real patient data within a secure environment.

By cross-referencing the list of jobs with the pipeline section below, you can infer what security level the outputs were written to.

The output security levels are:

  • highly_sensitive
    • Researchers can never directly view these outputs
    • Researchers can only request code is run against them
  • moderately_sensitive
    • Can be viewed by an approved researcher by logging into a highly secure environment
    • These are the only outputs that can be requested for public release via a controlled output review service.

Jobs

Pipeline

Show project.yaml
######################################
# Script defines project pipeline via series of actions
######################################

version: '3.0'

expectations:
  population_size: 100000

actions:

  # Extract data ----
  generate_study_population:
    run: cohortextractor:latest generate_cohort --study-definition study_definition --output-dir=output/data
    outputs:
      highly_sensitive:
        cohort: output/data/input.csv
  
  # Process data ----
  data_process:
    run: r:latest analysis/data_process.R
    needs: [generate_study_population]
    outputs:
      highly_sensitive:
        data: output/data/data_processed.rds
        csv: output/data/data_processed.csv
       
  # Data properties (processed) ----
  data_properties_process:
    run: r:latest analysis/data_properties.R output/data/data_processed.rds output/data_properties
    needs: [data_process]
    outputs:
      moderately_sensitive:
        cohort: output/data_properties/data_processed*.txt

  # Select cohort ----
  data_selection_coverage:
    run: r:latest analysis/coverage/data_selection_coverage.R
    needs: [data_process]
    outputs:
      highly_sensitive:
        data1: output/data/data_cohort_coverage.rds
        csv: output/data/data_cohort_coverage.csv
        data2: output/data/data_cohort_coverage_logistic.rds
        data3: output/data/data_cohort_coverage_dose4.rds
      moderately_sensitive:
        csv: output/tables/flowchart_coverage.csv
  
  # Data properties (coverage) ----
  data_properties_coverage:
    run: r:latest analysis/data_properties.R output/data/data_cohort_coverage.rds output/data_properties
    needs: [data_selection_coverage]
    outputs:
      moderately_sensitive:
        cohort: output/data_properties/data_cohort_coverage*.txt
        
  # Table 1 primary outcome cohort (dose 3) ----
  table_1_coverage_dose3:
    run: r:latest analysis/coverage/table_1_coverage.R dose3
    needs: [data_selection_coverage]
    outputs:
      highly_sensitive:
        data: output/tables/table1_coverage_redacted_by_CKD.rds
      moderately_sensitive:
        table: output/tables/table1_coverage_redacted_by_CKD.html
        
  # Table 1 primary outcome cohort (dose 3) ----
  table_1_coverage_dose4:
    run: r:latest analysis/coverage/table_1_coverage.R dose4
    needs: [data_selection_coverage]
    outputs:
      highly_sensitive:
        data: output/tables/table1_coverage_redacted_by_CKD_dose4.rds
      moderately_sensitive:
        table: output/tables/table1_coverage_redacted_by_CKD_dose4.html
        
  # Cox models - dose-3 coverage ----
  cox_model_dose3:
    run: r:latest analysis/coverage/cox_model.R dose3
    needs: [data_selection_coverage]
    outputs:
      highly_sensitive:
        data1: output/data/data_cox_coverage_dose3*.rds
        data2: output/model/mod_strat_coxph_redacted_dose3*.rds
      moderately_sensitive:
        csv: output/model/mod_strat_coxph_redacted_dose3*.csv
        
  # Cox models - dose-4 coverage ----
  cox_model_dose4:
    run: r:latest analysis/coverage/cox_model.R dose4
    needs: [data_selection_coverage]
    outputs:
      highly_sensitive:
        data1: output/data/data_cox_coverage_dose4*.rds
        data2: output/model/mod_strat_coxph_redacted_dose4*.rds
      moderately_sensitive:
        csv: output/model/mod_strat_coxph_redacted_dose4*.csv
        
  # Logistic models - dose-3 coverage ----
  logistic_model:
    run: r:latest analysis/coverage/logistic_model.R
    needs: [data_selection_coverage]
    outputs:
      highly_sensitive:
        data1: output/data/data_lr.rds
        data2: output/model/mod_strat_logistic_redacted.rds
      moderately_sensitive:
        csv: output/model/mod_strat_logistic_redacted.csv

  # Coverage summaries ----
  vaccine_coverage:
    run: r:latest -e 'rmarkdown::render("analysis/coverage/vaccine_coverage.Rmd", knit_root_dir = "/workspace", output_dir="/workspace/output/markdown")'
    needs: [data_selection_coverage, table_1_coverage_dose3, table_1_coverage_dose4, cox_model_dose3, cox_model_dose4, logistic_model]
    outputs:
      moderately_sensitive:
        html: output/markdown/vaccine_coverage.html
        
  # Coverage summaries ----
  cox_model_check_coverage:
    run: r:latest -e 'rmarkdown::render("analysis/coverage/cox_model_check_coverage.Rmd", knit_root_dir = "/workspace", output_dir="/workspace/output/markdown")'
    needs: [data_selection_coverage, cox_model_dose3]
    outputs:
      moderately_sensitive:
        html: output/markdown/cox_model_check_coverage.html

  # Coverage summaries ----
#  cox_model_check:
#    run: r:latest -e 'rmarkdown::render("analysis/coverage/cox_model_check.Rmd", knit_root_dir = "/workspace", output_dir="/workspace/output/markdown")'
#    needs: [data_selection_coverage, cox_model]
#    outputs:
#      moderately_sensitive:
#        html: output/markdown/cox_model_check.html

#############################
### VE - unmatched analyses
#############################

# Select cohort (single script used for both matched and unmatched analyses) ----
  data_selection_VE:
    run: r:latest analysis/VE/data_selection_VE.R
    needs: [data_process]
    outputs:
      highly_sensitive:
        data1: output/data/data_cohort_VE.rds
        data2: output/data/data_cohort_VE_matched.rds
        csv1: output/data/data_cohort_VE.csv
        csv2: output/data/data_cohort_VE_matched.csv
      moderately_sensitive:
        csv1: output/tables/flowchart_VE.csv
        csv2: output/tables/flowchart_VE_matched.csv

  # Table 1 (VE unmatched) ----
  table_1_VE:
    run: r:latest analysis/VE/table_1_VE.R unmatched
    needs: [data_selection_VE]
    outputs:
      highly_sensitive:
        data: output/tables/table1_VE_redacted.rds
      moderately_sensitive:
        table: output/tables/table1_VE_redacted.html

  # Table IRR (VE unmatched)
  table_irr:
    run: r:latest analysis/VE/table_irr.R unmatched
    needs: [data_selection_VE]
    outputs:
      highly_sensitive:
        data: output/tables/table_irr_redacted.rds
      moderately_sensitive:
        csv: output/tables/table_irr_redacted.csv
        
  # Table IRR - verification (adapted from prior scripts)
  table_irr_verification:
    run: r:latest analysis/VE/table_irr_verification.R
    needs: [data_selection_VE]
    outputs:
      moderately_sensitive:
        csv: output/tables/table_irr_redacted_verification.csv
  
  # Cox models - comparative VE unmatched ----
  cox_model_VE:
    run: r:latest analysis/VE/cox_model_VE.R unmatched
    needs: [data_selection_VE, table_irr]
    outputs:
      highly_sensitive:
        data: output/model/VE/modelcox*.rds
      moderately_sensitive:
        csv: output/model/VE/modelcox*.csv
        txt: output/model/VE/modelcox*.txt

  # Cox VE summaries for unmatched analysis ----
  cox_VE_summary:
    run: r:latest -e 'rmarkdown::render("analysis/VE/cox_VE_summary.Rmd", knit_root_dir = "/workspace", output_dir="/workspace/output/markdown")'
    needs: [data_selection_VE, table_1_VE, table_irr, cox_model_VE]
    outputs:
      moderately_sensitive:
        html: output/markdown/cox_VE_summary.html
        
# PLR models - comparative VE unmatched ----
  plr_model_VE:
    run: r:latest analysis/VE/plr_model_VE.R unmatched
    needs: [data_selection_VE, table_irr]
    outputs:
      highly_sensitive:
        data: output/model/VE_plr/modelplr*.rds
      moderately_sensitive:
        csv: output/model/VE_plr/modelplr*.csv
        txt: output/model/VE_plr/modelplr*.txt

  # PLR VE summaries for unmatched analysis ----
  plr_VE_summary:
    run: r:latest -e 'rmarkdown::render("analysis/VE/plr_VE_summary.Rmd", knit_root_dir = "/workspace", output_dir="/workspace/output/markdown")'
    needs: [data_selection_VE, table_1_VE, table_irr, plr_model_VE]
    outputs:
      moderately_sensitive:
        html: output/markdown/plr_VE_summary.html

#############################
### VE - matched analyses
#############################
# Same scripts above but with matched argument in 'run'

  # Table 1 (VE matched) ----
  table_1_VE_matched:
    run: r:latest analysis/VE/table_1_VE.R matched
    needs: [data_selection_VE]
    outputs:
      highly_sensitive:
        data: output/tables/table1_VE_matched_redacted.rds
      moderately_sensitive:
        table: output/tables/table1_VE_matched_redacted.html

  # Table IRR (VE matched)
  table_irr_matched:
    run: r:latest analysis/VE/table_irr.R matched
    needs: [data_selection_VE]
    outputs:
      highly_sensitive:
        data: output/tables/table_irr_matched_redacted.rds
      moderately_sensitive:
        csv: output/tables/table_irr_matched_redacted.csv

  # Cox models - comparative VE matched ----
  cox_model_VE_matched:
    run: r:latest analysis/VE/cox_model_VE.R matched
    needs: [data_selection_VE, table_irr_matched]
    outputs:
      highly_sensitive:
        data: output/model/VE_matched/modelcox*.rds
      moderately_sensitive:
        csv: output/model/VE_matched/modelcox*.csv
        txt: output/model/VE_matched/modelcox*.txt
   
  # Cox VE summaries for matched analysis ----
  cox_VE_summary_matched:
    run: r:latest -e 'rmarkdown::render("analysis/VE/cox_VE_summary_matched.Rmd", knit_root_dir = "/workspace", output_dir="/workspace/output/markdown")'
    needs: [data_selection_VE, table_1_VE_matched, table_irr_matched, cox_model_VE_matched]
    outputs:
      moderately_sensitive:
        html: output/markdown/cox_VE_summary_matched.html
        
        
  # Check session info for set of packages ----
  #session:
  #  run: r:latest -e 'rmarkdown::render("analysis/session.Rmd", knit_root_dir = "/workspace", output_dir="/workspace/output/markdown")'
  #  needs: [data_selection]
  #  outputs:
  #    moderately_sensitive:
  #      html: output/markdown/session.html

Timeline

  • Created:

  • Started:

  • Finished:

  • Runtime: 01:07:49

These timestamps are generated and stored using the UTC timezone on the TPP backend.

Job request

Status
Succeeded
Backend
TPP
Workspace
ckd-coverage-ve
Requested by
Ed Parker
Branch
main
Force run dependencies
No
Git commit hash
926dcdc
Requested actions
  • cox_model_dose3
  • cox_model_dose4

Code comparison

Compare the code used in this job request