Skip to content

Job request: 17944

Organisation:
University of Manchester
Workspace:
ab_adverse_drug_reaction
ID:
azdlefbvfskd2vyl

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:
    run: cohortextractor:latest generate_cohort --study-definition study_definition
    outputs:
      highly_sensitive:
        cohort: output/input.csv

  generate_study_population_ae:
    run: cohortextractor:latest generate_cohort --study-definition study_definition_ae --index-date-range "2019-01-01 to 2023-03-31 by month" --skip-existing --output-dir=output/measures --output-format=csv.gz
    outputs:
      highly_sensitive:
        cohort: output/measures/input_ae_*.csv.gz

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

  ae_rate_table:  
    run: r:latest analysis/figure/ae_rate.R
    needs: [generate_measures_ae]
    outputs:
      moderately_sensitive:
        table1: output/ae_rate_table.csv
        table2: output/ae_rate_forplot.csv
        plot1: output/figure_ae_rate.jpeg

  infection_table:  
    run: r:latest analysis/figure/infection_table.R
    needs: [generate_measures_ae]
    outputs:
      moderately_sensitive:
        table1: output/infection_table.csv
        table2: output/infection_forplot.csv
        plot1: output/figure_infection.jpeg

  generate_study_population_2ae:
    run: cohortextractor:latest generate_cohort --study-definition study_definition_2ae --index-date-range "2019-01-01 to 2023-03-31 by month" --skip-existing --output-dir=output/measures --output-format=csv.gz
    outputs:
      highly_sensitive:
        cohort: output/measures/input_2ae_*.csv.gz

  generate_measures_2ae:
    run: cohortextractor:latest generate_measures --study-definition study_definition_2ae --skip-existing --output-dir=output/measures
    needs: [generate_study_population_2ae]
    outputs:
      moderately_sensitive:
        measure_csv: output/measures/measure_2ae_*.csv

  ae_rate_42days_table:  
    run: r:latest analysis/figure/ae_rate_42days.R
    needs: [generate_measures_2ae]
    outputs:
      moderately_sensitive:
        table1: output/ae_rate_42days_table.csv
        table2: output/ae_rate_42days_forplot.csv
        plot1: output/figure_ae_42days_rate.jpeg

  ae_rate_42days_nocovid_table:  
    run: r:latest analysis/figure/ae_rate_42days_nocovid.R
    needs: [generate_measures_2ae]
    outputs:
      moderately_sensitive:
        table1: output/ae_rate_42days_nocovid_table.csv
        table2: output/ae_rate_42days_nocovid_forplot.csv
        plot1: output/figure_ae_42days_nocovid_rate.jpeg

###########################################################################
##########                      case control                      #########
###########################################################################
### study cohort ###
  generate_study_population_case:
    run: cohortextractor:latest generate_cohort --study-definition study_definition_case
    outputs:
      highly_sensitive:
        cohort: output/input_case.csv
### 2019-1 ###
  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
### 2019-2 ###
  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
### 2020-1 ###
  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
### 2020-2 ###
  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
### 2021-1 ###
  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
### 2021-2 ###
  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
### 2022-1 ###
  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
### 2022-2 ###
  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
### 2023-1 ###
  generate_study_population_control_9:
    run: cohortextractor:latest generate_cohort --study-definition study_definition_control_9
    outputs:
      highly_sensitive:
        cohort: output/input_control_9.csv

  process_1:  
    run: r:latest analysis/casecontrol/process_1.R
    needs: [generate_study_population_case,generate_study_population_control_1]
    outputs:
      highly_sensitive:
        table1: output/case_1_uti.csv
        table2: output/case_1_lrti.csv
        table3: output/case_1_urti.csv
        table4: output/case_1_sinusitis.csv
        table5: output/case_1_ot_externa.csv
        table6: output/case_1_ot_media.csv
        table7: output/case_1_pneumonia.csv
        table8: output/control_1_uti.csv
        table9: output/control_1_lrti.csv
        table10: output/control_1_urti.csv
        table11: output/control_1_sinusitis.csv
        table12: output/control_1_ot_externa.csv
        table13: output/control_1_ot_media.csv
        table14: output/control_1_pneumonia.csv


  matching_1:
    run: python:latest python analysis/matching_1.py
    needs: [process_1]
    outputs:
      highly_sensitive: 
        table1: output/matched_cases_1_uti.csv
        table2: output/matched_matches_1_uti.csv
        table3: output/matched_combined_1_uti.csv
      moderately_sensitive: 
        report1: output/matching_report_1_uti.txt

Timeline

  • Created:

  • Started:

  • Finished:

  • Runtime: 03:06:45

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
ab_sideeffect
Force run dependencies
No
Git commit hash
1073581
Requested actions
  • 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
  • generate_study_population_control_9

Code comparison

Compare the code used in this Job Request