Skip to content

Commit 2811afc

Browse files
authored
Merge pull request #163 from The-Strategy-Unit/switch-on-tx-intervention
switched the tx interventions back on closes #161
2 parents 49050e0 + 9d89053 commit 2811afc

File tree

4 files changed

+255
-34
lines changed

4 files changed

+255
-34
lines changed
423 Bytes
Binary file not shown.

renal_capacity_model/config_values.py

Lines changed: 19 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -180,22 +180,25 @@
180180
},
181181
},
182182
"receives_transplant_dist": {
183-
"inc": {
184-
1: 0.88,
185-
2: 0.83,
186-
3: 0.73,
187-
4: 0.56,
188-
5: 0.30,
189-
6: 0.05,
190-
},
191-
"prev": {
192-
1: 0.88,
193-
2: 0.83,
194-
3: 0.73,
195-
4: 0.56,
196-
5: 0.30,
197-
6: 0.05,
198-
},
183+
y: {
184+
"inc": {
185+
1: 0.88,
186+
2: 0.83,
187+
3: 0.73,
188+
4: 0.56,
189+
5: 0.30,
190+
6: 0.05,
191+
},
192+
"prev": {
193+
1: 0.88,
194+
2: 0.83,
195+
3: 0.73,
196+
4: 0.56,
197+
5: 0.30,
198+
6: 0.05,
199+
},
200+
}
201+
for y in range(1, 14)
199202
},
200203
"transplant_type_dist": {
201204
"inc": {

renal_capacity_model/load_scenario.py

Lines changed: 232 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -372,21 +372,239 @@ def load_scenario_from_excel(
372372
},
373373
}
374374
config_from_excel["receives_transplant_dist"] = {
375-
"inc": {
376-
1: input_scenario.iat[47, 5],
377-
2: input_scenario.iat[48, 5],
378-
3: input_scenario.iat[49, 5],
379-
4: input_scenario.iat[50, 5],
380-
5: input_scenario.iat[51, 5],
381-
6: input_scenario.iat[52, 5],
375+
1: {
376+
"inc": {
377+
1: input_scenario.iat[47, 9],
378+
2: input_scenario.iat[48, 9],
379+
3: input_scenario.iat[49, 9],
380+
4: input_scenario.iat[50, 9],
381+
5: input_scenario.iat[51, 9],
382+
6: input_scenario.iat[52, 9],
383+
},
384+
"prev": {
385+
1: input_scenario.iat[47, 6],
386+
2: input_scenario.iat[48, 6],
387+
3: input_scenario.iat[49, 6],
388+
4: input_scenario.iat[50, 6],
389+
5: input_scenario.iat[51, 6],
390+
6: input_scenario.iat[52, 6],
391+
},
382392
},
383-
"prev": {
384-
1: input_scenario.iat[47, 6],
385-
2: input_scenario.iat[48, 6],
386-
3: input_scenario.iat[49, 6],
387-
4: input_scenario.iat[50, 6],
388-
5: input_scenario.iat[51, 6],
389-
6: input_scenario.iat[52, 6],
393+
2: {
394+
"inc": {
395+
1: input_scenario.iat[47, 10],
396+
2: input_scenario.iat[48, 10],
397+
3: input_scenario.iat[49, 10],
398+
4: input_scenario.iat[50, 10],
399+
5: input_scenario.iat[51, 10],
400+
6: input_scenario.iat[52, 10],
401+
},
402+
"prev": {
403+
1: input_scenario.iat[47, 6],
404+
2: input_scenario.iat[48, 6],
405+
3: input_scenario.iat[49, 6],
406+
4: input_scenario.iat[50, 6],
407+
5: input_scenario.iat[51, 6],
408+
6: input_scenario.iat[52, 6],
409+
},
410+
},
411+
3: {
412+
"inc": {
413+
1: input_scenario.iat[47, 11],
414+
2: input_scenario.iat[48, 11],
415+
3: input_scenario.iat[49, 11],
416+
4: input_scenario.iat[50, 11],
417+
5: input_scenario.iat[51, 11],
418+
6: input_scenario.iat[52, 11],
419+
},
420+
"prev": {
421+
1: input_scenario.iat[47, 6],
422+
2: input_scenario.iat[48, 6],
423+
3: input_scenario.iat[49, 6],
424+
4: input_scenario.iat[50, 6],
425+
5: input_scenario.iat[51, 6],
426+
6: input_scenario.iat[52, 6],
427+
},
428+
},
429+
4: {
430+
"inc": {
431+
1: input_scenario.iat[47, 12],
432+
2: input_scenario.iat[48, 12],
433+
3: input_scenario.iat[49, 12],
434+
4: input_scenario.iat[50, 12],
435+
5: input_scenario.iat[51, 12],
436+
6: input_scenario.iat[52, 12],
437+
},
438+
"prev": {
439+
1: input_scenario.iat[47, 6],
440+
2: input_scenario.iat[48, 6],
441+
3: input_scenario.iat[49, 6],
442+
4: input_scenario.iat[50, 6],
443+
5: input_scenario.iat[51, 6],
444+
6: input_scenario.iat[52, 6],
445+
},
446+
},
447+
5: {
448+
"inc": {
449+
1: input_scenario.iat[47, 13],
450+
2: input_scenario.iat[48, 13],
451+
3: input_scenario.iat[49, 13],
452+
4: input_scenario.iat[50, 13],
453+
5: input_scenario.iat[51, 13],
454+
6: input_scenario.iat[52, 13],
455+
},
456+
"prev": {
457+
1: input_scenario.iat[47, 6],
458+
2: input_scenario.iat[48, 6],
459+
3: input_scenario.iat[49, 6],
460+
4: input_scenario.iat[50, 6],
461+
5: input_scenario.iat[51, 6],
462+
6: input_scenario.iat[52, 6],
463+
},
464+
},
465+
6: {
466+
"inc": {
467+
1: input_scenario.iat[47, 14],
468+
2: input_scenario.iat[48, 14],
469+
3: input_scenario.iat[49, 14],
470+
4: input_scenario.iat[50, 14],
471+
5: input_scenario.iat[51, 14],
472+
6: input_scenario.iat[52, 14],
473+
},
474+
"prev": {
475+
1: input_scenario.iat[47, 6],
476+
2: input_scenario.iat[48, 6],
477+
3: input_scenario.iat[49, 6],
478+
4: input_scenario.iat[50, 6],
479+
5: input_scenario.iat[51, 6],
480+
6: input_scenario.iat[52, 6],
481+
},
482+
},
483+
7: {
484+
"inc": {
485+
1: input_scenario.iat[47, 15],
486+
2: input_scenario.iat[48, 15],
487+
3: input_scenario.iat[49, 15],
488+
4: input_scenario.iat[50, 15],
489+
5: input_scenario.iat[51, 15],
490+
6: input_scenario.iat[52, 15],
491+
},
492+
"prev": {
493+
1: input_scenario.iat[47, 6],
494+
2: input_scenario.iat[48, 6],
495+
3: input_scenario.iat[49, 6],
496+
4: input_scenario.iat[50, 6],
497+
5: input_scenario.iat[51, 6],
498+
6: input_scenario.iat[52, 6],
499+
},
500+
},
501+
8: {
502+
"inc": {
503+
1: input_scenario.iat[47, 16],
504+
2: input_scenario.iat[48, 16],
505+
3: input_scenario.iat[49, 16],
506+
4: input_scenario.iat[50, 16],
507+
5: input_scenario.iat[51, 16],
508+
6: input_scenario.iat[52, 16],
509+
},
510+
"prev": {
511+
1: input_scenario.iat[47, 6],
512+
2: input_scenario.iat[48, 6],
513+
3: input_scenario.iat[49, 6],
514+
4: input_scenario.iat[50, 6],
515+
5: input_scenario.iat[51, 6],
516+
6: input_scenario.iat[52, 6],
517+
},
518+
},
519+
9: {
520+
"inc": {
521+
1: input_scenario.iat[47, 17],
522+
2: input_scenario.iat[48, 17],
523+
3: input_scenario.iat[49, 17],
524+
4: input_scenario.iat[50, 17],
525+
5: input_scenario.iat[51, 17],
526+
6: input_scenario.iat[52, 17],
527+
},
528+
"prev": {
529+
1: input_scenario.iat[47, 6],
530+
2: input_scenario.iat[48, 6],
531+
3: input_scenario.iat[49, 6],
532+
4: input_scenario.iat[50, 6],
533+
5: input_scenario.iat[51, 6],
534+
6: input_scenario.iat[52, 6],
535+
},
536+
},
537+
10: {
538+
"inc": {
539+
1: input_scenario.iat[47, 18],
540+
2: input_scenario.iat[48, 18],
541+
3: input_scenario.iat[49, 18],
542+
4: input_scenario.iat[50, 18],
543+
5: input_scenario.iat[51, 18],
544+
6: input_scenario.iat[52, 18],
545+
},
546+
"prev": {
547+
1: input_scenario.iat[47, 6],
548+
2: input_scenario.iat[48, 6],
549+
3: input_scenario.iat[49, 6],
550+
4: input_scenario.iat[50, 6],
551+
5: input_scenario.iat[51, 6],
552+
6: input_scenario.iat[52, 6],
553+
},
554+
},
555+
11: {
556+
"inc": {
557+
1: input_scenario.iat[47, 19],
558+
2: input_scenario.iat[48, 19],
559+
3: input_scenario.iat[49, 19],
560+
4: input_scenario.iat[50, 19],
561+
5: input_scenario.iat[51, 19],
562+
6: input_scenario.iat[52, 19],
563+
},
564+
"prev": {
565+
1: input_scenario.iat[47, 6],
566+
2: input_scenario.iat[48, 6],
567+
3: input_scenario.iat[49, 6],
568+
4: input_scenario.iat[50, 6],
569+
5: input_scenario.iat[51, 6],
570+
6: input_scenario.iat[52, 6],
571+
},
572+
},
573+
12: {
574+
"inc": {
575+
1: input_scenario.iat[47, 20],
576+
2: input_scenario.iat[48, 20],
577+
3: input_scenario.iat[49, 20],
578+
4: input_scenario.iat[50, 20],
579+
5: input_scenario.iat[51, 20],
580+
6: input_scenario.iat[52, 20],
581+
},
582+
"prev": {
583+
1: input_scenario.iat[47, 6],
584+
2: input_scenario.iat[48, 6],
585+
3: input_scenario.iat[49, 6],
586+
4: input_scenario.iat[50, 6],
587+
5: input_scenario.iat[51, 6],
588+
6: input_scenario.iat[52, 6],
589+
},
590+
},
591+
13: {
592+
"inc": {
593+
1: input_scenario.iat[47, 21],
594+
2: input_scenario.iat[48, 21],
595+
3: input_scenario.iat[49, 21],
596+
4: input_scenario.iat[50, 21],
597+
5: input_scenario.iat[51, 21],
598+
6: input_scenario.iat[52, 21],
599+
},
600+
"prev": {
601+
1: input_scenario.iat[47, 6],
602+
2: input_scenario.iat[48, 6],
603+
3: input_scenario.iat[49, 6],
604+
4: input_scenario.iat[50, 6],
605+
5: input_scenario.iat[51, 6],
606+
6: input_scenario.iat[52, 6],
607+
},
390608
},
391609
}
392610
config_from_excel["transplant_type_dist"] = {

renal_capacity_model/model.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,7 @@ def generator_prevalent_patient_arrivals(self, patient_type: str, location: str)
142142
# they are suitable for transplant
143143
if (
144144
self.rng.uniform(0, 1)
145-
> self.config.receives_transplant_dist["prev"][p.age_group]
145+
> self.config.receives_transplant_dist[1]["prev"][p.age_group]
146146
):
147147
# they don't receive a transplant in the simulation period
148148
p.transplant_suitable = True
@@ -238,7 +238,7 @@ def generator_prevalent_patient_arrivals(self, patient_type: str, location: str)
238238
# they are suitable for transplant
239239
if (
240240
self.rng.uniform(0, 1)
241-
> self.config.receives_transplant_dist["prev"][p.age_group]
241+
> self.config.receives_transplant_dist[1]["prev"][p.age_group]
242242
):
243243
# they don't receive a transplant in the simulation period
244244
p.transplant_suitable = True
@@ -334,7 +334,7 @@ def generator_prevalent_patient_arrivals(self, patient_type: str, location: str)
334334
# they are suitable for transplant
335335
if (
336336
self.rng.uniform(0, 1)
337-
> self.config.receives_transplant_dist["prev"][p.age_group]
337+
> self.config.receives_transplant_dist[1]["prev"][p.age_group]
338338
):
339339
# they don't receive a transplant in the simulation period
340340
p.transplant_suitable = True
@@ -555,7 +555,7 @@ def start_krt(self, patient: Patient) -> Generator:
555555
patient.transplant_suitable = True
556556
if (
557557
self.rng.uniform(0, 1)
558-
> self.config.receives_transplant_dist["inc"][patient.age_group]
558+
> self.config.receives_transplant_dist[year]["inc"][patient.age_group]
559559
):
560560
# Although suitable for transplant, patient does not receive a transplant in the simulation period
561561
if patient.time_until_death == 0:

0 commit comments

Comments
 (0)