Skip to content

Job request: 24961

Organisation:
University of Manchester
Workspace:
openpregnosis_main
ID:
fijfcup755xfm3im

This page shows the technical details of what happened when the authorised researcher Paolo Mazzone 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'

# Ignore this`expectation` block. It is required but not used, and will be removed in future versions.
expectations:
  population_size: 1000

actions:
## Diagnostic analysis for event counts ##

  generate_diagnostic_event_counts:
    run: ehrql:v1 generate-dataset analysis/01_diagnostic_event_counts.py --output output/diagnostic_event_counts.csv.gz
    outputs:
      highly_sensitive:
        dataset: output/diagnostic_event_counts.csv.gz

  analyze_diagnostic_event_counts:
    run: r:latest analysis/02_analyse_diagnostic.R
    needs: [generate_diagnostic_event_counts]
    outputs:
      moderately_sensitive:
        analysis_results: output/diagnostic_analysis_results.txt
        recommendations: output/event_count_recommendations.csv

## Main pregnancy event extraction ##

  generate_pregnancy_event_data:
    run: ehrql:v1 generate-dataset analysis/03_dataset_definition.py --output output/pregnancy_event_data.csv.gz
    outputs:
      highly_sensitive:
        dataset: output/pregnancy_event_data.csv.gz

## Data processing and validation

#  convert_stillbirth_episodes:
#    run: r:latest analysis/04_convert_stillbirth_episodes.R
#    needs: [generate_pregnancy_event_data]
#    outputs:
#      highly_sensitive:
#        stillbirth_events_long: output/processed/stillbirth_events_long.csv
#        stillbirth_pregnancies_wide: output/processed/stillbirth_pregnancies_wide.csv
#        stillbirth_pregnancy_summary: output/processed/stillbirth_pregnancy_summary.csv

#  convert_livebirth_episodes:
#    run: r:latest analysis/05_convert_livebirth_episodes.R
#    needs: [generate_pregnancy_event_data]
#    outputs:
#      highly_sensitive:
#        livebirth_events_long: output/processed/livebirth_events_long.csv
#        livebirth_pregnancies_wide: output/processed/livebirth_pregnancies_wide.csv
#        livebirth_pregnancy_summary: output/processed/livebirth_pregnancy_summary.csv

#  convert_miscarriage_episodes:
#    run: r:latest analysis/06_convert_miscarriage_episodes.R
#    needs: [generate_pregnancy_event_data]
#    outputs:
#      highly_sensitive:
#        miscarriage_events_long: output/processed/miscarriage_events_long.csv
#        miscarriage_pregnancies_wide: output/processed/miscarriage_pregnancies_wide.csv
#        miscarriage_pregnancy_summary: output/processed/miscarriage_pregnancy_summary.csv

#  convert_ectopic_episodes:
#    run: r:latest analysis/07_convert_ectopic_episodes.R
#    needs: [generate_pregnancy_event_data]
#    outputs:
#      highly_sensitive:
#        ectopic_events_long: output/processed/ectopic_events_long.csv
#        ectopic_pregnancies_wide: output/processed/ectopic_pregnancies_wide.csv
#        ectopic_pregnancy_summary: output/processed/ectopic_pregnancy_summary.csv

#  convert_blighted_ovum_episodes:
#    run: r:latest analysis/08_convert_blighted_ovum_episodes.R
#    needs: [generate_pregnancy_event_data]
#    outputs:
#      highly_sensitive:
#        blighted_ovum_events_long: output/processed/blighted_ovum_events_long.csv
#        blighted_ovum_pregnancies_wide: output/processed/blighted_ovum_pregnancies_wide.csv
#        blighted_ovum_pregnancy_summary: output/processed/blighted_ovum_pregnancy_summary.csv

#  convert_molar_episodes:
#    run: r:latest analysis/09_convert_molar_episodes.R
#    needs: [generate_pregnancy_event_data]
#    outputs:
#      highly_sensitive:
#        molar_events_long: output/processed/molar_events_long.csv
#        molar_pregnancies_wide: output/processed/molar_pregnancies_wide.csv
#        molar_pregnancy_summary: output/processed/molar_pregnancy_summary.csv

#  convert_tops_episodes:
#    run: r:latest analysis/10_convert_tops_episodes.R
#    needs: [generate_pregnancy_event_data]
#    outputs:
#      highly_sensitive:
#        tops_events_long: output/processed/tops_events_long.csv
#        tops_pregnancies_wide: output/processed/tops_pregnancies_wide.csv
#        tops_pregnancy_summary: output/processed/tops_pregnancy_summary.csv

## Early Pregnancy Marker Processing ##

#  convert_lmp_episodes:
#    run: r:latest analysis/11_convert_lmp_episodes.R
#    needs: [generate_pregnancy_event_data]
#    outputs:
#      highly_sensitive:
#        lmp_events_long: output/processed/lmp_events_long.csv
#        lmp_pregnancies_wide: output/processed/lmp_pregnancies_wide.csv
#        lmp_pregnancy_summary: output/processed/lmp_pregnancy_summary.csv

#  convert_edd_episodes:
#    run: r:latest analysis/12_convert_edd_episodes.R
#    needs: [generate_pregnancy_event_data]
#    outputs:
#      highly_sensitive:
#        edd_events_long: output/processed/edd_events_long.csv
#        edd_pregnancies_wide: output/processed/edd_pregnancies_wide.csv
#        edd_pregnancy_summary: output/processed/edd_pregnancy_summary.csv

#  convert_edc_episodes:
#    run: r:latest analysis/13_convert_edc_episodes.R
#    needs: [generate_pregnancy_event_data]
#    outputs:
#      highly_sensitive:
#        edc_events_long: output/processed/edc_events_long.csv
#        edc_pregnancies_wide: output/processed/edc_pregnancies_wide.csv
#        edc_pregnancy_summary: output/processed/edc_pregnancy_summary.csv

#  convert_dating_scan_episodes:
#    run: r:latest analysis/14_convert_dating_scan_episodes.R
#    needs: [generate_pregnancy_event_data]
#    outputs:
#      highly_sensitive:
#        dating_scan_events_long: output/processed/dating_scan_events_long.csv
#        dating_scan_pregnancies_wide: output/processed/dating_scan_pregnancies_wide.csv
#        dating_scan_pregnancy_summary: output/processed/dating_scan_pregnancy_summary.csv

#  generate_delivery_validation_report:
#    run: r:latest analysis/15_delivery_code_validation_report.R
#    needs: [convert_stillbirth_episodes, convert_livebirth_episodes]
#    outputs:
#      highly_sensitive:
#        validation_results: output/validation/delivery_validation_results.rds
#        validation_summary: output/validation/delivery_validation_summary.txt
#        validation_plots: output/validation/delivery_validation_plots.pdf

## Harmonised Algorithm ##

#  export_codelists_for_r:
#    run: python:latest analysis/16_export_codelists.py
#    outputs:
#      highly_sensitive:
#        delivery_codes: output/codelists/delivery_codes.csv
#        stillbirth_codes: output/codelists/stillbirth_codes.csv
#        miscarriage_codes: output/codelists/miscarriage_codes.csv
#        ectopic_codes: output/codelists/ectopic_codes.csv
#        molar_codes: output/codelists/molar_codes.csv
#        blighted_ovum_codes: output/codelists/blighted_ovum_codes.csv
#        termination_codes: output/codelists/termination_codes.csv
#        postnatal_codes: output/codelists/postnatal_codes.csv
#        antenatal_codes: output/codelists/antenatal_codes.csv
#        postterm_codes: output/codelists/postterm_codes.csv
#        lmp_codes: output/codelists/lmp_codes.csv
#        edd_codes: output/codelists/edd_codes.csv
#        edc_codes: output/codelists/edc_codes.csv
#        dating_scan_codes: output/codelists/dating_scan_codes.csv
#        multi_pregnancy_codes: output/codelists/multi_pregnancy_codes.csv
#        preeclampsia_codes: output/codelists/preeclampsia_codes.csv
#        codelist_summary: output/codelists/codelist_summary.csv

#  run_harmonised_algorithm:
#    run: r:latest analysis/17_execute_harmonised_algorithm.R
#    needs: [convert_stillbirth_episodes, convert_livebirth_episodes, convert_miscarriage_episodes, convert_ectopic_episodes, convert_blighted_ovum_episodes, convert_molar_episodes, convert_tops_episodes, convert_lmp_episodes, convert_edd_episodes, convert_edc_episodes, convert_dating_scan_episodes, export_codelists_for_r]
#    outputs:
#      highly_sensitive:
#        harmonised_episodes: output/harmonised_components/harmonised_episodes.csv
#        harmonised_summary: output/harmonised_components/harmonised_summary.txt
#        start_date_analysis: output/harmonised_components/start_date_analysis.csv
#        missing_outcome_identification: output/harmonised_components/missing_outcome_identification.csv

#  test_harmonised_algorithm:
#    run: r:latest analysis/18_run_test.R
#    needs: [generate_pregnancy_event_data, analyze_diagnostic_event_counts, run_harmonised_algorithm, export_codelists_for_r]
#    outputs:
#      highly_sensitive:
#        harmonised_episodes: output/harmonised_test_results/harmonised_episodes.csv
#        test_report: output/harmonised_test_results/test_report.txt
#        comparison_results: output/harmonised_test_results/comparison_results.rds

## Complete workflow ##

#  run_all:
#    run: echo:v1 "Complete pregnancy outcome analysis pipeline executed successfully" > output/pipeline_complete.txt
#    needs: [analyze_diagnostic_event_counts, convert_stillbirth_episodes, convert_livebirth_episodes, convert_miscarriage_episodes, convert_ectopic_episodes, convert_blighted_ovum_episodes, convert_molar_episodes, convert_tops_episodes, convert_lmp_episodes, convert_edd_episodes, convert_edc_episodes, convert_dating_scan_episodes, generate_delivery_validation_report, run_harmonised_algorithm, test_harmonised_algorithm]
#    outputs:
#      highly_sensitive:
#        complete_pipeline: output/pipeline_complete.txt

Timeline

  • Created:

  • Started:

  • Finished:

  • Runtime: 00:10:06

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

Job information

Status
Succeeded
Backend
TPP
Workspace
openpregnosis_main
Requested by
Paolo Mazzone
Branch
main
Force run dependencies
Yes
Git commit hash
8ad92cb
Requested actions
  • generate_diagnostic_event_counts
  • analyze_diagnostic_event_counts

Code comparison

Compare the code used in this Job Request