{ "cells": [ { "cell_type": "markdown", "id": "8e676741", "metadata": {}, "source": [ "# Modelling the same patient population attending all hospitals\n", "\n", "Aim:\n", "\n", "* To predict the thrombolysis rate at each hospital if the same patient population (based on the national average patient characteristics) attend each hospital.\n", "\n", "Patient population distributions are set to have the national average of:\n", "\n", "* Arrival within 4 hours of stroke onset\n", "* Proportion aged 80+\n", "* Onset to arrival mean and standard deviation\n", "\n", "The proportion of arrivals eligible for thrombolysis is set to the predicted 10k cohort rate for each hospital (adjusted to give thrombolysis use in those patients scanned within 4 hours of stroke onset).\n", "\n", "The simulation model passes through 100 x 1k patient cohorts through each hospital model." ] }, { "cell_type": "markdown", "id": "5b8cd79b", "metadata": {}, "source": [ "## Load libraries" ] }, { "cell_type": "code", "execution_count": 1, "id": "2a47c277", "metadata": {}, "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", "import numpy as np\n", "import pandas as pd\n", "from scipy import stats" ] }, { "cell_type": "markdown", "id": "c49c45b4", "metadata": {}, "source": [ "## Load data" ] }, { "cell_type": "code", "execution_count": 2, "id": "cfbf4bf7", "metadata": {}, "outputs": [], "source": [ "# Scenario results\n", "results = pd.read_csv('./output/scenario_results.csv')\n", "# Pathway performance paramters used in scenarios\n", "performance_base = pd.read_csv('./output/performance_base.csv')\n", "performance_same_patients = \\\n", " pd.read_csv('./output/same_patient_characteristics.csv')" ] }, { "cell_type": "code", "execution_count": 3, "id": "1b7ef4f8", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", " | stroke_team | \n", "thrombolysis_rate | \n", "admissions | \n", "80_plus | \n", "onset_known | \n", "known_arrival_within_4hrs | \n", "onset_arrival_mins_mu | \n", "onset_arrival_mins_sigma | \n", "scan_within_4_hrs | \n", "arrival_scan_arrival_mins_mu | \n", "arrival_scan_arrival_mins_sigma | \n", "onset_scan_4_hrs | \n", "eligable | \n", "scan_needle_mins_mu | \n", "scan_needle_mins_sigma | \n", "
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | \n", "AGNOF1041H | \n", "0.154839 | \n", "671.666667 | \n", "0.425459 | \n", "0.635236 | \n", "0.681250 | \n", "4.576874 | \n", "0.557598 | \n", "0.965596 | \n", "1.665700 | \n", "1.497966 | \n", "0.935867 | \n", "0.388325 | \n", "3.669602 | \n", "0.664462 | \n", "
1 | \n", "AKCGO9726K | \n", "0.158892 | \n", "1143.333333 | \n", "0.395658 | \n", "0.970845 | \n", "0.428829 | \n", "4.625486 | \n", "0.597451 | \n", "0.955882 | \n", "2.834183 | \n", "0.999719 | \n", "0.908425 | \n", "0.419355 | \n", "2.904479 | \n", "0.874818 | \n", "
2 | \n", "AOBTM3098N | \n", "0.085885 | \n", "500.666667 | \n", "0.485470 | \n", "0.619174 | \n", "0.629032 | \n", "4.603918 | \n", "0.584882 | \n", "0.935043 | \n", "3.471419 | \n", "1.254744 | \n", "0.846435 | \n", "0.267819 | \n", "3.694918 | \n", "0.518929 | \n", "
3 | \n", "APXEE8191H | \n", "0.098634 | \n", "439.333333 | \n", "0.515679 | \n", "0.716237 | \n", "0.608051 | \n", "4.590357 | \n", "0.496452 | \n", "0.966899 | \n", "3.312930 | \n", "0.714465 | \n", "0.904505 | \n", "0.258964 | \n", "3.585094 | \n", "0.751204 | \n", "
4 | \n", "ATDID5461S | \n", "0.090689 | \n", "275.666667 | \n", "0.533546 | \n", "0.573156 | \n", "0.660338 | \n", "4.427826 | \n", "0.591373 | \n", "0.878594 | \n", "4.125690 | \n", "0.549301 | \n", "0.865455 | \n", "0.315126 | \n", "3.497262 | \n", "0.608126 | \n", "
... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
127 | \n", "YPKYH1768F | \n", "0.105193 | \n", "250.333333 | \n", "0.321767 | \n", "0.585885 | \n", "0.720455 | \n", "4.436404 | \n", "0.569248 | \n", "0.952681 | \n", "3.779215 | \n", "0.872809 | \n", "0.844371 | \n", "0.305882 | \n", "3.982100 | \n", "0.683223 | \n", "
128 | \n", "YQMZV4284N | \n", "0.104186 | \n", "358.333333 | \n", "0.508511 | \n", "0.945116 | \n", "0.462598 | \n", "4.664536 | \n", "0.494740 | \n", "0.948936 | \n", "3.574735 | \n", "0.912298 | \n", "0.798206 | \n", "0.308989 | \n", "3.285165 | \n", "0.463749 | \n", "
129 | \n", "ZBVSO0975W | \n", "0.081602 | \n", "449.333333 | \n", "0.442130 | \n", "0.465134 | \n", "0.688995 | \n", "4.562051 | \n", "0.510524 | \n", "0.972222 | \n", "2.860226 | \n", "0.990966 | \n", "0.930952 | \n", "0.273657 | \n", "3.606046 | \n", "0.575788 | \n", "
130 | \n", "ZHCLE1578P | \n", "0.112647 | \n", "796.000000 | \n", "0.484694 | \n", "0.733668 | \n", "0.671233 | \n", "4.606557 | \n", "0.546648 | \n", "0.949830 | \n", "3.306916 | \n", "0.842940 | \n", "0.892569 | \n", "0.262788 | \n", "3.276043 | \n", "0.795401 | \n", "
131 | \n", "ZRRCV7012C | \n", "0.063058 | \n", "597.333333 | \n", "0.469504 | \n", "0.779576 | \n", "0.504653 | \n", "4.636283 | \n", "0.485394 | \n", "0.977305 | \n", "3.743456 | \n", "0.662710 | \n", "0.851959 | \n", "0.189097 | \n", "3.261270 | \n", "0.803624 | \n", "
132 rows × 15 columns
\n", "\n", " | stroke_team | \n", "scenario | \n", "admissions | \n", "thrombolysis_rate | \n", "additional_good_outcomes_per_1000_patients | \n", "patients_receiving_thrombolysis | \n", "add_good_outcomes | \n", "
---|---|---|---|---|---|---|---|
0 | \n", "AGNOF1041H | \n", "base | \n", "671.666667 | \n", "15.20 | \n", "12.76 | \n", "102.093333 | \n", "8.570467 | \n", "
1 | \n", "AKCGO9726K | \n", "base | \n", "1143.333333 | \n", "14.91 | \n", "13.21 | \n", "170.471000 | \n", "15.103433 | \n", "
2 | \n", "AOBTM3098N | \n", "base | \n", "500.666667 | \n", "7.80 | \n", "5.67 | \n", "39.052000 | \n", "2.838780 | \n", "
3 | \n", "APXEE8191H | \n", "base | \n", "439.333333 | \n", "10.40 | \n", "7.59 | \n", "45.690667 | \n", "3.334540 | \n", "
4 | \n", "ATDID5461S | \n", "base | \n", "275.666667 | \n", "9.17 | \n", "6.28 | \n", "25.278633 | \n", "1.731187 | \n", "
... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
1183 | \n", "YPKYH1768F | \n", "same_patient_characteristics | \n", "250.333333 | \n", "7.47 | \n", "4.98 | \n", "18.699900 | \n", "1.246660 | \n", "
1184 | \n", "YQMZV4284N | \n", "same_patient_characteristics | \n", "358.333333 | \n", "15.92 | \n", "12.87 | \n", "57.046667 | \n", "4.611750 | \n", "
1185 | \n", "ZBVSO0975W | \n", "same_patient_characteristics | \n", "449.333333 | \n", "7.66 | \n", "6.23 | \n", "34.418933 | \n", "2.799347 | \n", "
1186 | \n", "ZHCLE1578P | \n", "same_patient_characteristics | \n", "796.000000 | \n", "10.76 | \n", "8.78 | \n", "85.649600 | \n", "6.988880 | \n", "
1187 | \n", "ZRRCV7012C | \n", "same_patient_characteristics | \n", "597.333333 | \n", "11.19 | \n", "8.67 | \n", "66.841600 | \n", "5.178880 | \n", "
1188 rows × 7 columns
\n", "\n", " | actual | \n", "cohort | \n", "
---|---|---|
count | \n", "132.00 | \n", "132.00 | \n", "
mean | \n", "11.23 | \n", "11.08 | \n", "
std | \n", "3.37 | \n", "3.91 | \n", "
min | \n", "1.69 | \n", "2.65 | \n", "
25% | \n", "9.24 | \n", "8.29 | \n", "
50% | \n", "10.92 | \n", "10.96 | \n", "
75% | \n", "13.12 | \n", "12.87 | \n", "
max | \n", "24.23 | \n", "24.93 | \n", "