{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Example output from stroke outcome model\n", "\n", "In this notebook we provide an example of the output from the stroke outcome model assuming IVT is delivered at 90 mins and MT is delivered at 120 mins after stroke onset.\n", "\n", "The model provides a sample distribution of mRS scores for 1,000 patients." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Load packages and data file" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "pycharm": { "name": "#%%\n" } }, "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", "import numpy as np\n", "import pandas as pd\n", "from outcome_utilities.clinical_outcome import Clinical_outcome\n", "\n", "import warnings\n", "warnings.filterwarnings(\"ignore\")\n", "\n", "# Load mRS distributions\n", "mrs_dists = pd.read_csv(\n", " './outcome_utilities/mrs_dist_probs_cumsum.csv', index_col='Stroke type')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## View the loaded mRS distributions\n", "For each stroke type (by row) the the imported table shows the cumulative proportion of patients with each mRS score (0-6)" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
0123456
Stroke type
pre_stroke_nlvo0.5828810.7454190.8488590.9510820.9930551.0000001.0
pre_stroke_nlvo_ivt_deaths0.5764690.7372190.8395220.9406200.9821310.9890001.0
pre_stroke_lvo0.4178940.5608530.6792830.8434940.9572691.0000001.0
pre_stroke_lvo_ivt_deaths0.4036440.5417280.6561190.8147310.9246260.9659001.0
pre_stroke_lvo_mt_deaths0.4028500.5406620.6548290.8131280.9228070.9640001.0
no_treatment_nlvo0.1971440.4600000.5800320.7077680.8556770.9177021.0
no_effect_nlvo_ivt_deaths0.1972710.4600000.5775830.7022520.8452440.9044541.0
t0_treatment_nlvo_ivt0.4298080.6300000.7382120.8484270.9291880.9563001.0
no_treatment_lvo0.0500000.1290000.2650000.4290000.6760000.8110001.0
no_effect_lvo_ivt_deaths0.0478980.1235760.2538580.4109620.6475760.7769001.0
no_effect_lvo_mt_deaths0.0477810.1232740.2532370.4099570.6459930.7750001.0
t0_treatment_lvo_ivt0.1129160.2000000.3273770.4847570.6982120.8114431.0
t0_treatment_lvo_mt0.3140820.4363150.5544310.7123350.8536040.9167501.0
\n", "
" ], "text/plain": [ " 0 1 2 3 4 \\\n", "Stroke type \n", "pre_stroke_nlvo 0.582881 0.745419 0.848859 0.951082 0.993055 \n", "pre_stroke_nlvo_ivt_deaths 0.576469 0.737219 0.839522 0.940620 0.982131 \n", "pre_stroke_lvo 0.417894 0.560853 0.679283 0.843494 0.957269 \n", "pre_stroke_lvo_ivt_deaths 0.403644 0.541728 0.656119 0.814731 0.924626 \n", "pre_stroke_lvo_mt_deaths 0.402850 0.540662 0.654829 0.813128 0.922807 \n", "no_treatment_nlvo 0.197144 0.460000 0.580032 0.707768 0.855677 \n", "no_effect_nlvo_ivt_deaths 0.197271 0.460000 0.577583 0.702252 0.845244 \n", "t0_treatment_nlvo_ivt 0.429808 0.630000 0.738212 0.848427 0.929188 \n", "no_treatment_lvo 0.050000 0.129000 0.265000 0.429000 0.676000 \n", "no_effect_lvo_ivt_deaths 0.047898 0.123576 0.253858 0.410962 0.647576 \n", "no_effect_lvo_mt_deaths 0.047781 0.123274 0.253237 0.409957 0.645993 \n", "t0_treatment_lvo_ivt 0.112916 0.200000 0.327377 0.484757 0.698212 \n", "t0_treatment_lvo_mt 0.314082 0.436315 0.554431 0.712335 0.853604 \n", "\n", " 5 6 \n", "Stroke type \n", "pre_stroke_nlvo 1.000000 1.0 \n", "pre_stroke_nlvo_ivt_deaths 0.989000 1.0 \n", "pre_stroke_lvo 1.000000 1.0 \n", "pre_stroke_lvo_ivt_deaths 0.965900 1.0 \n", "pre_stroke_lvo_mt_deaths 0.964000 1.0 \n", "no_treatment_nlvo 0.917702 1.0 \n", "no_effect_nlvo_ivt_deaths 0.904454 1.0 \n", "t0_treatment_nlvo_ivt 0.956300 1.0 \n", "no_treatment_lvo 0.811000 1.0 \n", "no_effect_lvo_ivt_deaths 0.776900 1.0 \n", "no_effect_lvo_mt_deaths 0.775000 1.0 \n", "t0_treatment_lvo_ivt 0.811443 1.0 \n", "t0_treatment_lvo_mt 0.916750 1.0 " ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "mrs_dists" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Set up outcome model and get output" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false }, "pycharm": { "name": "#%%\n" } }, "outputs": [], "source": [ "# Set up outcome model\n", "outcome_model = Clinical_outcome(mrs_dists)\n", "\n", "# Get outputs\n", "time_to_ivt = 90\n", "time_to_mt = 120\n", "outcomes = outcome_model.calculate_outcomes(\n", " time_to_ivt, time_to_mt, patients=10000, random_spacing=False)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Show raw model output\n", "\n", "The model output is a dictionary of results." ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false }, "pycharm": { "name": "#%%\n" } }, "outputs": [ { "data": { "text/plain": [ "{'lvo_untreated_probs': array([0.05 , 0.079, 0.136, 0.164, 0.247, 0.135, 0.189]),\n", " 'nlvo_untreated_probs': array([0.1972, 0.2628, 0.12 , 0.1278, 0.1478, 0.0621, 0.0823]),\n", " 'lvo_ivt_probs': array([0.0926, 0.0865, 0.1298, 0.1581, 0.2195, 0.1171, 0.1964]),\n", " 'lvo_mt_probs': array([0.2085, 0.1272, 0.1377, 0.1697, 0.1703, 0.0783, 0.1083]),\n", " 'nlvo_ivt_probs': array([0.366 , 0.2248, 0.1128, 0.1164, 0.0941, 0.033 , 0.0529]),\n", " 'lvo_untreated_mean_utility': 0.33261,\n", " 'nlvo_untreated_mean_utility': 0.5993989999999999,\n", " 'lvo_ivt_mean_utility': 0.37059999999999993,\n", " 'lvo_mt_mean_utility': 0.528597,\n", " 'nlvo_ivt_mean_utility': 0.7128859999999999,\n", " 'lvo_ivt_added_utility': 0.03798999999999991,\n", " 'lvo_mt_added_utility': 0.19598699999999997,\n", " 'nlvo_ivt_added_utility': 0.113487,\n", " 'lvo_untreated_cum_probs': array([0.05 , 0.129, 0.265, 0.429, 0.676, 0.811, 1. ]),\n", " 'nlvo_untreated_cum_probs': array([0.1972, 0.46 , 0.58 , 0.7078, 0.8556, 0.9177, 1. ]),\n", " 'lvo_ivt_cum_probs': array([0.0926, 0.1791, 0.3089, 0.467 , 0.6865, 0.8036, 1. ]),\n", " 'lvo_mt_cum_probs': array([0.2085, 0.3357, 0.4734, 0.6431, 0.8134, 0.8917, 1. ]),\n", " 'nlvo_ivt_cum_probs': array([0.366 , 0.5908, 0.7036, 0.82 , 0.9141, 0.9471, 1. ]),\n", " 'lvo_ivt_shift': array([ 0.0426, 0.0075, -0.0062, -0.0059, -0.0275, -0.0179, 0.0074]),\n", " 'lvo_mt_shift': array([ 0.1585, 0.0482, 0.0017, 0.0057, -0.0767, -0.0567, -0.0807]),\n", " 'nlvo_ivt_shift': array([ 0.1688, -0.038 , -0.0072, -0.0114, -0.0537, -0.0291, -0.0294]),\n", " 'lvo_untreated_mean_mRS': 3.64,\n", " 'nlvo_untreated_mean_mRS': 2.2817,\n", " 'lvo_ivt_mean_mRS': 3.4623,\n", " 'lvo_mt_mean_mRS': 2.6342,\n", " 'nlvo_ivt_mean_mRS': 1.6584,\n", " 'lvo_ivt_mean_shift': -0.1777,\n", " 'lvo_mt_mean_shift': -1.0058,\n", " 'nlvo_ivt_mean_shift': -0.6233,\n", " 'lvo_ivt_improved': 0.1851,\n", " 'lvo_mt_improved': 0.8088,\n", " 'nlvo_ivt_improved': 0.6125}" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "outcomes" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Plot mRS distributions" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "mRS distributions" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "image/png": "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jz76KO9617u45557yEy2bds27GNdddVVrFq1avt8sy1btnDfffdx7bXX8t73vheA+fPnM3/+/PaebO/oB/ZvWp4LbBzcKCLmAxcCizNz08D6zNxY/H0gIi6nMbVhSGFbjOSuAFiwYEH29fWN41PYuVqtxkTtq129GluvxgW9G1uncd15552lnopr1qxZo55Sa9asWeyyyy47tNljjz2YPn0606ZNY8mSJcyaNYtXv/rVnHPOOcyaNYvp06ez++67b++zxx578Ja3vIV99tkHgP/zf/4P99xzz/bHq9frADz77LOceuqp3HPPPUQETz311LCPV6vVuOKKK7jgggsAePrpp3n44Yf5j//4D9773vcya9Ysjj76aObPn8+MGTOGPL/p06dzxBFHtPw6WdhKKsXee+/Nww8/vMO6hx56aPv5CPfYYw8Apk2bNuI8rhkzZmy//+yzz3L99ddvL3QHvOc972HRokVcfvnl3HbbbbzxjW8c9rEyk6985SscfPDBQ7ZV5NfMa4GDImIe8FNgCfCO5gYR8WLgq8BJmfmjpvUzgF0yc3Nx/3jgQxMWuaQx61be3bBhA8cdd9ywjzXRedcfj0kqxcyZM9l333255pprgEZyveKKKzj22GN32mdgRGJnjj/++O3TCqBxyAzg0UcfZb/99gPg85///E4f7w1veAP/9E//RGbj6Px//ud/AvCa17xme7/bbruNW265pZ2n2jMycytwBnAlcCfwpcy8PSJOj4jTi2YfBPYG/nnQab3mANdFxM3ADcA3M/OKCX4KksagW3n3X//1X3f6eBOddy1sx6Bev5FaLTq6SVPBpZdeykc+8hEOP/xwXvva13Luuedy4IEH7rT9okWLuOOOOzj88MP54he/OGT7pz71KdatW8f8+fM55JBDWL58OQB/+Zd/yfvf/36OOeaYHaYhDH68v/mbv+GZZ55h/vz5HHroofzN3/wNAH/6p39KvV5n/vz5fOITn+Coo44a51di4mTm6sz81cw8MDP/rli3PDOXF/ffnZm/VJzSa/tpvYozKRxW3H59oK80WXX7bAPdMtXzrlMRpClg4JvyRDvkkENYs2bNkPXNPwSYPXv29jm2L3zhC1m7du1OH2/27NnDJt6jjz6aH/2ocVR98+bNfOITn9jp433mM58Z0n/PPfdk5cqVoz4fSWrVVMq70Ch0d/Z4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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "fig = plt.figure(figsize=(10,6))\n", "\n", "# nLVO\n", "x = np.arange(7)\n", "width = 0.4\n", "ax1 = fig.add_subplot(121)\n", "y = outcomes['nlvo_untreated_probs']\n", "ax1.bar(x - width/2, y, width = width, label='Untreated', color='k')\n", "y = outcomes['nlvo_ivt_probs']\n", "ax1.bar(x + width/2, y, width = width, label='IVT', color='y')\n", "title = f'nLVO\\nTime to IVT {time_to_ivt} mins.'\n", "ax1.set_title(title)\n", "ax1.set_xlabel('mRS')\n", "ax1.set_ylabel('Probability')\n", "ax1.grid()\n", "ax1.legend()\n", "\n", "# LVO\n", "width = 0.25\n", "x = np.arange(7)\n", "ax2 = fig.add_subplot(122)\n", "y = outcomes['lvo_untreated_probs']\n", "ax2.bar(x - width, y, width = width, label='Untreated', color='k')\n", "y = outcomes['lvo_ivt_probs']\n", "ax2.bar(x, y, width = width, label='IVT', color='y')\n", "y = outcomes['lvo_mt_probs']\n", "ax2.bar(x + width, y, width = width, label='MT', color='r')\n", "title = f'LVO\\nTime to IVT {time_to_ivt} mins; Time to MT {time_to_mt} mins.'\n", "ax2.set_title(title)\n", "ax2.set_xlabel('mRS')\n", "ax2.set_ylabel('Probability')\n", "ax2.grid()\n", "ax2.legend()\n", "\n", "plt.tight_layout(pad=2)\n", "plt.savefig('./images/demo_mrs_dists.jpg', dpi=300)\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Cumulative mRS distributions" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "image/png": "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bhQRzJo1q7Q94JKmPuvu+LLuSuOjFo0tYHEdZ76fkkZinRhfvp/S2NWmsZ1sq1atYvfdd99s2mmnncaSJUuGXeenP/0pl1566bhl6HR7vb29rFixYtxySNJEsO5KGqyWjW1EjOutLK0K4saNG8d1e5JUpvGsudttt11pOa27Ur3V4uCxquvt7WWfffZh+fLlPPDAA5x11lnss88+/NM//RPr16/nqquu4uSTT+aWW27h7rvvZtWqVey4446cccYZHHvssdx5550AnH766ey7775cc801HH/88axfv54nPOEJnHvuucybN2+L7R188MEcd9xx3HDDDWzcuJHTTjuNQw89lPXr13P00Udz880385znPIf169dP8jskSePLuit1p9Ia24g4GzgYuDczdx9ifgBnAH8KPAy8NTN/XFaeybZx40auueYaLr30Uj7wgQ9wxRVX8MEPfpAVK1bw6U9/Gmh8hbZy5UquuuoqttlmG974xjdywgknsN9++3HnnXdywAEHcMstt/DsZz+bK6+8kq233pqLL76YU045hQsvvHCL7Z1yyim84hWv4Oyzz+aBBx5g77335lWvehWf+9zneNKTnsT111/P9ddfzwte8ILJfGskjRPr7uasu1L3KXOP7ReATwPnDjP/IGC34rYP8Nni3ylpuCELA9Nf+9rXArBw4UJWrVo17HYOOeQQttlmGwCuuOIKbr755sfmPfjgg6xbt461a9fylre8hZ///OdkJps2bRpyW9/61re4+OKLHxtvtmHDBu68806uvPJK3vWudwGwYMECFixYMLoXK6mqvoB117ordbHSGtvMvDIi5rZY5FDg3MxM4EcRsUNE7JSZ95SVqUyzZs3id7/73WbT7r///sfOR/jEJz4RgGnTprUcx7Xttts+dv/RRx/l6quvfqzgDjjuuONYvHgxX//617nxxhs5+OCDh9xWZnLhhRcyf/78LeZ59K1UP9Zd667U7Sbz4LGdgbuaHq8upk1JPT097LTTTnznO98BGsX1sssuY7/99ht2nZkzZ7Ju3bph5++///6Pfb0FjYMUANauXcvOOzfeqi996UvDbu+AAw7gU5/6FI3/w+AnP/kJAC972cseW+/GG2/k+uuvH81LlTR1WXetu1KtTebBY0N9dM0hF4w4BjgGYPbs2fT19W02f/vtt29ZqMZq06ZNbW3/s5/9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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "fig = plt.figure(figsize=(10,6))\n", "\n", "# nLVO\n", "x = np.arange(7)\n", "width = 0.4\n", "ax1 = fig.add_subplot(121)\n", "y = np.cumsum(outcomes['nlvo_untreated_probs'])\n", "ax1.bar(x - width/2, y, width = width, label='Untreated', color='k')\n", "y = np.cumsum(outcomes['nlvo_ivt_probs'])\n", "ax1.bar(x + width/2, y, width = width, label='IVT', color='y')\n", "title = f'nLVO\\nTime to IVT {time_to_ivt} mins.'\n", "ax1.set_title(title)\n", "ax1.set_xlabel('mRS')\n", "ax1.set_ylabel('Cumulative probability')\n", "ax1.grid()\n", "ax1.legend()\n", "\n", "# LVO\n", "width = 0.25\n", "x = np.arange(7)\n", "ax2 = fig.add_subplot(122)\n", "y = np.cumsum(outcomes['lvo_untreated_probs'])\n", "ax2.bar(x - width, y, width = width, label='Untreated', color='k')\n", "y = np.cumsum(outcomes['lvo_ivt_probs'])\n", "ax2.bar(x, y, width = width, label='IVT', color='y')\n", "y = np.cumsum(outcomes['lvo_mt_probs'])\n", "ax2.bar(x + width, y, width = width, label='MT', color='r')\n", "title = f'LVO\\nTime to IVT {time_to_ivt} mins; Time to MT {time_to_mt} mins.'\n", "ax2.set_title(title)\n", "ax2.set_xlabel('mRS')\n", "ax2.set_ylabel('Cumulative probability')\n", "ax2.grid()\n", "ax2.legend()\n", "\n", "plt.tight_layout(pad=2)\n", "plt.savefig('./images/demo_cum_mrs_dists.jpg', dpi=300)\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Plot changes in mRS proportions with treatment" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "fig = plt.figure(figsize=(10,6))\n", "\n", "# nLVO\n", "x = np.arange(7)\n", "width = 0.8\n", "ax1 = fig.add_subplot(121)\n", "y = outcomes['nlvo_ivt_shift']\n", "ax1.bar(x, y, width = width, label='IVT', color='y')\n", "title = f'nLVO\\nTime to IVT {time_to_ivt} mins.'\n", "ax1.set_title(title)\n", "ax1.set_xlabel('mRS')\n", "ax1.set_ylabel('Change in probability')\n", "ax1.grid()\n", "ax1.legend()\n", "\n", "# LVO\n", "width = 0.4\n", "x = np.arange(7)\n", "ax2 = fig.add_subplot(122)\n", "y = outcomes['lvo_ivt_shift']\n", "ax2.bar(x - width/2, y, width = width, label='IVT', color='y')\n", "y = outcomes['lvo_mt_shift']\n", "ax2.bar(x + width/2, y, width = width, label='MT', color='r')\n", "title = f'LVO\\nTime to IVT {time_to_ivt} mins; Time to MT {time_to_mt} mins.'\n", "ax2.set_title(title)\n", "ax2.set_xlabel('mRS')\n", "ax2.set_ylabel('Probability')\n", "ax2.grid()\n", "ax2.legend()\n", "\n", "plt.tight_layout(pad=2)\n", "plt.savefig('./images/demo_mrs_shifts.jpg', dpi=300)\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Other stats\n", "\n", "### Mean mRS" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Mean mRS\n", "--------\n", "LVO untreated: 3.64\n", "LVO IVT: 3.4623\n", "LVO MT: 2.6342\n", "nLVO untreated: 2.2817\n", "nLVO IVT: 1.6584\n" ] } ], "source": [ "print('Mean mRS')\n", "print('--------')\n", "print('LVO untreated:', outcomes['lvo_untreated_mean_mRS'])\n", "print('LVO IVT:', outcomes['lvo_ivt_mean_mRS'])\n", "print('LVO MT:', outcomes['lvo_mt_mean_mRS'])\n", "print('nLVO untreated:', outcomes['nlvo_untreated_mean_mRS'])\n", "print('nLVO IVT:', outcomes['nlvo_ivt_mean_mRS'])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Mean shift in mRS" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Mean mRS shift\n", "--------------\n", "LVO IVT: -0.1777\n", "LVO MT: -1.0058\n", "nLVO IVT: -0.6233\n" ] } ], "source": [ "print('Mean mRS shift')\n", "print('--------------')\n", "print('LVO IVT:', outcomes['lvo_ivt_mean_shift'])\n", "print('LVO MT:', outcomes['lvo_mt_mean_shift'])\n", "print('nLVO IVT:', outcomes['nlvo_ivt_mean_shift'])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### The proportion of patients with improved mRS\n", "Assuming all patients move up the mRS." ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Proportion improved\n", "-------------------\n", "LVO IVT: 0.1851\n", "LVO MT: 0.8088\n", "nLVO IVT: 0.6125\n" ] } ], "source": [ "print('Proportion improved')\n", "print('-------------------')\n", "print('LVO IVT:', outcomes['lvo_ivt_improved'])\n", "print('LVO MT:', outcomes['lvo_mt_improved'])\n", "print('nLVO IVT:', outcomes['nlvo_ivt_improved'])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Utility-weighted mRS outcomes\n", "\n", "In addition to mRS, we may calculate utility-weighted mRS (UW-mRS).\n", "\n", "UW-mRS incorporates both treatment effect and patient perceived quality of life as a single outcome measure for stroke trials.\n", "\n", "UW-mRS scores are based on a pooled analysis of 2,000+ patients. \n", "From Wang X, Moullaali TJ, Li Q, Berge E, Robinson TG, Lindley R, et al.\n", "Utility-Weighted Modified Rankin Scale Scores for the Assessment of Stroke\n", "Outcome. Stroke. 2020 Aug 1;51(8):2411-7.\n", "\n", "| mRS Score | 0 | 1 | 2 | 3 | 4 | 5 | 6 |\n", "|-----------|------|------|------|------|------|-------|------|\n", "| Utility | 0.97 | 0.88 | 0.74 | 0.55 | 0.20 | -0.19 | 0.00 |" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "LVO untreated UW-mRS: 0.333\n", "LVO IVT UW-mRS: 0.371 (added UW-mRS: 0.038)\n", "LVO MT UW-mRS: 0.529 (added UW-mRS: 0.196)\n", "nLVO untreated UW-mRS: 0.599\n", "nLVO IVT UW-mRS: 0.713 (added UW-mRS: 0.113)\n" ] } ], "source": [ "x = outcomes['lvo_untreated_mean_utility']\n", "print(f'LVO untreated UW-mRS: {x:0.3f}')\n", "\n", "x1 = outcomes['lvo_ivt_mean_utility']\n", "x2 = outcomes['lvo_ivt_added_utility']\n", "print(f'LVO IVT UW-mRS: {x1:0.3f} (added UW-mRS: {x2:0.3f})')\n", "\n", "x1 = outcomes['lvo_mt_mean_utility']\n", "x2 = outcomes['lvo_mt_added_utility']\n", "print(f'LVO MT UW-mRS: {x1:0.3f} (added UW-mRS: {x2:0.3f})')\n", "\n", "x = outcomes['nlvo_untreated_mean_utility']\n", "print(f'nLVO untreated UW-mRS: {x:0.3f}')\n", "\n", "x1 = outcomes['nlvo_ivt_mean_utility']\n", "x2 = outcomes['nlvo_ivt_added_utility']\n", "print(f'nLVO IVT UW-mRS: {x1:0.3f} (added UW-mRS: {x2:0.3f})')\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## An example showing how untreated and treated mRS are compared at a patient level\n", "\n", "In the example below we look at the treatment effect of 5 LVO patients treated with MT.\n", "\n", "After calculating the treated mRS distribution at the specified treatment time, we can sample random patients by sampling from a uniform 0-1 distribution and using that same sampled value for each patient compare their location on untreated and treated distributions.\n", "\n", "For illustration we use more evenly spaced patient values (rather than random), and we can see:\n", "\n", "* Patient #1 (P=0.1): mRS untreated = 1, mRS treated = 0\n", "* Patient #2 (P=0.3): mRS untreated = 3, mRS treated = 1\n", "* Patient #3 (P=0.5): mRS untreated = 4, mRS treated = 3\n", "* Patient #4 (P=0.7): mRS untreated = 5, mRS treated = 4\n", "* Patient #5 (P=0.9): mRS untreated = 6, mRS treated = 6\n", "\n", "This model is likely a simplification of actual effects, but should capture the average effect of treatment well, and provide a good guide to the proportion of patients who will move at least one mRS unit with treatment." ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [], "source": [ "def draw_horizontal_bar(dist,label=''):\n", " \"\"\"\n", " Draw a stacked horizontal bar chart of the values in 'dist'.\n", " \n", " dist - list or np.array. The probability distribution \n", " (non-cumulative).\n", " label - string. The name printed next to these stacked bars.\n", " \"\"\"\n", " colour_list = plt.rcParams['axes.prop_cycle'].by_key()['color']\n", " # The first bar will start at this point on the x-axis:\n", " left = 0\n", " for i in range(len(dist)):\n", " # Draw a bar starting from 'left', the end of the previous bar,\n", " # with a width equal to the probability of this mRS:\n", " plt.barh(label, width=dist[i], left=left, height=0.5, \n", " label=f'{i}', edgecolor='k', color=colour_list[i%6])\n", " # Update 'left' with the width of the current bar so that the \n", " # next bar drawn will start in the correct place. \n", " left += dist[i]" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [], "source": [ "def draw_connections(dist_t0, dist_tne, top_tne=0.25, bottom_t0=0.75):\n", " \"\"\"\n", " Draw lines connecting the mRS bins in the top and bottom rows.\n", " \n", " dist_t0, dist_tne - lists or arrays. Probability distributions.\n", " top_tne, bottom_t0 - floats. y-coordinates just inside the bars. \n", " \"\"\"\n", " left_t0 = 0.0\n", " left_tne = 0.0\n", " for i, d_t0 in enumerate(dist_t0):\n", " left_t0 += dist_t0[i]\n", " left_tne += dist_tne[i]\n", " plt.plot([left_t0,left_tne],[bottom_t0,top_tne],color='k')" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "image/png": "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ZGb+4YcfuEyZMtyoUSO+cuWKy8otDovFwiNHjmQA/Nxzz3FWVpbqkBxqyZIl7OnpyY0bN+bY2FjV4ZhCUlISV6lShevXr8937txRHU6eoqKiuFatWiVun81JkpkBH65KZszM69evZzc3N+7fv//dM45jxwbxsWODnFrupk2buFy5cly7dm2+cOGCU8sqDtu6yM7Ovtt5dujQoZyZmak4OsfasGEDlytXjmvUqMFnzpz5x3RX7BdmYa2LDRs23P2CY1TfffcdA+D169c7Zf1G2S+kn1kp17VrV0ydOhXLli3DtGnTAADp6ZeQnn7JqeV27NgRGzZsQEJCAqKionDmzBmnlldUtnVBRPjggw/wzjvvYP78+Xj88cdL1N3Ju3Tpgs2bN+PmzZto06YNDh48+LfprtgvzMJaF126dMG4cePwySefYMOGDarDylXfvn0RHBzstIYgpWW/kGRmAhMmTMDjjz+O1157DevWrXNZuQ888AA2b96M27dvIyoqCseOGWvk3twQEd5880189NFHWLFiBXr37l1gwwkzadmyJXbs2AFPT09ER0dj+/btqkMyvKlTp6J+/foYNmwYrl27pjqcfyhTpgyefvpprF27VkZQKAZJZiZARJg7dy6aNm2KJ554wukdqm01b94c27dvBxEhOjoa+/fvd1nZxfHCCy9gzpw52LBhg2laZ9qrfv362LVrFypXroyuXbti7dq1qkMytLJly2LhwoW4evUqnnnmGe33FYMZPXo0mBlffvml6lBMS5KZSfj4+GDVqlXw9PTE0aNHXdp/pkGDBtixYwd8fX3RsWNH7Nq1y2VlF0dJHuQzPDwcO3fuvDvw6oIFC1SHZGjNmzfHO++8g2XLlrnkFlKFVb16dTz00EOYM2eO9CksIklmJhIREYGlS5di//5UbNkS79I7Q9SqVQs7duxAaGgoHnzwwVz7v6ng798a/v6t85xuHeTz2LFjJW6Qz6CgIGzatAnt27fH0KFDcfKke751UZrktl+8/PLLaNu2LcaOHYsLFy4oiixvY8aMwZUrV7B69WqHrregz0iJ4ayWJSX54crWjLn5z3/+wwB44sSJLi87Li6OGzduzF5eXrxmzRqXl19UW7duZV9fX65ZsyafO3dOdTgOlZaWxv369WMA/Oqrr5a4fnaOdO7cOfb19eXo6Gi2WCyqw/kbi8XCERER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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "bar_1 = outcomes['lvo_untreated_probs']\n", "bar_2 = outcomes['lvo_mt_probs']\n", "\n", "# Draw no effect distribution\n", "draw_horizontal_bar(bar_2, 'Treated (MT)')\n", "\n", "# Add legend now to prevent doubling all the labels:\n", "plt.legend(loc='center',ncol=7, title='mRS', \n", " bbox_to_anchor=[0.5,0.0,0.0,-0.5]) # Legend below axis.\n", "\n", "# Draww t=0 distribution\n", "draw_horizontal_bar(bar_1, 'Untreated')\n", "\n", "# Darw connecting lines\n", "draw_connections(bar_1, bar_2)\n", "\n", "plt.vlines(0.1, -0.25, 1.25, colors='y', linestyles='dashed')\n", "plt.vlines(0.3, -0.25, 1.25, colors='y', linestyles='dashed')\n", "plt.vlines(0.5, -0.25, 1.25, colors='y', linestyles='dashed')\n", "plt.vlines(0.7, -0.25, 1.25, colors='y', linestyles='dashed')\n", "plt.vlines(0.9, -0.25, 1.25, colors='y', linestyles='dashed')\n", "\n", "# Add general content\n", "plt.xlabel('Probability')\n", "plt.title('Treatment effect in 5 LVO patients (dashed lines)')\n", "plt.xlim(0,1)\n", "plt.savefig(f'./images/treatment_shift.jpg', dpi=300, bbox_inches='tight', \n", " pad_inches=0.2)\n", "plt.show()" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.13" }, "vscode": { "interpreter": { "hash": "1cbbc16b0c861749b9a95c5f128e49297cfff30c52b65168a4b24d814ebeea2e" } } }, "nbformat": 4, "nbformat_minor": 4 }