Skip to content

Job request: 11011

Organisation:
Bennett Institute
Workspace:
checking-impossible-dates
ID:
i7lx2qipa5f5fx45

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.

Jobs

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/*
        pickle: interim-outputs/u16/objects/*.pkl

  investigate_impossible_dates:
    run: python:latest lib/investigate_impossible_dates.py
    needs: [generate_u16_notebook]
    outputs:
      moderately_sensitive:
        date_report: interim-outputs/date-report.txt

  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/*

  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: 00:01:33

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

Job request

Status
Failed
Backend
TPP
Requested by
Lisa Hopcroft
Branch
investigating-impossible-dates
Force run dependencies
No
Git commit hash
6889e45
Requested actions
  • generate_u16_notebook
  • investigate_impossible_dates

Code comparison

Compare the code used in this job request

  • No previous job request available for comparison