Импорт случаев ОМС

chipcom

Навигация:  Сервисы и настройки > Сервисы > Импорт >

Импорт случаев ОМС

НазадВ началоВперед

Пункт меню «Импорт случаев ОМС» предназначен для загрузки в БД программы файла с данными о случаях ОМС подготовленного в программах других разработчиков, структура файла имеет определенный формат.

 

Порядок нашего взаимодействия:

§Вы работете в своих программных продуктах, соблюдая правила, которые  декларирует ТФОМС Волгоградской области в своих Соглашениях и Приказах
§с какой-то степенью периодичности (раз в день, раз в неделю, и т.п.) вы  экспортируете свои "набитые" случаи в файлы "_sluch.dbf" и "_sluch_u.dbf", одновременно с этим в этом же каталоге должны присутствовать заполненные справочники "_otd.dbf" и "_lpu.dbf".
§затем в нашей программе в данном режиме  импортируете файлы "_sluch.dbf", "_sluch_u.dbf", "_otd.dbf" и "_lpu.dbf"
§если есть необходимость - заносите результат импорта в свою программу (в какую запись попал каждый Ваш случай) - эта процедура может быть полезной для того, чтобы не отсылать нам повторно уже отосланные случаи

 

Алгоритм импорта:

§анализ корректности структуры файлов
oесли некорректная структура – выход
§по файлу "_lpu.dbf"
oв своём справочнике учреждений программа ищет учреждение с кодом "KOD"
oесли находит - перезаписывается поле "NAME"
oесли не находит - добавляется запись в справочник учреждений
§по файлу "_otd.dbf"
oпроверяется, есть ли в "_lpu.dbf" запись _lpu->kod == _otd->kod_lpu
·если нет - выводится ошибка
oв своём справочнике отделений программа ищет отделение с кодом "KOD"
·если находит - перезаписывается поле "NAME" и поле "KOD_LPU"
·если не находит - добавляется запись в справочник отделений
§Теперь собственно чтение случаев:
§по полю "KOD" делается связка файлов "_sluch.dbf" и "_sluch_u.dbf"
§цикл по файлу "_sluch.dbf" (пропуская записи с REC_HUMAN > 0)
oанализ корректности полноты заполнения случая
·если не заполнены обязательные поля - случай не обрабатывается (в протокол выводится "разумное" сообщение)
oанализ корректности правильности заполнения - сочетания полей
·если некорректное сочетание полей - случай не обрабатывается (в протокол выводится сообщение)
o(по файлу "_sluch.dbf") проверяется, есть ли в "_otd.dbf" запись (_sluch->otd = _otd->kod)
·если нет - выводится ошибка
o(по файлу "_sluch_u.dbf") проверяется, есть ли в "_otd.dbf" запись (_sluch_u->otd = _otd->kod)
·если нет - выводится ошибка
oпроверка, присутствуют ли шифры оказанных услуг в справочнике ТФОМС
·если нет - случай не обрабатывается (в протокол выводится сообщение)
oпроверяется правильность ввода цены услуги по справочнику ТФОМС
·если нет - случай не обрабатывается (в протокол выводится сообщение)
oанализируется полнота заполнения полей  "FIO","FAM","IM","OT"
·если не заполнены отдельные поля (фамилия, имя и отчество), - поле "FIO" программа разбивает по пробелам на фамилию, имя и отчество.
·если у Вас сложилась ситуация, не вписывающаяся в данное правило (т.е. если в фамилии, имени или отчестве более одного «слова», разделённых пробелом, точкой, дефисом, кавычками или апострофом), то необходимо дополнительно заполнить поля - "FAM","IM","OT"
oт.к. в базе данных программы все реквизиты пациентов хранятся в "картотеке", производится поиск пациента в картотеке по ключу "ФИО + дата рождения"
·если не найден - в картотеку добавляется новый пациент
·если найден - в картотеке перезаписываются остальные реквизиты пациента (пол, адрес, полис, паспорт, СНИЛС, место рождения)
oт.к. в базе данных программы все врачи, оказывающие услуги, хранятся в справочнике персонала, производится поиск врача в справочнике персонала по табельному номеру
·если не найден - в справочник персонала добавляется новый врач
·если найден - в справочнике персонала перезаписываются ФИО и специальность врача
oу Вас не запрашивается признак цены "взрослая/детская", т.к. это будет определяться при импорте:
·для NOVOR > 0 - цена детская
·для NOVOR = 0 - определяется возраст по дате рождения и дате начала лечения, если менее 18 лет - цена детская
oдобавляется запись в файл случаев ("human.dbf"), код записи записывается в поле "REC_HUMAN": _sluch->REC_HUMAN := human->(recno())
oцикл, пока _sluch->KOD == _sluch_u->KOD
·т.к. в базе данных программы все услуги хранятся во внутреннем справочнике услуг, производится поиск услуги в справочнике услуг по шифру (коду ТФОМС)
-если не найдена - в справочник услуг добавляется новая услуга
·поиск врача в справочнике персонала по табельному номеру
-если не найден - в справочник персонала добавляется новый врач
-если найден - в справочнике персонала перезаписываются ФИО и специальность врача
·добавляется запись в файл оказанных услуг ("human_u.dbf"), код записи записывается в поле "REC_HUMANU":  _sluch_u->REC_HUMANU := human_u->(recno())
oконец цикла _sluch->KOD == _sluch_u->KOD
§конец цикла прохода по файлу "_sluch.dbf"
§вывод протокола на экран/печать
§допускается после обработки, если не импортированы некоторые записи, тут же в любом редакторе DBF-файлов внести необходимые исправления, и повторно запустить процедуру импорта (т.к. уже импортированные записи программа будет пропускать)

Структура файла _sluch.dbf:

§"REC_HUMAN","N8" - вы заполняете нулём (=0), а программа после удачного импорта заносит в данное поле номер записи в файле случаев "human.dbf", в которую записан Ваш случай (для обратной связи с Вашей программой, если есть необходимость, и для протокола), если импорт не прошёл - в данном поле останется 0
§"YOUR_RECNO","N10"- номер записи в Вашей БД (служебное поле для Ваших нужд)
§"KOD","N6" - код для связи с файлом "услуги в случае" ("_sluch_u.dbf"), т.е. для одной записи в файле "_sluch.dbf" может быть несколько записей (услуг) в файле "_sluch_u.dbf"
§"FIO","C50" - фамилия, имя и отчество пациента, разделённые пробелами. (Для новорожденного NOVOR > 0 - ФИО представителя). (Отчество может отсутствовать)
§"FAM","C40" – фамилия пациента / его представителя
§"IM","C40" – имя пациента / его представителя
§"OT","C40" – отчество пациента / его представителя (может отсутствовать)
§"W","N1" - пол пациента (представителя) (1-мужчина,2-женщина)
§"DR","D8" - дата рождения пациента (представителя)
§"VPOLIS","N1" - тип документа, подтверждающего факт страхования по ОМС (1-старый, 2-временный, 3-новый) (по умолчанию 1-старый)
§"SPOLIS","C10" - серия документа, подтверждающего факт страхования по ОМС
§"NPOLIS","C20" - номер документа, подтверждающего факт страхования по ОМС
§"SMO","C5" - реестровый номер СМО (по справочнику F002), если иногородняя СМО не найдена в федеральном реестре, то проставляется “SMO”:=”34   “
§"SMO_OK" ,"C5" – ОКАТО территории страхования (обязательно к заполнению в случае, если “SMO”=”34   “)
§"SMO_NAM","C100" – наименование иногородней СМО (обязательно к заполнению в случае, если “SMO”=”34   “)
§"DOCTYPE","N2" - тип документа, удостоверяющего личность (по справочнику F011)
§"DOCSER","C10" - серия документа, удостоверяющего личность
§"DOCNUM","C20" - номер документа, удостоверяющего личность
§"MR","C100" - место рождения
§"SNILS","C11" - СНИЛС (без разделителей) (при наличии)
§"OKATOG","C11" - ОКАТО места жительства (регистрации)
§"OKATOP","C11" - ОКАТО места пребывания (если равно OKATOG, можно не заполнять)
§"ADRES"  ,"C50" – улица, дом, квартира места жительства (регистрации)
§"ADRESP" ,"C50" - улица, дом, квартира места пребывания
§"OTD","N2" - код отделения, где проводилось лечение
§"PROFIL","N3" - профиль оказанной медицинской помощи (по справочнику V002)
§"NHISTORY","C10" - номер амбулаторной карты (истории болезни)
§"DATE_1","D8" - дата начала лечения
§"DATE_2","D8" - дата окончания лечения
§"DS0","C6" - диагноз первичный
§"DS1","C6" - диагноз основной
§"DS2","C6" - диагноз сопутствующего заболевания
§"NOVOR","N1" - признак новорожденного (0-нет, 1-да)
§"REB_NUMBER","N2" - порядковый номер ребёнка (для NOVOR > 0)
§"REB_DR","D8" - дата рождения ребенка (для NOVOR > 0)
§"REB_POL","N1" - пол ребенка (для NOVOR > 0) (1-муж.,2-жен.)
§"USL_OK","N2" - условия оказания медицинской помощи (по справочнику V006)
§"VIDPOM","N4" - вид помощи (по справочнику V008)
§"IDSP","N2" - код способа оплаты медицинской помощи (по справочнику V010)
§"F_SP","N1" - форма оказания скорой медицинской помощи (1-неотложная, 2 - экстренная), обязательно при оказании скорой медицинской помощи
§"NPR_MO","C6" - код МО, направившего на лечение, присвоенный ТФОМС (по справочнику T001)
§"EXTR","N1" - тип госпитализации (1-плановая,2-экстренная), обязательно при оказании стационарной помощи (по умолчанию =1)
§"RSLT","N3" - результат обращения/госпитализации (по справочнику V009)
§"ISHOD","N3" - исход заболевания (по справочнику V012)
§"VRACH","N5" - табельный номер лечащего врача (врача, закрывшего талон)
§"PRVS","N9" - специальность врача (по справочнику V004)
§"VRACH_FIO","C50" - фамилия, имя и отчество врача
§"SUMV","N10.2" - сумма, выставленная к оплате

Структура файла _sluch_u.dbf:

§"REC_HUMANU","N8" - вы заполняете нулём (=0), а программа после удачного импорта заносит в данное поле номер записи в файле оказанных услуг "human_u.dbf", в которую записана Ваша услуга (для обратной связи с Вашей программой, если есть необходимость, и для протокола), если импорт не прошёл - в поле останется 0
§"YOUR_RECNO","N10" - номер записи в Вашей БД (служебное поле для Ваших нужд)
§"KOD","N6" - код для связи с файлом "случаи" ("_sluch.dbf"), т.е. для одной записи в файле "_sluch.dbf" может быть несколько записей (услуг) в файле "_sluch_u.dbf"
§"OTD","N2" - код отделения, где оказана услуга
§"PROFIL","N3" - профиль оказанной медицинской помощи (по справочнику V002)
§"DS","C6" – диагноз
§"CODE_USL","C10" - код услуги (по справочнику ТФОМС T002)
§"DOM","N1" - если врачебный приём на дому (2.3.*, 2.79.*, 2.80.*), то проставляется "1"
§"DATE_IN","D8" - дата начала оказания услуги
§"KOL_USL","N3" - количество оказанных услуг
§"TARIF","N10.2" - тариф/цена одной услуги (взрослая или детская, в зависимости от возраста пациента на дату начала лечения) (по справочнику ТФОМС T003)
§"SUMV_USL","N10.2" - стоимость услуги, выставленная к оплате (равна KOL_USL * TARIF)
§"VRACH","N5" - табельный номер врача, оказавшего услугу
§"PRVS","N9" - специальность врача (по справочнику V004)
§"VRACH_FIO","C50" - фамилия, имя и отчество врача
§"ASSIS","N5" - табельный номер ассистента, оказавшего услугу (необязательное поле)
§"ASSIS_FIO","C50" - фамилия, имя и отчество ассистента (необязательное поле)

 

Структура файла _lpu.dbf:

§"KOD","N2" - ваш код учреждения (должен быть уникален внутри файла "_lpu.dbf")
§"NAME","C30" - наименование учреждения

 

Структура файла _otd.dbf:

§"KOD","N2" - ваш код отделения (должен быть уникален внутри файла "_otd.dbf")
§"NAME","C30" - наименование отделения
§"KOD_LPU", "N2" - код учреждения, в котором находится отделение (должен ссылаться на поле "KOD" из файла "_lpu.dbf")