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

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

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


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

Файлы: 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

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