на тему рефераты Информационно-образоательный портал
Рефераты, курсовые, дипломы, научные работы,
на тему рефераты
на тему рефераты
МЕНЮ|
на тему рефераты
поиск
Разработка физической модели базы данных "Учёт затрат на медицинские услуги"
Получить извещение об оплате.

База данных строилась таким образом, чтобы хранить всю входную и формировать выходную документацию, полученную в результате выполнения основного бизнес-процесса. В этой главе мы рассмотрим, какие объекты базы данных были созданы для обеспечения этого требования.

При рассмотрении первого подпроцесса (Фиксировать полученную документацию) появилась необходимость создания отношений, соответствующих входным потокам данных. Так появились отношения Talon и Karta с атрибутами, входящими в словарь данных (Курсовой проект по дисциплине ИТ). Создание отношения Talon осуществлялось следующим образом:

CREATE TABLE Talon

(Number INT PRIMARY KEY NOT NULL,

Date DATETIME,

Type varchar(30),

IDLPU INT,

IDVrach INT,

IDPacient INT,

IDType INT,

CONSTRAINT TalonLPUforeign FOREIGN KEY(IDLPU) REFERENCES LPU,

CONSTRAINT TalonVrachforeign FOREIGN KEY(IDVrach) REFERENCES Vrach,

CONSTRAINT TalonTypeforeign FOREIGN KEY(IDType) REFERENCES Type,

CONSTRAINT TalonPacientforeign FOREIGN KEY(IDPacient) REFERENCES Pacient)

Зесь следует отметить, что каждый статистический талон может содержать несколько диагнозов, таким образом появилось отношение DiagnTalon (Диагноз в талоне):

CREATE TABLE DiagnTalon

(IDTalon INT,

IDDiagnos INT,

Ishod varchar(30),

Type varchar(30),

CONSTRAINT PK_Foreign PRIMARY KEY(IDTalon,IDDiagnos),

CONSTRAINT TalonDiagnforeign FOREIGN KEY(IDTalon) REFERENCES Talon ON DELETE CASCADE,

CONSTRAINT DiagnTalonforeign FOREIGN KEY(IDDiagnos) REFERENCES Diagnos)

Особенностью этого отношения является опция ON DELETE CASCADE при ограничении внешнего ключа. Это позволяет автоматически удалить все диагнозы при удалении какого-либо статистического талона. Такое удаление подобно реальному удалению документа, при этом все данные, связанные с ним, также удаляются. Конечно же, использование этой опции необходимо не особенно часто, лучшее применение она находит именно в слабых сущностях, как и в этом случае.

Аналогичным образом были созданы отношения Karta, Prikas и Isveshenie, которые предназначены для хранения информации из входной следующей документации - карта выбывшего больного, приказ и извещение об оплате. Входной поток информации Нормы на лечение материализовался в виде отношения Diagnos, где стала храниться информация о диагнозах и сроках их лечения. Создание отношения Diagnos:

CREATE TABLE Diagnos

(IDDiagnos INT IDENTITY PRIMARY KEY,

NameDiagnos varchar(50),

ShifrDiagnos varchar(20),

Norma INT )

Документ Прейскурант цен на медицинские услуги нашел свое выражение в отношениях Type (Специальность врача) и Otdel (Отделение), в которые в качестве атрибутов вошли тарифы по определённой специальности и отделению.

CREATE TABLE Otdel

(IDOtdel INT IDENTITY PRIMARY KEY,

Name varchar(30),

IDLPU INT,

TarifOtdel MONEY,

CONSTRAINT OtdelLPUforeign FOREIGN KEY(IDLPU) REFERENCES OtdelLPU)

Выходной документ Платежное поручение формируется с помощью хранимой процедуры на основании определённого приказа об оплате. Входными параметрами для процедуры являются NameLPU (Наименование ЛПУ) и Date (Дата приказа об оплате).

CREATE PROC Poruchenie

@NameLPU varchar(50),

@Date DateTime

AS

SELECT NameLPU,MestoLPU,Date,BeginPer,EndPer,Summa

FROM Prikas

INNER JOIN LPU

ON Prikas.IDLPU=LPU.IDLPU

WHERE LPU.NameLPU=@NameLPU AND Prikas.Date=@Date

Еще одним выходным документов автоматизируемого процесса является Заявка на финансирование, в которую входят суммы для финансирования отдельных ЛПУ за период. Входными параметрами для процедуры являются даты начала и конца периода. Сама же процедура реализована следующим образом: считаются суммы отдельно для стационара (в подзапросе) и для поликлиники, затем две полученные суммы складываются и дают таким образом окончательный результат. Для формирования заявки был написан следующий сценарий, создающий хранимую процедуру:

CREATE PROC GetZayavka

@Begin DateTime,

@End DateTime

AS

SELECT LPU.NameLPU,LPU.MestoLPU,SUM(TarifType)+Stacionar.Summa[Summa]

FROM Talon

INNER JOIN Type

ON Talon.IDType=Type.IDType

INNER JOIN LPU

ON Talon.IDLPU=LPU.IDLPU

INNER JOIN (SELECT LPU.IDLPU,SUM(TarifOtdel*(Norma*1.15))[Summa]

FROM Karta

INNER JOIN LPU

ON Karta.IDLPU=LPU.IDLPU

INNER JOIN OtdelLPU

ON OtdelLPU.IDLPU=LPU.IDLPU

INNER JOIN Otdel

ON Otdel.IDOtdel=OtdelLPU.IDOtdel

INNER JOIN DiagnKarta

ON Karta.IDKarta=DiagnKarta.IDKarta

INNER JOIN Diagnos

ON Diagnos.IDDiagnos=DiagnKarta.IDDiagnos

WHERE Karta.DateEnd BETWEEN @Begin AND @End AND DiagnKarta.Type='основной'

GROUP BY LPU.IDLPU) Stacionar

ON LPU.IDLPU=Stacionar.IDLPU

WHERE Talon.Date BETWEEN @Begin AND @End

GROUP BY LPU.NameLPU,LPU.MestoLPU,Stacionar.Summa

В ходе написания курсового проекта по дисциплине «Управление данными» были написаны запросы к базе данных. Часть из них нашла свое отражение при создании базы данных в виде хранимых процедур. Все запросы перечислять не имеет смысла, поэтому поясним одну из них. Приведённая ниже процедура возвращает фамилии, имена и отчества всех пациентов конкретного ЛПУ за период. Таким образом, входными параметрами являются наименование ЛПУ и даты начала и конца периода. В процедуре происходит объединение 3 выборок - выборки по дате начала из карты выбывшего больного, по дате конца из карты и по дате статистического талона. Понятно, что кроме этого в предложение WHERE включено условие отсева пациентов только по конкретному ЛПУ.

CREATE PROC PacientLPU

@NameLPU varchar(50),

@Begin DateTime,

@End DateTime

AS

SELECT Fam,Im,Otch

FROM Pacient

INNER JOIN Karta

ON Pacient.IDPacient=Karta.IDPacient

INNER JOIN LPU

ON Karta.IDLPU=LPU.IDLPU

WHERE LPU.NameLPU=@NameLPU AND Karta.DateEnd BETWEEN @Begin AND @End

UNION

SELECT Fam,Im,Otch

FROM Pacient

INNER JOIN Karta

ON Pacient.IDPacient=Karta.IDPacient

INNER JOIN LPU

ON Karta.IDLPU=LPU.IDLPU

WHERE LPU.NameLPU=@NameLPU AND Karta.DateBegin BETWEEN @Begin AND @End

UNION

SELECT Fam,Im,Otch

FROM Pacient

INNER JOIN Talon

ON Pacient.IDPacient=Talon.IDPacient

INNER JOIN LPU

ON Talon.IDLPU=LPU.IDLPU

WHERE LPU.NameLPU=@NameLPU AND Talon.Date BETWEEN @Begin AND @End

После написания этой процедуры появилась потребность написать подобные процедуры, а именно вывод пациентов за период без указания ЛПУ, с указанием отделения и ЛПУ, с указанием только отделения. Создание этих процедур позволило сделать первоначальный запрос гораздо более гибким и удобным для конечного пользователя.

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

3.3. Описание интерфейса пользователя

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

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

Как видно, рабочая область главного окна состоит из четырех вкладок. Эти вкладки соответствуют документам, которые наиболее часто фиксируются в системе. Внизу рабочей области окна мы видим инструмент для управления данными таблицы. Например, при нажатии на кнопку «Добавить талон» в таблице появится одна пустая строка, в которую будет необходимо внести требуемые данные. Программа предусматривает обработку исключений и выдачу соответствующих сообщений пользователю. Например, при удалении статистического талона, на который есть ссылки в других таблицах, пользователь получит сообщение, в котором указывается не только сам факт ошибки, но и её причина, которую пользователь может понять сам, либо позвать администратора базы данных или программиста.

При необходимости добавления статистического талона или карты появляется следующее диалоговое окно:

При необходимости добавить в какой-либо талон диагноз этого талона, необходимо нажать кнопку «Добавить диагноз» или сделать двойной щелчок мышью по нужной строке, при этом появится следующее окно:

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

Аналогично происходит работа с картами выбывшего больного, а также с приказами и извещениями об оплате.

При выборе пункта главного меню «Справочники» мы увидим выпадающий список всех справочников системы:

Следует отметить, что все справочники можно условно разделить на простые (первые пять в списке) и сложные (последние три). Работа с простыми справочниками осуществляется следующим образом: при выборе пункта меню происходит появление диалогового окна, также состоящего из таблицы и навигатора. Пользователь с помощью простых и интуитивно понятных действий может произвольным образом управлять данными таблицы.

При попытке сохранения изменений в базе данных мы увидим следующее сообщение. Изменения фиксируются только в случае нажатия на кнопку «Да».

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

Работа с данными ведётся аналогично другим справочникам, но отображаются только те данные, которые соответствуют выбранному в списке элементу. Необходимо отметить, что все элементы навигаторов всех справочников снабжены всплывающими подсказками, существенно облегчающими работу пользователя.

Перейдем к элементу главному меню «Отчеты». Как мы видим, возможен выбор 2 отчетов - заявки на финансирование и платёжного поручения. При выборе одного из этих пунктов происходит вызов окна, в котором нужно указать требуемые данные, например:

В этом случае следует выбрать наименование ЛПУ и указать дату нужного приказа об оплате, а затем нажать кнопку «Сформировать поручение». Нажатие кнопки «Отмена» закрывает окно.

После формирования поручения пользователю доступны функции экспорта отчета в файлы с расширением *.doc, *.xls, *.pdf и другие. Экспорт отчета происходит с помощью стандартного окна сохранения файла, в котором можно указать путь сохранения, имя и тип файла.

В отчете пользователю доступны также кнопки «Печать», «Обновить», «Поиск текста» и «Масштаб». Использование их подобно этим же функциям в любом стандартном Windows-приложении и интуитивно понятно пользователю, имеющему хотя бы минимальный опыт работы с Windows, поэтому подробное описание их не имеет смысла.

Третий элемент главного меню - статистика. В него входят запросы, которые нет необходимости выводить на печать (в виде отчетов), но которые могут понадобиться пользователю. Описывать все пункты не имеет смысла, так как их интерфейс в большинстве своём предусматривает выбор или ввод каких-то значений и нажатие на кнопку для вывода результатов запроса. Рассмотрим запрос, выдающий пациентов за период. При выборе этого пункта меню происходит вызов окна, состоящего из 2 логических частей - блока ввода информации и блока вывода. Блок ввода состоит из двух компонентов выбора дат - начала и конца периода, и двух выпадающих списков - для выбора ЛПУ и отделения. Надо отметить, что система предусматривает возможность оставлять списки пустыми, при этом отсев информации по соответствующему условию производиться не будет.

Приведём еще один пример - вывод списка пациентов с определённым исходом за выбранный период. Здесь также необходимо ввести значения - даты начала и конца периода, а также выбрать необходимый исход. После этого нажатие кнопки «Вывести список пациентов» выведет нам необходимую информацию, а нажатие кнопки отмена закроет данное окно.

Созданный интерфейс является очень удобным и понятным для пользователя. Это не пустые слова, так как он напоминает интерфейс многих Windows-приложений. Обработка ошибок и показ её причины, всплывающие подсказки, удобные кнопки, выпадающие списки, навигаторы для управления таблицами и сами таблицы являются стандартными элементами современных приложений. Интерфейс пользователя является важной частью при реализации системы, и мы можем с уверенностью сказать, что справились с этой задачей.

3.4. Формирование выходной документации и входных форм

Формирование выходной документации и входных форм является задачей, которая обеспечивает соблюдение функциональных требований к системе. Выходная документация представляет собой отчеты, которые пользователь может как выводить на печать, так и экспортировать в файл с расширениями *.doc, *.xls, *.pdf и другие. В нашей системе отчеты были созданы в системе отчетов Crystal Reports. Эта система позволяет довольно легко создавать красивые и наглядные отчеты, в которые можно вставить диаграммы, графики, таблицы, формулы, и другие элементы.

В нашей системе выходная документация представляет собой два документа - платёжное поручение и заявка на финансирование. Информация, включаемая в отчет, выбирается из базы данных посредством хранимых процедур, их листинги приведены в разделе «Поддержание бизнес-логики», отметим лишь, что генерируемые системой отчеты полностью идентичны подлинным документам Княжпогостского филиала ФОМС.

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

В заключение отметим, что созданные входные формы и генерируемые системой отчёты удобны для пользователя и подобны формам и документам реального бизнес-процесса, протекающего при учете затрат на медицинские услуги в Княжпогостском филиале ФОМС.

3.5. Пользователи и права доступа

В СУБД Microsoft SQL Server 2005 пользователи в значительной степени эквивалентны учётным записям. Иными словами, объект пользователя представляет собой идентификатор для некоторого лица, желающего войти в систему для работы. Любой, кто пожелает зарегистрироваться для работы с SQL Server 2005, должен быть представлен с помощью объекта пользователя. Пользователи, в свою очередь, могут принадлежать к одной или нескольким ролям. Права на выполнение определённых действий в СУБД SQL Server 2005 могут быть предоставлены непосредственно пользователю или роли, к которой могут относиться несколько пользователей.

В нашей базе данных не содержится каких-либо секретных данных, поэтому вполне достаточно для ограничения доступа к данным по сети использовать аутентификацию Windows, и создать соответствующего пользователя в качестве владельца базы данных. Надо сказать, что Microsoft SQL Server 2005 позволяет легко управлять пользователями и их правами, так что в случае необходимости администратор баз данных может легко внести изменения в существующую схему доступа к данным.

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

Заключение

Данный курсовой проект является продолжением курсового проекта по дисциплинам «Информационные технологии» и «Управление данными», так как главная цель данных работ касается автоматизации процесса по учету затрат на оказанные медицинские услуги.

В ходе выполнения данного курсового проекта была разработана физическая модель базы данных, причём в качестве целевой СУБД была выбрана Microsoft SQL Server 2005. С помощью наложенных на отношения ограничений и триггеров осуществлена поддержка декларативной целостности базы данных, а при помощи создания хранимых процедур были реализованы бизнес-правила. Реализация запросов к базе данных и создание хранимых процедур на языке T-SQL позволили автоматизировать процесс формирования выходной документации. Анализ входной документации позволил правильно создать входные формы для управления данными системы.

В результате проделанной работы мы получили практически законченную автоматизированную систему, которая позволяет решить ряд проблем рассматриваемой предметной области. Соответствие системы описанным в техническом задании требованиям позволяет сделать вывод, что созданная АИС при соответствующей доработке может быть применена в соответствующей предметной области, а именно в Княжпогостском филиале ФОМС.

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

1.

2. Роберт Вьейра. SQL Server 2000. Программирование в 2 ч.: Пер. с англ.; Под ред. С.М. Молявко. - М.: БИНОМ. Лаборатория знаний, 2004. - 735 с.: ил.

3. Роберт Вьейра. Программирование баз данных Microsoft SQL Server 2005. Базовый курс. : Пер. с англ. - М. : ООО «И.Д. Вильямс», 2007. - 832 стр. : ил.

4. Коннолли Томас, Бегг Каролин. Базы данных: проектирование, реализация и сопровождение. Теория и практика, 3-е изд.: Пер. с англ. - М.: Издательский дом «Вильямс», 2003. - 1440 с.: ил. - Парал. тит. англ.;

5. Гектор Гарсиа-Молина, Джеффери Ульман, Дженнифер Уидом. Системы баз данных. Полный курс: Пер. с англ. - М.: Издательский дом “Вильямс”, 2004

6. Нейгел Кристиан, Ивьен Билл, Глин Джей и др. C# 2005 для профессионалов. : Пер с англ. - М. : ООО «И.Д. Вильямс», 2006. - 1376 с.

7. Николаева Н.А. Язык структурированных запросов. Лабораторные работы: учебное пособие / Н.А. Николаева, Т.Ю. Калинина. - Ухта: УГТУ, 2006. - 124 с. ил.

Приложения

Приложение 1

Приложение 2

Приложение 3

Страницы: 1, 2, 3



© 2003-2013
Рефераты бесплатно, курсовые, рефераты биология, большая бибилиотека рефератов, дипломы, научные работы, рефераты право, рефераты, рефераты скачать, рефераты литература, курсовые работы, реферат, доклады, рефераты медицина, рефераты на тему, сочинения, реферат бесплатно, рефераты авиация, рефераты психология, рефераты математика, рефераты кулинария, рефераты логистика, рефераты анатомия, рефераты маркетинг, рефераты релиния, рефераты социология, рефераты менеджемент.