База данных со сведениями о пациентах и медицинских услугах в стационаре
Курсовая работа, 17 Июня 2014, автор: пользователь скрыл имя
Описание работы
На сегодняшний день деятельность большинства предприятий основана на использовании современных средств автоматизации, так как для приема, хранения, передачи информации на бумажных носителях требуются высокие затраты времени и труда специалистов. Информация, хранимая на бумажных носителях, может испортиться с течением времени, под воздействием внешних факторов. Такая информация часто не может быть восстановлена в соответствии с первоначальными документами. В современных условиях выполняется переход к автоматизированной обработке экономической информации и предпосылками для перехода к автоматизированной обработке являются:
- увеличение номенклатуры объема продукции (работ, услуг и т.д.);
- необходимость снижения затрат (времени, финансов и др. ресурсов) на производственную деятельность.
Файлы: 1 файл
Курсовик.doc
— 4.07 Мб (Скачать файл)begin
Button2.Caption:='Фильтр по поступлению';
Table2.Filter:= 'NData_Vipiska
= ' + QuotedStr(DateToStr(
Table2.Filtered:=true;
Button1.Caption:='Отменить фильтр по выписке'
end
else
begin
Button1.Caption:='Фильтр по выписке';
Table2.Filtered:=false;
end;
end;
Сортировка данных о пациентах по месту работы и ФИО производится при помощи процедур:
procedure TBD.PacientSort(Sender: TObject);
begin
if RadioButton1.Checked then
begin
Table1.Active := False;
Table1.Exclusive := True;
Table1.IndexName := 'job';
Table1.Exclusive := False;
Table1.Active := True;
end
else
if RadioButton2.Checked then
begin
Table1.Active := False;
Table1.Exclusive := True;
Table1.IndexName:= 'family';
Table1.Exclusive := False;
Table1.Active := True;
end
end;
Сортировка данных о медицинских услугах по дате поступления и дате выписки пациентов производится при помощи процедур:
procedure TBD.PostuplenieSort(Sender: TObject);
begin
if RadioButton3.Checked then
begin
Table2.Active:= False;
Table2.Exclusive:= True;
Table2.IndexName:= 'post';
Table2.Exclusive:= False;
Table2.Active:= True;
end
else
if RadioButton4.Checked then
begin
Table2.Active:= False;
Table2.Exclusive:= True;
Table2.IndexName:= 'vypis';
Table2.Exclusive:= False;
Table2.Active:= True;
end
end;
Для формирования отчетов созданы запросы:
SELECT Pacient.NJob, Pacient.NFamily, Pacient.NName,
Pacient.NPatromyc,sum((NData_
FROM "C:\BD\Pacient.db" Pacient
INNER JOIN " C:\BD\Med. uslugi.DB" Uslugi
ON (Pacient.NPolis = Uslugi.NPolis)
WHERE NData_Vipiska is not NULL
Group By Pacient.NJob, Pacient.NFamily, Pacient.NName, Pacient.NPatromyc
Order By Pacient.Njob
SELECT NData_Postuplenie, count(*)
FROM "C:\BD\Med. uslugi.DB" Uslugi
Group By NData_Postuplenie
Order By NData_Postuplenie
Для формирования графиков созданы запросы:
SELECT Uslugi.NData_Postuplenie, count(Uslugi.NPolis)
FROM " C:\BD\Med. uslugi.DB" Uslugi
GROUP BY Uslugi.NData_Postuplenie
SELECT Uslugi.NSpisok, Pacient.NJob, sum((NData_Vipiska - NData_Postuplenie) * Uslugi.NOplata_za_1_day)
FROM "C:\BD\Pacient.db" Pacient
INNER JOIN "C:\BD\Med. uslugi.DB" Uslugi
ON (Pacient.NPolis = Uslugi.NPolis)
WHERE NData_Vipiska is not NULL
Group By Uslugi.NSpisok, Pacient.NJob
Order By Pacient.NJob
4. Структура пользовательского интерфейса.
Пользовательский
интерфейс диалоговой
Рисунок 4.1 - Структура записей таблицы
Для реализации работы с файлами БД используются компоненты TTable (обеспечение доступа к базе данных), TDataSource (осуществляет связь компонентов с компонентами визуализации и управления данными). Для обеспечения связи этих компонентов с файлами БД и между собой необходимо выполнить следующие действия:
- в свойстве Database Name компонента TTable задать полное имя каталога, где находится файл БД, в свойстве TableName установить имя нужного файла БД,
- установить связь компонента DataSource с компонентом TTable с помощью свойства DataSet(выбрать из списка имя нужного компонента).
Для визуализации данных используется компонент TDBGrid. При этом в свойстве компонента DataSource следует указать имя источника данных т.е. установить связь TDBGrid с DataSource. Следует изменить устанавливаемые по умолчанию надписи колонок DBGrid с помощью свойства Display Label поля компонента Table или с помощью составного (вложенного) свойства Title.Caption колонки компонента DBGrid.
Для перехода, корректировки, добавления, удаления записей используется компонент TDBNavigator. В свойстве DataSource следует указать имя источника данных.
Назначение элементов управления каждой из форм представлено в таблицах 4.1, 4.2, 4.3.
Таблица 4.1- Назначение элементов управления главной формы (Menu)
Элемент управления |
Имя (идентификатор) |
Надпись |
Назначение, имя процедуры |
Кнопка |
Button7 |
О программе |
Открытие формы AboutBox для просмотра сведений о программе; TMenu.Button7Click |
Кнопка |
Button8 |
Exit |
Завершение работы программы; TMenu.Button8Click |
Кнопка |
Button1 |
Ok |
Открытие одной из форм выбранных переключателем для работы с БД; TMenu.Button1Click |
Кнопка |
Button5 |
Ok |
Открытие одной из форм выбранных переключателем для просмотра отчёта; TMenu.Button5Click |
Кнопка |
Button6 |
Ok |
Открытие одной из форм выбранных переключателем для просмотра диаграмм; TMenu.Button6Click |
Переключатель |
RadioButton1 |
Отчет по предприятиям |
Выбор отчёта «Отчет по предприятиям»; TMenu.RadioButton1Click |
Переключатель |
RadioButton2 |
Поступившие пациенты |
Выбор отчета «Поступившие пациенты» ; TMenu.RadioButton2Click |
Переключатель |
RadioButton3 |
Поступившие пациенты |
Выбор диаграммы «Поступившие пациенты» ; TMenu.RadioButton3Click |
Продолжение таблицы 4.1
Элемент управления |
Имя (идентификатор) |
Надпись |
Назначение, имя процедуры |
Переключатель |
RadioButton4 |
Затраты предприятий |
Выбор диаграммы «Затраты предприятий» ; TMenu.RadioButton4Click |
Переключатель |
RadioButton5 |
Справочник «Пациенты» |
Выбор формы Pacient; TMenu.RadioButton5Click |
Переключатель |
RadioButton6 |
Справочник «Поступления» |
Выбор формы Postupleniya; TMenu.RadioButton6Click |
Переключатель |
RadioButton8 |
Просмотр БД |
Выбор формы BD; TMenu.RadioButton8Click |
Таблица 4.2- Назначение элемента управления формы «О программе»
Элемент управления |
Имя (идентификатор) |
Надпись |
Назначение, имя процедуры |
Кнопка |
OkButton |
Ok |
Закрытие формы AboutBox , Открытие формы Menu (Выход в главное меню) |
Таблица 4.3- Назначение элементов управления формы «Просмотр БД»
Элемент управления |
Имя (идентификатор) |
Надпись |
Назначение, имя процедуры |
Кнопка |
Button1 |
Фильтр/ Отменить фильтр |
Выполнить/Отменить фильтрацию данных в таблице "Med. uslugi"; TButton1Click |
Кнопка |
Button2 |
Фильтр/ Отменить фильтр |
Выполнить/Отменить фильтрацию данных в таблице "Med. uslugi"; TButton2Click |
Переключатель |
RadioButton1 |
По месту работы |
Выполнение сортировки данных по пациентам по месту работы; TRadioButton1Click |
Переключатель |
RadioButton2 |
По ФИО |
Выполнение сортировки данных по пациентам по ФИО; TRadioButton2Click |
Переключатель |
RadioButton3 |
По дате поступления |
Выполнение сортировки данных по поступлениям по дате поступления; TRadioButton3Click |
Переключатель |
RadioButton4 |
По дате выписки |
Выполнение сортировки данных по поступлениям по дате выписки; TRadioButton4Click |
5. Структура программы.
Иерархическая модель программы представлена на рисунке 5.1.
Сведения о функциях, выполняемых процедурами сведены в таблицу 5.1
Таблица 5.1 - Сведения о функциях, выполняемых процедурами
Имя программного модуля, процедуры |
Назначение, выполняемые функции |
Входные параметры |
Выходные параметры |
Вызываемые модули |
Unit1 |
procedure Button1Click |
Sender: TObject |
- |
- |
procedure Button2Click |
Sender: TObject |
- |
- | |
procedure PacientSort |
Sender: TObject |
- |
- | |
procedure PostuplenieSort |
Sender: TObject |
- |
- | |
Unit9 |
procedure Tmenu.Button7Click |
Sender: TObject |
- |
- |
procedure Tmenu.Button8Click |
Sender: TObject |
- |
- | |
procedure Tmenu.BitBtn1Click |
Sender: TObject |
- |
- |
На схеме главной программы отображен алгоритм, показывающий возможности выбора пользовательских функций (Приложение Б).
Алгоритм состоит из одного цикла, который начинается с вывода меню пользовательских функций. При совершении события (выборе функции) происходит анализ кода события и выполнение соответствующей процедуры. Цикл выполняется, пока не будет выбрана процедура «Button8Click» – выход.
На схеме процедуры (Приложение Б) представлен алгоритм, предназначенный для выполнения фильтрации данных в таблице med. uslugi.db. По схеме видно, что алгоритм начинается с проверки условия. Если на кнопке Button1 (Button2), имеется надпись «Фильтр», то надо ввести условие отбора данных в поле DateTimePicker1 (DateTimePicker2) и, нажать данную кнопку. Затем происходит передача условия отбора данных из окна компонента DateTimePicker1 (DateTimePicker2) в свойство компонента DBGrid2 и изменяется значение свойства для выполнения отбора данных. Кнопке Button1 (Button2) присваивается значение «Отменить фильтр». Если же на кнопке Button1 (Button2) другая надпись («Отменить фильтр»), то происходит отмена фильтрации и окно компонента DateTimePicker1 (DateTimePicker2) становится свободным для введения условия.
На схеме данных (Приложение А) пред Tmenu.Button7Click ставлен технологический процесс обработки данных. Исходные данные поступают в таблицы Pacient.db и Med. uslugi.db расположенных на форме BD, , для их последующего ввода и редактирования из соответствующих документов. На основе этих данных формируются отчеты и графики, отчеты можно выводить на бумажный носитель.
6. Описание программы.
Текст программы представлен в приложении В.
Проект состоит из следующих файлов:
- Project1.dpr {файл проекта};
- Unit1.pas, содержит описание формы, предназначенной для работы с БД;
- Unit2.pas, содержит описание формы предназначенной для обеспечения возможности просмотра отчета;
- Unit3.pas, содержит описание формы предназначенной для отображения диаграммы;
- Unit4.pas,содержит описание формы справочника «Поступления»;
- Unit5.pas, содержит описание формы «О программе»;
-Unit7.pas, содержит описание формы предназначенной для обеспечения возможности просмотра отчета;
-Unit8.pas, содержит описание формы предназначенной для отображения диаграммы;
-Unit9.pas, содержит процедуры-обработки выбора пунктов меню для обеспечения возможности выбора пользовательских функций;
-Unit10.pas, содержит описание формы справочника «Пациенты»;
-Help.pas, вызов справочных данных.
Сведения об использованных компонентах и значениях их свойств, которые потребовались при создании программы, сведены в таблицы 6.1 – 6.9.
Таблица 6.1- Свойства компонентов формы Menu
Элемент управления |
Надпись |
Свойство |
Значение |
1 |
2 |
3 |
4 |
Кнопка, Button7 |
О программе |
Caption |
Открытие формы AboutBox |
Кнопка, Button8 |
Exit |
Caption |
Завершение работы программы |
Кнопка, Button1 |
Ok |
Caption |
Открытие одной из форм выбранных переключателем для работы с БД |
Продолжение таблицы 6.1
1 |
2 |
3 |
4 |
Кнопка, Button5 |
Ok |
Caption |
Открытие одной из форм выбранных переключателем для просмотра отчёта |
Кнопка, Button6 |
Ok |
Caption |
Открытие одной из форм выбранных переключателем для просмотра диаграмм |
Переключатель, RadioButton1 |
Отчет по предприятиям |
OnClick |
Выбор отчёта «Отчет по предприятиям» |
Переключатель, RadioButton2 |
Поступившие пациенты |
OnClick |
Выбор отчета «Поступившие пациенты» |
Переключатель, RadioButton3 |
Поступившие пациенты |
OnClick |
Выбор диаграммы «Поступившие пациенты» |
Переключатель, RadioButton4 |
Затраты предприятий |
OnClick |
Выбор диаграммы «Затраты предприятий» |
Переключатель, RadioButton5 |
Справочник «Пациенты» |
OnClick |
Выбор формы Pacient |
Переключатель, RadioButton6 |
Справочник «Поступления» |
OnClick |
Выбор формы Postupleniya |
Переключатель, RadioButton8 |
Просмотр БД |
OnClick |
Выбор формы BD |