Skip to content

Job request: 22360

Organisation:
Bennett Institute
Workspace:
ethnicity-short-data-report-notebook
ID:
xytd5mqepl32eiv5

This page shows the technical details of what happened when the authorised researcher Colm Andrews 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
### CTV3, PRIMIS, SNOMED analysis

version: '3.0'

expectations:
  population_size: 1000

actions:
  split_codelist:
    run: r:latest analysis/00_trim_snomed_codelist.r
    outputs:
      highly_sensitive:
        data: codelists/ethnicity_*.csv

  generate_study_population_5:
    run: cohortextractor:latest generate_cohort --study-definition study_definition_5 --output-file output/extract_5/input_5.feather --output-format feather
    needs: [split_codelist]
    outputs:
      highly_sensitive:
        cohort: output/extract_5/input_5.feather

  # dataset report from reusable action https://github.com/opensafely-actions/dataset-report
  generate_dataset_report_5:
    run: >
      dataset-report:v0.0.9
        --input-files output/extract_5/input_5.feather
        --output-dir output/extract_5
    needs: [generate_study_population_5]
    outputs:
      moderately_sensitive:
        dataset_report: output/extract_5/input_5.html

  generate_study_population_16:
    run: cohortextractor:latest generate_cohort --study-definition study_definition_16 --output-file output/extract_16/input_16.feather --output-format feather
    needs: [split_codelist]
    outputs:
      highly_sensitive:
        cohort: output/extract_16/input_16.feather

  # dataset report from reusable action https://github.com/opensafely-actions/dataset-report
  generate_dataset_report_16:
    run: >
      dataset-report:v0.0.9
        --input-files output/extract_16/input_16.feather
        --output-dir output/extract_16
    needs: [generate_study_population_16]
    outputs:
      moderately_sensitive:
        dataset_report: output/extract_16/input_16.html

  generate_study_population_time:
    run: cohortextractor:latest generate_cohort --study-definition study_definition_time --output-file output/extract_time/input_time.feather --output-format feather
    needs: [split_codelist]
    outputs:
      highly_sensitive:
        cohort: output/extract_time/input_time.feather

  # dataset report from reusable action https://github.com/opensafely-actions/dataset-report
  generate_dataset_report_time:
    run: >
      dataset-report:v0.0.9
        --input-files output/extract_time/input_time.feather
        --output-dir output/extract_time
    needs: [generate_study_population_time]
    outputs:
      moderately_sensitive:
        dataset_report: output/extract_time/input_time.html

  execute_simple_validation_analyses:
    run: python:latest python analysis/simple_validation_script.py
    needs: [generate_study_population_5]
    outputs:
      moderately_sensitive: 
        tables: output/simplified_output/5_group/tables/*.csv

  execute_simple_validation_analyses_16:
    run: python:latest python analysis/simple_validation_script_16.py
    needs: [generate_study_population_16]
    outputs:
      moderately_sensitive: 
        tables: output/simplified_output/16_group/tables/simpl*.csv


######## SUS
  execute_simple_validation_analyses_sus:
    run: python:latest python analysis/sus/simple_validation_script_sus.py
    needs: [generate_study_population_5]
    outputs:
      moderately_sensitive: 
        tables: output/sus/simplified_output/5_group/tables/*.csv
#        figures: output/sus/simplified_output/5_group/figures/*.png


  execute_simple_validation_analyses_16_sus:
    run: python:latest python analysis/sus/simple_validation_script_16_sus.py
    needs: [generate_study_population_16]
    outputs:
      moderately_sensitive: 
        tables: output/sus/simplified_output/16_group/tables/simpl*.csv


  report_tables:
    run: python:latest python analysis/report_tables.py
    needs: [execute_simple_validation_analyses_16_sus, execute_simple_validation_analyses_sus,execute_simple_validation_analyses,execute_simple_validation_analyses_16]
    outputs:
      moderately_sensitive: 
        tables: output/report_tables/*.csv

  generate_ons_comparisons:
    run: r:latest analysis/sus/combine_ons_sus.R
    needs: [execute_simple_validation_analyses_16_sus,execute_simple_validation_analyses_sus]
    outputs:
      moderately_sensitive:
        csvs: output/sus/simplified_output/*/tables/ethnic_group*.csv

##### draft report
  generate_draft_report_rmd:
    run: r:latest -e 'rmarkdown::render("notebooks_r/report.Rmd", knit_root_dir = "/workspace", output_dir="/workspace/output/report")'
    needs: [generate_ons_comparisons,report_tables, execute_simple_validation_analyses,execute_simple_validation_analyses_16,execute_simple_validation_analyses_sus,execute_simple_validation_analyses_16_sus,generate_study_population_5]
    outputs:
      moderately_sensitive:
        html: output/report/report.html

#### move released files to output/released
###### run locally for manuscript
##### local notebook
  generate_local_runs:
    run: python:latest jupyter nbconvert /workspace/notebooks_jupyter/local_runs.ipynb --execute --to html --template basic --output-dir=/workspace/output --ExecutePreprocessor.timeout=86400 --no-input
    needs: [execute_simple_validation_analyses,execute_simple_validation_analyses_16]
    outputs:
      moderately_sensitive:
        csvs: output/released/made_locally/*.csv

  # process_ons_census_data:
  #   run: r:latest analysis/local/ons_process.R
  #   outputs:
  #     moderately_sensitive:
  #       csvs: data/*.csv.gz

  # generate_local_ons_comparisons:
  #   run: r:latest analysis/local/combine_ons_sus.R
  #   needs: [process_ons_census_data]
  #   outputs:
  #     moderately_sensitive:
  #       csvs: output/released/made_locally/ethnic_group*.csv
  #       tests: output/tests/*.csv

## create outputs for the manuscript
  ## library(hrbrthemes) not currently available on the OS R image
  # generate_manuscript_plots:
  #   run: r:latest analysis/local/local_manuscript_plots.R
  #   outputs:
  #     moderately_sensitive:
  #       plots: output/released/made_locally/*.png

## create outputs for the appendix
# `row_group.as_column = TRUE` option not currently available on the OS R image
  # generate_appendix:
  #   run: r:latest analysis/local/appendix.R
  #   needs: [generate_local_runs]
  #   outputs:
  #     moderately_sensitive:
  #       html: output/released/made_locally/*.html
  #       pdf: output/released/made_locally/*.pdf

Timeline

  • Created:

  • Started:

  • Finished:

  • Runtime: 00:02:08

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

Job request

Status
Succeeded
Backend
TPP
Requested by
Colm Andrews
Branch
notebook
Force run dependencies
No
Git commit hash
4747d45
Requested actions
  • generate_draft_report_rmd

Code comparison

Compare the code used in this job request