Skip to content

Job request: 13424

Organisation:
Bennett Institute
Workspace:
appointments-short-data-report
ID:
24f7lyeivwroucy2

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 in the project, within a secure environment.

By cross-referencing the list of jobs with the pipeline section below, you can infer what security level various outputs were written to. Researchers can never directly view outputs marked as highly_sensitive ; 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:
  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: 00:00:21

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

Job information

Status
Succeeded
Backend
TPP
Requested by
Iain Dillingham
Branch
main
Force run dependencies
No
Git commit hash
69dd539
Requested actions
  • make_html_reports

Code comparison

Compare the code used in this Job Request