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 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'

# 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 request

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