Skip to content

Job request: 310

Organisation:
The London School of Hygiene & Tropical Medicine
Workspace:
households
ID:
abmpus6lkpa3oiji

This page shows the technical details of what happened when the authorised researcher Thomas House 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_cohort:
    run: cohortextractor:latest generate_cohort
    outputs:
      highly_sensitive:
        cohort: output/input.csv

  prepare_data:
    run: stata-mp:latest analysis/01_hh_cr_analysis_dataset.do
    needs: [generate_cohort]
    outputs:
      highly_sensitive:
        allvars: hh_analysis_dataset.dta

  generate_model_data:
    run: python:latest python analysis/generate_model_data.py
    needs: [prepare_data]
    outputs:
      moderately_sensitive:
        log: generate_model_data.log
        timeseries: output/case_series.pickle
        agecats: output/age_categories_series.pickle

  run_model_0_0_13:
    run: python:latest python analysis/opensafely_age_hh_th.py --starting-parameter 13 --add-ridge 0.0
    needs: [generate_model_data]
    outputs:
      moderately_sensitive:
        log: opensafely_age_hh_ridge_0_0_and_seed_13.log


  run_model_7_4_13:
    run: python:latest python analysis/opensafely_age_hh_th.py --starting-parameter 13 --add-ridge 7.4
    needs: [generate_model_data]
    outputs:
      moderately_sensitive:
        log: opensafely_age_hh_ridge_7_4_and_seed_13.log


  run_model_20_0_13:
    run: python:latest python analysis/opensafely_age_hh_th.py --starting-parameter 13 --add-ridge 20.0
    needs: [generate_model_data]
    outputs:
      moderately_sensitive:
        log: opensafely_age_hh_ridge_20_0_and_seed_13.log


  run_model_0_0_15:
    run: python:latest python analysis/opensafely_age_hh_th.py --starting-parameter 15 --add-ridge 0.0
    needs: [generate_model_data]
    outputs:
      moderately_sensitive:
        log: opensafely_age_hh_ridge_0_0_and_seed_15.log


  run_model_7_4_15:
    run: python:latest python analysis/opensafely_age_hh_th.py --starting-parameter 15 --add-ridge 7.4
    needs: [generate_model_data]
    outputs:
      moderately_sensitive:
        log: opensafely_age_hh_ridge_7_4_and_seed_15.log


  run_model_20_0_15:
    run: python:latest python analysis/opensafely_age_hh_th.py --starting-parameter 15 --add-ridge 20.0
    needs: [generate_model_data]
    outputs:
      moderately_sensitive:
        log: opensafely_age_hh_ridge_20_0_and_seed_15.log


  run_model_0_0_19:
    run: python:latest python analysis/opensafely_age_hh_th.py --starting-parameter 19 --add-ridge 0.0
    needs: [generate_model_data]
    outputs:
      moderately_sensitive:
        log: opensafely_age_hh_ridge_0_0_and_seed_19.log


  run_model_7_4_19:
    run: python:latest python analysis/opensafely_age_hh_th.py --starting-parameter 19 --add-ridge 7.4
    needs: [generate_model_data]
    outputs:
      moderately_sensitive:
        log: opensafely_age_hh_ridge_7_4_and_seed_19.log


  run_model_20_0_19:
    run: python:latest python analysis/opensafely_age_hh_th.py --starting-parameter 19 --add-ridge 20.0
    needs: [generate_model_data]
    outputs:
      moderately_sensitive:
        log: opensafely_age_hh_ridge_20_0_and_seed_19.log


  run_model_0_0_42:
    run: python:latest python analysis/opensafely_age_hh_th.py --starting-parameter 42 --add-ridge 0.0
    needs: [generate_model_data]
    outputs:
      moderately_sensitive:
        log: opensafely_age_hh_ridge_0_0_and_seed_42.log


  run_model_7_4_42:
    run: python:latest python analysis/opensafely_age_hh_th.py --starting-parameter 42 --add-ridge 7.4
    needs: [generate_model_data]
    outputs:
      moderately_sensitive:
        log: opensafely_age_hh_ridge_7_4_and_seed_42.log


  run_model_20_0_42:
    run: python:latest python analysis/opensafely_age_hh_th.py --starting-parameter 42 --add-ridge 20.0
    needs: [generate_model_data]
    outputs:
      moderately_sensitive:
        log: opensafely_age_hh_ridge_20_0_and_seed_42.log


  run_model_0_0_56:
    run: python:latest python analysis/opensafely_age_hh_th.py --starting-parameter 56 --add-ridge 0.0
    needs: [generate_model_data]
    outputs:
      moderately_sensitive:
        log: opensafely_age_hh_ridge_0_0_and_seed_56.log


  run_model_7_4_56:
    run: python:latest python analysis/opensafely_age_hh_th.py --starting-parameter 56 --add-ridge 7.4
    needs: [generate_model_data]
    outputs:
      moderately_sensitive:
        log: opensafely_age_hh_ridge_7_4_and_seed_56.log


  run_model_20_0_56:
    run: python:latest python analysis/opensafely_age_hh_th.py --starting-parameter 56 --add-ridge 20.0
    needs: [generate_model_data]
    outputs:
      moderately_sensitive:
        log: opensafely_age_hh_ridge_20_0_and_seed_56.log


  run_model_0_0_80:
    run: python:latest python analysis/opensafely_age_hh_th.py --starting-parameter 80 --add-ridge 0.0
    needs: [generate_model_data]
    outputs:
      moderately_sensitive:
        log: opensafely_age_hh_ridge_0_0_and_seed_80.log


  run_model_7_4_80:
    run: python:latest python analysis/opensafely_age_hh_th.py --starting-parameter 80 --add-ridge 7.4
    needs: [generate_model_data]
    outputs:
      moderately_sensitive:
        log: opensafely_age_hh_ridge_7_4_and_seed_80.log


  run_model_20_0_80:
    run: python:latest python analysis/opensafely_age_hh_th.py --starting-parameter 80 --add-ridge 20.0
    needs: [generate_model_data]
    outputs:
      moderately_sensitive:
        log: opensafely_age_hh_ridge_20_0_and_seed_80.log

  run_all:
    needs:
      [run_model_0_0_13, run_model_7_4_13, run_model_20_0_13, run_model_0_0_15, run_model_7_4_15, run_model_20_0_15, run_model_0_0_19, run_model_7_4_19, run_model_20_0_19, run_model_0_0_42, run_model_7_4_42, run_model_20_0_42, run_model_0_0_56, run_model_7_4_56, run_model_20_0_56, run_model_0_0_80, run_model_7_4_80, run_model_20_0_80]
    # In order to be valid this action needs to define a run commmand and some
    # output. We don't really care what these are but the below does the trick.
    # In a future release of the platform, this special action won't need to be
    # defined at all.
    run: cohortextractor:latest --version
    outputs:
      moderately_sensitive:
        whatever: project.yaml

Timeline

  • Created:

  • Started:

  • Finished:

  • Runtime: 205:55:59

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

Job request

Status
Failed
Backend
TPP
Workspace
households
Requested by
Thomas House
Branch
master
Force run dependencies
No
Git commit hash
eb59c7e
Requested actions
  • run_model_0_0_13
  • run_model_0_0_15
  • run_model_0_0_19
  • run_model_0_0_42
  • run_model_0_0_56
  • run_model_0_0_80
  • run_model_20_0_13
  • run_model_20_0_15
  • run_model_20_0_19
  • run_model_20_0_42
  • run_model_20_0_56
  • run_model_20_0_80
  • run_model_7_4_13
  • run_model_7_4_15
  • run_model_7_4_19
  • run_model_7_4_42
  • run_model_7_4_56
  • run_model_7_4_80

Code comparison

Compare the code used in this job request