Skip to content

Job request: 12455

Organisation:
Bennett Institute
Workspace:
opioids-covid-research
ID:
uubv3cenpwktsrr5

This page shows the technical details of what happened when authorised researcher Andrea Schaffer 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

Pipeline

Show project.yaml
######################################

# This script defines the project pipeline - it specifys the execution orders for all the code in this
# repo using a series of actions.

######################################

version: '3.0'

expectations:
  population_size: 10000

actions:

  # Extract data ----
  
  ## Cohort data
  generate_study_population_1:
    run: cohortextractor:latest generate_cohort
      --study-definition study_definition
      --index-date-range "2018-01-01 to 2018-12-01 by month" 
      --output-dir=output 
      --output-format=csv
    outputs:
      highly_sensitive:
        cohort: output/input_*.csv

  generate_study_population_2:
    run: cohortextractor:latest generate_cohort 
      --study-definition study_definition
      --index-date-range "2019-01-01 to 2019-12-01 by month" 
      --output-dir=output 
      --output-format=csv
    outputs:
      highly_sensitive:
        cohort: output/input*.csv

  generate_study_population_3:
    run: cohortextractor:latest generate_cohort 
      --study-definition study_definition
      --index-date-range "2020-01-01 to 2020-12-01 by month" 
      --output-dir=output 
      --output-format=csv
    outputs:
      highly_sensitive:
        cohort: output/inpu*.csv

  generate_study_population_4:
    run: cohortextractor:latest generate_cohort 
      --study-definition study_definition
      --index-date-range "2021-01-01 to 2021-12-01 by month" 
      --output-dir=output 
      --output-format=csv
    outputs:
      highly_sensitive:
        cohort: output/inp*.csv
  
  generate_study_population_5:
    run: cohortextractor:latest generate_cohort 
      --study-definition study_definition
      --index-date-range "2022-01-01 to 2022-03-01 by month" 
      --output-dir=output 
      --output-format=csv
    outputs:
      highly_sensitive:
        cohort: output/in*.csv

  generate_study_population_kids:
    run: cohortextractor:latest generate_cohort 
      --study-definition study_definition_kids
      --index-date-range "2018-01-01 to 2022-03-01 by month" 
      --output-dir=output/kids
      --output-format=csv
    outputs:
      highly_sensitive:
        cohort: output/kids/input_*.csv


  ## Ethnicity      
  generate_ethnicity_cohort:
    run: >
      cohortextractor:latest generate_cohort
        --study-definition study_definition_ethnicity
    outputs:
      highly_sensitive:
        cohort: output/input_ethnicity.csv


  # Data processing ----
  
  ## Add ethnicity
  join_cohorts:
    run: >
      cohort-joiner:v0.0.48
        --lhs output/input_*.csv
        --rhs output/input_ethnicity.csv
        --output-dir output/data
    needs: [generate_study_population_1, generate_study_population_2, 
    generate_study_population_5,
    generate_study_population_3, generate_study_population_4,
      generate_ethnicity_cohort]
    outputs:
      highly_sensitive:
        cohort: output/data/input_*.csv 
  
  join_cohorts_kids:
    run: >
      cohort-joiner:v0.0.48
        --lhs output/kids/input_*.csv
        --rhs output/input_ethnicity.csv
        --output-dir output/kids/data
    needs: [generate_study_population_kids, generate_ethnicity_cohort]
    outputs:
      highly_sensitive:
        cohort: output/kids/data/input_*.csv

  ## Generate measures
  generate_measures:
    run: >
      cohortextractor:latest generate_measures 
        --study-definition study_definition
        --output-dir output/data
    needs: [join_cohorts]
    outputs:
      moderately_sensitive:
        measure_csv: output/data/measure_*.csv

  generate_measures_kids:
    run: >
      cohortextractor:latest generate_measures
        --study-definition study_definition_kids
        --output-dir output/kids/data
    needs: [join_cohorts_kids]
    outputs:
      moderately_sensitive:
        measure_csv: output/kids/data/measure_*.csv


  ## Process data
  process_data:
   run: r:latest analysis/process/process_data.R
   needs: [generate_measures, join_cohorts]
   outputs:
      moderately_sensitive:
        measure_csv: output/joined/final_*.csv
  
  process_data_kids:
   run: r:latest analysis/process/process_data_kids.R
   needs: [generate_measures_kids, join_cohorts_kids]
   outputs:
      moderately_sensitive:
        measure_csv: output/kids/joined/final_*.csv


  # Results ---

  ## Time series
  timeseries:
    run: r:latest analysis/descriptive/time_series.R
    needs: [process_data]
    outputs:
      moderately_sensitive:
        table: output/time series/ts_*.csv  
  
  ## Time series graphs
  graphs:
    run: r:latest analysis/descriptive/graphs.R
    needs: [timeseries]
    outputs:
      moderately_sensitive:
        plot: output/time series/graphs/graph*.png

  ## Table 
  table:
    run: r:latest analysis/descriptive/table.R
    needs: [process_data]
    outputs:
      moderately_sensitive:
        table: output/tables/table_*.csv

  
  ## Time series
  timeseries_kids:
    run: r:latest analysis/descriptive/time_series_kids.R
    needs: [process_data_kids]
    outputs:
      moderately_sensitive:
        table: output/kids/time series/ts_*.csv  
  
  ## Time series graphs
  graphs_kids:
    run: r:latest analysis/descriptive/graphs_kids.R
    needs: [timeseries_kids]
    outputs:
      moderately_sensitive:
        plot: output/kids/time series/graphs/graph*.png

  ## Table 
  table_kids:
    run: r:latest analysis/descriptive/table_kids.R
    needs: [process_data_kids]
    outputs:
      moderately_sensitive:
        table: output/kids/tables/table_*.csv

Timeline

  • Created:

  • Started:

  • Finished:

  • Runtime: 29:03:03

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

Job information

Status
Succeeded
Backend
TPP
Requested by
Andrea Schaffer
Branch
main
Force run dependencies
No
Git commit hash
5c7b4ee
Requested actions
  • generate_study_population_1
  • generate_study_population_2
  • generate_study_population_3
  • generate_study_population_4
  • generate_study_population_5
  • generate_ethnicity_cohort
  • join_cohorts
  • generate_measures
  • process_data
  • timeseries
  • graphs
  • table

Code comparison

Compare the code used in this Job Request