Автор работы: Пользователь скрыл имя, 17 Июня 2014 в 19:56, курсовая работа
На сегодняшний день деятельность большинства предприятий основана на использовании современных средств автоматизации, так как для приема, хранения, передачи информации на бумажных носителях требуются высокие затраты времени и труда специалистов. Информация, хранимая на бумажных носителях, может испортиться с течением времени, под воздействием внешних факторов. Такая информация часто не может быть восстановлена в соответствии с первоначальными документами. В современных условиях выполняется переход к автоматизированной обработке экономической информации и предпосылками для перехода к автоматизированной обработке являются:
- увеличение номенклатуры объема продукции (работ, услуг и т.д.);
- необходимость снижения затрат (времени, финансов и др. ресурсов) на производственную деятельность.
Введение
На сегодняшний день деятельность большинства предприятий основана на использовании современных средств автоматизации, так как для приема, хранения, передачи информации на бумажных носителях требуются высокие затраты времени и труда специалистов. Информация, хранимая на бумажных носителях, может испортиться с течением времени, под воздействием внешних факторов. Такая информация часто не может быть восстановлена в соответствии с первоначальными документами. В современных условиях выполняется переход к автоматизированной обработке экономической информации и предпосылками для перехода к автоматизированной обработке являются:
- увеличение номенклатуры
- необходимость снижения затрат (времени, финансов и др. ресурсов) на производственную деятельность.
Следствием являются:
- увеличение объема
- увеличение производительности труда при обработке данных;
- необходимость сокращения
Средства автоматизации для решения экономических задач и соответствующие автоматизированные системы должны создаваться на предприятии для достижения поставленных целей.
В рамках данной предметной области необходимо разработать программу, позволяющую сопровождать базу данных со сведениями о пациентах и медицинских услугах в стационаре.
1. Постановка задачи и исходные данные.
Целью курсового проектирования является закрепление навыков по разработке программ в системе визуального программирования Delphi с использованием языка Object Pascal и проработка комплекса вопросов, решаемых в технологической цепочке создания прикладного программного обеспечения.
Общее задание на курсовое проектирование состоит в том, чтобы выполнить работы по созданию диалоговой прикладной программы в системе визуального программирования Delphi, текстовой и графической программной документации (схемы программ и данных).
Программа должна выполнять следующие функции:
Состав и структура исходных данных представлены в таб. 1.1-1.2:
Таблица 1.1 - «Пациент»
Пациент | |||
№ полиса |
ФИО |
Адрес |
Место работы |
Таблица 1.2 - «Медицинские услуги для пациентов в стационаре»
Медицинские услуги для пациентов в стационаре | |||
Дата поступления |
Дата выписки |
Оплата за 1 день |
Сумма |
Прочие условия к разрабатываемой программе представлены в таб. 1.3:
Таблица 1.3 «Прочие условия»
Выбор пользовательских функций |
Переключатели |
Вид графика |
Столбиковый |
Определение места каталога с файлами БД |
Определяется в программе |
Формирование текста запроса |
Формируется в программе |
Дополнительно |
Использовать специальные компоненты для ввода дат |
2. Состав и структура данных.
Перед разработкой прикладной программы следует разработать структуру БД ( определить таблицы, их имена, имена и типы полей, назначить ключевые поля, определить отношения 1: N).
БД учёта пациентов и медицинских услуг в стационаре с помощью таблиц «Pacient.db», «Med. uslugi.db», которые создаются при помощи утилиты DataBase Desktop (DBD), входящей в комплект поставки Delphi.
Структура БД представлена на рисунке 2.1.
Pacient.db
Nfamily NName Npatromyc NPlace NJob |
NSpisok NPolis |
NData_postuplenie NData_vipiski NOplata_za_1_day |
Рис.2.1 – Структура БД
Система Delphi позволяет установить между таблицами, находящимися в отношении 1 : N, ссылочную целостность, с помощью утилиты DataBase Desktop (DBD). Связь таблиц осуществляется по полю «NPolis». Имя установленного отношения – npol_ref_int. Благодаря этой связи, перемещение указателя в главной таблице будет приводить к автоматической смене данных, отображаемых в подчинённой таблице.
Описание таблиц представлено в таблицах 2.1 и 2.2.
Таблица 2.1 «Структура записей таблицы »
Pacient.db | |||||||||
Имя поля |
Назначение поля |
Тип |
Длина (байт) |
Свойства поля | |||||
Ключ |
Обяза тельное |
Ограничения значений | |||||||
Мини мальное |
Макси мальное |
По умолчанию |
Примечания | ||||||
NPolis |
Номер полиса |
Alpha |
8 |
* |
+ |
- |
- |
- |
- |
NFamaly |
Фамилия |
Alpha |
25 |
+ |
- |
- |
- |
- | |
NName |
Имя |
Alpha |
15 |
+ |
- |
- |
- |
- | |
NPatromyc |
Отчество |
Alpha |
20 |
+ |
- |
- |
- |
- | |
NPlace |
Адрес |
Alpha |
255 |
+ |
- |
- |
- |
- | |
NJob |
Место работы |
Alpha |
255 |
+ |
- |
- |
- |
- |
Таблица 2.2 «Структура записей таблицы »
Med. uslugi.db | |||||||||
Имя поля |
Назначение поля |
Тип |
Длина (байт) |
Свойства поля | |||||
Ключ |
Обязательное |
Ограничения значений | |||||||
Минимальное |
Максимальное |
По умолчанию |
Примечания | ||||||
NSpisok |
Порядковый номер |
Autoincrement |
* |
- |
- |
- |
- | ||
NPolis |
№ полиса |
Alpha |
8 |
+ |
- |
- |
- |
- | |
NData_Postuplenie |
Дата поступления |
Date |
+ |
- |
- |
- |
- | ||
NData_Vipiski |
Дата выписки |
Date |
- |
- |
- |
- |
- | ||
Noplata_za_1_day |
Оплата за 1 день |
$ |
+ |
- |
- |
- |
- |
Для выполнения в программе сортировок данных были определены вторичные ключи, имена и состав которых представлен в таблице 2.3.
Таблица 2.3 «Структура записей таблицы »
Имя таблицы |
Имя вторичного ключа |
Состав (имена столбцов) |
Pacient |
family |
NFamaly |
job |
NJob | |
Med. uslugi |
post |
NData_Postuplenie |
vypis |
NData_Vipiska |
3. Методы и алгоритмы решения задач.
Для расчёта суммарной стоимости лечения пациентов в стационаре в ПП используется разность полей с датами и, значение умножается на стоимость лечения за 1 день, связанные с полями таблиц БД. Вычисления производятся в диаграммах и отчетах.
Для вычисления используется SQL-запрос и связь с БД и визуальными компонентами для отображения результатов выполнения запроса. Ввод текста запроса осуществлён с помощью свойства SQL.
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
Для реализации некоторых возможностей в ПП используется компонент TQuery, который обеспечивает хранение текста SQL-запроса и связь с БД и визуальными компонентами для отображения результатов выполнения запроса. Ввод текста запроса осуществлён с помощью свойства SQL, параметры запроса определены с помощью свойства Params в коде программы.
Для выполнения фильтрации данных по дате поступления в таблице "Med. uslugi" используется следующая процедура:
procedure TBD.Button2Click(Sender: TObject);
begin
if Button2.Caption='Фильтр по поступлению' then
begin
Button1.Caption:='Фильтр по выписке';
Table2.Filter:= 'NData_Postuplenie
= ' + QuotedStr(DateToStr(
Table2.Filtered:=true;
Button2.Caption:='Отменить фильтр по поступлению'
end
else
begin
Button2.Caption:='Фильтр по поступлению';
Table2.Filtered:=false;
end;
end;
Для выполнения фильтрации данных по дате выписки в таблице "Med. uslugi" используется следующая процедура:
procedure TBD.Button1Click(Sender: TObject);
begin
if Button1.Caption='Фильтр по выписке' then
Информация о работе База данных со сведениями о пациентах и медицинских услугах в стационаре