Это старая версия документа.


Статус пациента в расписании

В расписании возможно выделение пациента цветом. При указании статуса для назначения, оно выделяется определенным фоном. Список фонов располагается в «Справочники» → «Персонал/Расписание» → «Справочники расписания» → «Типы назначений пациента»

Правила задания при автоматической постановке фонов задается через Классификатор НСИ «Автоматическая постановка повода назначения [-7900990]» и регулируется триггером «USER$SCHEDULE_POVOD» на таблице с расписанием (SCHEDULE)

CREATE OR ALTER TRIGGER USER$SCHEDULE_POVOD FOR SCHEDULE
active BEFORE INSERT OR UPDATE POSITION 5
AS
DECLARE astatus TYPE OF COLUMN schedule.status;
DECLARE cur_uid TYPE OF COLUMN doctor.dcode;
DECLARE cur_jid TYPE OF COLUMN jpagreement.agrid;
DECLARE cur_pid TYPE OF COLUMN phprogrref.pid;
BEGIN
  IF (EXISTS(SELECT * FROM repl$getaccess WHERE repl$access = 'USER')) THEN
  BEGIN
    -- получение данных
    SELECT current_uid FROM s_session_info INTO cur_uid;
    SELECT COALESCE(NEW.agrid, jid, 0) FROM clients WHERE pcode = NEW.pcode INTO cur_jid;
    cur_pid = NEW.frompid;
 
    -- установка повода назначения
    IF (COALESCE(NEW.status,0)=0) THEN
    BEGIN
      FOR SELECT FIRST 1 rekvint1 FROM dicinfo d WHERE d.refid=-7900990
             AND d.rekvint1 IS NOT NULL
             AND ( d.dcode= :cur_uid OR d.rekvint4= :cur_jid OR d.rekvint5= :cur_pid )
           ORDER BY sign(COALESCE(d.dcode,0))+sign(COALESCE(d.rekvint4,0))+sign(COALESCE(d.rekvint5,0)) DESC
      INTO astatus do
      BEGIN
        NEW.status = astatus;
      END
    END
 
    -- установка внешнего источника записи
    IF (COALESCE(NEW.frompid,0)=0) THEN
    BEGIN
      FOR SELECT FIRST 1 rekvint2 FROM dicinfo d WHERE d.refid=-7900990
             AND d.rekvint2 IS NOT NULL
             AND ( d.dcode= :cur_uid OR d.rekvint4= :cur_jid OR d.rekvint5= :cur_pid )
           ORDER BY sign(COALESCE(d.dcode,0))+sign(COALESCE(d.rekvint4,0))+sign(COALESCE(d.rekvint5,0)) DESC
      INTO astatus do
      BEGIN
        NEW.frompid = astatus;
      END
    END
  END
END

расширенная.настройка/расписание/статус.пациента.1532436604.txt.gz · Последние изменения: 2018/07/24 15:50 — a.korobka