┌─────┬──────────────┬────────────────────────────────────────────────┬────────────────────────┬──────┐
│Код │ Наименование │ Текст алгоритма (T-SQL) │ Описание │ Код │
│алго-│ │
│ │ошибки│
│ритма│ │
│ │ │
├─────┼──────────────┴────────────────────────────────────────────────┴────────────────────────┼──────┤
│00 │ Синтаксический
контроль
│ │
├─────┼──────────────┬────────────────────────────────────────────────┬────────────────────────┼──────┤
│00.01│Номер
рецепта │SELECT * FROM L WHERE ISNUMERIC │Проверка
корректности │Р06 │
│ │не корректен │(REVERSE(SUBSTRING(REVERSE(LTRIM(RTRIM(SN_LR))),│формата
номера рецепта │ │
│ │ │1, CHARINDEX('
',REVERSE(LTRIM(RTRIM(SN_LR))), │(номер
рецепта должен │ │
│ │ │1) -1))) = 0 │быть
положительным целым│ │
│ │ │
│числом). Номер рецепта │ │
│ │ │
│получаем из строки │ │
│ │ │
│SN_LR, учитывая, что │ │
│ │ │ │между серией и
номером │ │
│ │ │
│стоит пробел. │ │
│ │ │
│Входные данные: реестр │ │
│ │ │
│рецептов (файл записей │ │
│ │ │
│типа "Л").
│ │
│ │ │ │Выходные данные:
пере- │ │
│ │ │
│чень рецептов реестра, │ │
│ │ │
│содержащих ошибку │
│
├─────┼──────────────┼────────────────────────────────────────────────┼────────────────────────┼──────┤
│00.02│Серия
рецепта │SELECT * FROM L WHERE │Проверка
серии рецепта │Р07 │
│ │не корректна │REVERSE(SUBSTRING(REVERSE(LTRIM(RTRIM(SN_LR))),
│на отличие от допустимых│
│
│ │ │CHARINDEXC('
',REVERSE(LTRIM(RTRIM(SN_LR))), │значений,
принятых в │ │
│ │ │1) + 1, │регионе. │ │
│ │ │LEN(LTRIM(RTRIM(SN_LR)))))
NOT IN ("50","5006") │Замечание: "50" и
"5006"│ │
│ │ │
│(пример допустимых серий│ │
│ │ │ │на
территории региона). │ │
│ │ │
│Входные данные: реестр │ │
│ │ │
│рецептов (файл записей │ │
│ │ │
│типа "Л").
│ │
│ │ │
│Выходные данные: пере- │ │
│ │ │
│чень рецептов реестра, │ │
│ │ │
│содержащих ошибку │ │
├─────┼──────────────┼────────────────────────────────────────────────┼────────────────────────┼──────┤
│00.03│Код
диагноза │SELECT * FROM L │Проверка
диагноза, пос- │Р08 │
│ │отсутствует в │WHERE DS NOT
IN │тавленного
в рецепте, на│ │
│ │справочнике │(SELECT DS FROM MKB) │наличие его
в справочни-│ │
│ │МКБ-10 │
│ке МКБ-10. Поиск диагно-│ │
│ │ │ │за осуществляется по │
│
│ │ │
│полю DS. │ │
│ │ │
│Входные данные: реестр │ │
│ │ │
│рецептов (файл записей │ │
│ │ │
│типа "Л"), файл типа
│ │
│ │ │ │МКБ. Выходные
данные: │ │
│ │ │
│перечень рецептов реест-│ │
│ │ │
│ра, содержащих ошибку │ │
├─────┼──────────────┼────────────────────────────────────────────────┼────────────────────────┼──────┤
│00.04│Код
ЛПУ отсут-│SELECT L.* FROM L │Проверка
рецепта на │Р04 │
│ │ствует в спра-│LEFT OUTER
JOIN LPU ON │соответствие
хотя бы │ │
│ │вочнике ЛПУ, │LPU.C_OGRN = L.C_OGRN AND │одному из
критериев: │ │
│ │работающих в │LPU.MCOD = L.MCOD AND │-
лечебно-профилактичес-│ │
│ │системе ДЛО │L.DATE_VR BETWEEN LPU.DATE_B AND │кое учреждение с
таким │ │
│ │ │(CASE LPU.DATE_E WHEN
" THEN '01/01/2222' ELSE │C_OGRN
и MCOD не найдено│
│
│ │ │ISNULL(LPU.DATE_E,
'01/01/2222') END) │в справочнике ЛПУ; │ │
│ │ │WHERE LPU.C_OGRN IS
NULL │- на дату выписки рецеп-│ │
│ │ │
│та (DATE_VR)
ЛПУ не име-│ │
│ │ │
│ло права выписки льгот- │ │
│ │ │
│ных рецептов. │ │
│ │ │
│L.DATE_VR > LPU.DATE_E │ │
│ │ │
│(дата исключения ЛПУ из │ │
│ │ │
│справочника, при этом │ │
│ │ │
│учитывается, что эта │ │
│ │ │
│дата может быть пустой) │ │
│ │ │
│или │ │
│ │ │
│L.DATE_VR < LPU.DATE_B │ │
│ │ │ │(дата включения ЛПУ в │
│
│ │ │
│справочник). │ │
│ │ │
│Входные данные: реестр │ │
│ │ │
│рецептов (файл записей │ │
│ │ │
│типа "Л"), файл типа
│ │
│ │ │ │"ЛПУ". │ │
│ │ │
│Выходные данные: пере- │ │
│ │ │
│чень рецептов реестра, │ │
│ │ │
│содержащих ошибку │ │
├─────┼──────────────┴────────────────────────────────────────────────┴────────────────────────┼──────┤
│01 │ Семантический
контроль │ │
├─────┼──────────────┬────────────────────────────────────────────────┬────────────────────────┼──────┤
│01.01│Просроченный │SELECT L.* FROM L │Проверка
рецепта на │Р10
│
│ │рецепт │WHERE DATE_OBR >
DATEADD(DAY,30,DATE_VR) │соответствие
критерию: │ │
│ │ │
│- дата выписки рецепта │ │
│ │ │ │отличается
от даты обра-│ │
│ │ │
│щения больше чем на 30 │ │
│ │ │
│дней. │ │
│ │ │
│L.DATE_OBR > L.DATE_VR +│ │
│ │ │
│30 дней. │ │
│ │ │
│Входные данные: реестр │ │
│ │ │
│рецептов (файл записей │ │
│ │ │
│типа "Л").
│ │
│ │ │
│Выходные данные: пере- │ │
│ │ │
│чень рецептов реестра, │ │
│ │ │
│содержащих ошибку │ │
├─────┼──────────────┼────────────────────────────────────────────────┼────────────────────────┼──────┤
│01.02│Проверка
дуб- │SELECT L.* FROM L INNER JOIN │Проверка рецепта на со- │Л04 │
│ │лей внутри │(SELECT SN_LR │ответствие
обоим крите- │ │
│ │реестра │FROM L │риям: │ │
│ │ │GROUP BY SN_LR │-
рецепт имеет поле │ │
│ │ │HAVING COUNT(*) > 1) T
ON │D_TYPE =
000; │ │
│ │ │T.SN_LR = L.SN_LR AND │- в текущем реестре су- │ │
│ │ │T.D_TYPE = '000' │ществует
более одного │ │
│ │ │
│рецепта, имеющего такую │ │
│ │ │
│же серию и номер │ │
│ │ │
│(SN_LR). │ │
│ │ │ │Входные данные:
реестр │ │
│ │ │
│рецептов (файл записей │ │
│ │ │
│типа "Л").
│ │
│ │ │
│Выходные данные: пере- │ │
│ │ │
│чень рецептов реестра, │ │
│ │ │ │содержащих
ошибку │ │
├─────┼──────────────┼────────────────────────────────────────────────┼────────────────────────┼──────┤
│01.03│МНН
отпущенно-│SELECT L.* FROM L │Проверка
рецепта на │Р05 │
│ │го ЛС не соот-│INNER OUTER
PLS ON │соответствие
критерию: │ │
│ │ветствует ука-│PLS.NOMK_LS =
L.NOMK_LS │-
рецепт найден в списке│ │
│ │занному в ре- │INNER JOIN R
ON │выписанных
рецептов, но │ │
│ │естре выписан-│R.SN_LR =
L.SN_LR AND │ЛС
в рецепте, предъяв- │ │
│ │ных рецептов │R.DATE_VR = L.DATE_VR AND │ленном на
экспертизу, не│ │
│ │ │R.C_OGRN = L.C_OGRN
AND │соответствует
МНН выпи- │ │
│ │ │R.MCOD = L.MCOD AND │санного
рецепта. │ │
│ │ │R.C_MNN <> PLS.C_MNN │Поиск
рецепта осуществ- │ │
│ │ │
│ляется по следующим │ │
│ │ │ │полям: │ │
│ │ │
│- Серия и номер рецепта │ │
│ │ │
│SN_LR; │ │
│ │ │
│- Дата выписки DATE_VR; │ │
│ │ │
│- ЛПУ с такими C_OGRN и │ │
│ │ │ │MCOD. │ │
│ │ │
│Входные данные: реестр │ │
│ │ │
│рецептов (файл записей │ │
│ │ │
│типа "Л"), реестр выпи- │ │
│ │ │
│санных рецептов, файл │ │
│ │ │ │типа
"ПЛС". │ │
│ │ │
│Выходные данные: пере- │ │
│ │ │
│чень рецептов реестра, │ │
│ │ │
│содержащих ошибку │ │
├─────┼──────────────┼────────────────────────────────────────────────┼────────────────────────┼──────┤
│01.04│Код
ЛПУ в об- │SELECT L.* FROM L │Проверка
рецепта на со- │Р11 │
│ │cлуженном ре- │INNER JOIN R
ON │ответствие
критерию: │ │
│ │цепте не соот-│R.SN_LR =
L.SN_LR AND │-
рецепт найден в списке│ │
│ │ветствует ко- │(R.C_OGRN
<> L.C_OGRN OR
│выписанных рецептов, по-│ │
│ │ду, указанному│R.MCOD
<> L.MCOD)
│лученных от ЛПУ, но в │ │
│ │в реестре вы- │ │выписанном
рецепте и в │ │
│ │писанных ре- │
│рецепте, предъявленном │ │
│ │цептов │
│на экспертизу, указаны │ │
│ │ │
│разные ЛПУ. │ │
│ │ │
│Поиск рецепта │ │
│ │ │
│осуществляется по полю: │ │
│ │ │
│- Серия и номер рецепта │ │
│ │ │
│SN_LR. │ │
│ │ │
│Входные данные: реестр │ │
│ │ │
│рецептов (файл записей │ │
│ │ │
│типа "Л"), реестр
│ │
│ │ │
│выписанных рецептов │ │
│ │ │ │Выходные данные: пере- │
│
│ │ │
│чень рецептов реестра, │ │
│ │ │
│содержащих ошибку │ │
├─────┼──────────────┼────────────────────────────────────────────────┼────────────────────────┼──────┤
│01.05│СНИЛС
пациента│SELECT L.* FROM L │Проверка
рецепта на │П05 │
│ │в обслуженном │INNER JOIN R
ON │соответствие
критерию: │ │
│ │рецепте не │R.SN_LR = L.SN_LR AND │- рецепт
найден в списке│ │
│ │соответствует │R.DATE_VR =
L.DATE_VR AND │выписанных
рецептов, │ │
│ │СНИЛС, указан-│R.C_OGRN =
L.C_OGRN AND │полученных
от ЛПУ, но в │ │
│ │ному в реестре│R.MCOD =
L.MCOD AND │выписанном
рецепте и в │ │
│ │выписанных │R.SS <> L.SS │рецепте,
предъявленном │ │
│ │рецептов │
│на экспертизу, указаны │ │
│ │ │
│разные пациенты. │
│
│ │ │
│Поиск рецепта осуществ- │ │
│ │ │
│ляется по следующим │ │
│ │ │ │полям: │ │
│ │ │
│- Серия и номер рецепта │ │
│ │ │
│SN_LR; │ │
│ │ │
│- ЛПУ (C_OGRN, MCOD). │ │
│ │ │
│Входные данные: реестр │ │
│ │ │ │рецептов
(файл записей │ │
│ │ │
│типа "Л"), реестр выпи- │ │
│ │ │
│санных рецептов. │ │
│ │ │
│Выходные данные: пере- │ │
│ │ │
│чень рецептов реестра, │ │
│ │ │
│содержащих ошибку │ │
├─────┼──────────────┼────────────────────────────────────────────────┼────────────────────────┼──────┤
│01.06│Дата
выписки в│SELECT L.* FROM L │Проверка рецепта на │Р12 │
│ │обслуженном │INNER JOIN R ON │соответствие
критерию: │ │
│ │рецепте не │R.SN_LR = L.SN_LR AND │- рецепт
найден в списке│ │
│ │соответствует │R.C_OGRN =
L.C_OGRN AND │выписанных
рецептов, │ │
│ │дате, │R.MCOD = L.MCOD AND │полученных
от ЛПУ, но в │ │
│ │указанной в │R.DATE_VR <> L.DATE_VR │выписанном рецепте и
в │ │
│ │реестре │
│рецепте, предъявленном │ │
│ │выписанных │
│на экспертизу, указаны │ │
│ │рецептов │
│разные даты выписки. │ │
│ │ │
│Поиск рецепта осуществ- │ │
│ │ │ │ляется по
следующим │ │
│ │ │
│полям: │ │
│ │ │
│- Серия и номер рецепта │ │
│ │ │
│SN_LR; │ │
│ │ │
│- ЛПУ (C_OGRN, MCOD). │ │
│ │ │ │Входные
данные: реестр │ │
│ │ │
│рецептов (файл записей │ │
│ │ │
│типа "Л"), реестр выпи- │ │
│ │ │
│санных рецептов. │ │
│ │ │
│Выходные данные: пере- │ │
│ │ │ │чень
рецептов реестра, │ │
│ │ │
│содержащих ошибку │ │
├─────┼──────────────┼────────────────────────────────────────────────┼────────────────────────┼──────┤
│01.07│Рецепт
не най-│SELECT L.* FROM L │Проверка
рецепта на │Р09 │
│ │ден в реестре │LEFT OUTER
JOIN R ON │соответствие
критерию: │ │
│ │выписанных │R.SN_LR = L.SN_LR │- рецепт
не найден в │ │
│ │рецептов │WHERE R.SN_LR IS NULL │списке
выписанных рецеп-│ │
│ │ │
│тов, полученных от ЛПУ. │ │
│ │ │
│Поиск рецепта │ │
│ │ │
│осуществляется по полю: │ │
│ │ │
│- Серия и номер рецепта │ │
│ │ │
│SN_LR. │ │
│ │ │ │Входные данные: реестр │
│
│ │ │
│рецептов (файл записей │ │
│ │ │
│типа "Л"), реестр выпи- │ │
│ │ │
│санных рецептов. │ │
│ │ │
│Выходные данные: пере- │ │
│ │ │ │чень рецептов
реестра, │ │
│ │ │
│содержащих ошибку │ │
├─────┼──────────────┴────────────────────────────────────────────────┴────────────────────────┴──────┤
│02 │ Строгий
контроль │
├─────┼──────────────┬────────────────────────────────────────────────┬────────────────────────┬──────┤
│02.01│На
дату выпис-│SELECT L.* FROM L
│Проверка
рецепта на │Р13 │
│ │ки рецепта │LEFT OUTER JOIN DOCTOR ON │соответствие хотя
бы │ │
│ │врач был иск- │DOCTOR.PCOD =
L.PCOD AND │одному
из критериев: │
│
│ │лючен из ре- │L.DATE_VR < │-
врач, выписавший ре- │ │
│ │гистра врачей │(CASE
DOCTOR.DATE_E WHEN " THEN '01/01/2222'
│цепт, не найден в спра- │ │
│ │ │ELSE ISNULL(DOCTOR.DATE_E,
'01/01/2222') END) │вочнике
врачей и фельд- │ │
│ │ │WHERE DOCTOR.PCOD IS
NULL │шеров,
имеющих право на │ │
│ │ │
│выписку рецептов. │ │
│ │ │
│Поиск осуществляется по │ │
│ │ │
│полю: │ │
│ │ │
│- PCOD доктора; │ │
│ │ │
│- врач был исключен из │ │
│ │ │
│регистра врачей до даты │ │
│ │ │
│выписки рецепта │ │
│ │ │
│L.DATE_VR > │ │
│ │ │
│Doctor.DATE_E (дата │ │
│ │ │
│исключения из регистра │ │
│ │ │ │врачей, имеющих право на│ │
│ │ │
│выписку льготных катего-│ │
│ │ │
│рий граждан, учитывает- │ │
│ │ │
│ся, что эта дата может │ │
│ │ │
│быть пустой). │ │
│ │ │ │Входные данные:
реестр │ │
│ │ │
│рецептов (файл записей │ │
│ │ │
│типа "Л"), файл типа
│ │
│ │ │
│"СВФ".
│ │
│ │ │
│Выходные данные: пере- │ │
│ │ │ │чень рецептов
реестра, │ │
│ │ │
│содержащих ошибку │ │
├─────┼──────────────┼────────────────────────────────────────────────┼────────────────────────┼──────┤
│02.02│Рецепт
уже │SELECT L.* FROM L │Проверка
рецептов │Л03 │
│ │оплачен │INNER JOIN PAYL ON │реестра на
соответствие │ │
│ │ │PAYL.SN_LR - L.SN_LR
AND │критерию: │ │
│ │ │PAYL.C_OGRN = L.C_OGRN
AND │-
присутствует ли рецепт│ │
│ │ │PAYL.PCOD = L.PCOD
AND │среди
оплаченных ранее. │ │
│ │ │PAYL.SS = L.SS AND │Поиск
осуществляется по │ │
│ │ │PAYL.DATE_VR <>
L.DATE_VR │совпадению
(всех) сле- │ │
│ │ │ │дующих
полей: │ │
│ │ │
│- SN_LR; │ │
│ │ │
│- C_ОGRN; │ │
│ │ │
│- PCOD; │ │
│ │ │
│- SS; │ │
│ │ │
│- DATE_VR. │ │
│ │ │
│Входные данные: реестр │ │
│ │ │ │рецептов (файл записей │
│
│ │ │
│типа "Л"), реестр опла- │ │
│ │ │
│ченных рецептов. │ │
│ │ │
│Выходные данные: пере- │ │
│ │ │
│чень рецептов реестра, │ │
│ │ │ │содержащих ошибку │ │
├─────┼──────────────┼────────────────────────────────────────────────┼────────────────────────┼──────┤
│02.03│Отпущенное
ЛС │SELECT L.* FROM L │Проверка
рецепта на │Л05 │
│ │не входит в │LEFT OUTER JOIN PLS ON │соответствие
хотя бы │ │
│ │Перечень ЛС на│PLS.NOMK_LS =
L.NOMK_LS AND │одному
из критериев: │ │
│ │дату отпуска │L.DATE_OTP BETWEEN_PLS.DATE_B AND │- лекарственное средство│ │
│ │ │(CASE PLS.DATE_E WHEN
" THEN '01/01/2222' ELSE │с NOMK_LS, отпущенным по│ │
│ │ │ISNULL(PLS.DATE_E,
'01/01/2222') END) │рецепту, не найдено в
│ │
│ │ │WHERE PLS. NOMK_LS IS
NULL │справочнике лекарствен- │
│
│ │ │
│ных средств; │ │
│ │ │ │- ЛС не
действует (не │ │
│ │ │
│действовало) на дату от-│ │
│ │ │
│пуска рецепта. │ │
│ │ │
│L.DATE_OTP < PLS.DATE_B │ │
│ │ │
│(дата включения в спра- │ │
│ │ │ │вочник) │ │
│ │ │
│или │ │
│ │ │
│L.DATE_OTP > PLS.DATE_E │ │
│ │ │
│(дата исключения из │ │
│ │ │
│справочника, учитывает- │ │
│ │ │
│ся, что эта дата может │ │
│ │ │
│быть пустой). │ │
│ │ │
│Входные данные: реестр │ │
│ │ │
│рецептов (файл записей │ │
│ │ │
│типа "Л"), файл типа
│ │
│ │ │
│"ПЛС".
│ │
│ │ │
│Выходные данные: пере- │ │
│ │ │ │чень рецептов реестра, │
│
│ │ │
│содержащих ошибку │ │
├─────┼──────────────┼────────────────────────────────────────────────┼────────────────────────┼──────┤
│02.04│В
рецепте ука-│SELECT L.* FROM L │Проверка
рецепта на │Л06 │
│ │зан некор- │LEFT OUTER JOIN CLS ON │соответствие
хотя бы │ │
│ │ректный код │CLS.C_PFS = L.C_PFS AND │одному из
критериев: │ │
│ │позиции переч-│L.DATE_OTP
BETWEEN CLS.DATE_BP AND │-
в справочнике зарегис-│ │
│ │ня │(CASE CLS.DATE_EP WHEN
" THEN '01/01/2222' ELSE │трированных цен не най- │ │
│ │ │ISNULL(CLS.DATE_EP,
'01/01/2222') END) │дена
цена с кодом C_PFS,│ │
│ │ │WHERE CLS.C_PFS IS
NULL │указанным
в рецепте; │ │
│ │ │ │- дата действия
цены не │ │
│ │ │
│соответствует дате от- │ │
│ │ │
│пуска рецепта: │
│
│ │ │
│L.DATE_OTP > CLS.DATE_EP│ │
│ │ │
│(дата окончания действия│ │
│ │ │ │цены,
учитывается, что │ │
│ │ │
│эта дата может быть │ │
│ │ │
│пустой) │ │
│ │ │
│или │ │
│ │ │
│L.DATE_OTP < CLS.DATE_BP│ │
│ │ │ │(дата
начала действия │ │
│ │ │
│цены). │ │
│ │ │
│Входные данные: реестр │ │
│ │ │
│рецептов (файл записей │ │
│ │ │
│типа "Л"), файл типа
│ │
│ │ │
│"ЦЛС".
│ │
│ │ │
│Выходные данные: пере- │ │
│ │ │ │чень рецептов реестра, │
│
│ │ │
│содержащих ошибку │ │
├─────┼──────────────┼────────────────────────────────────────────────┼────────────────────────┼──────┤
│02.05│Пациент
не │SELECT L.* FROM L │Проверка
рецепта на со- │П01 │
│ │имеет права на│LEFT OUTER
JOIN FP ON │ответствие
хотя бы одно-│ │
│ │ГСП │FP.SS = L.SS AND │му из следующих критери-│ │
│ │ │FP.S_EDV = 1 AND │ев: │ │
│ │ │L.DATE_VR < │-
человек с таким СНИЛС-│ │
│ │ │(CASE FP.DATE_RSE WHEN
" THEN '01/01/2222' ELSE │ом (SS) не найден в ре- │ │
│ │ │ISNULL(FP.DATE_RSE,
'01/01/2222') END) │естре лиц, имеющих право│ │
│ │ │WHERE FP.SS IS NULL │на получение НСУ; │ │
│ │ │
│- человек, получивший │ │
│ │ │
│рецепт, отказался от │ │
│ │ │
│получения НСУ (S_EDV=0);│ │
│ │ │
│- человек, получивший │ │
│ │ │ │рецепт,
исключен из │ │
│ │ │
│регистра лиц, имеющих │ │
│ │ │
│право на получение НСУ, │ │
│ │ │
│раньше, чем был выписан │ │
│ │ │
│рецепт. │ │
│ │ │ │L.DATE_VR
> P.DATE_RSE │ │
│ │ │
│(дата исключения из │ │
│ │ │
│регионального сегмента │ │
│ │ │
│регистра, учитывается, │ │
│ │ │
│что эта дата может быть │ │
│ │ │
│пустой). │ │
│ │ │
│Входные данные: реестр │ │
│ │ │
│рецептов (файл записей │ │
│ │ │
│типа "Л"), региональный │ │
│ │ │
│сегмент регистра лиц, │ │
│ │ │
│имеющих право на получе-│ │
│ │ │
│ние государственной со- │ │
│ │ │ │циальной помощи в виде │
│
│ │ │
│дополнительного набора │ │
│ │ │
│социальных услуг, рецеп-│ │
│ │ │
│тов (файл записей типа │ │
│ │ │
│"ФП").
│ │
│ │ │ │Выходные данные:
пере- │ │
│ │ │
│чень рецептов реестра, │ │
│ │ │
│содержащих ошибку │ │
├─────┼──────────────┼────────────────────────────────────────────────┼────────────────────────┼──────┤
│02.06│У
пациента нет│SELECT L.* FROM L │Проверка
рецепта на │П03 │
│ │льготы на дату│LEFT OUTER
JOIN FL ON │соответствие
критерию: │ │
│ │выписки рецеп-│FL.SS = L.SS
AND │-
на дату выписки │ │
│ │та │L.DATE_VR BETWEEN FL.DATE_BL
AND │рецепта
льготник не имел│ │
│ │ │(CASE FP.DATE_EL WHEN
" THEN '01/01/2222' ELSE │ни одной действующей │
│
│ │ │ISNULL(FP.DATE_EL,
'01/01/2222') END) │льготы. │ │
│ │ │WHERE FL.SS IS NULL │L.DATE_VR
< FL.DATE_BL │ │
│ │ │
│(дата начала действия) │ │
│ │ │
│или │ │
│ │ │
│L.DATE_VR > FL.DATE_EL │ │
│ │ │
│(дата окончания │ │
│ │ │
│действия, учитывается, │ │
│ │ │
│что эта дата может быть │ │
│ │ │
│пустой). │ │
│ │ │
│Входные данные: реестр │ │
│ │ │
│рецептов (файл записей │ │
│ │ │
│типа "Л"), файл типа
│ │
│ │ │
│"ФЛ" - данные о
│ │
│ │ │ │документах. │ │
│ │ │
│Выходные данные: пере- │ │
│ │ │
│чень рецептов реестра, │ │
│ │ │
│содержащих ошибку │ │
├─────┼──────────────┼────────────────────────────────────────────────┼────────────────────────┼──────┤
│02.07│Превышена
цена│SELECT L.* FROM L
│Проверка
рецепта на со- │Л02 │
│ │отпущенного ЛС│LEFT OUTER
JOIN PCLS ON │ответствие
хотя бы одно-│ │
│ │ │L.C_PFS = PCLS.C_PFS │му из
следующих критери-│ │
│ │ │WHERE │ев: │ │
│ │ │((PCLS.MSG_TEXT LIKE
'%ЦЕНА УКАЗАНА ЗА%') AND │- в
справочнике зарегис-│ │
│ │ │(L.SL_ALL - ROUND(ROUND(PCLS.PR_REG_LIM
* │трированных цен не най- │ │
│ │ │L.DOZ_LS, 2) * L.KO_ALL,
2) >= 0.01)) │дена
цена с кодом C_PFS,│ │
│ │ │OR │указанным
в рецепте; │
│
│ │ │((PCLS.MSG_TEXT NOT LIKE
'%ЦЕНА УКАЗАНА ЗА%') │-
превышение предельной │ │
│ │ │AND │цены
отпуска на 0,01 │ │
│ │ │(L.SL_ALL - ROUND(PCLS.PR_REG_LIM
* L.KO_ALL, │руб. │ │
│ │ │2)) > 0.01)) │Более
подробно алгоритм │ │
│ │ │OR PCLS.PR_REG_LIM IS
NULL │расчета
суммы превышения│ │
│ │ │
│приведен в описании │ │
│ │ │
│алгоритма Расчет цены │ │
│ │ │ │превышения
(код 02.08). │ │
│ │ │
│Входные данные: реестр │ │
│ │ │
│рецептов (файл записей │ │
│ │ │
│типа "Л"), файл типа
│ │
│ │ │
│"ПЦЛС".
│ │
│ │ │
│Выходные данные: пере- │ │
│ │ │
│чень рецептов реестра, │ │
│ │ │ │содержащих ошибку │ │
├─────┼──────────────┼────────────────────────────────────────────────┼────────────────────────┼──────┤
│02.08│Расчет
цены │SELECT L.*, │Расчет
суммы отказа для │ │
│ │превышения │CASE │рецептов
с превышением │ │
│ │ │WHEN PCLS.PR_REG_LIM IS
NULL THEN L.SL_ALL │предельной цены. │ │
│ │ │WHEN (PCLS.MSG_TEXT LIKE
'%ЦЕНА УКАЗАНА ЗА%') │Для заданного в рецепте │ │
│ │ │AND │C_PFS
берется цена из │ │
│ │ │(L.SL_ALL >
ROUND(ROUND(PCLS.PR_REG_LIM * │справочника
зарегистри- │ │
│ │ │L.DOZ_LS, 2) * L.KO_ALL,
2)) │рованных
предельных цен │ │
│ │ │THEN L.SL_ALL -
ROUND(ROUND(PCLS.PR_REG_LIM * │(PR_REG_LIM)
для данного│ │
│ │ │L.DOZ_LS, 2) * L.KO_ALL, 2) │региона. │ │
│ │ │WHEN (PCLS.MSG_TEXT NOT
LIKE '%ЦЕНА УКАЗАНА
│Если
PR_REG_LIM не │ │
│ │ │ЗA%') AND │найдена, то
│ │
│ │ │(L.SL_ALL >
ROUND(PCLS.PR_REG_LIM * L.KO_ALL, │СуммаПревышения = │ │
│ │ │2)) THEN L.SL_ALL -
ROUND(PCLS.PR_REG_LIM * │SL_ALL,
в противном
│ │
│ │ │L.KO_ALL, 2) │случае:
ПредельнаяЦена =│ │
│ │ │ELSE 0 │PR_RE_LIM
Если для цены │ │
│ │ │END AS
[СУММАПРЕВЫШЕНИЯ] │в
справочнике цен указа-│ │
│ │ │FROM L │но
примечание - 'Цена │ │
│ │ │LEFT OUTER JOIN PCLS │указана за 1 ME' или │
│
│ │ │ON L.C_PFS =
PCLS.C_PFS │'Цена указана за 1 │ │
│ │ │
│грамм', то полученная │ │
│ │ │
│предельная Цена │ │
│ │ │
│вычисляется так: │ │
│ │ │
│ПредельнаяЦена = │ │
│ │ │
│ОкруглитьДоКопеек │ │
│ │ │
│Значение (PR_REG_LIM * │ │
│ │ │
│DOZ_ME │ │
│ │ │
│(УказаннаяВРецептеДози- │ │
│ │ │
│ровка)) │ │
│ │ │
│Тогда │ │
│ │ │
│Если SL_ALL > │ │
│ │ │ │ОкруглитьДоКопеек │ │
│ │ │
│(ПредельнаяЦена*КО_АLL) │ │
│ │ │
│Считаем │ │
│ │ │
│СуммаПревышения = SL_ALL│ │
│ │ │
│- ОкруглитьДоКопеек │ │
│ │ │ │(ПредельнаяЦена*КолВо) │
│
│ │ │
│В противном случае │ │
│ │ │
│СуммаПревышения = 0. │ │
│ │ │
│Входные данные: реестр │ │
│ │ │
│рецептов (файл записей │ │
│ │ │ │типа
"Л"), файл типа │ │
│ │ │
│"ПЦЛС".
│ │
│ │ │
│Выходные данные: реестр │ │
│ │ │
│рецептов с дополнитель- │ │
│ │ │
│ной колонкой │ │
│ │ │ │"СуммаПревышения"
и про-│ │
│ │ │
│считанными для каждого │ │
│ │ │
│рецепта значениями │ │
└─────┴──────────────┴────────────────────────────────────────────────┴────────────────────────┴──────┘
4. Коды ошибок
Выявленным в ходе проведения экспертиз
ошибкам присвоены соответствующие формальные коды. Перечень ошибок, выявляемых
в ходе автоматизированной экспертизы реестров рецептов, приведен в таблице 3.
Таблица 3
Наименование
ошибки
|
Код
ошибки
|
Код ошибки
по
Приказу ФОМС от
21.03.2006 N 38
|
"Предоставление
ЛС лицам, не включен-
ным в Регистр" (не имеющим права на
ГСП, с ошибками СНИЛС и пр.)
|
П
|
П
|
Пациент не имеет
права на ГСП
(отсутствует в Регистре)
|
П01
|
П01
|
У пациента нет
льготы на дату выписки
рецепта
|
П03
|
П03
|
СНИЛС пациента в
обслуженном рецепте
не соответствует СНИЛС, указанному в
реестре выписанных рецептов
|
П05
|
-
|
"Предоставление
ЛС, не входящих в
Перечень ЛС"
|
Л
|
Л
|
Отпущенное ЛС не
входит в Перечень ЛС
на дату отпуска
|
Л05
|
Л01
|
В рецепте указан
некорректный код
позиции перечня
|
Л06
|
"Дублирование
рецептов"
|
|
|
Проверка дублей
внутри реестра
|
Л04
|
Л04
|
Рецепт уже
оплачен
|
Л03
|
Л03
|
"Предоставление
ЛС по рецептам, офор-
мленным с нарушением установленного
порядка"
|
Р
|
Р
|
Номер рецепта не
корректен
|
Р06
|
Р02
|
Серия рецепта не
корректна
|
Р07
|
Код диагноза
отсутствует в
справочнике МКБ-10
|
Р08
|
-
|
Код ЛПУ
отсутствует в справочнике
ЛПУ, работающих в системе ДЛО
|
Р04
|
Р04
|
Врач/фельдшер
отсутствует в регистре
врачей
|
Р03
|
Р03
|
Рецепт не найден
в реестре выписанных
рецептов
|
Р09
|
-
|
Просроченный
рецепт
|
Р10
|
-
|
МНН отпущенного
ЛС не соответствует
указанному в реестре выписанных
рецептов
|
Р05
|
Р05
|
Код ЛПУ в
обслуженном рецепте не со-
ответствует коду, указанному в реест-
ре выписанных рецептов
|
Р11
|
-
|
Дата выписки в
обслуженном рецепте не
соответствует дате, указанной в ре-
естре выписанных рецептов
|
Р12
|
-
|
На дату выписки
рецепта врач был
исключен из регистра врачей
|
Р13
|
-
|
Ошибки по
результатам экспертизы
|
Э
|
|
Код диагноза не
соответствует
выписанному ЛС
|
Э01
|
-
|
"Превышение
цены ЛС"
|
|
|
Превышена цена
отпущенного ЛС
|
Л02
|
Л02
|
5. Жизненный цикл
рецепта ДЛО
Зона ответственности
Контрольные данные
Лечебно-профилактическое учреждение __ __ __ __ __ __
__ __ __ __ __ __ __ __ __ __ __ __
┌─┐
┌─────────────────┐ ┌──────────────┐ Рецептурные
│1│
│Реестр выписанных│
│ Выписка │ данные
└┬┘ ┌─┤ реестров
│<───┤ │ Дата выписки
│ │ └─────────────────┘ └─────┬────────┘
│ │ \/ ┌─────────────────┐
┌┴┐ │ ┌──────────────┐ │Реестр
выписанных│
│1│ │ │ Выбор аптеки │ │ рецептов
│
└─┘ │ └─┬────────────┘ └─────────────────┘
Аптечное учреждение _ __ __ __ │_ __ __/\__ __ __
__ __ __ __ __ __ __ __ __ __ __ __ __
┌─┐ │ \/ │
│2│ │ ┌─────────┴────┐ ┌──────────────────┐
└┬┘ │ │Предъявление к├─>│Прием
на отсрочен-│ Дата предъявления
│ │ │ обслуживанию │ │ное обслуживание │
│ │ └──────┬───────┘ └─────────┬────────┘
│ │ \/ \/
│ │ ┌──────────────┐ ┌──────────────────┐
│ │ │ Обслуживание │<─┤ Отсроченное │
Дата помещения
│ │ │ │ │
обслуживание │ на обслуживание
│ │ └──────┬───────┘ └────────┬─────────┘
│ │ ┌─────────────────┐ \/ \/
│ │ │Реестр отпущенных│ ┌───────────────┐ ┌──────────────────┐
│ │ │ лекарственных
│<──┤Отпуск лекарст-│ │ Реестр отложенных├───┐ Дата отпуска
│ │ │ средств
│ │венных средств │ │
рецептов │ │
Сумма
│ │ └────────┬────────┘ └───────┬───────┘ └──────────────────┘ │
Торговое
│ │ │ │ │ наименование
┌┴┐ │ │ │ ┌────┴─────────────────┐
│2│ │ │ │ │Реестр
отпущенных ЛС и│
└─┘ │ │ │ │ отложенных
рецептов │
│ │ │ └────┬─────────────────┘
Фармдистрибьютер __ __ __ __ __ __ _│_ __ __ __
__ __ __ __ __ __ __ _│_ __ __ __ __ __ _
┌─┐ │ │ │ │
│3│ │ │ │ │
└┬┘ │ │ \/ │
│ │ │ ┌─────────────────┐ │
│ │ │ │Обработка, форми-│ │
│ │ │ │рование реестра и│<───────────┐ │
│ │ │ │счета │ │ │
│ │ │ └───────┬─────────┘ │ │
│ │ │ \/ │ │
│ │ │ ┌─────────────────┐ │ │ Дата и номер счета
│ │ │ │ Предъявление к │ │ │ Сумма
┌┴┐ │ │ │ оплате
│ │ ┌────┴─────────────────┐
│3│ │ │ └───────┬─────────┘ │ │Реестр отпущенных ЛС, │
└─┘ │ │ │ │ │предъявленных к оплате│
│ │ │ │ └────┬─────────────────┘
Территориальный фонд ОМС __ __ __ _│_ __ __ __ __
__ __ __│__ __ __ __│__ __ __ __ __ __ _
│ │ │ │ │
┌─┐ │ │ \/ │ │
│4│ │ │ ┌─────────────────┐ ┌─────────┴──────┐ │
Дата экспертизы
└┬┘ │ │ │Реестр отпущенных│ │
Дефектная │ │
Код дефекта
│ │ │ │
лекарственных │ │
ведомость │ │ Сумма
│ │ │ │ средств
│ │ │ │
│ │ │ └───────┬─────────┘ └────────────────┘ │
│ │ │ \/ /\ │
│ │ │ ┌─────────────────┐ ┌─────────┴──────────┐│
│ │ └──────────>│ ├─>│Реестр
рецептов, не ││
│ │ │ Экспертиза
│ │прошедших
экспертизу││
│ └─────────────────────>│ │ └────────────────────┘│
│ │ │<───────────────────────┘ Дата экспертизы
│ └───────┬─────────┘ Код дефекта
│ \/
Сумма
│ ┌─────────────────┐
│ │Реестр
рецептов, │
│ │прошедших
экспер-│
│ │тизу │
│ └───────┬─────────┘
│ \/
│ ┌─────────────────┐ Дата и номер
│ │ Оплата
│
платежного
│ └─────────────────┘ поручения
│
Сумма
│
┌──────────────────────────┐
┌┴┐
│Реестр оплаченных рецептов│
│4│
│ Реестр отказов в оплате │
└─┘
└──────────────────────────┘
__ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __
__ __ __ __ __ __ __ __ __ __ __ __ _
6. Применение кодов
ошибок при проведении
автоматизированной экспертизы
6.1. Перечень ошибок, при которых
устанавливается отказ от оплаты (для ошибки Л02 - частичный отказ):
Наименование
ошибки
|
Код ошибки
|
"Предоставление
ЛС лицам, не включенным в Регистр"
(не имеющим права на ГСП, с ошибками СНИЛС и пр.)
|
П
|
Пациент не имеет
право на ГСП (отсутствует в
Регистре)
|
П01
|
У пациента нет
льготы на дату выписки рецепта
|
П03
|
"Предоставление
ЛС, не входящих в Перечень ЛС"
|
Л
|
Отпущенное ЛС не
входит в перечень ЛС на дату отпуска
|
Л05
|
В рецепте указан
некорректный код позиции перечня
|
Л06
|
"Дублирование
рецептов"
|
|
Проверка дублей
внутри реестра
|
Л04
|
Рецепт уже
оплачен
|
Л03
|
"Превышение
цены ЛС"
|
|
Превышена цена
отпущенного ЛС
|
Л02
|
На дату выписки
рецепта врач был исключен из регистра
врачей
|
Р13
|
Дополнительные требования по применению
ошибок с кодами Л05, Л06. В связи с тем, что в файлах справочника ЛС,
действующего на настоящий момент, имеются записи, по которым дата исключения из
Перечня ЛС (PLS.DATE_E, Файл записей типа "ПЛС" "Перечень
лекарственных средств"), меньше даты действия зарегистрированной цены ЛС
(CLS.DATE_EP, "Файл записей типа "ЦЛС" - Справочник
зарегистрированных цен ЛС"), алгоритм 02.03 с кодом ошибки Л05 не
применяется. В указанном случае может применяться только алгоритм 02.04 с кодом
ошибки Л06, который использует таблицу CLS.
Дополнительные требования по применению
ошибки с кодом Л03. В случае отпуска по одному рецепту нескольких упаковок
(единиц отпуска) лекарств, имеющих разные номенклатурные коды или разную
стоимость упаковки, формируется несколько записей по одному рецепту с
одинаковыми значениями поля SN_LR - по одной на каждый номенклатурный код или
разную стоимость упаковки - с соответствующими значениями поля SL_ALL. Алгоритм
02.02 ошибки Л03 указан для случая полной оплаты или отказа от оплаты всех
записей по рецепту, т.е. не допускает частичной оплаты отдельных записей по
рецепту и дальнейшего повторного выставления счета по другим записям, не
принятым к оплате. В случае, если ТФОМС применяет частичную оплату по записям с
D_TYPE=1, алгоритм 02.02 необходимо дополнить сравнением C_PFS и SL_ALL в
таблицах PAYL и L.
6.2. Перечень ошибок для применения на
территориях, реализовавших автоматизированные системы формирования и печати
рецепта со штрих-кодом в программных комплексах ЛПУ и обеспечивших наличие всех
выписанных рецептов в реестрах выписанных рецептов, передаваемых в ТФОМС, а
также полное соответствие реквизитов выписанного рецепта реестру:
СНИЛС пациента в
обслуженном рецепте не соответствует
СНИЛС, указанному в реестре выписанных рецептов
|
П05
|
Рецепт не найден
в реестре выписанных рецептов
|
Р09
|
МНН отпущенного
ЛС не соответствует указанному в
реестре выписанных рецептов
|
Р05
|
Код ЛПУ в
обслуженном рецепте не соответствует коду,
указанному в реестре выписанных рецептов
|
Р11
|
Дата выписки в
обслуженном рецепте не соответствует
дате, указанной в реестре выписанных рецептов
|
Р12
|
В случае разногласий с фармацевтической
организацией по указанным ошибкам для правомерности применения перечисленных
ошибок может потребоваться соответствующее документальное подтверждение от ЛПУ.
6.3. Ошибки, применение которых требует
использования утвержденных в установленном порядке Министерством
здравоохранения и социального развития РФ стандартов лечения и обязательного
использования стандартов в ЛПУ:
Ошибки по
результатам экспертизы
|
Э
|
Код диагноза не
соответствует выписанному ЛС
|
Э01
|
введены ФОМС для будущего применения и в
настоящее время не должны использоваться при выставлении отказов по счетам
фармацевтических организаций.
6.4. Прочие ошибки (Р03, Р04, Р06-Р08,
Р10), связанные с предоставлением ЛС по рецептам, оформленным с нарушением
установленного порядка, направляются по результатам экспертизы ТФОМС в
фармацевтическую организацию, которая обеспечивает их исправление и повторное
выставление исправленного счета или его исправленной части в ТФОМС. В алгоритме
01.01 ошибки Р10 для простоты описания длительность месяца принята 30 дней.
Рекомендуется учитывать при проверке длительность месяца, в котором выписан
рецепт.