Skip to content

Job request: 22511

Organisation:
Bennett Institute
Workspace:
waiting-list
ID:
h7cf3zklxilgwjcs

This page shows the technical details of what happened when authorised researcher Andrea Schaffer 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: 100000

actions:

  ##### Dataset definitions #####

  # Closed (completed) RTT pathways
  generate_dataset_full:
    run: ehrql:v1 generate-dataset analysis/dataset_definition_full.py
      --output output/data/dataset_full.arrow
      #--dummy-data-file dummy/dummy_ortho_clockstops.arrow
    outputs:
      highly_sensitive:
        cohort: output/data/dataset_full.arrow
  
  # Closed (completed) RTT pathways
  generate_dataset_ortho:
    run: ehrql:v1 generate-dataset analysis/dataset_definition_ortho.py
      --output output/data/dataset_ortho.arrow
      #--dummy-data-file dummy/dummy_ortho_clockstops.arrow
    outputs:
      highly_sensitive:
        cohort: output/data/dataset_ortho.arrow
  
  
  #### Check number of pathways over time ####

  measures_checks:
    run: ehrql:v1 generate-measures analysis/measures_checks.py 
      --output output/measures/measures_checks.csv
    outputs:
      moderately_sensitive:
        measure_csv: output/measures/measures_checks.csv


  ##### Opioid measures - closed pathways #####

  measures_any_opioid:
    run: ehrql:v1 generate-measures analysis/measures_opioid_all.py 
      --output output/measures/measures_any_opioid.csv
      --
      --codelist "opioid_codes"
    outputs:
      moderately_sensitive:
        measure_csv: output/measures/measures_any_opioid.csv

  measures_long_opioid:
    run: ehrql:v1 generate-measures analysis/measures_opioid_all.py 
      --output output/measures/measures_long_opioid.csv
      --
      --codelist "long_opioid_codes"
    outputs:
      moderately_sensitive:
        measure_csv: output/measures/measures_long_opioid.csv

  measures_short_opioid:
    run: ehrql:v1 generate-measures analysis/measures_opioid_all.py 
      --output output/measures/measures_short_opioid.csv
      --
      --codelist "short_opioid_codes"
    outputs:
      moderately_sensitive:
        measure_csv: output/measures/measures_short_opioid.csv
  
  measures_weak_opioid:
    run: ehrql:v1 generate-measures analysis/measures_opioid_all.py 
      --output output/measures/measures_weak_opioid.csv
      --
      --codelist "weak_opioid_codes"
    outputs:
      moderately_sensitive:
        measure_csv: output/measures/measures_weak_opioid.csv

  measures_strong_opioid:
    run: ehrql:v1 generate-measures analysis/measures_opioid_all.py 
      --output output/measures/measures_strong_opioid.csv
      --
      --codelist "strong_opioid_codes"
    outputs:
      moderately_sensitive:
        measure_csv: output/measures/measures_strong_opioid.csv

  # Combine measures
  opioids_by_week:
    run: r:latest analysis/clockstops/opioids_by_week.R
    needs: [measures_any_opioid, measures_weak_opioid, measures_strong_opioid, measures_long_opioid, measures_short_opioid]
    outputs:
      moderately_sensitive:
        data: output/clockstops/opioid*.csv
      
       
  ##### Analysis - closed pathways #####
  
  # checks_cohort_clockstops:
  #  run: r:latest analysis/clockstops/checks_cohort_clockstops.R
  #  needs: [generate_dataset_clockstops]
  #  outputs:
  #     moderately_sensitive:
  #       data: output/clockstops/check*.csv

  final_cohort_exclusions:
   run: r:latest analysis/clockstops/final_cohort_exclusions.R
   needs: [generate_dataset_full, generate_dataset_ortho]
   outputs:
      highly_sensitive:
        cohort: output/data/cohort*.csv.gz
      moderately_sensitive:
       #exclusions1: output/clockstops/cohort_full_exclusions.csv
        exclusions2: output/clockstops/exclude*.csv
        
  wait_time:
   run: r:latest analysis/clockstops/wait_time.R
   needs: [final_cohort_exclusions]
   outputs:
      moderately_sensitive:
        data1: output/clockstops/rtt_dates.csv
        data2: output/clockstops/wait_by_group.csv

  frequency_tables_all:
   run: r:latest analysis/clockstops/frequency_tables_all.R
   needs: [final_cohort_exclusions]
   outputs:
      moderately_sensitive:
        data1: output/clockstops/cat_var_dist_ortho.csv
        
  frequency_tables_routine:
   run: r:latest analysis/clockstops/frequency_tables_routine.R
   needs: [final_cohort_exclusions]
   outputs:
      moderately_sensitive:
        data1: output/clockstops/cat_var_dist_prior.csv
        data2: output/clockstops/age_stats.csv

  opioid_prescribing:
   run: r:latest analysis/clockstops/opioid_prescribing.R
   needs: [final_cohort_exclusions]
   outputs:
      moderately_sensitive:
        data1: output/clockstops/med_by_period.csv
        data2: output/clockstops/med_by_period_wait.csv
        data3: output/clockstops/total_rx_wait.csv

  ######################################################################################

Timeline

  • Created:

  • Started:

  • Finished:

  • Runtime:

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

Job information

Status
Succeeded
Backend
TPP
Workspace
waiting-list
Requested by
Andrea Schaffer
Branch
main
Force run dependencies
Yes
Git commit hash
df795fa
Requested actions
  • frequency_tables_routine

Code comparison

Compare the code used in this Job Request