Функциональность приоритетной очереди в стационаре? - PullRequest
0 голосов
/ 10 октября 2018

Итак, скажем, у меня есть больница, в которой я работаю, и у меня есть 1 врач и 5 пациентов.Пациент 1 приходит, никто не стоит в очереди, поэтому он идет первым.

Затем у меня есть 3 других пациента.Боб ждал 3 часа.Салли ждала 2. Джим ждал 1. По прибытии сначала идет Боб, потом Салли, потом Джим.Как обычная очередь (FIFO).

Боб идет дальше.Во время экзамена Боба входит Джек с топором в голове.Джек нуждается в немедленном внимании.Как бы я немедленно прекратил проверку Боба и переключился на Джека в этой очереди приоритетов?

Как это будет выглядеть структурно в псевдокоде?Нужен ли для этого таймер?

Я пытаюсь понять, как работают адаптируемые очереди приоритетов, и хотел бы понять логику, стоящую за ними.Не спрашивая код, а процесс мышления для такого рода вещей.

Примерно так: table

Ответы [ 2 ]

0 голосов
/ 10 октября 2018

Вы можете создать поле state, чтобы информировать вас о текущем состоянии лечения пациента, которое может быть:

  • waiting
  • interrupted
  • finished
  • examining ...

И у вас есть таблица, где вы регистрируете последнего прерванного пациента и последнего пациента с серьезной проблемой, которую вы собираетесь обследовать первым.

Чтобы вы могли отследить последнего прерванного пациента и перезвонить ему после того, как у вас возникнет серьезная проблема.

Я думаю, что может работать

0 голосов
/ 10 октября 2018

Я думаю, что то, что описано, является комбинацией системы сигнализации, такой как 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.Я сделал это недавно, это работает достаточно хорошо.Просто держите под рукой отображение чисел.

...