Skip to content

Job request: 14804

Organisation:
University of Manchester
Workspace:
sepsis_hosp_admission
ID:
2uxskdmqllvjygou

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

By cross-referencing the list of jobs with the pipeline section below, you can infer what security level various outputs were written to. Researchers can never directly view outputs marked as highly_sensitive ; 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

Pipeline

Show project.yaml
version: '3.0'

expectations:
  population_size: 30000

actions:

### study cohort ###
  generate_study_population_case:
    run: cohortextractor:latest generate_cohort --study-definition study_definition_case
    outputs:
      highly_sensitive:
        cohort: output/input_case.csv

  generate_study_population_case_test:
    run: cohortextractor:latest generate_cohort --study-definition study_definition_case_test
    outputs:
      highly_sensitive:
        cohort: output/input_case_test.csv

  generate_study_population_control_1:
    run: cohortextractor:latest generate_cohort --study-definition study_definition_control_1
    outputs:
      highly_sensitive:
        cohort: output/input_control_1.csv

  generate_study_population_control_2:
    run: cohortextractor:latest generate_cohort --study-definition study_definition_control_2
    outputs:
      highly_sensitive:
        cohort: output/input_control_2.csv

  generate_study_population_control_3:
    run: cohortextractor:latest generate_cohort --study-definition study_definition_control_3
    outputs:
      highly_sensitive:
        cohort: output/input_control_3.csv

  generate_study_population_control_4:
    run: cohortextractor:latest generate_cohort --study-definition study_definition_control_4
    outputs:
      highly_sensitive:
        cohort: output/input_control_4.csv

  generate_study_population_control_5:
    run: cohortextractor:latest generate_cohort --study-definition study_definition_control_5
    outputs:
      highly_sensitive:
        cohort: output/input_control_5.csv

  generate_study_population_control_6:
    run: cohortextractor:latest generate_cohort --study-definition study_definition_control_6
    outputs:
      highly_sensitive:
        cohort: output/input_control_6.csv

  generate_study_population_control_7:
    run: cohortextractor:latest generate_cohort --study-definition study_definition_control_7
    outputs:
      highly_sensitive:
        cohort: output/input_control_7.csv

  generate_study_population_control_8:
    run: cohortextractor:latest generate_cohort --study-definition study_definition_control_8
    outputs:
      highly_sensitive:
        cohort: output/input_control_8.csv

  case_check:  
    run: r:latest analysis/case_check.R
    needs: [generate_study_population_case]
    outputs:
      highly_sensitive:
        cohort: output/case_ch.csv
      moderately_sensitive:
        table1: output/case_check.csv
        table2: output/case_frequency_check.csv

  sepsis_trend:  
    run: r:latest analysis/sepsis_trend.R
    needs: [case_check]
    outputs:
      moderately_sensitive:
        plot1: output/figure_2.1.jpeg
        plot2: output/figure_2.2.jpeg
        plot3: output/figure_2.3.jpeg
        table1: output/figure_2.3_table.csv

  generate_study_population:
    run: cohortextractor:latest generate_cohort --study-definition study_definition --index-date-range "2019-01-01 to 2022-12-31 by month" --skip-existing --output-dir=output/measures --output-format=csv.gz
    outputs:
      highly_sensitive:
        cohort: output/measures/input_*.csv.gz

  generate_measures:
    run: cohortextractor:latest generate_measures --study-definition study_definition --skip-existing --output-dir=output/measures
    needs: [generate_study_population]
    outputs:
      moderately_sensitive:
        measure_csv: output/measures/measure_*.csv

  sepsis_trend_rate:  
    run: r:latest analysis/sepsis_trend_rate.R
    needs: [case_check,generate_measures]
    outputs:
      moderately_sensitive:
        plot1: output/figure_rate.jpeg
        table1: output/figure_rate_table.csv

  sepsis_trend_rate_com:  
    run: r:latest analysis/sepsis_trend_rate_com.R
    needs: [case_check,generate_measures]
    outputs:
      moderately_sensitive:
        plot1: output/figure_rate_com.jpeg

  sepsis_trend_rate_hos:  
    run: r:latest analysis/sepsis_trend_rate_hos.R
    needs: [case_check,generate_measures]
    outputs:
      moderately_sensitive:
        plot1: output/figure_rate_hos.jpeg

  process1:  
    run: r:latest analysis/process1.R
    needs: [case_check,generate_study_population_control_1,generate_study_population_control_2,
    generate_study_population_control_3,generate_study_population_control_4,generate_study_population_control_5,
    generate_study_population_control_6,generate_study_population_control_7,generate_study_population_control_8]
    outputs:
      highly_sensitive:
        cohort1: output/case_191.csv
        cohort2: output/case_192.csv
        cohort3: output/case_201.csv
        cohort4: output/case_202.csv
        cohort5: output/case_211.csv
        cohort6: output/case_212.csv
        cohort7: output/case_221.csv
        cohort8: output/case_222.csv
        cohort9: output/control_191.csv
        cohort10: output/control_192.csv
        cohort11: output/control_201.csv
        cohort12: output/control_202.csv
        cohort13: output/control_211.csv
        cohort14: output/control_212.csv
        cohort15: output/control_221.csv
        cohort16: output/control_222.csv

  matching1:
    run: python:latest python analysis/matching1.py
    needs: [process1]
    outputs:
      highly_sensitive: 
        table1: output/matched_cases_191.csv
        table2: output/matched_matches_191.csv
        table3: output/matched_combined_191.csv
        table4: output/matched_cases_192.csv
        table5: output/matched_matches_192.csv
        table6: output/matched_combined_192.csv
      moderately_sensitive: 
        report1: output/matching_report_191.txt
        report2: output/matching_report_192.txt

  matching2:
    run: python:latest python analysis/matching2.py
    needs: [process1]
    outputs:
      highly_sensitive: 
        table1: output/matched_cases_201.csv
        table2: output/matched_matches_201.csv
        table3: output/matched_combined_201.csv
        table4: output/matched_cases_202.csv
        table5: output/matched_matches_202.csv
        table6: output/matched_combined_202.csv
      moderately_sensitive: 
        report1: output/matching_report_201.txt
        report2: output/matching_report_202.txt

  matching3:
    run: python:latest python analysis/matching3.py
    needs: [process1]
    outputs:
      highly_sensitive: 
        table1: output/matched_cases_211.csv
        table2: output/matched_matches_211.csv
        table3: output/matched_combined_211.csv
        table4: output/matched_cases_212.csv
        table5: output/matched_matches_212.csv
        table6: output/matched_combined_212.csv
      moderately_sensitive: 
        report1: output/matching_report_211.txt
        report2: output/matching_report_212.txt

  matching4:
    run: python:latest python analysis/matching4.py
    needs: [process1]
    outputs:
      highly_sensitive: 
        table1: output/matched_cases_221.csv
        table2: output/matched_matches_221.csv
        table3: output/matched_combined_221.csv
      moderately_sensitive: 
        report1: output/matching_report_221.txt


  process_covidinclude:  
    run: r:latest analysis/process_covidinclude.R
    needs: [generate_study_population_case]
    outputs:
      highly_sensitive:
        cohort: output/case_covidinclude.csv
      moderately_sensitive:
        table1: output/case_frequency_check1.csv
        table2: output/case_frequency_check2.csv

  sepsis_trend_rate_covidinclude:  
    run: r:latest analysis/sepsis_trend_rate_covidinclude.R
    needs: [process_covidinclude,generate_measures]
    outputs:
      moderately_sensitive:
        plot1: output/figure_rate_covidinclude.jpeg
        table1: output/figure_rate_covidinclude_table.csv
        plot2: output/figure_rate_covidinclude_com.jpeg
        plot3: output/figure_rate_covidinclude_hos.jpeg

  process_noexclude:  
    run: r:latest analysis/process_noexclude.R
    needs: [generate_study_population_case]
    outputs:
      moderately_sensitive:
        plot1: output/figure_noexclude.jpeg
        table1: output/figure_noexclude_table.csv

  case_check_test:  
    run: r:latest analysis/case_check_test.R
    needs: [generate_study_population_case_test]
    outputs:
      moderately_sensitive:
        table1: output/case_test.csv

  2019_imd_model: 
    run: r:latest analysis/2019_imd_model.R
    needs: [matching1]
    outputs:
      moderately_sensitive:
        table1: output/2019_imd_model.csv

  2019_modelall:   
    run: r:latest -e 'rmarkdown::render("analysis/2019_modelall.Rmd", output_dir = "output")'
    needs: [matching1]
    outputs:
      moderately_sensitive:
        html: output/2019_modelall.html

  1921_modelall:   
    run: r:latest -e 'rmarkdown::render("analysis/1921_modelall.Rmd", output_dir = "output")'
    needs: [matching1,matching2,matching3]
    outputs:
      moderately_sensitive:
        html: output/1921_modelall.html

  covidimd_model:   
    run: r:latest -e 'rmarkdown::render("analysis/covidimd_model.Rmd", output_dir = "output")'
    needs: [matching1,matching2,matching3,matching4]
    outputs:
      moderately_sensitive:
        html: output/covidimd_model.html

  process2_idextraction:  
    run: r:latest analysis/process2_idextraction.R
    needs: [matching1,matching2,matching3,matching4]
    outputs:
      highly_sensitive:
        cohort: output/case_id.csv

Timeline

  • Created:

  • Started:

  • Finished:

  • Runtime: 00:00:31

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

Job information

Status
Succeeded
Backend
TPP
Requested by
Billy Zhong
Branch
sepsis
Force run dependencies
No
Git commit hash
05f7100
Requested actions
  • process2_idextraction

Code comparison

Compare the code used in this Job Request