Skip to content

Commit 9337e46

Browse files
committed
PKG: updated package scenario code
1 parent 99aad6c commit 9337e46

File tree

5 files changed

+842
-168
lines changed

5 files changed

+842
-168
lines changed

content/02_model_code/04_model.ipynb

Lines changed: 105 additions & 70 deletions
Original file line numberDiff line numberDiff line change
@@ -512,7 +512,7 @@
512512
" non_trauma_treat_p=DEFAULT_NON_TRAUMA_TREAT_P,\n",
513513
" prob_trauma=DEFAULT_PROB_TRAUMA):\n",
514514
" '''\n",
515-
" The init method sets up our defaults.\n",
515+
" Create a scenario to parameterise the simulation model\n",
516516
" \n",
517517
" Parameters:\n",
518518
" -----------\n",
@@ -537,7 +537,42 @@
537537
" \n",
538538
" n_cubicles_2: int\n",
539539
" The number of trauma treatment cubicles\n",
540+
" \n",
541+
" triage_mean: float\n",
542+
" Mean duration of the triage distribution (Exponential)\n",
543+
" \n",
544+
" reg_mean: float\n",
545+
" Mean duration of the registration distribution (Lognormal)\n",
546+
" \n",
547+
" reg_var: float\n",
548+
" Variance of the registration distribution (Lognormal)\n",
549+
" \n",
550+
" exam_mean: float\n",
551+
" Mean of the examination distribution (Normal)\n",
552+
" \n",
553+
" exam_var: float\n",
554+
" Variance of the examination distribution (Normal)\n",
555+
" \n",
556+
" trauma_mean: float\n",
557+
" Mean of the trauma stabilisation distribution (Exponential)\n",
558+
" \n",
559+
" trauma_treat_mean: float\n",
560+
" Mean of the trauma cubicle treatment distribution (Lognormal)\n",
561+
" \n",
562+
" trauma_treat_var: float\n",
563+
" Variance of the trauma cubicle treatment distribution (Lognormal)\n",
540564
" \n",
565+
" non_trauma_treat_mean: float\n",
566+
" Mean of the non trauma treatment distribution\n",
567+
" \n",
568+
" non_trauma_treat_var: float\n",
569+
" Variance of the non trauma treatment distribution\n",
570+
" \n",
571+
" non_trauma_treat_p: float\n",
572+
" Probability non trauma patient requires treatment\n",
573+
" \n",
574+
" prob_trauma: float\n",
575+
" probability that a new arrival is a trauma patient.\n",
541576
" '''\n",
542577
" # sampling\n",
543578
" self.random_number_set = random_number_set\n",
@@ -618,12 +653,12 @@
618653
" random_seed=self.seeds[3])\n",
619654
" \n",
620655
" # Non-trauma treatment\n",
621-
" self.nt_treat_dist = Lognormal(self.trauma_treat_mean, \n",
622-
" np.sqrt(self.trauma_treat_var),\n",
656+
" self.nt_treat_dist = Lognormal(self.non_trauma_treat_mean, \n",
657+
" np.sqrt(self.non_trauma_treat_var),\n",
623658
" random_seed=self.seeds[4])\n",
624659
" \n",
625660
" # treatment of trauma patients\n",
626-
" self.treat_dist = Lognormal(self.non_trauma_treat_mean, \n",
661+
" self.treat_dist = Lognormal(self.trauma_treat_mean, \n",
627662
" np.sqrt(self.non_trauma_treat_var),\n",
628663
" random_seed=self.seeds[5])\n",
629664
" \n",
@@ -1488,15 +1523,15 @@
14881523
" </tr>\n",
14891524
" <tr>\n",
14901525
" <th>04a_treatment_wait(non_trauma)</th>\n",
1491-
" <td>285.228138</td>\n",
1526+
" <td>158.281113</td>\n",
14921527
" </tr>\n",
14931528
" <tr>\n",
14941529
" <th>04b_treatment_util(non_trauma)</th>\n",
1495-
" <td>0.983346</td>\n",
1530+
" <td>0.898896</td>\n",
14961531
" </tr>\n",
14971532
" <tr>\n",
14981533
" <th>05_total_time(non-trauma)</th>\n",
1499-
" <td>248.905957</td>\n",
1534+
" <td>244.927536</td>\n",
15001535
" </tr>\n",
15011536
" <tr>\n",
15021537
" <th>06a_trauma_wait</th>\n",
@@ -1520,7 +1555,7 @@
15201555
" </tr>\n",
15211556
" <tr>\n",
15221557
" <th>09_throughput</th>\n",
1523-
" <td>123.000000</td>\n",
1558+
" <td>161.000000</td>\n",
15241559
" </tr>\n",
15251560
" </tbody>\n",
15261561
"</table>\n",
@@ -1535,15 +1570,15 @@
15351570
"02b_registration_util 0.870552\n",
15361571
"03a_examination_wait 27.735811\n",
15371572
"03b_examination_util 0.872689\n",
1538-
"04a_treatment_wait(non_trauma) 285.228138\n",
1539-
"04b_treatment_util(non_trauma) 0.983346\n",
1540-
"05_total_time(non-trauma) 248.905957\n",
1573+
"04a_treatment_wait(non_trauma) 158.281113\n",
1574+
"04b_treatment_util(non_trauma) 0.898896\n",
1575+
"05_total_time(non-trauma) 244.927536\n",
15411576
"06a_trauma_wait 156.036116\n",
15421577
"06b_trauma_util 0.918339\n",
15431578
"07a_treatment_wait(trauma) 115.173959\n",
15441579
"07b_treatment_util(trauma) 0.904684\n",
15451580
"08_total_time(trauma) 379.594387\n",
1546-
"09_throughput 123.000000"
1581+
"09_throughput 161.000000"
15471582
]
15481583
},
15491584
"execution_count": 17,
@@ -1590,8 +1625,8 @@
15901625
"text": [
15911626
"Running multiple replications => done.\n",
15921627
"\n",
1593-
"CPU times: user 1.85 s, sys: 17.4 ms, total: 1.87 s\n",
1594-
"Wall time: 3.21 s\n"
1628+
"CPU times: user 2.09 s, sys: 12.9 ms, total: 2.11 s\n",
1629+
"Wall time: 3.46 s\n"
15951630
]
15961631
},
15971632
{
@@ -1662,15 +1697,15 @@
16621697
" <td>0.854615</td>\n",
16631698
" <td>28.478642</td>\n",
16641699
" <td>0.847430</td>\n",
1665-
" <td>248.726939</td>\n",
1666-
" <td>0.958961</td>\n",
1667-
" <td>242.043358</td>\n",
1700+
" <td>145.414321</td>\n",
1701+
" <td>0.853189</td>\n",
1702+
" <td>247.872229</td>\n",
16681703
" <td>8.595360</td>\n",
16691704
" <td>0.368908</td>\n",
16701705
" <td>214.198331</td>\n",
16711706
" <td>0.976808</td>\n",
16721707
" <td>399.200311</td>\n",
1673-
" <td>118.0</td>\n",
1708+
" <td>154.0</td>\n",
16741709
" </tr>\n",
16751710
" <tr>\n",
16761711
" <th>2</th>\n",
@@ -1681,15 +1716,15 @@
16811716
" <td>0.749027</td>\n",
16821717
" <td>16.328179</td>\n",
16831718
" <td>0.795921</td>\n",
1684-
" <td>278.011538</td>\n",
1685-
" <td>0.921861</td>\n",
1686-
" <td>191.461429</td>\n",
1719+
" <td>134.202786</td>\n",
1720+
" <td>0.846795</td>\n",
1721+
" <td>178.799154</td>\n",
16871722
" <td>65.146932</td>\n",
16881723
" <td>0.838521</td>\n",
16891724
" <td>231.603567</td>\n",
16901725
" <td>0.778634</td>\n",
16911726
" <td>392.064964</td>\n",
1692-
" <td>102.0</td>\n",
1727+
" <td>139.0</td>\n",
16931728
" </tr>\n",
16941729
" <tr>\n",
16951730
" <th>3</th>\n",
@@ -1700,15 +1735,15 @@
17001735
" <td>0.839994</td>\n",
17011736
" <td>18.400280</td>\n",
17021737
" <td>0.847310</td>\n",
1703-
" <td>302.615660</td>\n",
1704-
" <td>0.851852</td>\n",
1705-
" <td>258.594057</td>\n",
1738+
" <td>169.503295</td>\n",
1739+
" <td>0.827088</td>\n",
1740+
" <td>260.804457</td>\n",
17061741
" <td>78.130137</td>\n",
17071742
" <td>0.816547</td>\n",
17081743
" <td>251.835736</td>\n",
17091744
" <td>1.188287</td>\n",
17101745
" <td>369.276920</td>\n",
1711-
" <td>118.0</td>\n",
1746+
" <td>157.0</td>\n",
17121747
" </tr>\n",
17131748
" </tbody>\n",
17141749
"</table>\n",
@@ -1729,15 +1764,15 @@
17291764
"\n",
17301765
" 04a_treatment_wait(non_trauma) 04b_treatment_util(non_trauma) \\\n",
17311766
"rep \n",
1732-
"1 248.726939 0.958961 \n",
1733-
"2 278.011538 0.921861 \n",
1734-
"3 302.615660 0.851852 \n",
1767+
"1 145.414321 0.853189 \n",
1768+
"2 134.202786 0.846795 \n",
1769+
"3 169.503295 0.827088 \n",
17351770
"\n",
17361771
" 05_total_time(non-trauma) 06a_trauma_wait 06b_trauma_util \\\n",
17371772
"rep \n",
1738-
"1 242.043358 8.595360 0.368908 \n",
1739-
"2 191.461429 65.146932 0.838521 \n",
1740-
"3 258.594057 78.130137 0.816547 \n",
1773+
"1 247.872229 8.595360 0.368908 \n",
1774+
"2 178.799154 65.146932 0.838521 \n",
1775+
"3 260.804457 78.130137 0.816547 \n",
17411776
"\n",
17421777
" 07a_treatment_wait(trauma) 07b_treatment_util(trauma) \\\n",
17431778
"rep \n",
@@ -1747,9 +1782,9 @@
17471782
"\n",
17481783
" 08_total_time(trauma) 09_throughput \n",
17491784
"rep \n",
1750-
"1 399.200311 118.0 \n",
1751-
"2 392.064964 102.0 \n",
1752-
"3 369.276920 118.0 "
1785+
"1 399.200311 154.0 \n",
1786+
"2 392.064964 139.0 \n",
1787+
"3 369.276920 157.0 "
17531788
]
17541789
},
17551790
"execution_count": 18,
@@ -1785,15 +1820,15 @@
17851820
"02b_registration_util 0.84\n",
17861821
"03a_examination_wait 24.79\n",
17871822
"03b_examination_util 0.85\n",
1788-
"04a_treatment_wait(non_trauma) 285.32\n",
1789-
"04b_treatment_util(non_trauma) 0.92\n",
1790-
"05_total_time(non-trauma) 239.88\n",
1823+
"04a_treatment_wait(non_trauma) 131.76\n",
1824+
"04b_treatment_util(non_trauma) 0.87\n",
1825+
"05_total_time(non-trauma) 230.43\n",
17911826
"06a_trauma_wait 135.77\n",
17921827
"06b_trauma_util 0.81\n",
17931828
"07a_treatment_wait(trauma) 175.30\n",
17941829
"07b_treatment_util(trauma) 0.85\n",
17951830
"08_total_time(trauma) 399.90\n",
1796-
"09_throughput 115.52\n",
1831+
"09_throughput 154.66\n",
17971832
"dtype: float64"
17981833
]
17991834
},
@@ -2104,27 +2139,27 @@
21042139
" </tr>\n",
21052140
" <tr>\n",
21062141
" <th>04a_treatment_wait(non_trauma)</th>\n",
2107-
" <td>292.71</td>\n",
2108-
" <td>295.57</td>\n",
2109-
" <td>296.22</td>\n",
2110-
" <td>162.00</td>\n",
2111-
" <td>299.21</td>\n",
2142+
" <td>137.72</td>\n",
2143+
" <td>139.98</td>\n",
2144+
" <td>151.82</td>\n",
2145+
" <td>2.26</td>\n",
2146+
" <td>152.09</td>\n",
21122147
" </tr>\n",
21132148
" <tr>\n",
21142149
" <th>04b_treatment_util(non_trauma)</th>\n",
2115-
" <td>0.91</td>\n",
2116-
" <td>0.91</td>\n",
2117-
" <td>0.91</td>\n",
2118-
" <td>0.87</td>\n",
2119-
" <td>0.91</td>\n",
2150+
" <td>0.86</td>\n",
2151+
" <td>0.86</td>\n",
2152+
" <td>0.86</td>\n",
2153+
" <td>0.63</td>\n",
2154+
" <td>0.86</td>\n",
21202155
" </tr>\n",
21212156
" <tr>\n",
21222157
" <th>05_total_time(non-trauma)</th>\n",
2123-
" <td>245.61</td>\n",
2124-
" <td>242.91</td>\n",
2125-
" <td>230.45</td>\n",
2126-
" <td>247.17</td>\n",
2127-
" <td>229.58</td>\n",
2158+
" <td>236.01</td>\n",
2159+
" <td>233.77</td>\n",
2160+
" <td>225.60</td>\n",
2161+
" <td>196.38</td>\n",
2162+
" <td>223.33</td>\n",
21282163
" </tr>\n",
21292164
" <tr>\n",
21302165
" <th>06a_trauma_wait</th>\n",
@@ -2168,11 +2203,11 @@
21682203
" </tr>\n",
21692204
" <tr>\n",
21702205
" <th>09_throughput</th>\n",
2171-
" <td>112.90</td>\n",
2172-
" <td>112.50</td>\n",
2173-
" <td>117.65</td>\n",
2174-
" <td>142.85</td>\n",
2175-
" <td>116.30</td>\n",
2206+
" <td>152.10</td>\n",
2207+
" <td>152.00</td>\n",
2208+
" <td>157.30</td>\n",
2209+
" <td>184.65</td>\n",
2210+
" <td>155.85</td>\n",
21762211
" </tr>\n",
21772212
" </tbody>\n",
21782213
"</table>\n",
@@ -2187,15 +2222,15 @@
21872222
"02b_registration_util 0.83 0.84 0.83 0.83 0.84\n",
21882223
"03a_examination_wait 24.57 24.15 0.13 23.03 0.15\n",
21892224
"03b_examination_util 0.85 0.85 0.67 0.84 0.67\n",
2190-
"04a_treatment_wait(non_trauma) 292.71 295.57 296.22 162.00 299.21\n",
2191-
"04b_treatment_util(non_trauma) 0.91 0.91 0.91 0.87 0.91\n",
2192-
"05_total_time(non-trauma) 245.61 242.91 230.45 247.17 229.58\n",
2225+
"04a_treatment_wait(non_trauma) 137.72 139.98 151.82 2.26 152.09\n",
2226+
"04b_treatment_util(non_trauma) 0.86 0.86 0.86 0.63 0.86\n",
2227+
"05_total_time(non-trauma) 236.01 233.77 225.60 196.38 223.33\n",
21932228
"06a_trauma_wait 144.46 154.00 132.94 146.09 165.43\n",
21942229
"06b_trauma_util 0.80 0.83 0.82 0.82 0.80\n",
21952230
"07a_treatment_wait(trauma) 168.27 209.12 195.16 150.37 193.69\n",
21962231
"07b_treatment_util(trauma) 0.79 0.81 0.83 0.81 0.86\n",
21972232
"08_total_time(trauma) 390.68 402.95 422.40 403.82 400.37\n",
2198-
"09_throughput 112.90 112.50 117.65 142.85 116.30"
2233+
"09_throughput 152.10 152.00 157.30 184.65 155.85"
21992234
]
22002235
},
22012236
"execution_count": 25,
@@ -2284,11 +2319,11 @@
22842319
" <tr>\n",
22852320
" <th>3</th>\n",
22862321
" <td>Non-trauma treatment</td>\n",
2287-
" <td>292.71</td>\n",
2288-
" <td>295.57</td>\n",
2289-
" <td>296.22</td>\n",
2290-
" <td>162.00</td>\n",
2291-
" <td>299.21</td>\n",
2322+
" <td>137.72</td>\n",
2323+
" <td>139.98</td>\n",
2324+
" <td>151.82</td>\n",
2325+
" <td>2.26</td>\n",
2326+
" <td>152.09</td>\n",
22922327
" </tr>\n",
22932328
" <tr>\n",
22942329
" <th>4</th>\n",
@@ -2317,7 +2352,7 @@
23172352
"0 Triage 28.86 1.09 36.46 39.36 1.14\n",
23182353
"1 Registation 113.56 138.79 106.27 108.46 140.14\n",
23192354
"2 Examination 24.57 24.15 0.13 23.03 0.15\n",
2320-
"3 Non-trauma treatment 292.71 295.57 296.22 162.00 299.21\n",
2355+
"3 Non-trauma treatment 137.72 139.98 151.82 2.26 152.09\n",
23212356
"4 Trauma stabilisation 144.46 154.00 132.94 146.09 165.43\n",
23222357
"5 Trauma treatment 168.27 209.12 195.16 150.37 193.69"
23232358
]
@@ -2367,7 +2402,7 @@
23672402
" Triage & 28.86 & 1.09 & 36.46 & 39.36 & 1.14 \\\\\n",
23682403
" Registation & 113.56 & 138.79 & 106.27 & 108.46 & 140.14 \\\\\n",
23692404
" Examination & 24.57 & 24.15 & 0.13 & 23.03 & 0.15 \\\\\n",
2370-
" Non-trauma treatment & 292.71 & 295.57 & 296.22 & 162.00 & 299.21 \\\\\n",
2405+
" Non-trauma treatment & 137.72 & 139.98 & 151.82 & 2.26 & 152.09 \\\\\n",
23712406
" Trauma stabilisation & 144.46 & 154.00 & 132.94 & 146.09 & 165.43 \\\\\n",
23722407
" Trauma treatment & 168.27 & 209.12 & 195.16 & 150.37 & 193.69 \\\\\n",
23732408
"\\bottomrule\n",

content/02_model_code/output/table_3.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ Mean waiting time (mins) & base & triage+1 & exam+1 & treat+1 & triage+exa
99
Triage & 28.86 & 1.09 & 36.46 & 39.36 & 1.14 \\
1010
Registation & 113.56 & 138.79 & 106.27 & 108.46 & 140.14 \\
1111
Examination & 24.57 & 24.15 & 0.13 & 23.03 & 0.15 \\
12-
Non-trauma treatment & 292.71 & 295.57 & 296.22 & 162.00 & 299.21 \\
12+
Non-trauma treatment & 137.72 & 139.98 & 151.82 & 2.26 & 152.09 \\
1313
Trauma stabilisation & 144.46 & 154.00 & 132.94 & 146.09 & 165.43 \\
1414
Trauma treatment & 168.27 & 209.12 & 195.16 & 150.37 & 193.69 \\
1515
\bottomrule

src/test_pacakge.ipynb

Whitespace-only changes.

0 commit comments

Comments
 (0)