Skip to content

Job request: 9512

Organisation:
NHSE/I
Workspace:
nhs_at_home_main
ID:
imsmosrncyg3kfj7

This page shows the technical details of what happened when authorised researcher Jennifer Hall requested one or more actions to be run against real patient data in the project, within a secure environment.

By cross-referencing the indicated Requested Actions with the Pipeline section below, you can infer what security level various outputs were written to. Outputs marked as highly_sensitive can never be viewed directly by a researcher; they can only request that code runs against them. Outputs marked as moderately_sensitive can be viewed by an approved researcher by logging into a highly secure environment. Only outputs marked as moderately_sensitive can be requested for release to the public, via a controlled output review service.

Jobs

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

    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"
    outputs:
      highly_sensitive:
        oximetry_cohort: output/input_oximetry*.csv

  join_cohorts_oximetry:
    run: cohort-joiner:v0.0.30 --lhs output/input_oximetry*.csv --rhs output/input_static.csv --output-dir output/completed
    needs:
      [generate_study_population_oximetry, generate_study_definition_static]
    outputs:
      highly_sensitive:
        cohort: output/completed/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"
    outputs:
      highly_sensitive:
        bp_cohort: output/input_bp*.csv

  join_cohorts_bp:
    run: cohort-joiner:v0.0.30 --lhs output/input_bp*.csv --rhs output/input_static.csv --output-dir output/completed
    needs: [generate_study_population_bp, generate_study_definition_static]
    outputs:
      highly_sensitive:
        cohort: output/completed/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"
    outputs:
      highly_sensitive:
        proactive_cohort: output/input_proactive*.csv

  join_cohorts_proactive:
    run: cohort-joiner:v0.0.30 --lhs output/input_proactive*.csv --rhs output/input_static.csv --output-dir output/completed
    needs:
      [generate_study_population_proactive, generate_study_definition_static]
    outputs:
      highly_sensitive:
        cohort: output/completed/input_proactive*.csv

  # Analysis
  generate_oximetry_timeseries:
    run: python:latest python analysis/analysis_oximetry_timeseries.py
    needs: [join_cohorts_oximetry]
    outputs:
      moderately_sensitive:
        oximetry_table_counts: output/oximetry_table_counts.csv
        oximetry_plot_timeseries: output/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_table_counts_*.csv
        oximetry_plot_timeseries_region: output/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_table_code_*.csv
        oximetry_plot_breakdowns: output/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_table_code_counts_*.csv
        oximetry_table_code_combinations: output/oximetry_table_code_combinations.csv

  generate_oximetry_no_codes_analysis:
    run: python:latest python analysis/analysis_oximetry_no_codes.py
    needs: [join_cohorts_oximetry]
    outputs:
      moderately_sensitive:
        oximetry_table_no_codes_used: output/oximetry_table_no_codes_used.csv

  generate_bp_timeseries:
    run: python:latest python analysis/analysis_bp_timeseries.py
    needs: [join_cohorts_bp]
    outputs:
      moderately_sensitive:
        bp_table_counts: output/bp_table_counts.csv
        bp_plot_timeseries: output/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_table_counts_*.csv
        bp_plot_timeseries_region: output/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_table_code_*.csv
        bp_plot_breakdowns: output/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_table_code_counts_*.csv
        bp_table_code_combinations: output/bp_table_code_combinations.csv

  generate_bp_no_codes_analysis:
    run: python:latest python analysis/analysis_bp_no_codes.py
    needs: [join_cohorts_bp]
    outputs:
      moderately_sensitive:
        bp_table_no_codes_used: output/bp_table_no_codes_used.csv

  generate_proactive_timeseries:
    run: python:latest python analysis/analysis_proactive_timeseries.py
    needs: [join_cohorts_proactive]
    outputs:
      moderately_sensitive:
        proactive_table_counts: output/proactive_table_counts.csv
        proactive_plot_timeseries: output/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_table_counts_*.csv
        proactive_plot_timeseries_region: output/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_table_code_*.csv
        proactive_plot_breakdowns: output/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_table_code_counts_*.csv

  generate_proactive_no_codes_analysis:
    run: python:latest python analysis/analysis_proactive_no_codes.py
    needs: [join_cohorts_proactive]
    outputs:
      moderately_sensitive:
        proactive_table_no_codes_used: output/proactive_table_no_codes_used.csv

Timeline

  • Created:

  • Started:

  • Finished:

  • Runtime: 00:19:11

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

Job information

Status
Succeeded
Backend
TPP
Workspace
nhs_at_home_main
Requested by
Jennifer Hall
Branch
main
Force run dependencies
No
Git commit hash
2e8ea30
Requested actions
  • generate_oximetry_no_codes_analysis
  • generate_bp_no_codes_analysis
  • generate_proactive_no_codes_analysis

Code comparison

Compare the code used in this Job Request