Диплом: Автоматизация процесса ведения документации и отчетности в НУЗ "Отделенческая больница на станции Муром "Структурное подразделение на ст. Владимир"

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
97
Общая стоимость каждого этапа разработки складывается из стоимости
одного часа работы разработчика, умноженной на количество часов.
Исходя из данных о стоимости работ при базовом и проектном варианте,
их разница в пользу проектного варианта составит 66087,2 руб. Если разбить
эту разницу на количество рабочих дней в году (254), то получится значение,
отражающее выгодность использования проектируемой системы за каждый
день ее использования – 260,19 руб. Поделив общую сумму проекта на
полученное значение получим число (603) рабочих дней, за которые проект
окупит свою себестоимость.
Социально-экономический эффект от внедрения разработанной
программы состоит в следующем:
повышение оперативности и качества учета и отчетности.
ужесточение и повышение качества контроля сотрудников
предприятия.
повышение качества предоставления услуг клиентам.
снижение затрат на владение программными продуктами и их
сопровождение за счет использования специализированных программ.
повышение продуктивности работы пользователей за счет
простого и эргономичного интерфейса информационных систем.
98
ЗАКЛЮЧЕНИЕ
Человек в любой сфере своей деятельности всегда стремится к принятию
рациональных (обоснованных, оптимальных) решений. Средства, которые он
использует при этом, могут варьироваться от обычной интуиции до
привлечения группы высококвалифицированных экспертов и применения
соответствующих методов и программных продуктов.
Научиться программировать, не владея общими вопросами теории и
практики программирования, практически невозможно. Научиться
программировать можно только программируя, решая конкретные задачи.
Программированию присущ значительный консерватизм, так как в
принципе можно создавать программы, ограничиваясь знаниями многолетней
давности. Однако сегодня программирование безусловно превратилось из
искусства в ремесло. Конечно, вряд ли можно стать профессиональным
разработчиком, не изучив внутреннее устройство Windows или структуру
компонентов VCL и принципы оптимизации программ. Однако такие знания
сегодня отходят на второй или третий план. Работодателей интересует, прежде
всего, скорость и качество создания программ в коллективе, а эти
характеристики может обеспечить только среда визуального проектирования,
способная взять на себя значительные объёмы рутинной работы по подготовке
приложений, а также согласовывать деятельность группы постановщиков,
кодировщиков, тестеров и технических писателей.
Разработанная ИС была выполнена с учетом особенностей в НУЗ
"Отделенческая больница на станции Муром "Структурное подразделение на
ст. Владимир"
Разработка ИС велась в соответствии с заданием и отвечает всем его
требованиям.
Данная ИС позволит поддерживать данные о пациентах и выданных
талонов в актуальном состоянии.
ИС не требует специальной подготовки для работы с ней. Это позволяет
99
использовать ее без предварительного освоения.
ИС позволяет получать информацию и использовать ее для выполнения
своих должностных обязанностей.
Есть возможность вносить изменения, усовершенствовать ИС по
необходимости средствами Delphi 10.2 и MySQL. В следствии чего срок
службы данной ИС можно считать не ограниченным.
По проделанной работе можно сделать вывод, что разработанная ИС
была выполнена с учетом поставленных перед ней требований и может быть
использована в работе предприятия.
100
СПИСОК ИНФОРМАЦИОННЫХ ИСТОЧНИКОВ
1. Абрамов В. Г. Введение в язык Паскаль / В. Г. Абрамов, Н. П.
Трифонов, Г. Н. Трифонова. - Москва : КноРус, 2018. - 380 с.
2. Беленькая М.Н., Малиновский С.Т., Яковенко Н.В.
Администрирование в информационных системах. Научно-популярное
издание. - М.: Горячая линия - Телеком, 2011. - 300 с.
3. Варфоломеева А. О. Информационные системы предприятия :
учебное пособие : [для студентов высших учебных заведений, обучающихся по
направлению 09.03.03 "Прикладная информатика" и экономическим
специальностям] / А. О. Варфоломеева, А. В. Коряковский, В. П. Романов. - 2-е
изд., перераб. и доп. - Москва : ИНФРА-М, 2017. – 356 с.
4. Волченко И. О. Программирование и основы алгоритмизации :
[учеб. пособие по курсу " Программирование и основы алгоритмизации" для
специальности 220301 "Автоматизация технол. процессов и пр-в"] / И. О.
Волченко ; Мурманск : Изд-во МГТУ, 2016. – 292 с.
5. Грекул В.И., Денищенко Г.Н., Коровкина Н.Л. Проектирование
информационных систем - М.: ИУИТ, 2012 - 300 с.
6. Гудсон Джон. Практическое руководство по доступу к данным :
[как достигнуть оптимальной производительности и масштабируемости
приложений : для программных архитекторов, системных разработчиков и
разработчиков приложений баз данных] / Джон Гудсон, Роб Стюард ; [пер. с
англ. Сергея Таранушенко]. - Санкт-Петербург : БХВ-Петербург,2013. - 304 с.
7. Ездаков А. Л. Функциональное и логическое программирование :
учебное пособие / А. Л. Ездаков. - 2-е изд. - Москва : БИНОМ. Лаборатория
знаний, 2017. – 97 с.
8. Зубов, Артем. Программирование на DELPHI. / Артем Зубов. - СПб.
[и др.] : Питер, 2015. – 326 с.
9. Карпиленко Е. В. Основы программирования : [учебник для
101
студентов образовательных учреждений среднего профессионального
образования] / Е. В. Карпиленко. - Ростов-на-Дону : Феникс, 2017. – 252 с.
10. Карпов Б. C. Практикум по информатике : [учебное пособие для
студентов высших учебных заведений, обучающихся по специальности 071201
"Библиотечно-информационная деятельность"] / В. В. Васильев, Н. В.
Сороколетова, Л. В. Хливненко. - Москва : ФОРУМ, 2015. - 335 с.
11. Козлов А В. Программирование для Интернет в DELPHI 2010 / А.В.
Козлов ; Под общ. ред. А.Я.Архангельского. - М. : Бином, 2016. – 228 с.
12. Кузнецов С. Д. Базы данных. Модели и языки – М.: Бином-Пресс,
2013 г. - 720 с.
13. Лазарева И. М. Теория языков программирования и методы
трансляции : учебное пособие : И. М. Лазарева ; М-во образования и науки Рос.
Федерации, Мурм. аркт. гос. ун-т. - Мурманск : Мурманский арктический
государственный университет, 2018. - 97 с.Методические указания.
Экономическое обоснование дипломных проектов “Организация и
планирование производства. Управление предприятием ”, - СПб.: СЗПИ 2016. –
274 с.
14. Примат О. В. Delphi и базы данных [Электронный ресурс]. URL:
http://www.delphi-manual.ru/ (дата обращения: 08.02.2019)
15. Стоцкий Ю. А. Microsoft Office 2010 : [работа с текстом в Word,
электронные таблицы Excel, создание презентаций в PowerPoint, работа с
базами данных в Access, взаимодействие приложений Microsoft Office 2010] :
самоучитель / Ю. Стоцкий, А. Васильев, И. Телина. - Санкт-Петербург [и др.] :
Питер, 2011. - 425 с.
102
ПРИЛОЖЕНИЕ 1
Файл form__talon.pas
unit Form__talon;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Grids, DBGrids, ComCtrls, Mask, Data.DB;
function sravnenie_time ( sravnenie : string) : boolean;
type
TForm_talon = class(TForm)
DBGrid_doctor_view: TDBGrid;
MonthCalendar_date_talon: TMonthCalendar;
procedure view_doctor;
procedure dbgrid_doctor_talon;
procedure FormShow(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure view_talon;
procedure view_dbgrid_talon;
procedure MonthCalendar_date_talonClick(Sender: TObject);
procedure MonthCalendar_date_talonDblClick(Sender: TObject);
procedure DBGrid_doctor_viewCellClick(Column: TColumn);
procedure DBGrid_doctor_viewColEnter(Sender: TObject);
procedure DBGrid_doctor_viewDblClick(Sender: TObject);
procedure DBGrid_doctor_viewMouseWheel(Sender: TObject; Shift: TShiftState;
WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean);
procedure Edit_find_specialChange(Sender: TObject);
procedure clear_label;
procedure Button1Click(Sender: TObject);
procedure Button_deleteClick(Sender: TObject);
procedure Edit_findChange(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form_talon: TForm_talon;
implementation
uses DataModule;
{$R *.dfm}
procedure TForm_talon.view_talon;
var buf_zapros,buf_kav : string;
myYear, myMonth, myDay : Word;
date_talon : string;
begin
DecodeDate(form_talon.MonthCalendar_date_talon.Date, myYear, myMonth, myDay);
date_talon := '#'+inttostr(myMonth)+'/'+inttostr(myDay)+'/'+inttostr(myYear)+'#';
buf_zapros := 'SELECT talon.time_talon as Время_приема '
+' FROM Special INNER JOIN talon ON Special.Код = talon.doctor '
+' WHERE talon.date_talon = '+date_talon
+' AND Special.Код = '+
form_talon.DBGrid_doctor_view.DataSource.DataSet.FieldByName('Код').AsString
+' ORDER BY talon.time_talon;';
datamodule1.Query_view_talon.Close; datamodule1.Query_view_talon.SQL.Clear;
datamodule1.Query_view_talon.SQL.Text := buf_zapros;
datamodule1.Query_view_talon.Open; view_dbgrid_talon;
end;
103
procedure TForm_talon.view_dbgrid_talon;
begin
form_talon.DBGrid_view_talon.Columns[0].Width := 100;
end;
procedure TForm_talon.DBGrid_doctor_viewCellClick(Column: TColumn);
begin view_talon;end;
procedure TForm_talon.DBGrid_doctor_viewColEnter(Sender: TObject);
begin view_talon;end;
procedure TForm_talon.DBGrid_doctor_viewDblClick(Sender: TObject);
begin view_talon;end;
procedure TForm_talon.DBGrid_doctor_viewMouseWheel(Sender: TObject;
Shift: TShiftState; WheelDelta: Integer; MousePos: TPoint;
var Handled: Boolean);
begin view_talon;end;
procedure TForm_talon.Edit_findChange(Sender: TObject);
begin
if Length(form_talon.Edit_find.Text) > 0 then
begin
datamodule1.Table_pacient.Filtered :=false;
datamodule1.Table_pacient.Filter:='snils ' + ' LIKE ' + #39 + form_talon.Edit_find.Text + '%' + #39;
datamodule1.Table_pacient.Filtered:=true;
end
else
datamodule1.Table_pacient.Filtered:=false;
end;
procedure TForm_talon.Edit_find_specialChange(Sender: TObject);
begin view_doctor;end;
procedure TForm_talon.FormCreate(Sender: TObject);
begin
form_talon.MonthCalendar_date_talon.Date := now; clear_label;end;
procedure TForm_talon.FormShow(Sender: TObject);
begin
view_doctor; view_talon;end;
procedure TForm_talon.MonthCalendar_date_talonClick(Sender: TObject);
begin view_talon;end;
procedure TForm_talon.MonthCalendar_date_talonDblClick(Sender: TObject);
begin view_talon;end;
procedure TForm_talon.view_doctor;
var buf_zapros,buf_kav : string;
begin
buf_kav := '''';
buf_zapros := 'SELECT Special.Код, Special.name_special as Специальность,Special.uchastok as Участок,
Doctor.Family as Фамилия, Doctor.first_name as Имя, Doctor.Second_name as Отчество '
+' FROM Special INNER JOIN (Doctor INNER JOIN doctor_special ON Doctor.tabel_nomer =
doctor_special.doctor) ON Special.Код = doctor_special.special '
+' WHERE Special.name_special Like '+buf_kav+form_talon.Edit_find_special.Text+'%'+buf_kav
+' ORDER BY Special.name_special;';
datamodule1.Query_doctor_talon.Close;
datamodule1.Query_doctor_talon.SQL.Clear;
datamodule1.Query_doctor_talon.SQL.Text := buf_zapros;
datamodule1.Query_doctor_talon.Open; dbgrid_doctor_talon;
end;
function sravnenie_time ( sravnenie : string) : boolean;
var result_function : boolean;
buf : tdatetime;
begin
result_function := True;
try
buf := StrtoTime(sravnenie);
except
on EConvertError do
104
begin
result_function := False;
end;{begin}
end;{try}
Result := result_function;
end;// function sravnenie_date ( sravnenie : tdatetime) : boolean;
procedure TForm_talon.Button1Click(Sender: TObject);
var run_procedure, sravnenie : boolean;
buf_kav : string;
buf_zapros : string;
myYear, myMonth, myDay : Word;
date_talon, time_talon: string;
begin
//присваиваю начальные значения
run_procedure := True; buf_kav := '''';
form_talon.Label5.Caption := '';
//проверяю введеныне данные
sravnenie := sravnenie_time(form_talon.MaskEdit_time.Text);
if sravnenie = False then
begin
run_procedure := False;
form_talon.Label5.Caption := 'Не верное время';
end;
if form_talon.DBGrid_pacient.DataSource.DataSet.RecordCount = 0 then
begin
run_procedure := False; form_talon.Label8.Caption := 'Не выбран пациент';
end;
//проверяю есть такой талон на или нет
DecodeDate(form_talon.MonthCalendar_date_talon.Date, myYear, myMonth, myDay);
date_talon := '#'+inttostr(myMonth)+'/'+inttostr(myDay)+'/'+inttostr(myYear)+'#';
time_talon := buf_kav+form_talon.MaskEdit_time.Text+buf_kav;
buf_zapros := 'SELECT date_talon FROM talon WHERE date_talon = ' +date_talon
+' AND time_talon = ' + time_talon
+' AND doctor = '+form_talon.DBGrid_doctor_view.DataSource.DataSet.FieldByName('Код').AsString+';';
datamodule1.Query_buf.Close; datamodule1.Query_buf.SQL.Clear;
datamodule1.Query_buf.SQL.Text := buf_zapros; datamodule1.Query_buf.Open;
if datamodule1.Query_buf.RecordCount <> 0 then
begin
run_procedure := False; form_talon.Label5.Caption := 'Талон на эту дату, время и к врачу уже есть';
end;
//проверка закончена
if run_procedure then
begin
buf_kav := '''';
DecodeDate(form_talon.MonthCalendar_date_talon.Date, myYear, myMonth, myDay);
date_talon := '#'+inttostr(myMonth)+'/'+inttostr(myDay)+'/'+inttostr(myYear)+'#';
time_talon := buf_kav+form_talon.MaskEdit_time.Text+buf_kav;
buf_zapros := 'INSERT INTO talon (date_talon,time_talon,doctor,snils) VALUES ('
+date_talon+',' +time_talon+','
+form_talon.DBGrid_doctor_view.DataSource.DataSet.FieldByName('Код').AsString+','
+buf_kav+form_talon.DBGrid_pacient.DataSource.DataSet.FieldByName('snils').AsString+buf_kav
+');';
datamodule1.Query_buf.Close; datamodule1.Query_buf.SQL.Clear;
datamodule1.Query_buf.SQL.Text :=
buf_zapros; datamodule1.Query_buf.ExecSQL;
view_talon;
form_talon.MaskEdit_time.Text := '00:00';
end;
end;
procedure TForm_talon.Button_deleteClick(Sender: TObject);
var buf_zapros, buf_kav : string;
105
date_talon : string;
myYear, myMonth, myDay : Word;
begin
buf_kav := '''';
if form_talon.DBGrid_view_talon.DataSource.DataSet.RecordCount <> 0 then
begin
DecodeDate(Now(), myYear, myMonth, myDay);
date_talon := '#'+inttostr(myMonth)+'/'+inttostr(myDay)+'/'+inttostr(myYear)+'#';
buf_zapros := 'DELETE FROM talon WHERE date_talon = '+date_talon+' AND time_talon =
'+buf_kav+form_talon.DBGrid_view_talon.DataSource.DataSet.FieldByName('Время_приема').AsString+buf_kav
+' AND doctor = '+form_talon.DBGrid_doctor_view.DataSource.DataSet.FieldByName('Код').AsString
+';';
datamodule1.Query_buf.Close; datamodule1.Query_buf.SQL.Clear;
datamodule1.Query_buf.SQL.Text := buf_zapros;
datamodule1.Query_buf.ExecSQL; datamodule1.Query_buf.Close;
view_talon;
end;
end;
procedure TForm_talon.clear_label;
begin
form_talon.Label5.Caption := ''; form_talon.Label8.Caption := '';
end;
procedure TForm_talon.dbgrid_doctor_talon;
begin
form_talon.DBGrid_doctor_view.Columns[0].Visible := False;
form_talon.DBGrid_doctor_view.Columns[1].Width := 150;
form_talon.DBGrid_doctor_view.Columns[2].Width := 150;
form_talon.DBGrid_doctor_view.Columns[3].Width := 150;
form_talon.DBGrid_doctor_view.Columns[4].Width := 150;
end;
end.
Файл Form__uchastok.pas
unit Form__uchastok;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Grids, DBGrids, Data.DB;
type
Button_new_uchastok: TButton;
Label_id: TLabel;
procedure view_street_for_uchastok;
procedure FormCreate(Sender: TObject);
procedure Button_add_uchatokClick(Sender: TObject);
procedure clear_label;
procedure view_street;
procedure Edit_uchastokChange(Sender: TObject);
procedure view_street_add_uchastok;
procedure Button_ad_uchastok_ulicaClick(Sender: TObject);
procedure add_ulica_dom;
procedure Button_delete_uchastok_ulicaClick(Sender: TObject);
procedure Button_delete_uchastokClick(Sender: TObject);
procedure Button_new_uchastokClick(Sender: TObject);
procedure DBGrid_uchastokCellClick(Column: TColumn);
procedure DBGrid_uchastokColEnter(Sender: TObject);
procedure DBGrid_uchastokDblClick(Sender: TObject);
procedure Button_update_uchastokClick(Sender: TObject);
procedure dbgrid_view_street_for_uchastok;
procedure FormShow(Sender: TObject);
procedure dbgrid_view_street_add_uchastok;
106
procedure DBGrid_uchastokMouseEnter(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form_uchastok: TForm_uchastok;
implementation
uses DataModule;
{$R *.dfm}
procedure TForm_uchastok.Button_add_uchatokClick(Sender: TObject);
var run_procedure : boolean;
buf_kav, buf_zapros : string;
begin
//присваиваю начальыне значения
buf_kav := ''''; run_procedure := True;
//чищу сообщения об олибке
clear_label;
//проверяю даныне
if form_uchastok.Edit_uchastok.Text = '' then
begin
run_procedure := False; form_uchastok.Label10.Caption := 'Не введен участок';
end
else
begin
if form_uchastok.Button_add_uchatok.Caption = 'Добавить' then
begin
buf_zapros := 'SELECT nomer_uchastok from uchastok WHERE nomer_uchastok =
'+buf_kav+form_uchastok.Edit_uchastok.Text+buf_kav+';';
datamodule1.Query_buf.Close; datamodule1.Query_buf.SQL.Clear;
datamodule1.Query_buf.SQL.Text := buf_zapros; datamodule1.Query_buf.Open;
if datamodule1.Query_buf.RecordCount <> 0 then
begin
run_procedure := False; form_uchastok.Label10.Caption := 'Такой участо уже есть';
end;
datamodule1.Query_buf.Close;
end;
end;
//провека закончена
if run_procedure then
begin
//добавляю участок в БД или редактирую
if form_uchastok.Button_add_uchatok.Caption = 'Добавить' then
buf_zapros := 'INSERT INTO uchastok (nomer_uchastok) VALUES ('
+buf_kav+form_uchastok.Edit_uchastok.Text+buf_kav+');'
else
buf_zapros:='UPDATE uchastok SET nomer_uchastok = '
+buf_kav+form_uchastok.Edit_uchastok.Text+buf_kav +' WHERE nomer_uchastok =
'+buf_kav+form_uchastok.Label_id.Caption+buf_kav+';';
datamodule1.Query_buf.Close; datamodule1.Query_buf.SQL.Clear;
datamodule1.Query_buf.SQL.Text := buf_zapros; datamodule1.Query_buf.ExecSQL;
datamodule1.Query_buf.Close;
//отображаю поля ввода
form_uchastok.GroupBox2.Visible := True; form_uchastok.GroupBox3.Visible := True;
form_uchastok.Button_new_uchastok.Visible := True;
//вывожу список имющихся в наличии улиц
view_street;
//блокирую номер участка
form_uchastok.Edit_uchastok.ReadOnly := True;
form_uchastok.Edit_uchastok.Color := clSilver;

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

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