...
- Выполняется получение списка записей на прием, связанных с картой диспансеризации;
- Выполняется проверка актуальности записи (время приема еще не прошло). В случае актуальности записи переход к пункту 3, в противном случае будет выдано сообщение об ошибке и записи отменены не будут;
- Выполняется проверка статуса записи (VisitStatus). В случае если запись новая (Статус 0) переход к пункту 4, в противном случае будет выдано сообщение об ошибке и записи отменены не будут.
- Выполняется проверка существования ТАПа для хотя бы одной записи. В случае обнаружения будет выдано сообщение об ошибке и записи отменены не будут, в противном случае переход к пункту 5.
- Выполняется проверка привязки записи к другим типам мероприятий (Вызов на дом или другое) через ActionSchedule. В случае обнаружения связей будет выдано сообщение об ошибке, в противном случае переход к пункту 6.
- Удаляются записи hlt_ActionSchedule, обнуляются ссылка hlt_disp_Exam.rf_DvtGuid, выполняется отмена связанных направлений на исследование (Отмена записи на прием, привязанной к направлению на исследование).
- Удаляются все hlt_DoctorVisitTable
Отмена записи на прием:
- Проверка актуальности(прошло ли время приема).
- Проверка статуса(Запрещено отменять запись на приём, если прием уже был выполнен).
- Проверка наличия ТАПов.
- Проверка принадлежности записи на прием вызову на дом или иному неизвестному мероприятию(вдруг придумают что то новое).
- Проверка связанных мероприятий диспансеризации.
- Если среди них есть обязательное мероприятие, то следует отменить все записи на прием по этой диспансеризации. Если этого сделать не получается(прошло время, статус выполнено или есть тапы), то ругаемся.
- Если обязательных мероприятий нет, то отменяем только мероприятия связанные с этой записью на прием.
- Проверка наличия связанных с записью направлений.
- Если есть направление на исследование, то проверяем чтобы оно было:
- перечислить
- Если есть направление на консультацию
- перечислить условия мешающие отмене
- Если есть направление на исследование, то проверяем чтобы оно было: