База данных со сведениями о пациентах и медицинских услугах в стационаре

Автор работы: Пользователь скрыл имя, 17 Июня 2014 в 19:56, курсовая работа

Описание работы

На сегодняшний день деятельность большинства предприятий основана на использовании современных средств автоматизации, так как для приема, хранения, передачи информации на бумажных носителях требуются высокие затраты времени и труда специалистов. Информация, хранимая на бумажных носителях, может испортиться с течением времени, под воздействием внешних факторов. Такая информация часто не может быть восстановлена в соответствии с первоначальными документами. В современных условиях выполняется переход к автоматизированной обработке экономической информации и предпосылками для перехода к автоматизированной обработке являются:
- увеличение номенклатуры объема продукции (работ, услуг и т.д.);
- необходимость снижения затрат (времени, финансов и др. ресурсов) на производственную деятельность.

Файлы: 1 файл

Курсовик.doc

— 4.07 Мб (Скачать файл)

Введение

На сегодняшний день деятельность большинства предприятий основана на использовании современных средств автоматизации, так как для приема, хранения, передачи информации на бумажных носителях требуются высокие затраты времени и труда специалистов. Информация, хранимая на бумажных носителях, может испортиться с течением времени, под воздействием внешних факторов. Такая информация часто не может быть восстановлена в соответствии с первоначальными документами. В современных условиях выполняется переход к автоматизированной обработке экономической информации и предпосылками для перехода к автоматизированной обработке являются:

- увеличение номенклатуры объема  продукции (работ, услуг и т.д.);

- необходимость снижения затрат (времени, финансов и др. ресурсов) на производственную деятельность.

Следствием являются:

- увеличение объема обрабатываемых  данных;

- увеличение производительности  труда при обработке данных;

- необходимость сокращения затрат  времени на обработку данных.

Средства автоматизации для решения экономических задач и соответствующие автоматизированные системы должны создаваться на предприятии для достижения поставленных целей.

В рамках данной предметной области необходимо разработать программу, позволяющую сопровождать базу данных со сведениями о пациентах и медицинских услугах в стационаре.

 

 

 

1. Постановка задачи  и исходные данные.

 

Целью курсового  проектирования является закрепление навыков по разработке программ в системе визуального программирования Delphi с использованием языка Object Pascal и  проработка комплекса вопросов,  решаемых  в технологической цепочке создания прикладного программного обеспечения.

Общее задание на курсовое проектирование состоит в том, чтобы выполнить работы по созданию диалоговой прикладной  программы в системе визуального программирования Delphi, текстовой и графической программной документации (схемы программ и данных).

Программа должна выполнять следующие функции:

  • Вывод меню функций, выполняемых программой;
  • Ввод, просмотр, редактирование данных о пациентах (таблица «Пациент» с полями «№ полиса», «Фамилия», «Имя», «Отчество»,  «Адрес», «Место работы») и о медицинских услугах в стационаре (таблица «Медицинские услуги для пациентов в стационаре» с полями «Порядковый номер», «№ полиса», «Дата поступления», «Дата выписки», «Оплата за 1 день») в базе данных (БД), содержащей 2 взаимосвязанные таблицы: «Пациент» и «Медицинские услуги для пациентов в стационаре»;
  • Вычисление значения поля «Сумма»;
  • Дополнение БД, удаление данных БД о пациентах и медицинских услугах в стационаре;
  • Отбор (фильтрация) данных по дате поступления и дате выписки пациентов, задаваемыми пользователем;
  • Сортировка данных о пациентах по месту работы и ФИО и о медицинских услугах по дате поступления и дате выписки пациентов;
  • Контроль вводимых данных с выводом сообщений об ошибках: поля всех таблиц являются обязательными;
  • Обработка трех исключительных ситуаций: ошибки преобразования типов данных, наличие данных, возможность выполнения вычислений;
  • Сформировать отчет за месяц, сгруппированный по предприятиям, пациентам, с вычислением итоговых сумм  и,  отчет за месяц, вычисляющий количество поступивших пациентов по датам, которые могут быть выведены на принтер;
  • Построить график, отображающий количество пациентов, поступавших в стационар в течение года   и, график, отображающий суммарные затраты предприятий вылеченных пациентов в стационаре по итогам месяца;
  • Вывод справочных данных;
  • Вывод формы со сведениями о программе.

Состав и структура исходных данных представлены в таб. 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                             Med. Uslugi.db

 

NPolis

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(DateTimePicker2.date));

      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

Информация о работе База данных со сведениями о пациентах и медицинских услугах в стационаре