Job request: 10450
- Organisation:
 - NHSE/I
 - Workspace:
 - nhs_at_home_main
 - ID:
 - hr3isga5q3zbprzi
 
This page shows the technical details of what happened when the authorised researcher Alexandra Benson 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: 1000
actions:
  generate_study_definition_static:
    run: cohortextractor:latest generate_cohort
      --study-definition study_definition_static
      --with-end-date-fix
    outputs:
      highly_sensitive:
        cohort: output/input_static.csv
  # Oximetry
  generate_study_population_oximetry:
    run: cohortextractor:latest generate_cohort
      --study-definition study_definition_oximetry
      --index-date-range "2019-04-01 to 2022-05-30 by week"
      --with-end-date-fix
    outputs:
      highly_sensitive:
        oximetry_cohort: output/oximetry/0.1_generate_study_population/input_oximetry*.csv
  join_cohorts_oximetry:
    run: cohort-joiner:v0.0.30
      --lhs output/oximetry/0.1_generate_study_population/input_oximetry*.csv
      --rhs output/input_static.csv 
      --output-dir output/oximetry/0.2_join_cohorts/
    needs:
      [generate_study_population_oximetry, generate_study_definition_static]
    outputs:
      highly_sensitive:
        cohort: output/oximetry/0.2_join_cohorts/input_oximetry*.csv
  # BP
  generate_study_population_bp:
    run: cohortextractor:latest generate_cohort
      --study-definition study_definition_bp
      --index-date-range "2019-04-01 to 2022-05-30 by week"
      --with-end-date-fix
    outputs:
      highly_sensitive:
        bp_cohort: output/bp/0.1_generate_study_population/input_bp*.csv
  join_cohorts_bp:
    run: cohort-joiner:v0.0.30
      --lhs output/bp/0.1_generate_study_population/input_bp*.csv
      --rhs output/input_static.csv 
      --output-dir output/bp/0.2_join_cohorts/
    needs: [generate_study_population_bp, generate_study_definition_static]
    outputs:
      highly_sensitive:
        cohort: output/bp/0.2_join_cohorts/input_bp*.csv
  # Proactive
  generate_study_population_proactive:
    run: cohortextractor:latest generate_cohort
      --study-definition study_definition_proactive
      --index-date-range "2019-04-01 to 2022-05-30 by week"
      --with-end-date-fix
    outputs:
      highly_sensitive:
        proactive_cohort: output/proactive/0.1_generate_study_population/input_proactive*.csv
  join_cohorts_proactive:
    run: cohort-joiner:v0.0.30
      --lhs output/proactive/0.1_generate_study_population/input_proactive*.csv
      --rhs output/input_static.csv 
      --output-dir output/proactive/0.2_join_cohorts/
    needs:
      [generate_study_population_proactive, generate_study_definition_static]
    outputs:
      highly_sensitive:
        cohort: output/proactive/0.2_join_cohorts/input_proactive*.csv
  # Analysis
  # Oximetry
  generate_oximetry_timeseries:
    run: python:latest python analysis/analysis_oximetry_timeseries.py
    needs: [join_cohorts_oximetry]
    outputs:
      moderately_sensitive:
        oximetry_table_counts: output/oximetry/0.3_analysis_outputs/oximetry_table_counts.csv
        oximetry_plot_timeseries: output/oximetry/0.3_analysis_outputs/oximetry_plot_timeseries.png
  generate_oximetry_regional_timeseries:
    run: python:latest python analysis/analysis_oximetry_region.py
    needs: [join_cohorts_oximetry]
    outputs:
      moderately_sensitive:
        oximetry_table_counts_region: output/oximetry/0.3_analysis_outputs/oximetry_table_counts_*.csv
        oximetry_plot_timeseries_region: output/oximetry/0.3_analysis_outputs/oximetry_plot_timeseries_region_*.png
  generate_oximetry_breakdowns:
    run: python:latest python analysis/analysis_oximetry_breakdowns.py
    needs: [join_cohorts_oximetry]
    outputs:
      moderately_sensitive:
        oximetry_table_breakdowns: output/oximetry/0.3_analysis_outputs/oximetry_table_code_*.csv
        oximetry_plot_breakdowns: output/oximetry/0.3_analysis_outputs/oximetry_plot_code_*.png
  generate_oximetry_codes_analysis:
    run: python:latest python analysis/analysis_oximetry_codes.py
    needs: [join_cohorts_oximetry]
    outputs:
      moderately_sensitive:
        oximetry_table_code_counts: output/oximetry/0.3_analysis_outputs/oximetry_table_code_counts_*.csv
        oximetry_table_code_combinations: output/oximetry/0.3_analysis_outputs/oximetry_table_code_combinations.csv
        oximetry_table_code_populations: output/oximetry/0.3_analysis_outputs/oximetry_patient_id_total_*.csv
  # Blood pressure
  generate_bp_timeseries:
    run: python:latest python analysis/analysis_bp_timeseries.py
    needs: [join_cohorts_bp]
    outputs:
      moderately_sensitive:
        bp_table_counts: output/bp/0.3_analysis_outputs/bp_table_counts.csv
        bp_plot_timeseries: output/bp/0.3_analysis_outputs/bp_plot_timeseries.png
  generate_bp_regional_timeseries:
    run: python:latest python analysis/analysis_bp_region.py
    needs: [join_cohorts_bp]
    outputs:
      moderately_sensitive:
        bp_table_counts_region: output/bp/0.3_analysis_outputs/bp_table_counts_*.csv
        bp_plot_timeseries_region: output/bp/0.3_analysis_outputs/bp_plot_timeseries_region_*.png
  generate_bp_breakdowns:
    run: python:latest python analysis/analysis_bp_breakdowns.py
    needs: [join_cohorts_bp]
    outputs:
      moderately_sensitive:
        bp_table_breakdowns: output/bp/0.3_analysis_outputs/bp_table_code_*.csv
        bp_plot_breakdowns: output/bp/0.3_analysis_outputs/bp_plot_code_*.png
  generate_bp_codes_analysis:
    run: python:latest python analysis/analysis_bp_codes.py
    needs: [join_cohorts_bp]
    outputs:
      moderately_sensitive:
        bp_table_code_counts: output/bp/0.3_analysis_outputs/bp_table_code_counts_*.csv
        bp_table_code_combinations: output/bp/0.3_analysis_outputs/bp_table_code_combinations.csv
        bp_table_code_populations: output/bp/0.3_analysis_outputs/bp_patient_id_total_*.csv
  # Proactive Care
  generate_proactive_timeseries:
    run: python:latest python analysis/analysis_proactive_timeseries.py
    needs: [join_cohorts_proactive]
    outputs:
      moderately_sensitive:
        proactive_table_counts: output/proactive/0.3_analysis_outputs/proactive_table_counts.csv
        proactive_plot_timeseries: output/proactive/0.3_analysis_outputs/proactive_plot_timeseries.png
  generate_proactive_regional_timeseries:
    run: python:latest python analysis/analysis_proactive_region.py
    needs: [join_cohorts_proactive]
    outputs:
      moderately_sensitive:
        proactive_table_counts_region: output/proactive/0.3_analysis_outputs/proactive_table_counts_*.csv
        proactive_plot_timeseries_region: output/proactive/0.3_analysis_outputs/proactive_plot_timeseries_region_*.png
  generate_proactive_breakdowns:
    run: python:latest python analysis/analysis_proactive_breakdowns.py
    needs: [join_cohorts_proactive]
    outputs:
      moderately_sensitive:
        proactive_table_breakdowns: output/proactive/0.3_analysis_outputs/proactive_table_code_*.csv
        proactive_plot_breakdowns: output/proactive/0.3_analysis_outputs/proactive_plot_code_*.png
  generate_proactive_codes_analysis:
    run: python:latest python analysis/analysis_proactive_codes.py
    needs: [join_cohorts_proactive]
    outputs:
      moderately_sensitive:
        proactive_table_code_counts: output/proactive/0.3_analysis_outputs/proactive_table_code_counts_*.csv
        proactive_table_code_combinations: output/proactive/0.3_analysis_outputs/proactive_table_code_combinations.csv
        proactive_table_code_populations: output/proactive/0.3_analysis_outputs/proactive_patient_id_total_*.csv
Timeline
- 
  
    
  
  
Created:
 - 
  
    
  
  
Started:
 - 
  
    
  
  
Finished:
 - 
  
  
Runtime:
 
These timestamps are generated and stored using the UTC timezone on the TPP backend.
Job request
- Status
 - 
            Failed
JobRequestError: generate_study_population_oximetry failed on a previous run and must be re-run
 - Backend
 - TPP
 - Workspace
 - nhs_at_home_main
 - Requested by
 - Alexandra Benson
 - Branch
 - main
 - Force run dependencies
 - No
 - Git commit hash
 - 354bdd5
 - Requested actions
 - 
            
- 
                  
run_all 
 - 
                  
 
Code comparison
Compare the code used in this job request