на тему рефераты Информационно-образоательный портал
Рефераты, курсовые, дипломы, научные работы,
на тему рефераты
на тему рефераты
МЕНЮ|
на тему рефераты
поиск
Информационная система офтальмологической клиники
p align="left">CREATE TABLE Спец_обследование

(ID_спец_обследования int primary key,

ID_посещения int,

Мутации nvarchar(30)

CHECK(Мутации IN('R124L', 'R124H', 'R124C', 'R555W', 'R555Q', 'T538R', 'H826R')),

Рентген_инородное_тело nvarchar(4)

CHECK(Рентген_инородное_тело IN('ЕСТЬ', 'НЕТ')),

С_реактивный_белок nvarchar(4)

CHECK(С_реактивный_белок IN('+', '++','+++','++++')),

Тимоловая int,

Сиаловая int,

СОЭ int,

Фибриноген int,

Ревматический_фактор int,

Рентген_феномен nvarchar(20)

CHECK(Рентген_феномен IN('светоощущение','форменное зрение')),

Ретинальная_острота_зрения int,

Пахиметрия_толщина_роговицы_в_мм int,

Компьютерная_кератотопография nvarchar(30)

CHECK (Компьютерная_кератотопография IN('не изменена','в-н ассиметрия','выпяч. в н. полусфере','выпяч. в ц. и н. полусфере')),

Кольца_Плацидо nvarchar(10)

CHECK(Кольца_Плацидо IN('не изменены','искажены','деформированы')),

Гониоскопия_угол_п_камеры nvarchar(10)

CHECK(Гониоскопия_угол_п_камеры IN('узкий','средний','широкий')),

Склеральная_шпора nvarchar(20)

CHECK(Склеральная_шпора IN('не выражена','слабо пигментирована','пигментирована')),

Трабекулярная_зона nvarchar(20)

CHECK(Трабекулярная_зона IN('норма','пигментирована','не видна')),

Мембрана_Бруха nvarchar(20)

CHECK(Мембрана_Бруха IN('остатки есть','нет')),

Протяжённость_прикрытия_фильтрационной_зоны nvarchar(20)

CHECK(Протяжённость_прикрытия_фильтрационной_зоны IN('1/3','1/2','2/3','по всему периметру')),

Корень_радужки nvarchar(20)

CHECK(Корень_радужки IN('норма','субатрофия','атрофия')),

Проба_Ширмера_мм int,

Время_разрыва_слезной_плёнки int,

УЗ_сканирование int,

Посев_с_кон_вы_стафилококк nvarchar(20)

CHECK(Посев_с_кон_вы_стафилококк IN('эпидермальный','золотистый','гемолитический')),

Соскоб_с_кон_вы_грибки int,

Соскоб_с_кон_вы_флора int,

Соскоб_с_кон_вы_лейкоциты int,

Проба_Манту_мм int)

Рис. 3

Эта таблица с помощью следующего запроса связана с таблицей “Мед_посещение” (Рис. 4):

ALTER TABLE Спец_обследование

ADD constraint CON2 foreign key(ID_посещения) references Мед_посещение(ID_посещения)

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

CREATE TABLE Мед_посещение

(ID_посещения int primary key,

ID_карты int not null, Давление nvarchar(10), Температура nvarchar(5), Дата_посещения datetime)

Рис. 4

Эта таблица в свою очередь связана с таблицей “Мед_Карта” (Рис. 5)

Рис. 5

ALTER TABLE Мед_посещение

ADD constraint CON1 foreign key(ID_карты) references Мед_Карта(ID_карты).

Таблица “Мед_Карта” содержит информацию о всех пациентах клиники. Она была создана в базе с помощью следующего SQL-запроса:

CREATE TABLE Мед_Карта

(ID_карты int primary key,

ФИО_больного nvarchar(30),

Диагнозы nvarchar(50),

Дата_рождения datetime,

Дом_Адрес nvarchar(30),

Телефон nvarchar(10),

ID_лечащего_врача int not null)

Таблица “Мед_Карта” связана с таблицей “ Лечащий_Врач” (Рис. 4)

Рис. 6

ALTER TABLE Мед_Карта

ADD constraint CON foreign key(ID_лечащего_врача) references Лечащий_Врач(ID_лечащего_врача). Таблица “ Лечащий_Врач” содержит информацию о врачах, которые работают в клинике и создана с помощью следующего запроса:

CREATE TABLE Лечащий_Врач

(ID_лечащего_врача int primary key,

ФИО nvarchar(30),

Телефон nvarchar(10),

Специализация nvarchar(30))

Также содержится в базе данных таблица “Назначение” (Рис. 6), в которую лечащий врач может сформировать список обследований, которые необходимо пройти его пациенту. Эта таблица связанна с таблицей “Спец_обследование”.

Рис. 7

В базе также есть несколько таблиц, которые являются справочными “ПЦР” (Рис. 8), “Посев” (Рис. 9) и “СправочникОбследований” (Рис. 10)

Рис. 8

Рис. 9

Рис. 10

3.3 Разработка триггеров

Для необходимой работы с базой было написано несколько триггеров. При вставки записи в таблицу “Спец_обследование” удаляется соответствующая запись из таблицы “Назначение”. Эта процедура осуществляется с помощью следующего триггера:

CREATE TRIGGER udal

on Спец_обследование

after insert

as

begin

delete

from Назначение

end

Записи, которые были удалены из таблицы “Назначение” попадают в архивную таблицу “DELFROMNAZN”. Эта таблица была создана дополнительно в базе клиники

CREATE TABLE DELFROMNAZN

(ID_назначения INT,ID_спец_обследования INT,Дата_Назначения DATETIME,DELDATE datetime)

Операция переноса, удалённых данных в архивную таблицу происходит помощи следующего триггера:

CREATE TRIGGER DELDATE

on Назначение

FOR DELETE

AS

begin

INSERT

INTO DELFROMNAZN(ID_назначения,ID_спец_обследования,Дата_Назначения,

DELDATE)

SELECT ID_назначения Int,ID_спец_обследования int,Дата_Назначения DATETIME,GETDATE()

FROM DELETED

end

При автоматическом заполнении этой таблицы в поле под названием DELDATE с помощью функции GETDATE() помещается дата с точным временем удаления.

Следующие два триггера срабатывают после вставки данных в таблицы “Мед_Карта” и “Мед_посещение” соответствующих полей.

CREATE TRIGGER Vst_5

on Мед_Карта

after insert

as

begin

insert into dbo.Мед_посещение( Дата_посещения,ID_карты )

select ФИО_больного,ID_карты

from inserted

end

CREATE TRIGGER Vst_4

on Мед_посещение

after insert

as

begin

insert into dbo.Спец_обследование(ID_посещения)

select ID_посещения

from inserted

end

Также в курсовом проекте предусмотрено недопущение внесения новых данных в справочники, а именно - это таблицы “ПЦР”, ”Посев” и ”СправочникОбследования”.

USE CLINICA

GO

CREATE TRIGGER ins_no

on СправочникОбследований

for insert

as

print 'Вставка строк запрещена!'

USE CLINICA

GO

CREATE TRIGGER ins_no1

on Посев

for insert

as

print 'Вставка строк в справочник запрещена!'

USE CLINICA

GO

CREATE TRIGGER ins_no2

on ПЦР

for insert

as

print 'Вставка строк в справочник запрещена!'

4. ПРОЕКТИРОВАНИЕ ПОЛЬЗОВАТЕЛЬСКОГО ИНТЕРФЕЙСА

4.1 Проектирование и программирование диалоговых форм

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

При запуске проекта, который имеет название “ОФТАЛЬМОЛОГИЯ” открывается главное окно проекта Form1 под названием “ОФТАЛЬМОЛОГИЧЕСКАЯ КЛИНИКА”. Весь проект имеет следующую структуру:

Архив - содержит таблицу, которая хранит данные, удалённые из таблицы “Назначение”. Эти данные используются пользователями достаточно редко.

ЛечВрачи - форма с таблицей данных о старшем медицинском персонале.

МедКарты - форма с данными о клиентах клиники.

МедПосещ - содержит две, связанные таблицы “Мед_посещение” и

“Мед_Карта”.

Назнач - содержит две таблицы с назначениями и справочником для формирования назначений.

СпецОбсл - форма, содержащая спец обследование и медицинское посещение.

ПОСЕВЫ, ПЦР и ОБСЛ содержат таблицы со справочниками.

На каждой форме предусмотрен поиск по полю ФИО или по полю Дата и сортировка данных по возрастанию и по убыванию.

4.2 Создание многоуровневого меню пользователя

Главное меню курсового проекта многоуровневое и состоит из menuStrip1, label1, label2, label3 ,label4, label5, label6.

Файл --> Выход

Справочники --> ПЦР, ПОСЕВЫ

Архив --> Справочник Назначений

Сортировка --> А-Я, Я-А

Справка

5. РЕАЛИЗАЦИЯ ПРОЕКТА

5.1 Создание рабочей модели приложения базы данных

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

C# включает такой мощный инструмент для отображения данных, как элемент управления DataGridView . DataGridView может использоваться как для разработки Windows Forms-приложений, так и для разработки Web-приложений. Нет разницы в написании кода. Этот элемент управления соединяет в себе все возможности таблицы Excel, и даже больше. Нужно отметить, что наделение DataGridView мощными функциональными возможностями имеет и свои недостатки одним из которых есть необходимость использования приложений компонентов.

Первый шаг: подключение баз данных с Microsoft SQL SERVER. В главном меню Microsoft Visual Studio виберем Data->Show Data Sources. Слева появится новая закладка- Data Sources, виберем функцию Add New Data Sources.

Появилось диалоговое окно для выбора типа Data Sources. Для подключения к SQL SERVER необходимо выбрать

Database->

next .

В следущем окне требуется вибрать путь соединения (после нажатия кнопки New Connection.)

Потом выбираем свой сервер и необходимую базу данных.

Потом выбираем данные, с какими собираемся работать:

Подключение закончено.

База данных средствами объектно-ориентированного языка программирования C# подключается к созданному проекту. После добавления базу данных можно увидеть в меню Источники данных.

5.2 Тестирование системы

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

5.3 Сопровождение системы

База данных, разработанная в ходе курсового проекта, называется CLINICA. Сам проект, который предназначается для запуска, имеет название “ОФТАЛЬМОЛОГИЯ”

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

1. СУБД MS SQL SERVER 2005.

2. Microsoft Visual C# 2008 Express Edition

ЗАКЛЮЧЕНИЕ

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

ЛИТЕРАТУРА

1. С. В. Глушаков, Д. В. Ломотько «Базы данных» - Флио, АСТ, 2002.

2. Нильсен П., SQL Server 2005: Библия пользователя, 2008.

3. MSDN

ПРИЛОЖЕНИЯ

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

Один из справочников курсовой работы (справочник ПЦР)

Таблица, где хранятся архивные данные.

Метод для поиска информации по таблицам:

(Для примера взята таблица с данными о лечащих врачах)

private void toolStripButton1_Click(object sender, EventArgs e)

{

var s = "SELECT ID_лечащего_врача, ФИО, Телефон, Специализация FROM dbo.Лечащий_Врач";

var Flag = true;

if (toolStripTextBox1.Text != "")

{

if (Flag != true)

s = s + " and [ФИО]='" + toolStripTextBox1.Text + "'";

else

{

s = s + " where [ФИО]='" + toolStripTextBox1.Text + "'";

Flag = false;

}

}

this.лечащий_ВрачTableAdapter.Adapter.SelectCommand.CommandText = s;

this.лечащий_ВрачTableAdapter.Fill(this.cLINICADataSet.Лечащий_Врач);

}

}

Сортировка данных:

private void аЯToolStripMenuItem_Click(object sender, EventArgs e)

{

this.лечащий_ВрачDataGridView.Sort(this.dataGridViewTextBoxColumn1, ListSortDirection.Ascending);

}

private void яАToolStripMenuItem_Click(object sender, EventArgs e)

{

this.лечащий_ВрачDataGridView.Sort(this.dataGridViewTextBoxColumn1, ListSortDirection.Descending);

}

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



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