首页 > 解决方案 > 医院优先队列的功能?

问题描述

因此,假设我有一家正在运营的医院,我有 1 名医生和 5 名患者。患者 1 进来,没有人在排队,所以他先去。

接下来,我还有另外 3 名患者。Bob 已经等了 3 个小时了。Sally 一直在等待 2. Jim 一直在等待 1. 根据到达,Bob 先走,然后是 Sally,然后是 Jim。就像一个常规队列 (FIFO)。

接下来是鲍勃。在鲍勃的考试期间,杰克进来了,他的头上有一把斧头。杰克需要立即引起注意。我如何立即停止 Bob 的检查并在此优先级队列中切换到 Jack?

在伪代码中,这在结构上会是什么样子?这需要某种计时器吗?

我正在努力理解 Adaptable Priority Queues 是如何工作的,并且想了解它们背​​后的逻辑。不是要求代码,而是这类事情的思考过程。

像这样的东西:桌子

标签: pseudocode

解决方案


我认为所描述的是信号系统(如POSIX 信号)与实际队列/出队过程的组合,您只需要在出队时将某些患者提前提升到其他人之前,我猜是认真的(分类)。也许是这样的:

SELECT patient_id
FROM wait_list
WHERE queue_status = 'awaiting service'
ORDER BY triage_code, queue_dt          # queue_dt is a Date/Time

哪里triage_code可能有如下映射:

1 # Very serious
3 # Serious
5 # Stable
7 # Stable Non-Serious
9 # Non-Serious

最后一组可能是疫苗接种等。让它稀疏给你一点成长,也许,或者只是使用1-3. 我最近做了这个,效果很好。只需将数字映射放在手边即可。


推荐阅读