Диплом: Разработка программы по оформлению медико-экономической экспертизы и экспертизы качества стационарной медицинской помощи

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
61
профиля МП». Чтобы не создавать таблицы связей для отношений «МЭЭ»
- «выявляет» - «Ошибки» и «МЭК» - «определяет» - «Ошибки», в таблицах
«МЭЭ» и «МЭК» создадим числовое поле размерностью 2 байта, каждый
бит которого будет соответствовать номеру выявленной ошибки.
Существующее программное обеспечение использует базу данных
MS SQL Server со следующей структурой (рис 10) [31.стр.327-328]:
Post_Name char(70)
Type_Post
Num int
Text_isch char(40)
Ischod tiny int
Text_Ischod
Type_Document
IdType_Document tiny int
Name_TD v archar(50)
Signature
Family char(100)
Post char(150)
Number tiny int
SMO tiny int
FIO char(70)
Us_Id int
User_Param
Port int
Mail_server char(20)
Telephone char(20)
User_Mail_server char(25)
Text_error char(50)
Text_Error
Num_Err tiny int
Type tiny int
Text_DaySt
DaySt tiny int
Name_DaySt char(70)
Name_District varchar(100)
City bit
Ter
ReKod_City int
Us_Id int
Date_change datetime
Kod_LPU smallint
SpisRee
Period datetime
Dat_Pr datetime
NumRee int @
SMO_Ex tiny int
Sum_Stac numeric(12,2)
Q_bol_st smallint
Sum_DaySt_Opl numeric(12,2)
Sum_Stac_Opl numeric(12,2)
Sum_Avans numeric(12,2)
Sum_Pr numeric(12,2)
Sum_DaySt numeric(12,2)
Q_bol_pr smallint
Q_bol_dst smallint
Q_kd_st smallint
Q_kd_pr smallint
Q_kd_dst smallint
Q_Exp smallint
Q_Exp_Check smallint
Q_Plan_Exp smallint
Q_Plan_Exp_Check smallint
Sum_fin_Pr numeric(12,2)
Sum_Shtr numeric(12,2)
Sum_Rise_KD numeric(12,2)
Reestr
Us_Id int
Date_change datetime
DaySt tiny int
Pol bit
Ischod timy int
NumRee int
Num_PP smallint
Kod_Otd tiny int
Profil tiny int
Nozo char(7)
NIst char(10)
PolisNum char(16)
PolisSer char(4)
Fanily v archar(60)
Date_R datetime
DP smalldatetime
DW smalldatetime
Norm smallint
FL tiny int
Place v archar(200)
LPU_Pr smallint
Filial tiny int
S_Day smallint
Summa numeric(12,2)
Tarif numeric(8,2)
Pred_Tarif numeric(8,2)
UKDL numeric(5,3)
S_Avans numeric(12,2)
Sum_Norm numeric(12,2)
Nozo_P char(7)
Selo bit
Day_Opl smallint
Sum_Before numeric(12,2)
Expert bit
Status tiny int
SMO_Ex tiny int
Plan_Ex bit
Date_Ex smalldatetime
Errors int
Num_Ex tiny int
Note text
PersonSOATO int
AddExpert bit
Date_AddEx smalldatetime
Num_AddEx tiny int
Period smalldatetime
Name_Shtr text
Shtarf
Num_Punkt int @
Punkt char(10)
Sign tiny int
Part_Shtr numeric(6,3)
Type tiny int
Tarif_name
Category tiny int
Name_Tar v archar(255)
Profil tiny int
TarifSum
Summa numeric(10,2)
Date_Tar smalldatetime
Category tiny int
Koef numeric(6,4)
GAI tiny int
SOATO_Obl
Address v archar(255)
Name_Obl v archar(150)
SOATO smallint
Own bit
RS char(10)
FIO char(70)
EMail char(100)
Bank char(255)
BIK char(9)
KS char(20)
Telephon char(100)
INN char(12)
Date smalldatetime
Norm
Normativ tiny int
Name_Nozo text
Not_Pay bit
Norma smallint
MKB9 char(6)
MKB10 char(7)
Profil tiny int
Category tiny int
Pay_Category
Name char(100)
Prof_Depart
Num_Lic int
DaySt tiny int
Kol_K smallint
Category tiny int
HolyDays tiny int
Pay_Profil tiny int
Profil
Profil tiny int
Prof_Name v archar(255)
Child bit
Profil_Child tiny int
Near_Profil v archar(255)
Us_Id int
Date_change datetime
Ree_Avg_KD
Q_KD smallint
Num_Avg_KD int
NumRee int
Summa numeric(12,2)
Q_Bol smallint
Sum_Rise_KD numeric(12,2)
Rise_KD bit
Raion
Name_R v archar(150)
IdRaion tiny int
FP_Avg
NumRee int
Kod_Otd tiny int
Num_Avg_KD int
Summa numeric(12,2)
S_UKDL_FP numeric(6,3)
S_UKDL_Ex_FP numeric(6,3)
Q_Exp_FP smallint
Q_Rise_UKDL smallint
Sum_fin_Pr numeric(12,2)
Us_Id int
Date_change datetime
FZP numeric(6,4)
FZP
Kod_LPU smallint
Period datetime
Kod_Otd tiny int
FZP numeric(6,4)
Us_Id int
Date_change datetime
HolyDay smalldatetime
HolyDays
LPU
Kod_LPU smallint
Category tiny int
OKPO char(10)
Stac bit
Address v archar(255)
GlavVr v archar(255)
Name varchar(255)
Normativ tiny int
IdRaion tiny intLicen
Kod_LPU smallint
Num_Lic int @
End_date smalldatetime
Begin_date smalldatetime
Name_K
Kod_LPU smallint
Generic_num smallint
DaySt tiny int
Profil tiny int
Name char(100)
Expert_id int
Exp
expert_state_id int
last_name v archar(50)
middle_name v archar(50)
first_name v archar(50)
common_id int
FIO_Exp
Num_Ex tiny int
Date_Term smalldatetime
SMO v archar(255)
Profiles v archar(255)
Expert bit
FIO_Ex v archar(150)
Expert
Us_Id int
Errors int
Num_Exp int @
Sum_Ex numeric(12,2)
Day_Ex smallint
UKDL_Ex numeric(5,3)
Profil tiny int
Kod_Otd tiny int
Num_PP smallint
DaySt tiny int
NumRee int
Date_change datetime
Sum_Stac numeric(12,2)
Set_FP bit
Q_bol_st smallint
FP
NumRee int
Kod_Otd tiny int
Sum_DaySt_Opl numeric(12,2)
Sum_Stac_Opl numeric(12,2)
Sum_Avans numeric(12,2)
Sum_Pr numeric(12,2)
Sum_DaySt numeric(12,2)
Q_bol_pr smallint
Q_bol_dst smallint
Q_kd_st smallint
Q_kd_pr smallint
Q_kd_dst smallint
Q_Exp smallint
Q_Exp_Check smallint
Q_Plan_Exp smallint
Q_Plan_Exp_Check smallint
S_UKDL_FP numeric(6,3)
S_UKDL_Ex_FP numeric(6,3)
Q_Exp_FP smallint
Q_Rise_UKDL smallint
Date_FP smalldatetime
Sum_fin_Pr numeric(12,2)
Sum_Shtr numeric(12,2)
Us_Id int
Date_change datetime
FZP numeric(6,4)
Avg_KD
Q_KD int
Generic_num smallint
Profil tiny int
DaySt tiny int
Q_K smallint
Avg_KD numeric(7,2)
Name char(100)
Num_Avg_KD int @
Kod_LPU smallint
Period datetime
AddExpert
Us_Id int
Errors int
Num_Exp int @
Sum_Ex numeric(12,2)
Day_Ex smallint
UKDL_Ex numeric(5,3)
Profil tiny int
Kod_Otd tiny int
Num_PP smallint
DaySt tiny int
NumRee int
Date_change datetime
Consist_Avg_KD
Num_Avg_KD int
DaySt tiny int
Profil tiny int
Kod_Otd tiny int
Child bit
Profil tiny int
Name_Otd v archar(255)
Kod_Otd tiny int
Kod_LPU smallint
DepartLPU
Name char(70)
Type_Help
Type tiny int
ReeShtr
NumRee int
Num_Punkt int
Sum_Shtr numeric(12,2)
Date_change datetime
Us_Id int
Mn f loat
AddExpShtr
Date_change datetime
Us_Id int
Mn f loat
Sum_Shtr numeric(12,2)
Num_Punkt int
Num_Exp int
ExpShtr
Date_change datetime
Us_Id int
Mn f loat
Sum_Shtr numeric(12,2)
Num_Punkt int
Num_Exp int
Reasons
Text v archar(250)
Typ_RasSht
Sign tiny int
Type_Shtr varchar(100)
Typ_Shtr
Type tiny int
Name_Type char(100)
UKDL_Pred numeric(5,3)
Dop_Otkl numeric(6,4)
Param
Period datetime
Dop_Otkl_Avg numeric(6,4)
SOATO_Obl smallint
IdRaion tiny int
District_s smallint
SOATO smallint
District_s smallint
IdRaion tiny int
Kod_Otd tiny int
Profil tiny int
Title text
SMO
OKPO char(10)
Address v archar(255)
SMO_Name v archar(255)
SMO tiny int
Expert bit
Own bit
Post char(100)
FIO char(70)
Raion v archar(255)
1
1
1
2
2
3
3
3
4
4
4
Рис.10 Структура базы данных Reestr
62
Таблица 3
Структура таблицы «ЛПУ» (LPU)
Обозначение
Формат
Краткое описание назначения (комментарии)
Kod_LPU
smallint
Код ЛПУ
IdRaion
tinyint
ID района
Normativ
tinyint
Код норматива
Name
varchar(255)
Наименование ЛПУ
GlavVr
varchar(255)
ФИО главврача ЛПУ
Address
varchar(255)
Адрес местонахождения ЛПУ
Stac
bit
Признак стационара
Category
tinyint
Категория оплаты
Справочная таблица, содержащая информацию о ЛПУ и его
руководителе. Информация о руководителе необходима для
автоматического формирования текста запроса или письма и вносится в
таблицу в родительном падеже. Имеет два индекса: первичный по коду
ЛПУ и вторичный по ID района и наименованию ЛПУ[23.стр.101].
Таблица 4
Структура таблицы «Категории оплаты» (Pay_Category)
Обозначение
Формат
Краткое описание назначения (комментарии)
Category
tinyint
Категория оплаты
Name
char(100)
Наименование категории оплаты
Таблица имеет только первичный индекс по категории оплаты.
Таблица 5
Структура таблицы «Лицензия» (Licen)
Обозначение
Формат
Краткое описание назначения (комментарии)
Kod_LPU
smallint
Код ЛПУ
63
Begin_date
smalldatetime
Начало действия лицензии
End_date
smalldatetime
Окончание действия лицензии
Num_Lis
int
Регистрационный номер лицензии
(autoincrement)
Таблица «Лицензия» имеет два индекса: первичный по коду ЛПУ и
началу действия лицензии; вторичный по регистрационному номеру
лицензии. На таблицу установлены триггеры: один на добавление записи,
другой на корректировку[26.стр.138]:
CREATE TRIGGER TRI_INS_LICEN ON dbo.Licen
FOR INSERT
AS
BEGIN
IF (UPDATE(BEGIN_DATE) OR UPDATE(END_DATE)) AND EXISTS(SELECT * FROM LICEN L
WHERE (L.NUM_LIC IN (SELECT NUM_LIC FROM INSERTED I WHERE I.KOD_LPU=L.KOD_LPU)) AND
EXISTS(SELECT * FROM LICEN L1 WHERE (L1.NUM_LIC<>L.NUM_LIC) AND (L.KOD_LPU=L1.KOD_LPU)
AND (((L.BEGIN_DATE<=L1.BEGIN_DATE) AND (L.END_DATE>=L1.BEGIN_DATE))
OR ((L.BEGIN_DATE>=L1.BEGIN_DATE) AND (L.BEGIN_DATE<=L1.END_DATE)))))
BEGIN
ROLLBACK TRAN
RAISERROR ('ПЕРЕСЕЧЕНИЕ СРОКОВ ЛИЦЕНЗИИ!',11,1) WITH SETERROR
RETURN
END
INSERT INTO
PROF_DEPART(NUM_LIC,KOD_OTD,PROFIL,DAYST,KOL_K,CATEGORY,HOLYDAYS,PAY_PROFIL)
SELECT I.NUM_LIC,S.KOD_OTD,S.PROFIL,S.DAYST,S.KOL_K,S.CATEGORY,S.HOLYDAYS,S.PAY_PROFIL
FROM INSERTED I INNER JOIN LICEN L ON I.KOD_LPU=L.KOD_LPU AND
L.BEGIN_DATE=(SELECT MAX(L1.BEGIN_DATE) FROM LICEN L1 WHERE L1.KOD_LPU=L.KOD_LPU AND
L1.BEGIN_DATE<I.BEGIN_DATE)
INNER JOIN PROF_DEPART S ON L.NUM_LIC=S.NUM_LIC
END
CREATE TRIGGER TRI_UPD_LICEN ON dbo.Licen
FOR UPDATE
AS
BEGIN
IF (UPDATE(BEGIN_DATE) OR UPDATE(END_DATE)) AND EXISTS(SELECT * FROM LICEN L
WHERE (L.NUM_LIC IN (SELECT NUM_LIC FROM INSERTED I WHERE I.KOD_LPU=L.KOD_LPU)) AND
EXISTS(SELECT * FROM LICEN L1 WHERE (L1.NUM_LIC<>L.NUM_LIC) AND (L.KOD_LPU=L1.KOD_LPU)
AND (((L.BEGIN_DATE<=L1.BEGIN_DATE) AND (L.END_DATE>=L1.BEGIN_DATE))
OR ((L.BEGIN_DATE>=L1.BEGIN_DATE) AND (L.BEGIN_DATE<=L1.END_DATE)))))
BEGIN
ROLLBACK TRAN
RAISERROR ('ПЕРЕСЕЧЕНИЕ СРОКОВ ЛИЦЕНЗИИ!',11,1) WITH SETERROR
END
END
Таблица 6
Структура таблицы «Отделения ЛПУ» (DepartLPU)
Обозначение
Формат
Краткое описание назначения (комментарии)
Kod_LPU
smallint
Код ЛПУ
64
Kod_Otd
tinyint
Код отделения
Profil
tinyint
Код специализации
Name_Otd
varchar(255)
Наименование отделения
Child
bit
Признак детского отделения
Таблица имеет только первичный индекс по коду ЛПУ и коду
отделения.
Таблица 7
Структура таблицы «Специализация» (Profil)
Обозначение
Формат
Краткое описание назначения (комментарии)
Profil
tinyint
Код специализации
Prof_Name
varchar(255)
Наименование специализации
Child
bit
Признак детской специализации
Profil_Child
tinyint
Код детской специализации
Near_Profil
varchar(255)
Перечень кодов смежных специализаций
Таблица имеет только первичный индекс по коду специализации.
Таблица 8
Структура таблицы «Специализации отделений ЛПУ» (Prof_Depart)
Обозначение
Формат
Краткое описание назначения (комментарии)
Num_Lis
int
Регистрационный номер лицензии
Kod_Otd
tinyint
Код отделения
Profil
tinyint
Код специализации
DaySt
tinyint
Признак стационарозамещения
Kol_K
smallint
Количество коек
Category
tinyint
Категория оплаты
HolyDays
tinyint
Код схемы выходных и праздничных дней
65
Pay_Profil
tinyint
Код специализации по тарифу которой
производится оплата
Имеет только первичный индекс по регистрационному номеру
лицензии, коду отделения, коду специализации и признаку
стационарозамещения. На таблицу установлен триггер на добавление и
корректировку записи[29.стр.19]:
CREATE TRIGGER TRI_INS_PROF_DEPT ON dbo.Prof_depart
FOR INSERT,UPDATE
AS
BEGIN
IF UPDATE(KOD_OTD) AND EXISTS(SELECT I.KOD_OTD, L.KOD_LPU FROM INSERTED I LEFT JOIN LICEN L
ON I.NUM_LIC=L.NUM_LIC
WHERE I.KOD_OTD NOT IN (SELECT D.KOD_OTD FROM DEPARTLPU D WHERE D.KOD_LPU=L.KOD_LPU))
BEGIN
ROLLBACK TRAN
RAISERROR('НЕ НАЙДЕН КОД ОТДЕЛЕНИЯ В ТАБЛИЦЕ DEPARTLPU',11,1) WITH SETERROR
END
END
Таблица 9
Структура таблицы «Нормативы» (Norm)
Обозначение
Формат
Краткое описание назначения (комментарии)
Normativ
tinyint
Категория норматива
Date
smalldatetime
Дата ввода в действие норматива
Profil
tinyint
Код специализации
MKB10
char(7)
Код нозологии по МКБ10
MKB9
char(6)
Код нозологии по МКБ9
Norma
smallint
Норма лечения в днях
Not_Pay
bit
Признак неоплачиваемого кода нозологии
Name_Nozo
text
Описание нозологии
Нозология – это учение об отдельных болезнях, их наименованиях
и классификации. Таблица имеет три индекса: первичный по категории
норматива, дате ввода в действие, коду нозологии по МКБ10
(медицинский классификатор болезней), коду нозологии по МКБ 9, норме
66
лечения; два вторичных: один по категории норматива, дате ввода в
действие, коду нозологии по МКБ10; второй по категории норматива, дате
ввода в действие, коду нозологии по МКБ9[37.стр.14].
Таблица 10
Структура таблицы «Тарифы» (TarifSum)
Обозначение
Формат
Краткое описание назначения (комментарии)
Category
tinyint
Категория тарифа
Profil
tinyint
Код специализации
Date_Tar
smalldatetime
Дата начала действия тарифа
Summa
numeric(10,2)
Тариф (стоимость одного койко-дня)
Koef
numeric(6,4)
Уменьшающий коэффициент для
стационарозамещения
Таблица имеет только первичный индекс по категории тарифа, дате
начала действия тарифа, коду специализации.
Таблица 11
Структура таблицы «Наименования тарифов» (Tarif_Name)
Обозначение
Формат
Краткое описание назначения (комментарии)
Category
tinyint
Категория тарифа
Name_Tar
varchar(255)
Наименование тарифа
Таблица имеет только первичный индекс по категории тарифа.
Таблица 12
Структура таблицы «Праздничные дни» (HolyDays)
Обозначение
Формат
Краткое описание назначения (комментарии)
HolyDay
smalldatetime
Дата праздничного дня
Таблица имеет только первичный индекс по дате праздничного
дня.
67
Таблица 13
Структура таблицы «Перечень реестров ЛПУ» (SpisRee)
Обозначение
Формат
Краткое описание назначения (комментарии)
Kod_LPU
smallint
Код ЛПУ
Period
datetime
Период
Продолжение таблицы 13
Обозначение
Формат
Краткое описание назначения (комментарии)
Dat_Pr
datetime
Дата приёма реестра
NumRee
int
Номер реестра (autoincrement)
SMO_Ex
tinyint
Код страховой медицинской организации
(СМО)
SumStac
numeric(12,2)
Сумма стационарного лечения
Sum_DaySt
numeric(12,2)
Сумма стационарозамещающего лечения
Sum_Pr
numeric(12,2)
Предъявленная сумма
Sum_Avans
numeric(12,2)
Сумма выплаченного аванса
Sum_Stac_Opl
numeric(12,2)
Сумма стационарного лечения, принятого к
оплате
Sum_DaySt_Opl
numeric(12,2)
Сумма стационарозамещающего лечения,
принятого к оплате
Q_bol_st
smallint
Суммарное количество больных, которым
оказано стационарное лечение
Q_bol_dst
smallint
Суммарное количество больных, которым
оказано стационарозамещающее лечение
Q_bol_pr
smallint
Суммарное количество больных
Q_kd_st
smallint
Суммарное количество койко-дней
стационарного лечения
Q_kd_dst
smallint
Суммарное количество койко-дней
стационарозамещающего лечения
68
Q_kd_pr
smallint
Суммарное количество койко-дней
Us_id
int
Код пользователя
Date_change
datetime
Дата внесения изменений
Sum_fin_pr
numeric(12,2)
Сумма финансовых претензий
Sum_Shtr
numeric(12,2)
Сумма невозмещения за низкое качество
Продолжение таблицы 13
Обозначение
Формат
Краткое описание назначения (комментарии)
Q_Exp
smallint
Суммарное количество экспертиз
Q_Plan_Exp
smallint
Суммарное количество плановых экспертиз
Q_Exp_Check
smallint
Суммарное количество выполненных экспертиз
Q_Plan_Exp_
Check
smallint
Суммарное количество выполненных плановых
экспертиз
Sum_Rise_KD
numeric(12,2)
Таблица 14
Структура таблицы «Медицинская помощь» (Reestr)
Обозначение
Формат
Краткое описание назначения (комментарии)
NumRee
int
Номер реестра оказания МП
DaySt
tinyint
Признак оказания стационарозамещающей МП
Num_PP
smallint
Номер по порядку записи в реестре
Kod_Otd
tinyint
Код отделения ЛПУ
Profil
tinyint
Профиль оказанной МП
Nozo
char(7)
Код нозологии МП
NIst
char(10)
Номер истории болезни
PolisSer
char(4)
Серия полиса ОМС
PolisNum
char(16)
Номер полиса ОМС
69
Family
varchar(60)
ФИО пациента
Date_R
datetime
Дата рождения пациента
DP
smalldatetime
Дата поступления в стационар
DW
smalldatetime
Дата выписки
Norm
smallint
Количество дней лечения по нормативу
Продолжение таблицы 14
Обозначение
Формат
Краткое описание назначения (комментарии)
FL
tinyint
Tarif
numeric(8,2)
Тариф МП
Pred_Tarif
numeric(8,2)
Предыдущий тариф
UKDL
numeric(5,3)
Самооценка качества оказанной МП
Ishod
tinyint
Код причины выбытия из стационара
Summa
numeric(12,2)
Стоимость оказанной МП
S_Day
smallint
Количество дней пребывания в стационаре
S_Avans
numeric(12,2)
Количество дней, которые были
проавансированы СМО
Sum_Norm
numeric(12,2)
Стоимость лечения по нормативу
Filial
tinyint
Код СМО
LPU_Pr
smallint
Pol
bit
Пол пациента
Place
varchar(200)
Адрес проживания пациента
Nozo_P
char(7)
Код нозологии
Selo
bit
Day_Opl
smallint
Количество оплачиваемых дней лечения
Sum_Before
numeric(12,2)
Сумма оплаты СМО ЛПУ за оказанную МП
70
Expert
bit
Признак наличия экспертизы
Plan_Ex
bit
Признак плановой экспертизы
SMO_Ex
tinyint
Код СМО, выполнившей экспертизу
Num_Ex
tinyint
Код эксперта, выполнившего экспертизу
Продолжение таблицы 14
Обозначение
Формат
Краткое описание назначения (комментарии)
Date_Ex
smalldatetime
Дата проведения экспертизы
Note
text
Примечание, комментарии
Us_ID
int
Идентификатор пользователя
Date_Change
dateme
Дата корректировки
Status
tinyint
AddExpert
bit
Признак наличия дополнительной экспертизы
Num_AddEx
tinyint
Код эксперта, выполнившего дополнительную
экспертизу
Date_AddEx
smalldatetime
Дата проведения дополнительной экспертизы
PersonSOATO
int
Код СОАТО населённого пункта
SOATO_Obl
smallint
Код СОАТО региона
District_s
smallint
Код СОАТО района
IdRaion
tinyint
Номер региона
Errors
int
Признак наличия ошибок
Таблица 15
Структура таблицы «Эксперт» (FIO_Exp)
Обозначение
Формат
Краткое описание назначения (комментарии)
Num_Ex
tinyint
Код эксперта
FIO_Ex
varchar(150)
ФИО эксперта

Смотрите также:

"Автоматизация обработки заявок ООО "Проектно-Строительная Компания"
"Автоматизация процесса аттестации персонала для ООО "Нэт Бай Нэт Холдинг"
"Анализ интернет-активности конкурентов ( на примере конкурентов "Газпром нефть")
"Бухгалтерский учёт и аудит расчётов с подотчётними лицами в организации на примере ООО "ЛОЦ 10""
«Психологическое сопровождение персонала в организации на примере ООО «Крокус»
Cовершенствование деловой оценки персонала в организации (на примере ООО "Даймонд кейтеринг развитие")
PR как средство продвижения организации (на примере ПАО "Тамбовский завод "Комсомолец им. Н.С. Артемова")
PR-коммуникации в сфере общественного питания (на примере кафе-кондитерской «Cream Cheese»)
SMM как средство повышения эффективности работы учреждений социокультурной сферы (на примере Малого театра)
Value-based education: ценности в системе образования и способы их реализации на уроке английского языка. Опыт Европейских стран