Skip to content

Job request: 13417

Organisation:
Bennett Institute
Workspace:
appointments-short-data-report
ID:
zuvz6vswuiuy6llb

This page shows the technical details of what happened when the authorised researcher Iain Dillingham 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:
  query_distinct_values:
    run: >
      sqlrunner:latest
        --output output/distinct_values/rows.csv
        analysis/distinct_values/query.sql
    outputs:
      highly_sensitive:
        rows: output/distinct_values/rows.csv

  round_distinct_values:
    needs: [query_distinct_values]
    run: >
      python:latest python -m analysis.actions.round
        --output output/distinct_values/results.csv
        output/distinct_values/rows.csv
        --column-names num_distinct_values num_values
    outputs:
      moderately_sensitive:
        results: output/distinct_values/results.csv

  query_status:
    run: >
      sqlrunner:latest
        --output output/status/rows.csv
        analysis/status/query.sql
    outputs:
      highly_sensitive:
        rows: output/status/rows.csv

  copy_status:
    needs: [query_status]
    run: >
      python:latest python -m analysis.actions.copy
        --output output/status/results.csv
        output/status/rows.csv
    outputs:
      moderately_sensitive:
        results: output/status/results.csv

  query_date_range:
    run: >
      sqlrunner:latest
        --output output/date_range/rows.csv
        analysis/date_range/query.sql
    outputs:
      highly_sensitive:
        rows: output/date_range/rows.csv

  copy_date_range:
    needs: [query_date_range]
    run: >
      python:latest python -m analysis.actions.copy
        --output output/date_range/results.csv
        output/date_range/rows.csv
    outputs:
      moderately_sensitive:
        results: output/date_range/results.csv

  query_num_rows_by_month:
    run: >
      sqlrunner:latest
        --output output/num_rows_by_month/rows.csv
        analysis/num_rows_by_month/query.sql
    outputs:
      highly_sensitive:
        rows: output/num_rows_by_month/rows.csv

  round_num_rows_by_month:
    needs: [query_num_rows_by_month]
    run: >
      python:latest python -m analysis.actions.round
        --output output/num_rows_by_month/results.csv
        output/num_rows_by_month/rows.csv
        --column-names num_rows
    outputs:
      moderately_sensitive:
        results: output/num_rows_by_month/results.csv

  query_lead_time:
    run: >
      sqlrunner:latest
        --output output/lead_time/rows.csv
        analysis/lead_time/query.sql
    outputs:
      highly_sensitive:
        rows: output/lead_time/rows.csv

  round_lead_time:
    needs: [query_lead_time]
    run: >
      python:latest python -m analysis.actions.round
        --output output/lead_time/results.csv
        output/lead_time/rows.csv
        --column-names frequency
    outputs:
      moderately_sensitive:
        results: output/lead_time/results.csv

  make_html_reports:
    # --execute
    #   execute notebooks before converting them to HTML reports
    # --no-input
    #   exclude input cells and output prompts from HTML reports
    # --to=html
    #   convert notebooks to HTML reports (not e.g. to PDF reports)
    # --template basic
    #   use the basic (unstyled) template for HTML reports
    # --output-dir=output/reports
    #   write HTML reports to the `output/reports` directory
    run: >
      python:latest jupyter nbconvert
        --execute
        --no-input
        --to=html
        --template basic
        --output-dir=output/reports
        analysis/reports/*.ipynb
    needs:
      - round_distinct_values
      - copy_date_range
      - round_num_rows_by_month
      - round_lead_time
    outputs:
      moderately_sensitive:
        reports: output/reports/*.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: query_status failed on a previous run and must be re-run
Backend
TPP
Requested by
Iain Dillingham
Branch
main
Force run dependencies
No
Git commit hash
69dd539
Requested actions
  • round_distinct_values
  • copy_status

Code comparison

Compare the code used in this job request