Skip to content

Job request: 3741

Organisation:
Bennett Institute
Workspace:
pincer-measures
ID:
45ugbpqcxjhi6nim

This page shows the technical details of what happened when the authorised researcher Louis Fisher 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: 1000

actions:

  generate_study_population_1:
    run: cohortextractor:latest generate_cohort --study-definition study_definition --index-date-range "2019-09-01 to 2020-05-01 by month" --output-format feather
    outputs:
      highly_sensitive:
        cohort: output/input_*.feather
  
  generate_study_population_2:
    run: cohortextractor:latest generate_cohort --study-definition study_definition --index-date-range "2020-06-01 to 2020-12-01 by month" --output-format feather
    outputs:
      highly_sensitive:
        cohort: output/input*.feather

  generate_study_population_3:
    run: cohortextractor:latest generate_cohort --study-definition study_definition --index-date-range "2021-01-01 to 2021-07-01 by month" --output-format feather
    outputs:
      highly_sensitive:
        cohort: output/inpu*.feather
  

  check_EGFR:
    run: python:latest python analysis/check_EGFR.py
    needs: [join_ethnicity_region]
    outputs:
      moderately_sensitive:
        counts: output/egfr_tabulation.csv

  generate_study_population_ethnicity:
    run: cohortextractor:latest generate_cohort --study-definition study_definition_ethnicity --output-format feather
    outputs:
      highly_sensitive:
        cohort: output/input_ethnicity.feather
      
  join_ethnicity_region:
    run: python:latest python analysis/join_ethnicity_region.py
    needs: [generate_study_population_1, generate_study_population_2, generate_study_population_3, generate_study_population_ethnicity]
    outputs:
      highly_sensitive:
        cohort: output/inp*.feather
  
  generate_study_population_lithium:
    run: cohortextractor:latest generate_cohort --study-definition study_definition_lithium --index-date-range "2019-09-01 to 2021-07-01 by month" --output-format feather
    outputs:
      highly_sensitive:
        cohort: output/input_lithium_*.feather

  calculate_numerators:
    run: python:latest python analysis/calculate_numerators.py
    needs: [join_ethnicity_region]
    outputs:
      highly_sensitive:
        cohort: output/indicator_e_f_*.feather

  calculate_composite_indicators:
    run: python:latest python analysis/composite_indicators.py
    needs: [calculate_numerators, join_ethnicity_region]
    outputs:
      moderately_sensitive:
        counts: output/*_composite_measure.csv

  generate_measures:
    run: cohortextractor:latest generate_measures --study-definition study_definition --output-dir=output
    needs: [join_ethnicity_region]
    outputs:
        moderately_sensitive:
          measure_csv: output/measure_*_rate.csv

  
  check_asthma:
    run: python:latest python analysis/check_asthma.py
    needs: [generate_measures]
    outputs:
      moderately_sensitive:
        csv: output/asthma_sum.csv
  
  generate_measures_demographics:
    run: python:latest python analysis/calculate_measures.py
    needs: [calculate_numerators, join_ethnicity_region, generate_study_population_lithium]
    outputs:
      moderately_sensitive:
        counts: output/indicator_measure_*.csv
        measure_csv: output/measure*_rate.csv
  
  generate_plots:
    run: python:latest python analysis/plot_measures.py
    needs: [generate_measures, generate_measures_demographics, calculate_composite_indicators]
    outputs:
      moderately_sensitive:
        counts: output/plot_*.jpeg
        quintile: output/quintile_10.csv

  cusum:
    run: python:latest python analysis/cusum.py
    needs: [generate_measures, generate_measures_demographics]
    outputs:
      moderately_sensitive:
        cusum: output/cusum_results.json
  
  plot_cusum:
    run: python:latest python analysis/plot_cusum.py
    needs: [cusum, generate_measures, generate_measures_demographics]
    outputs:
      moderately_sensitive:
        cusum: output/cusum_indicator_*.jpeg
        alert: output/alerts_indicator_*.jpeg
  
  generate_notebook:
    run: jupyter:latest jupyter nbconvert /workspace/analysis/report.ipynb --execute --to html --template basic --output-dir=/workspace/output --ExecutePreprocessor.timeout=86400 --no-input
    needs: [generate_plots]
    outputs:
      moderately_sensitive:
        notebook: output/report.html
  
  run_tests:
    run: python:latest python -m pytest --junit-xml=output/pytest.xml --verbose
    outputs:
      moderately_sensitive:
        log: output/pytest.xml

Timeline

  • Created:

  • Started:

  • Finished:

  • Runtime: 00:02:44

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

Job request

Status
Succeeded
Backend
TPP
Workspace
pincer-measures
Requested by
Louis Fisher
Branch
main
Force run dependencies
No
Git commit hash
a731957
Requested actions
  • generate_plots
  • generate_notebook

Code comparison

Compare the code used in this job request