Разработка информационной системы медицинского учреждения. Модуль "Диспансеризация"
Создание информационной системы (ИС) медицинского учреждения с программным модулем "Диспансеризация". Формирование требований к ИС, ее внедрение. Организация взаимодействия персонала с ИС и модулем. Повышение качества и скорости обслуживания пациента.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 20.03.2017 |
Размер файла | 1,2 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Label9: TLabel;
Panel1: TPanel;
DBEdit1: TDBEdit;
DBEdit2: TDBEdit;
DBEdit3: TDBEdit;
Bevel1: TBevel;
Label1: TLabel;
Label2: TLabel;
Bevel2: TBevel;
Label3: TLabel;
DBEdit4: TDBEdit;
Label5: TLabel;
DBEdit6: TDBEdit;
Panel3: TPanel;
PageControl1: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
DBGrid1: TDBGrid;
Button2: TButton;
RadioGroup1: TRadioGroup;
RadioGroup2: TRadioGroup;
DBGrid3: TDBGrid;
Button1: TButton;
Button3: TButton;
procedure RadioGroup1Click (Sender: TObject);
procedure DBGrid1CellClick (Column: TColumn);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form8: TForm8;
implementation
uses Unit3, Unit1;
{$R *. dfm}
procedure TForm8. RadioGroup1Click (Sender: TObject);
var
years, i,d,n, KolvoStrokDiag: integer;
Clwhere2,x,ClwhereOcenka,ClWherePZ, NowYear: string;
x1,x2,x3,x4,x5,proverka: real;
mas: array [1.27] of integer;
begin
Form8. Series1. Clear;
proverka: =0;
x5: =0;
// Label3. Caption: =DBText2. Caption+' '+DBText3. Caption+' '+DBText4. Caption;
DM1. QueryVozrastMedmer. Close;
Label2. Font. Color: =clRed;
// Label4. Visible: =true;
mas [1]: =21;
for i: =2 to 27 do
mas [i]: =mas [i-1] +3;
years: = YearsBetween (Date,DM1. QueryPacienty. FieldByName ('Дата рождения'). AsDateTime);
label2. Caption: =IntToStr (years);
for i: =1 to 27 do
begin
if years=mas [i] then
begin
// Label4. Visible: =false;
Label2. Font. Color: =clBlack;
x: =IntToStr (years);
if RadioGroup1. ItemIndex = 0 then
begin
DM1. QueryVozrastMedmer. SQL. Text: = ('SELECT id_medmer, МедМероприятие FROM vozrast_medmer WHERE vozrast_medmer. '+ x + '=1' + ' and vozrast_medmer. Этап=1');
DM1. QueryVozrastMedmer. Open;
ClWhere: =Form1. DBGrid2. DataSource. DataSet. Fields [0]. AsString;
Clwhere2: =DBGrid1. DataSource. DataSet. Fields [1]. AsString;
DM1. ZQuery8. Close;
DM1. ZQuery8. SQL. Text: = ('SELECT DISTINCT * FROM diagnozy WHERE diagnozy. id_pz='+clWhere+' and diagnozy. МедМероприятие='+#39+ClWhere2+#39);
DM1. ZQuery8. Open;
proverka: =1;
end
else
begin
DM1. QueryVozrastMedmer. SQL. Text: = ('SELECT id_medmer, МедМероприятие FROM vozrast_medmer WHERE vozrast_medmer. '+ x + '=1');
DM1. QueryVozrastMedmer. Open;
Clwhere: =Form1. DBGrid2. DataSource. DataSet. Fields [0]. AsString;
Clwhere2: =DBGrid1. DataSource. DataSet. Fields [1]. AsString;
DM1. ZQuery8. Close;
DM1. ZQuery8. SQL. Text: = ('SELECT DISTINCT * FROM diagnozy WHERE diagnozy. id_pz='+clWhere+' and diagnozy. МедМероприятие='+#39+ClWhere2+#39);
DM1. ZQuery8. Open;
proverka: =1;
end;
end;
end;
{Диаграмма}
If proverka=1 then
begin
NowYear: = FormatDateTime ('yyyy', Now);
ClwherePZ: =Form1. DBGrid2. DataSource. DataSet. Fields [0]. AsString;
{оценка Норма}
ClwhereOcenka: ='Норма';
DM1. QueryDiagnozyGraphik. Close;
DM1. QueryDiagnozyGraphik. SQL. Text: = ('SELECT DISTINCT * FROM diagnozy WHERE diagnozy. id_pz='+clWherePZ+' and diagnozy. ОценкаПоказателей='+#39+ClWhereOcenka+#39+' and YEAR (Дата) =' + NowYear);
DM1. QueryDiagnozyGraphik. Open;
x2: =DM1. QueryDiagnozyGraphik. RecordCount;
{оценка Небольшие отклонения}
ClwhereOcenka: ='Небольшие отклонения';
DM1. QueryDiagnozyGraphik. Close;
DM1. QueryDiagnozyGraphik. SQL. Text: = ('SELECT DISTINCT * FROM diagnozy WHERE diagnozy. id_pz='+clWherePZ+' and diagnozy. ОценкаПоказателей='+#39+ClWhereOcenka+#39+' and YEAR (Дата) =' + NowYear);
DM1. QueryDiagnozyGraphik. Open;
x3: =DM1. QueryDiagnozyGraphik. RecordCount;
{оценка Серьезные отклонения}
ClwhereOcenka: ='Серьезные отклонения';
DM1. QueryDiagnozyGraphik. Close;
DM1. QueryDiagnozyGraphik. SQL. Text: = ('SELECT DISTINCT * FROM diagnozy WHERE diagnozy. id_pz='+clWherePZ+' and diagnozy. ОценкаПоказателей='+#39+ClWhereOcenka+#39+' and YEAR (Дата) =' + NowYear);
DM1. QueryDiagnozyGraphik. Open;
x4: =DM1. QueryDiagnozyGraphik. RecordCount;
{Не пройдено}
x1: =DM1. QueryVozrastMedmer. RecordCount-x2-x3-x4;
{передача параметров}
if x1>=1 then Form8. Series1. Add (x1, 'Не пройдено', clWhite);
if x2>=1 then Form8. Series1. Add (x2, 'Норма', clGreen);
if x3>=1 then Form8. Series1. Add (x3, 'Небольшие отклонения', clYellow);
if x4>=1 then Form8. Series1. Add (x4, 'Серьезные отклонения', clRed);
end;
// Процент прохождения мед. мероприятий
try
Form8. Label9. Visible: =True;
x5: =0;
x5: =x1+x2+x3+x4;
x5: =100-x1/x5*100;
Form8. label10. Caption: = (FormatFloat ('0.0', x5));
except
end;
// завершение
end;
procedure TForm8. DBGrid1CellClick (Column: TColumn);
var
Clwhere2: string;
begin
Clwhere: =DM1. QueryPacienty. FieldByName ('id_pz'). AsString;
Clwhere2: =DM1. QueryVozrastMedmer. FieldByName ('МедМероприятие'). AsString;
DM1. ZQuery8. Close;
DM1. ZQuery8. SQL. Text: = ('SELECT DISTINCT * FROM diagnozy WHERE diagnozy. id_pz='+clWhere+' and diagnozy. МедМероприятие='+#39+ClWhere2+#39);
DM1. ZQuery8. Open;
Form5. Show;
end;
end.
7) Форма авторизации;
unit Unit4;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, ExtCtrls, Grids, DBGrids, TeeProcs, TeEngine,
Chart, DbChart, StdCtrls, DateUtils, DBCtrls, Series, Mask, jpeg;
type
TPasswordDlg = class (TForm)
img1: TImage;
lbl1: TLabel;
btnOKBtn: TButton;
btnCancelBtn: TButton;
edt1: TEdit;
edt2: TEdit;
Label1: TLabel;
Label2: TLabel;
Image1: TImage;
DBText1: TDBText;
Button1: TButton;
procedure btnOKBtnClick (Sender: TObject);
procedure btnCancelBtnClick (Sender: TObject);
procedure Image1Click (Sender: TObject);
procedure Button1Click (Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
PasswordDlg: TPasswordDlg;
dostup: integer;
implementation
uses Unit1, Unit7, Unit5, Unit3;
{$R *. dfm}
procedure TPasswordDlg. btnOKBtnClick (Sender: TObject);
var
x1,x2: string;
begin
DM1. QueryUsers. Close;
DM1. QueryUsers. SQL. Text: = 'Select * from users where login = '
+ #39 + edt1. Text + #39+ ' and password = ' + #39 + edt2. Text + #39;
DM1. QueryUsers. Open;
dostup: =0;
x2: =DM1. QueryUsers. FieldByName ('password'). AsString;
x1: =DM1. QueryUsers. FieldByName ('login'). AsString;
if x1=Edt1. Text then
if x2=Edt2. Text then
dostup: =DM1. QueryUsers. FieldByName ('dostup'). AsInteger;
Case dostup of
0: begin
ShowMessage ('Ошибка: проверьте правильность данных. ');
end;
1: // Терапевт
begin
Form1. Show;
Form1. Caption: =DM1. QueryUsers. FieldByName ('Должность'). AsString + ': ' + DM1. QueryUsers. FieldByName ('ФИО'). AsString;
PasswordDlg. Visible: =False;
end;
2: // Главврач
begin
Form1. Show;
Form1. Caption: =DM1. QueryUsers. FieldByName ('Должность'). AsString + ': ' + DM1. QueryUsers. FieldByName ('ФИО'). AsString;
PasswordDlg. Visible: =False;
end;
3: // Акушер/Гинеколог
begin
Form2. Caption: =DM1. QueryUsers. FieldByName ('Должность'). AsString + ': ' + DM1. QueryUsers. FieldByName ('ФИО'). AsString;
Form2. Show;
DM1. QueryVozrastMedmer. SQL. Text: = ('Select МедМероприятие from vozrast_medmer where id_medmer IN (11,29,9) ');
DM1. QueryVozrastMedmer. Open;
PasswordDlg. Visible: =False;
end;
5: // Лаборант
begin
Form2. Caption: =DM1. QueryUsers. FieldByName ('Должность'). AsString + ': ' + DM1. QueryUsers. FieldByName ('ФИО'). AsString;
Form2. Show;
DM1. QueryVozrastMedmer. SQL. Text: = ('Select МедМероприятие from vozrast_medmer where id_medmer IN (2,3,4,5,12,13,14,15,16,17) ');
DM1. QueryVozrastMedmer. Open;
PasswordDlg. Visible: =False;
end;
6: // Диагност
begin
Form2. Caption: =DM1. QueryUsers. FieldByName ('Должность'). AsString + ': ' + DM1. QueryUsers. FieldByName ('ФИО'). AsString;
Form2. Show;
DM1. QueryVozrastMedmer. SQL. Text: = ('Select МедМероприятие from vozrast_medmer where id_medmer IN (10,18,23,24,28,30) ');
DM1. QueryVozrastMedmer. Open;
PasswordDlg. Visible: =False;
end;
7: // Невролог
begin
Form2. Caption: =DM1. QueryUsers. FieldByName ('Должность'). AsString + ': ' + DM1. QueryUsers. FieldByName ('ФИО'). AsString;
Form2. Show;
DM1. QueryVozrastMedmer. SQL. Text: = ('Select МедМероприятие from vozrast_medmer where id_medmer IN (32) ');
DM1. QueryVozrastMedmer. Open;
PasswordDlg. Visible: =False;
end;
8: // Окулист
begin
Form2. Caption: =DM1. QueryUsers. FieldByName ('Должность'). AsString + ': ' + DM1. QueryUsers. FieldByName ('ФИО'). AsString;
Form2. Show;
DM1. QueryVozrastMedmer. SQL. Text: = ('Select МедМероприятие from vozrast_medmer where id_medmer IN (31, 19) ');
DM1. QueryVozrastMedmer. Open;
PasswordDlg. Visible: =False;
end;
9: // Хирург
begin
Form2. Caption: =DM1. QueryUsers. FieldByName ('Должность'). AsString + ': ' + DM1. QueryUsers. FieldByName ('ФИО'). AsString;
Form2. Show;
DM1. QueryVozrastMedmer. SQL. Text: = ('Select МедМероприятие from vozrast_medmer where id_medmer IN (25,26,27) ');
DM1. QueryVozrastMedmer. Open;
PasswordDlg. Visible: =False;
end;
10: // Кардиолог
begin
Form2. Caption: =DM1. QueryUsers. FieldByName ('Должность'). AsString + ': ' + DM1. QueryUsers. FieldByName ('ФИО'). AsString;
Form2. Show;
DM1. QueryVozrastMedmer. SQL. Text: = ('Select МедМероприятие from vozrast_medmer where id_medmer IN (6,7,8) ');
DM1. QueryVozrastMedmer. Open;
PasswordDlg. Visible: =False;
end;
end;
end;
procedure TPasswordDlg. btnCancelBtnClick (Sender: TObject);
begin
application. Terminate;
end;
procedure TPasswordDlg. Image1Click (Sender: TObject);
begin
Application. Terminate;
end;
procedure TPasswordDlg. Button1Click (Sender: TObject);
var x1,x2: string;
dostup: integer;
begin
DM1. QueryUsers. Close;
DM1. QueryUsers. SQL. Text: = 'Select * from users where login = '
+ #39 + edt1. Text + #39+ ' and password = ' + #39 + edt2. Text + #39;
DM1. QueryUsers. Open;
dostup: =0;
x2: =DM1. QueryUsers. FieldByName ('password'). AsString;
x1: =DM1. QueryUsers. FieldByName ('login'). AsString;
if x1=Edt1. Text then
if x2=Edt2. Text then
dostup: =DM1. QueryUsers. FieldByName ('dostup'). AsInteger;
if dostup > 0 then
begin
Label1. Visible: =False;
Label2. Visible: =False;
lbl1. Visible: =False;
btnOKBtn. Visible: =True;
edt1. Visible: =False;
edt2. Visible: =False;
DBText1. Visible: =True;
btnCancelBtn. Visible: =True;
Button1. Visible: =False;
end
else
showmessage ('Доступа нет');
end;
end.
Приложение 4
Приложение № 1 к приказу Министерства здравоохранения Российской Федерации от 6 марта 2016 г. № 87н
Медицинская документация Учетная форма № 131/у Утверждена приказом Минздрава России от 6 марта 2016 г. № 87н
Карта учета диспансеризации (профилактических медицинских осмотров)
Дата начала диспансеризации (профилактического медицинского осмотра)
1. Фамилия, имя, отчество
2. Пол: муж. - 1, жен. - 2,
3. Дата рождения: число, месяц, год, полных лет
4. Местность: городская - 1, сельская - 2
5. Место регистрации: субъект Российской Федерации, район, город, населенный пункт, улица, дом, корпус, кв.
6. Код категории льготы
7. Принадлежность к коренным малочисленным народам Севера, Сибири и Дальнего Востока Российской Федерации: да - 1; нет - 2
8. Занятость: 1 - работает; 2 - не работает; 3 - обучающийся в образовательной организации по очной форме.
9. Диспансеризация (профилактический медицинский осмотр) проводится мобильной медицинской бригадой: да - 1; нет - 2
10. Проведение первого этапа диспансеризации (профилактического медицинского осмотра):
Осмотр, исследование, иное медицинское мероприятие Далее - медицинское мероприятие. первого этапа диспансеризации |
№ строки |
Дата проведения |
Выявлено отклонение (+/-) |
Примечание (отказ (дата); проведено ранее (дата)) |
|
Опрос (анкетирование) на выявление хронических неинфекционных заболеваний, факторов риска их развития, потребления наркотических средств и психотропных веществ без назначения врача |
1 |
Х |
|||
Антропометрия (измерение роста стоя, массы тела, окружности талии), расчет индекса массы тела |
2 |
||||
Измерение артериального давления |
3 |
||||
Определение уровня общего холестерина в крови |
4 |
||||
Определение уровня глюкозы в крови экспресс-методом |
5 |
||||
Определение относительного суммарного сердечно-сосудистого риска |
6 |
||||
Определение абсолютного суммарного сердечно-сосудистого риска |
7 |
||||
Электрокардиография (в покое) |
8 |
||||
Осмотр фельдшером (акушеркой), включая взятие мазка (соскоба) с поверхности шейки матки (наружного маточного зева) и цервикального канала на цитологическое исследование |
9 |
||||
Флюорография легких |
10 |
||||
Маммография обеих молочных желез |
11 |
||||
Клинический анализ крови |
12 |
||||
Клинический анализ крови развернутый |
13 |
||||
Анализ крови биохимический общетерапевтический |
14 |
||||
Общий анализ мочи |
15 |
||||
Исследование кала на скрытую кровь иммунохимическим методом |
16 |
||||
Ультразвуковое исследование (УЗИ) на предмет исключения новообразований органов брюшной полости, малого таза |
17 |
||||
Ультразвуковое исследование (УЗИ) в целях исключения аневризмы брюшной аорты |
18 |
||||
Измерение внутриглазного давления |
19 |
||||
Прием (осмотр) врача-терапевта Врач-терапевт здесь и далее включает врача-терапевта, врача-терапевта участкового, врача-терапевта цехового врачебного участка, врача общей практики (семейного врача). |
20 |
Х |
11. Проведение второго этапа диспансеризации
Медицинское мероприятие второго этапа диспансеризации |
№ строки |
Дата |
Выявлено отклонение (+/-) |
Примечание (отказ (дата); проведено ранее (дата)) |
||
направления |
проведения |
|||||
1 |
2 |
3 |
4 |
5 |
6 |
|
Дуплексное сканирование брахицефальных артерий |
1 |
|||||
Осмотр (консультация) врачом-неврологом |
2 |
|||||
Эзофагогастродуоденоскопия |
3 |
|||||
Осмотр (консультация) врачом-хирургом или врачом-урологом |
4 |
|||||
Осмотр (консультация) врачом-хирургом или врачом-колопроктологом |
5 |
|||||
Колоноскопия или ректороманоскопия |
6 |
|||||
Определение липидного спектра крови |
7 |
|||||
Спирометрия |
8 |
|||||
Осмотр (консультация) врачом-акушером-гинекологом |
9 |
|||||
Определение концентрации гликированного гемоглобина в крови или тест на толерантность к глюкозе |
10 |
|||||
Осмотр (консультация) врачом-оториноларингологом |
11 |
|||||
Анализ крови на уровень содержания простатспецифического антигена |
12 |
|||||
Осмотр (консультация) врачом-офтальмологом |
13 |
|||||
Индивидуальное углубленное профилактическое консультирование |
14 |
Х |
||||
Групповое профилактическое консультирование (школа пациента) |
15 |
Х |
||||
Прием (осмотр) врача-терапевта |
16 |
Х |
12. Выявленные при проведении диспансеризации (профилактического медицинского осмотра) факторы риска развития хронических неинфекционных заболеваний в соответствии с кодами МКБ-10:
Факторы риска (код МКБ-10) |
R03.0 |
R73.9 |
R63.5 |
Z72.0 |
Z72.1 |
Z72.2 |
Z72.3 |
Z72.4 |
Z80, Z82.3, Z82.4, Z82.5, Z83.3 |
|
Выявлен фактор риска, нет (-), да (дата выявления) |
14. Относительный суммарный сердечно-сосудистый риск по шкале SCORE:
низкий |
высокий |
15. Абсолютный суммарный сердечно-сосудистый риск по шкале SCORE:
высокий |
очень высокий |
16. Группа состояния здоровья
I группа; |
II группа; |
IIIa группа; |
IIIб группа |
17. Назначено лечение: да - 1; нет - 2
18. Дано направление на дополнительное обследование, не входящее в объем диспансеризации (профилактического медицинского осмотра): да - 1; нет - 2
18.1 Дано направление к врачу-сердечно-сосудистому хирургу: да - 1; нет - 2
18.2 Дано направление к врачу-психиатру (врачу-психиатру-наркологу): да - 1; нет - 2
19. Направлен для получения специализированной, в том числе высокотехнологичной, медицинской помощи: да - 1; нет - 2
20. Направлен на санаторно-курортное лечение: да - 1; нет - 2
Ф. И.О. и подпись врача (фельдшера), ответственного за проведение диспансеризации (профилактического медицинского осмотра)
Дата окончания диспансеризации (профилактического медицинского осмотра)
Размещено на Allbest.ru
Подобные документы
Организация работы с документами посредством информационной системы документооборота. Разработка базы данных, структуры веб-интерфейса. Вставка записей в таблицы. Анализ опасных, вредных факторов: действие на человека электромагнитных полей, их параметры.
дипломная работа [4,6 M], добавлен 01.10.2013Медицинские информационные системы как способ повышения эффективности управления медицинскими учреждениями. Инструментальные средства прикладного программирования. Оценка затрат на разработку продукта и расчет себестоимости информационной системы.
дипломная работа [1,1 M], добавлен 11.01.2016Задачи работы медицинского секретариата и отдела приема пациентов. Требования к информационной системе, архитектура ее технических средств. Разработка алгоритма функционирования системы и интерфейса пользователя. Реализация программного обеспечения.
курсовая работа [1010,7 K], добавлен 07.07.2013Уровни архитектуры IP-телефонии. Особенности передачи речевой информации по IP–сетям. Влияние операционной системы. Количество передаваемых в пакете кадров. Взаимодействие модулей УШ и модуля протокола RTP. Информация конфигурации и контроля модуля УШ.
отчет по практике [128,4 K], добавлен 22.07.2012Разработка и внедрение программного модуля поддержки принятия управленческих решений для информационной системы медицинского предприятия ООО "Центр эндохирургических технологий". Эффективность применения модуля, полученные с его помощью результаты.
дипломная работа [1,9 M], добавлен 11.04.2013Назначение и цели создания информационной системы. Характеристика объекта автоматизации. Реализация информационной системы "Medic", серверной части приложения. Требования к оперативному запоминающему устройству клиента. Выходные данные программы.
дипломная работа [5,1 M], добавлен 29.06.2011Вид деятельности, для автоматизации которой предназначен модуль. Определение границ проекта "создание мобильного приложения системы КБНТИ для отображения изменений в системе и управления модулем подписок". Построение диаграммы состояний уведомления.
отчет по практике [386,9 K], добавлен 11.04.2016Разработка требований к программному обеспечению. Проектирование пользовательского интерфейса. Представление информационной системы в архитектуре "клиент-серверная". Проектирование программных модулей. Создание структуры пооперационного перечня работ.
курсовая работа [3,1 M], добавлен 09.08.2011Выбор методологии проектирования информационной системы, сбор требований, их моделирование. Архитектурное проектирование, разработка пользовательского интерфейса и модулей. Реализация и аттестация информационной системы. Методика работы с приложением.
дипломная работа [2,9 M], добавлен 25.05.2014Разработка интерфейсной и функциональной части информационной системы для станции технического обслуживания. Анализ предметной области и постановка задачи на проектирование. Математические методы в прогнозировании. Реализация модуля прогнозирования.
курсовая работа [1,7 M], добавлен 26.05.2010