Commit f823580
authored
## Summary
- Routine Change
### Details
A small number of patients are getting lots of notifications.
The cooldown check was only grabbing one record from the table - I'd
thought that if you sort by ODS code, then the latest record would be at
the top. This is not true, so we can be checking against old records
when newer ones exist.
In some rare cases (approx 1 in 10,000), a patient may get a LOT of PSU
requests about their medications. In one case study, a patient had 61
distinct PSU requests pertaining to 6 prescription IDs, of which 24
requests were ready to collect. All of that was from one ODS code. This
resulted in 5 SQS messages being posted ~5 minutes apart. However, when
the cooldown check came for subsequent requests, it always passed. I
believe this is because the cooldown check is essentially a `return
true` check once there are enough records.
This PR fixes this bug by instead grabbing all records, and then taking
the maximum timestamp and checking if that is within the cooldown
period.
1 parent 31324c7 commit f823580
2 files changed
Lines changed: 80 additions & 31 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
50 | 50 | | |
51 | 51 | | |
52 | 52 | | |
53 | | - | |
| 53 | + | |
54 | 54 | | |
55 | 55 | | |
56 | 56 | | |
57 | 57 | | |
58 | 58 | | |
59 | 59 | | |
60 | 60 | | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
61 | 65 | | |
62 | 66 | | |
63 | 67 | | |
| |||
80 | 84 | | |
81 | 85 | | |
82 | 86 | | |
83 | | - | |
| 87 | + | |
84 | 88 | | |
85 | 89 | | |
86 | 90 | | |
87 | 91 | | |
88 | 92 | | |
89 | 93 | | |
90 | 94 | | |
91 | | - | |
92 | | - | |
93 | | - | |
| 95 | + | |
94 | 96 | | |
95 | 97 | | |
96 | 98 | | |
| |||
101 | 103 | | |
102 | 104 | | |
103 | 105 | | |
104 | | - | |
105 | | - | |
106 | | - | |
107 | | - | |
108 | | - | |
109 | | - | |
110 | | - | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
111 | 117 | | |
112 | 118 | | |
113 | 119 | | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
114 | 139 | | |
115 | | - | |
| 140 | + | |
116 | 141 | | |
117 | 142 | | |
118 | 143 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
319 | 319 | | |
320 | 320 | | |
321 | 321 | | |
322 | | - | |
323 | | - | |
324 | | - | |
325 | | - | |
326 | | - | |
| 322 | + | |
327 | 323 | | |
328 | 324 | | |
329 | 325 | | |
| |||
350 | 346 | | |
351 | 347 | | |
352 | 348 | | |
353 | | - | |
354 | | - | |
355 | 349 | | |
356 | 350 | | |
357 | 351 | | |
| |||
408 | 402 | | |
409 | 403 | | |
410 | 404 | | |
411 | | - | |
412 | | - | |
413 | | - | |
| 405 | + | |
| 406 | + | |
| 407 | + | |
| 408 | + | |
| 409 | + | |
| 410 | + | |
| 411 | + | |
| 412 | + | |
414 | 413 | | |
415 | 414 | | |
416 | 415 | | |
417 | 416 | | |
418 | 417 | | |
419 | 418 | | |
420 | 419 | | |
421 | | - | |
422 | | - | |
423 | | - | |
424 | | - | |
425 | | - | |
| 420 | + | |
| 421 | + | |
| 422 | + | |
| 423 | + | |
| 424 | + | |
| 425 | + | |
| 426 | + | |
| 427 | + | |
| 428 | + | |
| 429 | + | |
| 430 | + | |
| 431 | + | |
426 | 432 | | |
427 | 433 | | |
428 | 434 | | |
| |||
433 | 439 | | |
434 | 440 | | |
435 | 441 | | |
436 | | - | |
437 | | - | |
438 | | - | |
| 442 | + | |
| 443 | + | |
| 444 | + | |
| 445 | + | |
| 446 | + | |
439 | 447 | | |
440 | 448 | | |
441 | 449 | | |
442 | 450 | | |
443 | 451 | | |
444 | 452 | | |
445 | 453 | | |
| 454 | + | |
| 455 | + | |
| 456 | + | |
| 457 | + | |
| 458 | + | |
| 459 | + | |
| 460 | + | |
| 461 | + | |
| 462 | + | |
| 463 | + | |
| 464 | + | |
| 465 | + | |
| 466 | + | |
| 467 | + | |
| 468 | + | |
| 469 | + | |
446 | 470 | | |
447 | 471 | | |
448 | 472 | | |
| |||
0 commit comments