Skip to content

Job request: 12267

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

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

  • Action:
    table
    Status:
    Status: Succeeded
    Job identifier:
    3gioyuvsqimxhdij
  • Action:
    table_kids
    Status:
    Status: Succeeded
    Job identifier:
    t6uxalwg2kv3q4er

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 2021-12-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_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/for release/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/for release/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/for release/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/for release/table_*.csv

Timeline

  • Created:

  • Started:

  • Finished:

  • Runtime: 00:13:04

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

Job request

Status
Succeeded
Backend
TPP
Requested by
Andrea Schaffer
Branch
main
Force run dependencies
No
Git commit hash
aa32bbb
Requested actions
  • table
  • table_kids

Code comparison

Compare the code used in this job request