Job request: 15437
- Organisation:
- Bennett Institute
- Workspace:
- appointments-short-data-report
- ID:
- fpgiuoehp5dwxviq
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
-
- Job identifier:
-
w3pv4dphenr5rkom
-
- Job identifier:
-
6zjqea5ytciuz35o
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
reindex_distinct_values:
needs: [query_distinct_values]
run: >
python:latest python -m analysis.actions.reindex
--output output/distinct_values/reindexed_rows.csv
--date-column-name booked_date
output/distinct_values/rows.csv
--group-by-column-names Organisation_ID
outputs:
highly_sensitive:
rows: output/distinct_values/reindexed_rows.csv
generate_prop_distinct_values_by_organisation_id_measure:
needs: [reindex_distinct_values]
run: >
python:latest python -m analysis.distinct_values.generate_measure
outputs:
highly_sensitive:
measure: output/distinct_values/measure_prop_distinct_values_by_organisation_id.csv
generate_distinct_values_deciles_charts:
needs: [generate_prop_distinct_values_by_organisation_id_measure]
run: >
deciles-charts:v0.0.33
--input-files output/distinct_values/measure_*.csv
--output-dir output/distinct_values
config:
show_outer_percentiles: true
outputs:
moderately_sensitive:
deciles_charts: output/distinct_values/deciles_chart_*.png
deciles_tables: output/distinct_values/deciles_table_*.csv
query_status:
run: >
sqlrunner:latest
--output output/status/rows.csv
analysis/status/query.sql
outputs:
highly_sensitive:
rows: output/status/rows.csv
round_status:
needs: [query_status]
run: >
python:latest python -m analysis.actions.round
--output output/status/results.csv
output/status/rows.csv
--column-names num_values
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
# --ExecutePreprocessor.timeout=-1
# disable the time to wait (in seconds) for output from executions
run: >
python:latest jupyter nbconvert
--execute
--no-input
--to=html
--template basic
--output-dir=output/reports
--ExecutePreprocessor.timeout=-1
analysis/reports/*.ipynb
needs:
- generate_distinct_values_deciles_charts
- round_status
- copy_date_range
- round_num_rows_by_month
- round_lead_time
outputs:
moderately_sensitive:
reports: output/reports/*.html
Timeline
-
Created:
-
Started:
-
Finished:
-
Runtime: 00:09:33
These timestamps are generated and stored using the UTC timezone on the TPP backend.
Job information
- Status
-
Succeeded
- Backend
- TPP
- Workspace
- appointments-short-data-report
- Requested by
- Iain Dillingham
- Branch
- main
- Force run dependencies
- Yes
- Git commit hash
- c35d819
- Requested actions
-
-
round_num_rows_by_month
-
Code comparison
Compare the code used in this Job Request