Skip to content

Job request: 2442

Organisation:
Workspace:
antipsychotics-prescribing-during-covid-19-master
ID:
lgcgyoa2n6umh3dr

This page shows the technical details of what happened when the authorised researcher Millie Green 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
######################################

# This script defines the project pipeline - it specifys the execution orders for all the code in this
# repo using a series of actions.

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

version: '3.0'

expectations:
  population_size: 100000

actions:

  # Extract data ----
  
  ## Cohort data
  extract_data:
    run: cohortextractor:latest generate_cohort --study-definition study_definition --index-date-range "2019-01-01 to 2021-04-01 by month" --output-dir=output/data --output-format=feather
    outputs:
      highly_sensitive:
        cohort: output/data/input_*.feather
  
  ## Ethnicity      
  extract_ethnicity:
    run: cohortextractor:latest generate_cohort --study-definition study_definition_ethnicity --output-dir=output/data --output-format=feather
    outputs:
      highly_sensitive:
        cohort: output/data/input_ethnicity.feather
        
  ## Patient to practice lookup
  patient_practice_lookup:
    run: cohortextractor:latest generate_cohort --study-definition study_definition_practice_count --output-dir=output/data --output-format=feather
    outputs:
      highly_sensitive:
        cohort: output/data/input_practice_count.feather
        
  
  # Data processing ----

  ## Patient counts
  get_patient_count:
    run: python:latest python analysis/get_patient_counts.py --output-dir=output/data
    needs: [extract_data]
    outputs:
       moderately_sensitive:
         text: output/data/patient_count.json
         
  ## Practice count
  get_practice_count:
    run: python:latest python analysis/get_practice_count.py --output-dir=output/data
    needs: [patient_practice_lookup]
    outputs:
      moderately_sensitive:
        text: output/data/practice_count.json
  
  ## Add ethnicity
  join_ethnicity:
    run: python:latest python analysis/join_ethnicity.py
    needs: [extract_data, extract_ethnicity]
    outputs:
      highly_sensitive:
        cohort: output/data/input*.feather
  
  ## Process data
  data_process:
    run: r:latest analysis/process_data.R
    needs: [extract_ethnicity, join_ethnicity]
    outputs:
      highly_sensitive:
        tables: output/data/data_*.rds
      moderately_sensitive:
        tables: output/data/custom_measures_*.csv
        
  ## Generate measures
  generate_measures:
      run: cohortextractor:latest generate_measures --study-definition study_definition --output-dir=output/data
      needs: [join_ethnicity]
      outputs:
        moderately_sensitive:
          measure_csv: output/data/measure_*.csv
  
  # ### Generate measures, by group
  # generate_measures_demographics:
  #   run: python:latest python analysis/calculate_measures.py
  #   needs: [join_ethnicity]
  #   outputs:
  #     moderately_sensitive:
  #       measure: output/combined_measure_*.csv
  # 
  #   ### Generate measures, by group and demographic
  # generate_measures_demographics:
  #   run: python:latest python analysis/calculate_measures.py
  #   needs: [join_ethnicity]
  #   outputs:
  #     moderately_sensitive:
  #       measure: output/combined_measure_*.csv
  
  

  # Results ----
  
  ## Figures
  summary_figures:
    run: r:latest analysis/summary_plots.R
    needs: [data_process]
    outputs:
      moderately_sensitive:
        plots: output/figures/plot*.svg
  
  ## Whole population notebook
  generate_notebook:
    run: jupyter:latest jupyter nbconvert /workspace/notebooks/antipsychotic_measures.ipynb --execute --to html --template basic --output-dir=/workspace/output --ExecutePreprocessor.timeout=86400 --no-input
    needs: [generate_measures, get_practice_count, get_patient_count]
    outputs:
      moderately_sensitive:
        notebook: output/antipsychotic_measures.html

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_notebook failed on a previous run and must be re-run
Backend
TPP
Requested by
Millie Green
Branch
master
Force run dependencies
No
Git commit hash
f91fac5
Requested actions
  • run_all

Code comparison

Compare the code used in this job request