Skip to content

Job request: 9312

Organisation:
Bennett Institute
Workspace:
covid-vaccine-preliminary-study-master
ID:
vo3eg4264yatmrcw

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

Pipeline

Show project.yaml
version: '3.0'

expectations:
  population_size: 100000
    # dummy population size must be at least 50000 to ensure the STP analysis can run successfully
    
actions:

  ### NB. THIS NEED ONLY BE RUN WHEN WE WANT TO REGENERATE COVERAGE STATISTICS
  generate_whole_cohort_to_calculate_coverage:
    run: cohortextractor:latest generate_cohort --study-definition study_definition_ALL --output-format=csv.gz
    outputs:
      highly_sensitive:
        cohort: output/input_ALL.csv.gz

  calculate_stp_coverage:
    run: python:latest lib/calculate_stp_coverage.py
    needs: [generate_whole_cohort_to_calculate_coverage]
    outputs:
      moderately_sensitive:
        coverage_calculation: lib/stp_tpp-coverage_total.csv


  # generate_delivery_cohort:
  #   run: cohortextractor:latest generate_cohort --study-definition study_definition_delivery --output-format=csv.gz
  #   outputs:
  #     highly_sensitive:
  #       cohort: output/input_delivery.csv.gz


  # generate_notebook:
  #   run: jupyter:latest jupyter nbconvert /workspace/notebooks/population_characteristics.ipynb --execute --to html --output-dir=/workspace/output --ExecutePreprocessor.timeout=86400 --debug
  #   needs: [calculate_stp_coverage, generate_delivery_cohort]
  #   outputs:
  #     moderately_sensitive:
  #       notebook: output/population_characteristics.html
  #       ### first, second, third/booster doses
  #       figures: interim-outputs/figures/*
  #       tables: interim-outputs/tables/*
  #       # stp_tables: interim-outputs/stp/tables/*.csv
  #       fig_csvs_1: output/machine_readable_outputs/figure_csvs/*ethnicity*.csv 
  #       fig_csvs_2: output/machine_readable_outputs/figure_csvs/*imd*.csv 
  #       fig_csvs_3: output/machine_readable_outputs/figure_csvs/*psychosis*.csv 
  #       fig_csvs_4: output/machine_readable_outputs/figure_csvs/*LD_*.csv 
  #       fig_csvs_5: output/machine_readable_outputs/figure_csvs/*eligible*.csv 
  #       text: interim-outputs/text/*
        
  # generate_simple_report:
  #   run: jupyter:latest env IMAGE_FORMAT=png jupyter nbconvert /workspace/notebooks/opensafely_vaccine_report_overall.ipynb --execute --to html --template basic --output=/workspace/output/opensafely_vaccine_report_overall_simple.html --ExecutePreprocessor.timeout=86400 --no-input

  #   needs: [generate_delivery_cohort, generate_notebook]
  #   outputs:
  #     moderately_sensitive:
  #       notebook: output/opensafely_vaccine_report_overall_simple.html
  #       csvs: output/machine_readable_outputs/table_csvs/*

  # generate_report_second_doses:
  #   run: jupyter:latest jupyter nbconvert /workspace/notebooks/second_doses.ipynb --execute --to html --template basic --output-dir=/workspace/output --ExecutePreprocessor.timeout=86400 --no-input

  #   needs: [generate_notebook]
  #   outputs:
  #     moderately_sensitive:
  #       notebook: output/second_doses.html
  #       tables: output/machine_readable_outputs/second_doses/*.csv

  # generate_report_third_doses:
  #   run: jupyter:latest jupyter nbconvert /workspace/notebooks/booster-third-doses.ipynb --execute --to html --template basic --output-dir=/workspace/output --ExecutePreprocessor.timeout=86400 --no-input
  #   needs: [generate_notebook]
  #   outputs:
  #     moderately_sensitive:
  #       notebook: output/booster-third-doses.html
  #       tables: output/machine_readable_outputs/third_doses/*.csv

  # generate_u16_cohort:
  #   run: cohortextractor:latest generate_cohort --study-definition study_definition_delivery_u16 --output-format=csv.gz
  #   outputs:
  #     highly_sensitive:
  #       cohort: output/input_delivery_u16.csv.gz

  # generate_u16_notebook:
  #   run: jupyter:latest jupyter nbconvert /workspace/notebooks/population_characteristics_u16.ipynb --execute --to html --output-dir=/workspace/output --ExecutePreprocessor.timeout=86400 --debug
  #   needs: [calculate_stp_coverage, generate_u16_cohort]
  #   outputs:
  #     moderately_sensitive:
  #       notebook: output/population_characteristics_u16.html 
  #       figures: interim-outputs/u16/figures/*
  #       tables: interim-outputs/u16/tables/*
  #       fig_csvs: output/machine_readable_outputs/figure_csvs/*_u16*.csv 
  #       text: interim-outputs/u16/text/*

  # generate_u16_simple_report:
  #   run: jupyter:latest env IMAGE_FORMAT=png jupyter nbconvert /workspace/notebooks/first_dose_u16.ipynb --execute --to html --template basic --output=/workspace/output/first_dose_u16.html --ExecutePreprocessor.timeout=86400 --no-input
  #   needs: [generate_u16_cohort, generate_u16_notebook]
  #   outputs:
  #     moderately_sensitive:
  #       notebook: output/first_dose_u16.html
  #       csvs: output/machine_readable_outputs/table_csvs/*_u16*.csv
        
  # generate_u16_report_second_doses:
  #   run: jupyter:latest jupyter nbconvert /workspace/notebooks/second_doses_u16.ipynb --execute --to html --template basic --output-dir=/workspace/output --ExecutePreprocessor.timeout=86400 --no-input
  #   needs: [generate_u16_notebook]
  #   outputs:
  #     moderately_sensitive:
  #       notebook: output/second_doses_u16.html
  #       tables: output/machine_readable_outputs/second_doses/*_u16*.csv

  # # generate_u16_report_third_doses:
  # #   run: jupyter:latest jupyter nbconvert /workspace/notebooks/booster-third-doses_u16.ipynb --execute --to html --template basic --output-dir=/workspace/output --ExecutePreprocessor.timeout=86400 --no-input
  # #   needs: [generate_u16_notebook]
  # #   outputs:
  # #     moderately_sensitive:
  # #       notebook: output/booster-third-doses_u16.html
  # #       tables: output/machine_readable_outputs/third_doses/*_u16*.csv


  generate_booster_cohort:
    run: cohortextractor:latest generate_cohort --study-definition study_definition_delivery_boosters --output-format=csv.gz
    outputs:
      highly_sensitive:
        cohort: output/input_delivery_boosters.csv.gz

  generate_booster_notebook:
    run: jupyter:latest jupyter nbconvert /workspace/notebooks/population_characteristics_boosters.ipynb --execute --to html --output-dir=/workspace/output --ExecutePreprocessor.timeout=86400 --debug
    needs: [calculate_stp_coverage, generate_booster_cohort]
    outputs:
      moderately_sensitive:
        # notebook: output/population_characteristics_boosters.html
        # figures_boosters: interim-outputs/spring_boosters/figures/*
        # tables_boosters: interim-outputs/spring_boosters/tables/*
        # fig_csvs_boosters: output/machine_readable_outputs/figure_csvs/*_spring_boosters*.csv 
        # text_boosters: interim-outputs/spring_boosters/text/*
        test_pickles: interim-outputs/TEST_*.pickle
        test_csvs: interim-outputs/TEST_*.csv

  debug_booster_data:
    run: python:latest analysis/debug_booster_data.py
    needs: [generate_booster_notebook]
    outputs:
      moderately_sensitive:
        coverage_calculation: interim-outputs/debug.txt

  generate_spring_booster_report:
    run: jupyter:latest jupyter nbconvert /workspace/notebooks/spring-boosters.ipynb --execute --to html --template basic --output-dir=/workspace/output --ExecutePreprocessor.timeout=86400 --no-input
    needs: [generate_booster_notebook]
    outputs:
      moderately_sensitive:
        notebook: output/spring-boosters.html
        tables: output/machine_readable_outputs/spring_boosters/* spring booster *.csv

Timeline

  • Created:

  • Started:

  • Finished:

  • Runtime:

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

Job request

Status
Failed
GitRepoNotReachableError: Could not read from https://github.com/opensafely/covid-vaccine-preliminary-study
Backend
TPP
Requested by
Lisa Hopcroft
Branch
master
Force run dependencies
No
Git commit hash
dccc854
Requested actions
  • generate_booster_notebook
  • debug_booster_data

Code comparison

Compare the code used in this job request