МЕДУЧЕТ SQL
Компьютерная программа
для лабораторий и медицинских центров
Сколько стоит 1 пропущенный звонок?

Интуитивно понятно, что непринятые телефонные звонки от потенциальных пациентов - это прямой путь к недополученной прибыли. Давайте попробуем подсчитать, какой доход будет недополучен в течение месяца из-за того, что звонки были пропущены?

Например, судя по отчету, который показывает, чем заканчиваются поступающие зв... .

Читать далее...


Предупреждение попытки одновременной записи разных пациентов
с разных компьютеров на один и тот же прием

Описание ошибки

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

Предположим, первый администратор открывал окошко для записи, выбирал пациента и начинал добавлять для него услуги. Весь этот процесс от момента открытия окошка для записи продолжается около 30-40 секунд. Все это время для других администраторов интервал, на который производится запись, отображается как свободный. В самом деле, ведь запись на это время фактически еще "не состоялась", она только "в процессе"! Поэтому в течение этих 30-40 секунд второй администратор также может попытаться записать на это время другого пациента.

Если первый администратор оказывался "шустрее", успевал выбрать пациента и записать его (нажать на кнопку "Записать на прием(ы)"), то второй администратор при попытке выбрать другого пациента для этого интервала получал предупредительную надпись (см. рисунок).

  Щелкните по картинке, чтобы увеличить

 

 Если же первый администратор долго "копался", выбирая услуги и согласовывая с пациентом подробности приема, то второй администратор вполне мог выбрать для данной записи другого пациента, добавить ему услуги и сохранить запись. Начиная с этого момента, в графике приема интервал помечался, как "занятый" вторым пациентом.

Естественно, первый администратор об этом не знает, и продолжает оформлять запись своего пациента на прием... Так как в окошке записи первого администратора пациент уже был выбран еще до того, как второй администратор записал своего клиента, то программа не сигнализирует первому администратору, что интервал уже занят. Поэтому когда первый администратор нажимает кнопку "Записать на прием(ы)", то уже существующая запись, сделанная вторым администратором на второго пациента, "перезаписывается" поверху данными на первого пациента.

Наступает день "Х", когда оба пациента приходят на один и тот же прием с распечатанным из программы "Индивидуальным расписанием". Оба администратора правы, оба пациента правы, и программа - тоже "права" (по-своему, конечно). Виноватых нет, но все чувствуют себя неловко.

 

Исправление ошибки

В текущей версии программы мы сделали так, что сразу в момент открытия первым администратором формы для записи пациента на свободный интервал, эта запись помечается в служебной таблице как "забронированная". Внешне ничего не изменилось, в графиках других администраторов эта запись по-прежнему числится незанятой (а она и есть незанятая, пока процесс записи пациента не окончен). Однако, если в процессе, пока первый администратор записывает пациента, второй администратор попытается записать на этот интервал еще кого-то, то программа блокирует такую попытку и выдаст соответствующее предупреждение (см. рисунок).

  Щелкните по картинке, чтобы увеличить

 

 Запись блокируется на имя первого администратора на 10 минут. Предполагается, что в течение этого времени первый администратор сможет обсудить с пациентом всю нюансы и записать пациента на выбранный прием.

Если первый администратор после переговоров с пациентом решает не записывать клиента на этот интервал и закрывает окошко для записи, то блокировка записи автоматически снимается досрочно.

Если первый администратор открыл окошко для записи (и таким образом "забронировал" запись), а сам ушел пить чай, то запись останется "блокированной" в течение 10 минут. По истечению этого времени блокировка записи снимается, и второй администратор сможет записать на этот интервал любого пациента. Если к этому моменту первый администратор возвращается после чаепития и пытается продолжить запись на пациента, то уже он получит предупреждение о том, что запись была забронирована вторым администратором (если второй администратор в это время как раз записывает на этот интервал своего клиента), либо на это время уже записан другой пациент (если второй администратор уже фактически успел записать своего клиента).

 Щелкните по картинке, чтобы увеличить

 

Если же после истечения 10-минутного интервала никто из других администраторов не начал записывать на это время своего пациента, то первый администратор может продолжить после чаепития запись своего пациента (при этом программа заново "забронирует" эту запись для первого администратора еще на 10 минут).