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 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
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 request

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