Файл: Разработка приложения справочной службы регистратуры поликлиники.pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 28.03.2023

Просмотров: 2597

Скачиваний: 76

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Рисунок 13. Форма «Карточки пациентов»

Кнопка «График работы» открывает соответствующую экранную форму для просмотра и выдачи справок клиентам о режиме работы врача, необходимого клиенту.

Для наглядности форма представлена в виде таблицы. Все поля заполняются из списков других таблиц-справочников, что сокращает время заполнения, предотвращает ошибки ручного набора и позволяет проводить мобильные замены (см. рисунок 14).

Кнопка «Талоны» вызывает экранную форму «Талон», позволяющую вводить, исправлять и удалять данные в таблице «Талон». Форма содержит шесть полей: «Номер» (талона), «Специализация», «Врач», «Кабинет», «Дата» (приема), «Время» (приема) и кнопку: «Добавить талон».

Рисунок 14. Форма «График работы»

Номер талона вводится вручную, так как количество талонов к каждому узкому специалисту меняется в зависимости от часов приема, операционных дней и т.п. Остальные поля заполняются из соответствующих списков таблиц-справочников. После заполнения всех талонов, можно их просмотреть и распечатать в отчете «Талон». Предоставленная форма позволяет легко изменять все данные, в случае изменения ситуации у врача (см. рисунок 15).

Рисунок 15. Форма «Талон»

Кнопка «Справочники» вызывает форму, состоящую из семи кнопок, которые открывают соответствующие вкладки таблиц-справочников в случае необходимости их просмотра или корректировки. Данные таблицы изменяются довольно редко, поэтому отдельные формы для исправления или добавления данных в эти таблицы не предусмотрены. Редактирование данных производится в таблицах и сохраняется нажатием кнопки: «Редактировать». На рисунке 16 представлена форма «Справочники». На рисунке 17 представлены примеры открытых вкладок формы.

Рисунок 16. Форма «Справочники»

Рисунок 17. Форма «Справочники» – примеры вкладок

Кнопка «Отчеты» в Главной форме открывает дополнительную форму содержащую четыре кнопки: «Отчет талонов», «Отчет графиков работы», «Отчет врачи» и «В главное меню» (см. рисунок 18).


Рисунок 18. Форма «Отчеты»

Нажатие данных кнопок вызывает соответствующие отчеты, которые можно просмотреть, сохранить в других форматах или распечатать. Примеры отчетов приводятся на рисунках 19-21.

Рисунок 19. Отчет «Талоны»

Рисунок 20. Отчет «Графики работы»

Рисунок 21. Отчет «Врачи»

Тестирование программного приложения «Регистратура поликлиники» завершено.

Заключение

Целью курсовой работы являлась разработка программного приложения справочной службы «Регистратура поликлиники», позволяющего автоматизировать деятельность регистратуры.

Данная цель была реализована посредством решения задач:

  • проведено моделирование предметной области;
  • выполнено проектирование структуры приложения;
  • выполнено проектирование структуры базы данных;
  • выбраны средства и методы разработки;
  • разработана база данных приложения;
  • разработан интерфейс приложения;
  • проведено тестирование разработанного приложения.

На базе СУБД Microsoft Access и языка объектно-ориентированного программирования Embarcadero RAD Studio XE8 было разработано программное приложение «Регистратура поликлиники».

В состав приложения входят следующие объекты:

  • блок авторизации обеспечивает защиту программного приложения;
  • главная форма позволяет попасть на дополнительные формы «Справочники», «Карточки», «Талоны», «График работы» и «Отчеты»;
  • форма «Справочники» включает кнопки: «Врачи», «Часы приема», «Время приема», «Специализация», «Номер стеллажа», «Номер кабинета»;
  • форма «Карточка» позволяет зарегистрировать нового пациента;
  • форма «Карточки пациентов» позволяет просмотреть данные на всех пациентов поликлиники;
  • форма «Талон» предназначена для формирования талонов на прием к врачам для выдачи пациентам;
  • форма «График работы» предназначена для просмотра и выдачи справок клиентам о режиме работы врача, необходимого клиенту;
  • форма «Отчеты» предназначена для составления различных отчетов: «Отчет талонов», «Отчет графиков работы», «Отчет врачи».

Алгоритм работы приложения можно разделить на пять отдельных алгоритмов по сфере деятельности: выбор производится на Главной форме.


Алгоритм «Справочники» начинается с выбора справочника или возврата на Главную страницу. Если справочник выбран и просмотрен, то для каждого справочника нужно вновь осуществить выбор: возврат на Главную форму или редактирование справочника. После редактирования можно вернуться на Главную форму без сохранения или сохранить внесенные изменения. После сохранения можно вернуться на Главную форму или выйти из программы.

Алгоритм «Карточка» начинается с выбора: заполнение новой карточки или просмотр всех карточек пациентов. При заполнении карточки нового пациента, выбирается форма «Карточка» и заполняются данные, затем можно выбрать: вернуться на Главную форму без сохранения или сохранить. После сохранения также осуществляется выбор: выход из алгоритма «Карточка» или просмотр новой карточки в списке всех карточек.

Алгоритм «Талон» начинается с заполнения формы талона, затем можно выбрать: вернуться на Главную форму без сохранения или сохранить талон. После сохранения можно вернуться на Главную форму или выйти.

Алгоритм «График работы» – заполнения формы графика работы, выбор: вернуться на Главную форму без сохранения или сохранить график. После сохранения можно вернуться на Главную форму или выйти из программы.

Алгоритм «Отчеты» позволяет выбрать нужный отчет, просмотреть его и затем осуществить выбор: распечатать отчет, сохранить его в нужном формате или вернуться к выбору отчетов. После распечатки или сохранения нужного отчета можно вернуться на Главную форму или выйти из программы.

Цель курсовой работы достигнута – программное приложение «Регистратура поликлиники» на базе СУБД Microsoft Access и языка объектно-ориентированного программирования Embarcadero RAD Studio XE8 разработано.

Список использованной литературы

  1. Об информации, информационных технологиях и о защите информации [Текст]: Федеральный закон РФ от 27.07.2006 г. N 149-ФЗ (с изм. и доп., вступ. в силу с 06.07.2016). – М.: ФЗ. – 2016.
  2. Delphi. История языков программирования [Электронный ресурс] // Хабр [сайт]. URL: https://habr.com/ru/post/316492 (дата обращения: 30.11.2016).
  3. RAD Studio XE8 [Электронный ресурс] // Embarcadero [сайт]. URL: https://www.embarcadero.com/products/rad-studio (дата обращения: 20.11.2016).
  4. Баженова И.Ю., Основы проектирования приложений баз данных [Текст] / И.Ю. Баженова - М.: Интернет-Университет Информационных Технологий (ИНТУИТ), 2016. – 261 с.
  5. Базы данных [Электронный ресурс] // INTUIT [сайт]. URL: https://www.intuit.ru/studies/courses/74/74/info (дата обращения: 20.04.2020).
  6. Библиотека Delphi [Электронный ресурс] // Delphi INT [сайт]. URL: http://www.delphi.int.ru (дата обращения: 02.02.2020).
  7. Венделева, М.А. Информационные технологии в управлении. [Текст]: Учебное пособие для бакалавров / М.А. Венделева, Ю.В. Вертакова. – Люберцы: Юрайт, 2016. – 462 c.
  8. Выбор СУБД для Delphi-приложения [Электронный ресурс] // Хабр [сайт]. URL: https://habr.com/ru/post/311658 (дата обращения: 04.10.2016).
  9. Голицына О.Л., Основы проектирования баз данных. [Текст]: Учебное пособие / О.Л. Голицына - М.: Форум, 2016. – 416 с.
  10. Изучаем Delphi. О программировании и о Дельфи [Электронный ресурс] // SNK [сайт]. URL: http://www.snkey.com/books/delphi/ch1-1.html (дата обращения: 25.10.2015).
  11. Информационные системы в экономике: учебник для академического бакалавриата [Текст] / В.Н. Волкова, В.Н. Юрьев, С.В. Широкова, А.В. Логинова; под ред. В.Н. Волковой, В.Н. Юрьева. - М.: Издательство Юрайт, 2016. - 402 с.
  12. Информационные системы и технологии [Текст]: Научное издание. / Под ред. Ю.Ф. Тельнова. – М.: ЮНИТИ, 2016. – 303 c.
  13. Информационные системы и технологии в экономике и управлении: учебник для академического бакалавриата [Текст] / В.В. Трофимов [и др.]; под ред. В.В. Трофимова. - 4-е изд., перераб. и доп. - М.: Издательство Юрайт, 2016. - 542 с.
  14. Карминский А.М., Методология создания информационных систем [Текст] / А.М. Карминский - М.: Инфра-М, 2016. – 320 с.
  15. Ковязин, А. Разработка приложений и баз данных [Электронный ресурс] // OSP [сайт]. URL: https://www.osp.ru/winitpro/2019/03/13054895 (дата обращения: 13.03.2019).
  16. Корнеев, И.К. Информационные технологии в работе с документами [Текст]: Учебник / И.К. Корнеев. – М.: Проспект, 2016. – 304 c.
  17. Мартин, Р. К. Идеальный программист. Как стать профессионалом разработки ПО [Текст] / Р. К. Мартин. – СПб.: Питер, 2016. – 224 с.
  18. Мартин, Р. К. Чистый код. Создание, анализ и рефакторинг [Текст] / Р. К. Мартин. – СПб.: Питер, 2015. – 464 с.
  19. Осипов, Д. Delphi. Профессиональное программирование [Текст] / Д. Осипов. – СПб.: Символ-плюс, 2015. – 1056 c.
  20. Солонин, Е.Б. Современные методики и разработки информационных систем [Текст] / Е.Б. Солонин. – Екатеринбург.: УрФУ, 2015. – 44 c.

Приложение 1

Код приложения «Регистратура Поликлиники»

unit Unit1;

interface

uses

Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,

Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.ExtCtrls, Vcl.ComCtrls,

Vcl.Imaging.jpeg;

type

TForm1 = class(TForm)

Button1: TButton;

Button2: TButton;

Image1: TImage;

Label1: TLabel;

procedure Button1Click(Sender: TObject);

procedure FormClose(Sender: TObject; var Action: TCloseAction);

procedure Button2Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.dfm}

uses Unit2, Unit3, Unit4;

procedure TForm1.Button1Click(Sender: TObject);

begin

Form2.Show;

Form1.Visible:=false;

end;

procedure TForm1.Button2Click(Sender: TObject);

begin

Form4.Show;

Form1.Visible:=false;

end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);

begin

Form3.close;

end;

end.

unit Unit2;

interface

uses

Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,

Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.Imaging.jpeg,

Vcl.ExtCtrls;

type

TForm2 = class(TForm)

Button2: TButton;

Button3: TButton;

Button5: TButton;

Button6: TButton;

Button7: TButton;

Image1: TImage;

procedure Button6Click(Sender: TObject);

procedure FormClose(Sender: TObject; var Action: TCloseAction);

procedure Button5Click(Sender: TObject);

procedure Button7Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form2: TForm2;

implementation

{$R *.dfm}

uses Unit1, Unit5, Unit9, Unit8, Unit6, Unit7;

procedure TForm2.Button2Click(Sender: TObject);

begin

Form9.show;

end;

procedure TForm2.Button3Click(Sender: TObject);

begin

Form8.show;

end;

procedure TForm2.Button5Click(Sender: TObject);

begin

Form5.show;

end;

procedure TForm2.Button6Click(Sender: TObject);

begin

Form1.Show;

Form2.Close;

end;

procedure TForm2.Button7Click(Sender: TObject);

begin

Form7.show;

end;

procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);

begin

Form1.show;

Form2.visible:=false;

end;

end.

unit Unit3;

interface

uses

Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,

Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.Imaging.jpeg, Vcl.ExtCtrls,

Vcl.StdCtrls, Vcl.Buttons;

type

TForm3 = class(TForm)

Image1: TImage;

Edit1: TEdit;

Label1: TLabel;

Button1: TButton;

procedure Button1Click(Sender: TObject);

procedure FormKeyPress(Sender: TObject; var Key: Char);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form3: TForm3;

implementation

{$R *.dfm}

uses Unit1;

procedure TForm3.Button1Click(Sender: TObject);

var pass: string;

begin

pass:='';

if (Edit1.Text=pass)

then

begin

Form1.Show;

Form3.Hide;

end

else MessageBox(0, 'Неверный пароль', 'Ошибка авторизации', MB_ICONWARNING or MB_OK);

end;

procedure TForm3.FormKeyPress(Sender: TObject; var Key: Char);

begin

if key=#13

then button1.Click;

end;

end.

unit Unit4;

interface

uses

Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,

Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.Imaging.jpeg, Vcl.ExtCtrls,

Vcl.StdCtrls, Data.DB, Data.Win.ADODB;

type

TForm4 = class(TForm)

Image1: TImage;


Button2: TButton;

Button3: TButton;

Button4: TButton;

Button6: TButton;

procedure FormClose(Sender: TObject; var Action: TCloseAction);

procedure Button6Click(Sender: TObject);

procedure Button4Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form4: TForm4;

implementation

{$R *.dfm}

uses Unit1, Unit11, Unit12, Unit13;

procedure TForm4.Button2Click(Sender: TObject);

begin

Form13.frxReport1.ShowReport;

end;

procedure TForm4.Button3Click(Sender: TObject);

begin

Form12.frxReport1.ShowReport;

end;

procedure TForm4.Button4Click(Sender: TObject);

begin

Form11.frxReport1.ShowReport;

end;

procedure TForm4.Button6Click(Sender: TObject);

begin

Form1.Show;

Form4.Close;

end;

procedure TForm4.FormClose(Sender: TObject; var Action: TCloseAction);

begin

Form1.show;

Form4.visible:=false;

end;

end.

unit Unit5;

interface

uses

Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,

Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.Imaging.jpeg, Vcl.ExtCtrls, Data.DB,

Vcl.StdCtrls, Vcl.Grids, Vcl.DBGrids, Data.Win.ADODB;

type

TForm5 = class(TForm)

Image1: TImage;

Button1: TButton;

Button2: TButton;

Button3: TButton;

Button4: TButton;

Button6: TButton;

Button7: TButton;

ADOConnection1: TADOConnection;

DataSource1: TDataSource;

DBGrid1: TDBGrid;

ADOTable1: TADOTable;

DBGrid2: TDBGrid;

DBGrid3: TDBGrid;

DBGrid4: TDBGrid;

DBGrid5: TDBGrid;

DBGrid6: TDBGrid;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

Label5: TLabel;

Label6: TLabel;

Button5: TButton;

procedure Button1Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure Button4Click(Sender: TObject);

procedure Button6Click(Sender: TObject);

procedure Button7Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form5: TForm5;

implementation

{$R *.dfm}

procedure TForm5.Button1Click(Sender: TObject);

begin

adotable1.active:=false;

adotable1.TableName:='часы_приема';

adotable1.active:=true;

dbgrid1.Hide;

dbgrid2.show;

dbgrid3.Hide;

dbgrid4.Hide;

dbgrid5.Hide;

dbgrid6.Hide;

Label2.Visible:=true;

Label1.Visible:=false;

Label3.Visible:=false;

Label4.Visible:=false;

Label5.Visible:=false;

Label6.Visible:=false;

end;

procedure TForm5.Button2Click(Sender: TObject);

begin

adotable1.active:=false;

adotable1.TableName:='время_приема';

adotable1.active:=true;

dbgrid1.Hide;

dbgrid2.hide;

dbgrid3.show;

dbgrid4.Hide;

dbgrid5.Hide;

dbgrid6.Hide;

Label3.Visible:=true;

Label2.Visible:=false;

Label1.Visible:=false;

Label4.Visible:=false;

Label5.Visible:=false;

Label6.Visible:=false;

end;

procedure TForm5.Button3Click(Sender: TObject);

begin

adotable1.active:=false;

adotable1.TableName:='врачи';

adotable1.active:=true;

dbgrid1.show;

dbgrid2.hide;

dbgrid3.Hide;

dbgrid4.Hide;

dbgrid5.Hide;

dbgrid6.Hide;

Label1.Visible:=true;

Label2.Visible:=false;

Label3.Visible:=false;

Label4.Visible:=false;

Label5.Visible:=false;

Label6.Visible:=false;

end;

procedure TForm5.Button4Click(Sender: TObject);

begin

adotable1.active:=false;

adotable1.TableName:='специализация';

adotable1.active:=true;

dbgrid1.hide;

dbgrid2.hide;

dbgrid3.Hide;

dbgrid4.Show;

dbgrid5.Hide;

dbgrid6.Hide;

Label4.Visible:=true;

Label2.Visible:=false;

Label3.Visible:=false;