Автоматизированная система офтальмологической клиники

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

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 27.03.2024
Размер файла 2,6 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ

РОССИЙСКОЙ ФЕДЕРАЦИИ

федеральное государственное бюджетное образовательное учреждение

высшего образования

«УЛЬЯНОВСКИЙ ГОСУДАРСТВЕННЫЙ

ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ»

Факультет информационных систем и технологий

Кафедра Измерительно-вычислительные комплексы

Дисциплина - Базы данных

КУРСОВАЯ РАБОТА

Тема: Автоматизированная система офтальмологической клиники

Выполнил студент /М.А. Варкентин/

Курс 3 Группа ИСТбд-31

Направление 09.03.02 «Информационные системы и технологии»

Руководитель доцент кафедры ИВК, к.т.н., доцент

Родионов Виктор Викторович

Ульяновск

2023

Содержание

  • Введение 1. Техническое задание
    • 1.1 Общие сведения
    • 1.2 Назначение и цели создания системы
      • 1.2.1 Назначение системы
      • 1.2.2 Цели создания системы
    • 1.3 Характеристика объекта автоматизации
    • 1.4 Требования к системе
      • 1.4.1 Требования к системе в целом
      • 1.4.2 Требования к функциям, выполняемым системой
      • 1.4.3 Требования к видам обеспечения
    • 1.5 Состав и содержание работ по созданию системы
    • 1.6 Порядок контроля и приёмки системы
    • 1.7 Требования к документированию
  • 2 Информационное обеспечение системы
    • 2.1 Концептуальная схема базы данных
      • 2.1.1 Модель «сущность-связь»
      • 2.1.2 Сущности и их атрибуты
      • 2.1.3 Связи между сущностями
    • 2.2 Внутренняя схема базы данных
      • 2.2.2 База данных системы
  • 3. Алгоритмическое обеспечение системы
  • 4. Прикладное программное обеспечение системы
    • 4.1 Общая характеристика прикладного программного обеспечения
    • 4.2 Структура и состав прикладного программного обеспечения
    • 4.3 Особенности реализации и сопровождения
  • 5. Руководство пользователя
    • 5.1 Общие сведения
    • 5.2 Порядок и особенности работы
    • 5.3 Исключительные ситуации
  • Список использованных источников
  • Приложение А. Исходные тексты программных модулей

Введение

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

Но не всегда офтальмология была настолько развитой областью медицины. Древнейшие материальные свидетельства существования офтальмологии обнаружены в Египте около 1600 года до н.э., в гробницах фараонов были найдены книги по медицине, одна из которых была посвящена болезням глаз, насчитывающим 28 видов. Во второй половине XIX века произошел бурный скачок в развитии офтальмологии, вызванный рядом открытий, повлиявших на дальнейшее развитие офтальмологии и медицины в целом. Успехи офтальмологии выражались также в открытии глазных больниц. [1]

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

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

Отличительной особенностью такого сложного направления, как микрохирургия глаза, является то, что оперативные вмешательства проводятся с помощью специального операционного микроскопа и другого высокотехничного оборудования. Окулопластические операции - это операции, не проникающие в полость глазного яблока и выполняющиеся на глазных мышцах, веках, мягких тканях и костных тканях орбиты. Лазерное хирургическое лечение - это возможность быстро и безболезненно избавиться от серьезных заболеваний глаз. В зависимости от заболевания пациента и оборудования клиники врач использует разные методики лазерной коррекции зрения, например, LASIK, Femto-LASIK, PRK, LASEK и др. Методики малой глазной хирургии применяют при несложных заболеваниях глаз: ячмене, халязионе, папилломах, атеромах, кистах и др. [6] Благодаря доступности и точности новых технологий, использующихся в офтальмологических клиниках, люди стали чаще обращаться за офтальмологической помощью. Увеличилась нагрузка на персонал клиник, и появилась проблема хранения и обработки большого количества данных.

Со временем любое медицинское учреждение захочет решить проблему контроля посещаемости, хранения, изменения, обработки и передачи большого количества информации о пациентах клиники, работающих в клинике врачах, о лечении и других видах деятельности, связанных с клиниками. И заполнять всевозможные отчеты, собирать статистику и планировать работу клиники вручную очень трудоемкая задача. Но благодаря развитию технологий всевозможные монотонные операции можно автоматизировать. Развитие современной медицины и здравоохранения во многом определяется информационными технологиями. [7]

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

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

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

Преимуществами внедрения и хранения информации в электронном виде: собрание всей информации в одном месте, расходы на обслуживание архива меньше, чем при обычных методах хранения информации, быстрый и удобный поиск информации.

При работе с системой ответственный за офтальмологическую клинику должен иметь возможность:

1. Заносить данные о новых врачах-офтальмологах в систему.

2. Заносить данные о новых пациентах.

3. При планировании нового приема или новой операции вводить информацию о них.

4. Редактировать ранее имеющиеся данные об операциях.

5. Вести справочник разных видов операций, проводимых в клинике.

Для врача-офтальмолога должна быть предоставлена возможность просматривать информацию о своих пациентах, приемах и коллегах.

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

1. https://elibrary.ru/item.asp?id=19539941 - Викторов, О.Н. Краткий экскурс в историю офтальмологии. Была использована информация об истории развития и становления офтальмологии в мире.

2. https://docs.microsoft.com/ru-ru/aspnet/mvc/ - документация по языку разработки, для решения вопросов, возникающих в процессе реализации проекта;

3. https://kiberis.ru/ - Киберис - индивидуальная медицина: официальный сайт. С сайта была взята информация о заболеваниях глаза, относящихся к ним диагнозах и кодах диагнозов по МКБ-10;

4. https://prozrenie73.ru - Офтальмологическая клиника «Прозрение» : официальный сайт. С сайта была взята информация об интраокулярных линзах или искусственных хрусталиках и некоторых видах лазерной коррекции зрения;

5. https://metanit.com/sharp/efcore/ Руководство по Entity Framework Core 7 - из руководства взяты основные материалы для выполнения хранимых процедур и функций;

6. https://centr-hirurgii.ru/ - СМ-Клиника: официальный сайт. На данном сайте я нашла много информации про разные виды офтальмологических операции, разные заболевания глаза и его придаточного аппарата, используемые на операциях методики, виды оборудования;

7. https://www.elibrary.ru/item.asp?id=29126154 - Шульц, К.И. Автоматизированные информационные системы для учета пациентов в частной клинике. Плюсы использования автоматизированной информационной системы в медицинских учреждениях;

8. https://ru.stackoverflow.com/, https://www.cyberforum.ru/ - информационные порталы для поиска решений на возникающие проблемы.

1. Техническое задание

1.1 Общие сведения

Автоматизированная информационная система «Офтальмологическая клиника» (далее система).

1.2 Назначение и цели создания системы

1.2.1 Назначение системы

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

1.2.2 Цели создания системы

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

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

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

3. Также необходимо обеспечить фильтрацию, поиск уже существующих в базе записей по названию, ФИО, образованию или тому подобным критериям

1.3 Характеристика объекта автоматизации

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

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

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

1.4 Требования к системе

1.4.1 Требования к системе в целом

Требования к структуре и функционированию системы

Определяется общей постановкой задачи задания на курсовую работу.

Требования к защите информации он несанкционированного доступа

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

1. Неатентифицированный пользователь: ему доступна общая информация о клинике и контакты клиники;

2. Аутентифицированный пользователь или «user»: ему доступен просмотр всех данных о клинике, поиск и фильтрация по различным критериям;

3. Аутентифицированный пользователь с правами администратора или «admin»: ему доступны просмотр, редактирование, удаление существующих записей и добавление новых, администратор имеет полный доступ к базе данных. Доступ является необходимым для администратора системы.

автоматизированная система офтальмологическая клиника

1.4.2 Требования к функциям, выполняемым системой

Система «Офтальмологическая клиника» должна выполнять следующие функции:

1. Ведение справочника всех видов глазных операций, проводимых в офтальмологической клинике: Лазерной хирургии глаза, Микрохирургии глаза, Малой глазной хирургии и Окулопластики.

2. Предоставление данных о врачах-офтальмологах и пациентах клиники.

3. Сбор и хранение информации о заболевании пациента, поставленном диагнозе и проведенных анализах.

4. Планирование проведения приемов врачей-офтальмологов с пациентами клиники для лечения поставленных диагнозов.

5. Увеличение зарплаты врачам-офтальмологам по некоторым критериям.

1.4.3 Требования к видам обеспечения

Требования к техническому обеспечению

Рекомендуемая конфигурация технического обеспечения:

· Процессор - AMD Ryzen 5 5500U 2.10 ГГц

· Количество ядер - 6;

· Жесткий диск - SSSTC CL1-8D512 (512 Гб);

· Оперативная память - 8 ГБ;

· Видеокарта - AMD Radeon Graphics;

· Операционная система Windows 11 Домашняя.

Требования к программному обеспечению

При разработке использовалась операционная система Windows 11 Домашняя, программа ERConstructor 2.0 для создания модели «сущность - связь», также среда разработки СУБД Microsoft SQL Server Management Studio 18, и кроссплатформенная среда разработки Microsoft Visual Studio 2022.

1.5 Состав и содержание работ по созданию системы

Определяется этапами выполнения работы задания на курсовую работу.

1.6 Порядок контроля и приёмки системы

Определяется порядком защиты и критериями оценки работы задания на курсовую работу.

1.7 Требования к документированию

Для «уровня 4» необязательны структурные компоненты: «Список использованных обозначений и сокращений» и «Заключение», а также «Анализ концептуальной схемы». Изменение названий структурных компонентов не допускается.

2. Информационное обеспечение системы

2.1 Концептуальная схема базы данных

2.1.1 Модель «сущность-связь»

Рисунок 1 - Модель «Сущность-связь»

2.1.2 Сущности и их атрибуты

Сущность «Специальности» содержит перечень офтальмологических специальностей в соответствие с профилирующей областью офтальмолога.

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

Сущность «Прием» включает в себя данные, необходимые для проведения приема амбулаторного приема или проведения глазной операции. Сущность имеет 6 атрибутов.

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

В сущности «Диагноз» хранятся офтальмологические диагнозы, которые врач-офтальмолог может поставить пациенту на первичном приеме или с которым пациент уже обратился в клинику. Сущность имеет 3 атрибута: атрибут «Код диагноза по МКБ» - используется для преобразования словесной формулировки диагнозов болезней из международной классификации болезней десятого пересмотра (МКБ-10), атрибут «Связанные заболевания» -- это заболевания с похожей симптоматикой, очагом воспаления или природой воспаления, которые врач-офтальмолог может рассматривать для постановки потенциального диагноза.

Сущность «Анализы для проведения операции на глаза» содержит анализы, которые пациент должен пройти для прохождения глазной операции.

Сущность «Глазная операция» объединяет иерархией общие атрибуты разных видов операций на глаза, таких как Лазерная хирургия глаза, Малая глазная хирургия, Микрохирургия глаза и Окулопластика. Атрибут «Вид анестезии» - описывает вид используемой на приеме анестезии (капельная, местная, общий наркоз и т.д.), атрибут «Продолжительность операции» определяет среднее время проведения операции, атрибут «Время пребывания в стационаре» - нужно ли пациенту врачебное наблюдение после прошедшей операции и, если нужно, сколько дней пациент будет находиться в палате стационара, атрибут «Период восстановления» содержит информацию о том, какое время в среднем занимает восстановление пораженного участка глаза и его придаточного аппарата до его полного функционирования.

Сущность «Микрохирургия глаза» -- это раздел офтальмологии, который изучает хирургическое лечение внутриглазных структур с применением микроскопа. Атрибут «Использование искусственных элементов глаза» хранит булевое (логическое) значение, отвечающее на вопрос: используется ли искусственный элемент глаза при проведении операции? Атрибут «Вид искусственного элемента (при наличии)» содержит в себе сведения о интраокулярной линзе (ИОЛ) - пластиковой линзе, имплантируемой в глаз для замены собственного хрусталика - или другом искусственном элементе, использующемся для коррекции зрения пациента.

Сущность «Окулопластика» описывает особенности операционного вмешательства, выполняемые вне глазного яблока. Атрибут «Используемый метод» определяет методику, применяемую врачом-офтальмологом для выполнения операции.

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

Сущность «Малая глазная хирургия» содержит информацию о виде воспалительного образования пациента, его природе и методах удаления этого образования.

2.1.3 Связи между сущностями

Между сущностями «Специальности» и «Врачи-офтальмологи» используется тип связи один-ко-многим, поскольку у врача-офтальмолога может быть ровно одна специальность, а одна специальность может принадлежать сразу нескольким офтальмологам. Минимальное и максимальное кардинальное число у сущности «Врачи-офтальмологи» - 1, минимальное кардинальное число у сущности «Специальности» - 1, потому что специальность должна принадлежать хотя бы одному врачу-офтальмологу, максимальное - N.

Между сущностями «Врачи-офтальмологи» и «Прием» используется связь один-ко-многим, так как врач может проводить несколько приемов, а прием проводится только одним врачом. Минимальное и максимальное кардинальное число у сущности «Прием» - 1, так как хотя бы один прием должен проводиться офтальмологом в офтальмологической клинике, у сущности «Врачи-офтальмологи» минимальное кардинальное число - 0, так как врач может не проводить ни одного приема, максимальное - N.

Между сущностями «Диагноз» и «Карта пациента» присутствует связь один-ко-многим, потому что один диагноз может быть сразу у нескольких пациентов или не быть ни у одного, а пациент может иметь только один диагноз. Минимальное и максимальное кардинальное число у сущности «Карта пациента» - 1, т.к. у пациента обязательно должен быть диагноз, с которым он обратился в клинику, у сущности «Диагноз» минимальное кардинальное число - 0, максимальное - N.

Между сущностями «Анализы для проведения операции на глаза» и «Карта пациента» используется тип связи один-к-одному, потому что пациент может иметь только одни анализы, а одни анализы принадлежат только одному пациенту. Минимальное и максимальное кардинальное число у сущности «Анализы для проведения операции на глаза» - 1, т.к. при обращении пациента в клинику ему присваивают список его анализов, причем только один, у сущности «Карта пациента» минимальное и максимальное кардинальное число - 1, потому что пациент должен иметь хотя бы один список анализов при поступлении в клинику.

Между сущностями «Карта пациента» и «Прием» присутствует связь один-ко-многим, поскольку один пациент может присутствовать на нескольких приемах, а прием проводится только для одного пациента. Минимальное и максимальное кардинальное число у сущности «Прием» - 1, т.к. один прием не может проводиться без пациента, у сущности «Карта пациента» минимальное кардинальное число - 1, т.к. пациент обязан посетить хотя бы один прием, раз уж поступил в клинику, максимальное - N.

Между сущностями «Прием» и «Глазная операция» используется тип связи один-ко-многим, так как на одном приеме может проводиться только одна глазная операция или не проводиться ни одной, а один вид глазной операции может проходить на множестве приемов. Минимальное кардинальное число у сущности «Прием» - 0, потому что прием может не проводить ни одной операции, и максимальное кардинальное число у сущности «Прием» - 1, т.к. прием максимум может провести одну операцию, у сущности «Глазная операция» минимальное кардинальное число - 0, потому что не каждая глазная операция должна быть проведена на приеме, максимальное - N, потому что одна глазная операция может проводиться на нескольких приемах.

Сущности «Глазная операция», «Микрохирургия глаза», «Окулопластика», «Лазерная хирургия глаза» и «Малая глазная хирургия» связаны типом связи иерархия. «Глазная операция» распределяет первичный ключ «ИД Операции» по сущностям.

2.2 Внутренняя схема базы данных

2.2.1 База данных системы

Структуры таблиц базы данных системы на языке Transact-SQL

Таблица «Специальности»

USE [БД Офтальмологическая клиника]

GO

/****** Object: Table [dbo].[Специальности] Script Date: 12.01.2023 22:15:54 ******/

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

CREATE TABLE [dbo].[Специальности](

[Код специальности] [int] NOT NULL,

[Название специальности] [nvarchar](50) NOT NULL,

[Профилирующая область] [nvarchar](50) NOT NULL,

CONSTRAINT [PK_Специальности] PRIMARY KEY CLUSTERED

(

[Код специальности] ASC

)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]

) ON [PRIMARY]

GO

Таблица «Врачи-офтальмологи»

USE [БД Офтальмологическая клиника]

GO

/****** Object: Table [dbo].[Врачи-офтальмологи] Script Date: 12.01.2023 22:16:47 ******/

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

CREATE TABLE [dbo].[Врачи-офтальмологи](

[ИД Офтальмолога] [int] NOT NULL,

[ФИО Офтальмолога] [nvarchar](50) NOT NULL,

[Стаж (лет)] [int] NOT NULL,

[Офтальмологическое образование] [nvarchar](50) NOT NULL,

[Номер телефона] [nvarchar](10) NULL,

[Домашний адрес] [nvarchar](50) NULL,

[Пол] [bit] NOT NULL,

[Дата рождения] [date] NOT NULL,

[Код специальности] [int] NOT NULL,

[Зарплата офтальмолога] [money] NOT NULL,

CONSTRAINT [PK_Врачи-офтальмологи] PRIMARY KEY CLUSTERED

(

[ИД Офтальмолога] ASC

)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]

) ON [PRIMARY]

GO

ALTER TABLE [dbo].[Врачи-офтальмологи] WITH CHECK ADD CONSTRAINT [FK_Врачи-офтальмологи_Специальности] FOREIGN KEY([Код специальности])

REFERENCES [dbo].[Специальности] ([Код специальности])

ON UPDATE CASCADE

ON DELETE SET DEFAULT

GO

ALTER TABLE [dbo].[Врачи-офтальмологи] CHECK CONSTRAINT [FK_Врачи-офтальмологи_Специальности]

GO

Таблица «Диагноз»

USE [БД Офтальмологическая клиника]

GO

/****** Object: Table [dbo].[Диагноз] Script Date: 12.01.2023 22:17:30 ******/

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

CREATE TABLE [dbo].[Диагноз](

[Код диагноза по МКБ] [nvarchar](5) NOT NULL,

[Название диагноза] [nvarchar](50) NOT NULL,

[Связанные заболевания]]] [text] NULL,

CONSTRAINT [PK_Диагноз] PRIMARY KEY CLUSTERED

(

[Код диагноза по МКБ] ASC

)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]

) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

GO

Таблица «Анализы для проведения операции на глаза»

USE [БД Офтальмологическая клиника]

GO

/****** Object: Table [dbo].[Анализы для проведения глазной операции] Script Date: 12.01.2023 22:17:56 ******/

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

CREATE TABLE [dbo].[Анализы для проведения глазной операции](

[ИД анализов пациента] [int] NOT NULL,

[Наличие заключения терапевта] [nvarchar](4) NOT NULL,

[Наличие заключения стоматолога] [nvarchar](4) NOT NULL,

[Наличие заключения отоларинголога] [nvarchar](4) NOT NULL,

[Анализ крови на гепатиты B и C, ВИЧ и RW] [nvarchar](30) NOT NULL,

[Флюрография] [nvarchar](15) NOT NULL,

CONSTRAINT [PK_Анализы для проведения глазной операции] PRIMARY KEY CLUSTERED

(

[ИД анализов пациента] ASC

)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]

) ON [PRIMARY]

GO

ALTER TABLE [dbo].[Анализы для проведения глазной операции] ADD CONSTRAINT [DF_Анализы для проведения глазной операции_Наличие заключения терапевта] DEFAULT (N'Нет') FOR [Наличие заключения терапевта]

GO

ALTER TABLE [dbo].[Анализы для проведения глазной операции] ADD CONSTRAINT [DF_Анализы для проведения глазной операции_Наличие заключения стоматолога] DEFAULT (N'Нет') FOR [Наличие заключения стоматолога]

GO

ALTER TABLE [dbo].[Анализы для проведения глазной операции] ADD CONSTRAINT [DF_Анализы для проведения глазной операции_Наличие заключения отоларинголога] DEFAULT (N'Нет') FOR [Наличие заключения отоларинголога]

GO

ALTER TABLE [dbo].[Анализы для проведения глазной операции] ADD CONSTRAINT [DF_Анализы для проведения глазной операции_Анализ крови на гепатиты B и C, ВИЧ и RW] DEFAULT (N'Не проведен') FOR [Анализ крови на гепатиты B и C, ВИЧ и RW]

GO

ALTER TABLE [dbo].[Анализы для проведения глазной операции] ADD CONSTRAINT [DF_Анализы для проведения глазной операции_Флюроография] DEFAULT (N'Нет') FOR [Флюрография]

GO

Таблица «Карта пациента»

USE [БД Офтальмологическая клиника]

GO

/****** Object: Table [dbo].[Карта пациента] Script Date: 12.01.2023 22:18:23 ******/

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

CREATE TABLE [dbo].[Карта пациента](

[Номер карты] [int] NOT NULL,

[ФИО пациента] [nvarchar](50) NOT NULL,

[Пол] [bit] NOT NULL,

[Дата рождения] [date] NOT NULL,

[Номер телефона] [nvarchar](10) NULL,

[Адрес электронной почты] [nvarchar](50) NULL,

[ИД анализов пациента] [int] NULL,

[Код диагноза по МКБ] [nvarchar](5) NULL,

CONSTRAINT [PK_Карта пациента] PRIMARY KEY CLUSTERED

(

[Номер карты] ASC

)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]

) ON [PRIMARY]

GO

ALTER TABLE [dbo].[Карта пациента] WITH CHECK ADD CONSTRAINT [FK_Карта пациента_Анализы для проведения глазной операции] FOREIGN KEY([ИД анализов пациента])

REFERENCES [dbo].[Анализы для проведения глазной операции] ([ИД анализов пациента])

ON UPDATE CASCADE

ON DELETE SET NULL

GO

ALTER TABLE [dbo].[Карта пациента] CHECK CONSTRAINT [FK_Карта пациента_Анализы для проведения глазной операции]

GO

ALTER TABLE [dbo].[Карта пациента] WITH CHECK ADD CONSTRAINT [FK_Карта пациента_Диагноз] FOREIGN KEY([Код диагноза по МКБ])

REFERENCES [dbo].[Диагноз] ([Код диагноза по МКБ])

ON UPDATE CASCADE

ON DELETE SET NULL

GO

ALTER TABLE [dbo].[Карта пациента] CHECK CONSTRAINT [FK_Карта пациента_Диагноз]

GO

Таблица «Прием»

USE [БД Офтальмологическая клиника]

GO

/****** Object: Table [dbo].[Прием] Script Date: 12.01.2023 22:19:03 ******/

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

CREATE TABLE [dbo].[Прием](

[ИД Приема] [int] NOT NULL,

[Вид приема] [nvarchar](50) NOT NULL,

[Номер карты] [int] NOT NULL,

[Дата и время приема] [smalldatetime] NOT NULL,

[ИД Офтальмолога] [int] NOT NULL,

[ИД Операции] [int] NULL,

CONSTRAINT [PK_Прием] PRIMARY KEY CLUSTERED

(

[ИД Приема] ASC

)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]

) ON [PRIMARY]

GO

ALTER TABLE [dbo].[Прием] ADD CONSTRAINT [DF_Прием_Вид приема] DEFAULT (N'Первичный прием') FOR [Вид приема]

GO

ALTER TABLE [dbo].[Прием] WITH CHECK ADD CONSTRAINT [FK_Прием_Врачи-офтальмологи] FOREIGN KEY([ИД Офтальмолога])

REFERENCES [dbo].[Врачи-офтальмологи] ([ИД Офтальмолога])

ON UPDATE CASCADE

ON DELETE CASCADE

GO

ALTER TABLE [dbo].[Прием] CHECK CONSTRAINT [FK_Прием_Врачи-офтальмологи]

GO

ALTER TABLE [dbo].[Прием] WITH CHECK ADD CONSTRAINT [FK_Прием_Глазная операция] FOREIGN KEY([ИД Операции])

REFERENCES [dbo].[Глазная операция] ([ИД Операции])

ON UPDATE CASCADE

ON DELETE SET NULL

GO

ALTER TABLE [dbo].[Прием] CHECK CONSTRAINT [FK_Прием_Глазная операция]

GO

ALTER TABLE [dbo].[Прием] WITH CHECK ADD CONSTRAINT [FK_Прием_Карта пациента] FOREIGN KEY([Номер карты])

REFERENCES [dbo].[Карта пациента] ([Номер карты])

ON UPDATE CASCADE

ON DELETE CASCADE

GO

ALTER TABLE [dbo].[Прием] CHECK CONSTRAINT [FK_Прием_Карта пациента]

GO

Таблица «Глазная операция»

USE [БД Офтальмологическая клиника]

GO

/****** Object: Table [dbo].[Глазная операция] Script Date: 12.01.2023 22:19:51 ******/

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

CREATE TABLE [dbo].[Глазная операция](

[ИД Операции] [int] NOT NULL,

[Название операции] [nvarchar](50) NOT NULL,

[Вид анестезии] [nvarchar](50) NOT NULL,

[Продолжительность операции] [time](7) NOT NULL,

[Стоимость операции] [money] NOT NULL,

[Время пребывания в стационаре] [nvarchar](30) NOT NULL,

[Период восстановления] [nvarchar](30) NOT NULL,

CONSTRAINT [PK_Глазная операция] PRIMARY KEY CLUSTERED

(

[ИД Операции] ASC

)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]

) ON [PRIMARY]

GO

ALTER TABLE [dbo].[Глазная операция] ADD CONSTRAINT [DF_Глазная операция_Вид анестезии] DEFAULT (N'Капельная') FOR [Вид анестезии]

GO

Таблица «Микрохирургия глаза»

USE [БД Офтальмологическая клиника]

GO

/****** Object: Table [dbo].[Микрохирургия глаза] Script Date: 12.01.2023 22:22:51 ******/

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

CREATE TABLE [dbo].[Микрохирургия глаза](

[ИД Операции] [int] NOT NULL,

[Использование искусственных элементов глаза] [bit] NOT NULL,

[Вид искусственного элемента (при наличии)] [nvarchar](100) NULL,

CONSTRAINT [PK_Микрохирургия глаза] PRIMARY KEY CLUSTERED

(

[ИД Операции] ASC

)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]

) ON [PRIMARY]

GO

ALTER TABLE [dbo].[Микрохирургия глаза] WITH CHECK ADD CONSTRAINT [FK_Микрохирургия глаза_Глазная операция] FOREIGN KEY([ИД Операции])

REFERENCES [dbo].[Глазная операция] ([ИД Операции])

ON UPDATE CASCADE

ON DELETE CASCADE

GO

ALTER TABLE [dbo].[Микрохирургия глаза] CHECK CONSTRAINT [FK_Микрохирургия глаза_Глазная операция]

GO

Таблица «Окулопластика»

USE [БД Офтальмологическая клиника]

GO

/****** Object: Table [dbo].[Окулопластика] Script Date: 12.01.2023 22:23:07 ******/

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

CREATE TABLE [dbo].[Окулопластика](

[ИД Операции] [int] NOT NULL,

[Используемый метод] [nvarchar](50) NOT NULL,

[Область операционного вмешательства] [nvarchar](50) NOT NULL,

CONSTRAINT [PK_Окулопластика] PRIMARY KEY CLUSTERED

(

[ИД Операции] ASC

)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]

) ON [PRIMARY]

GO

ALTER TABLE [dbo].[Окулопластика] WITH CHECK ADD CONSTRAINT [FK_Окулопластика_Глазная операция] FOREIGN KEY([ИД Операции])

REFERENCES [dbo].[Глазная операция] ([ИД Операции])

ON UPDATE CASCADE

ON DELETE CASCADE

GO

ALTER TABLE [dbo].[Окулопластика] CHECK CONSTRAINT [FK_Окулопластика_Глазная операция]

GO

Таблица «Лазирная хирургия глаза»

USE [БД Офтальмологическая клиника]

GO

/****** Object: Table [dbo].[Лазерная хирургия глаза] Script Date: 12.01.2023 22:23:23 ******/

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

CREATE TABLE [dbo].[Лазерная хирургия глаза](

[ИД Операции] [int] NOT NULL,

[Используемая технология операции] [nvarchar](50) NOT NULL,

[Используемый вид лазера] [nvarchar](50) NOT NULL,

CONSTRAINT [PK_Лазерная хирургия глаза] PRIMARY KEY CLUSTERED

(

[ИД Операции] ASC

)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]

) ON [PRIMARY]

GO

ALTER TABLE [dbo].[Лазерная хирургия глаза] WITH CHECK ADD CONSTRAINT [FK_Лазерная хирургия глаза_Глазная операция] FOREIGN KEY([ИД Операции])

REFERENCES [dbo].[Глазная операция] ([ИД Операции])

ON UPDATE CASCADE

ON DELETE CASCADE

GO

ALTER TABLE [dbo].[Лазерная хирургия глаза] CHECK CONSTRAINT [FK_Лазерная хирургия глаза_Глазная операция]

GO

Таблица «Малая глазная хирургия»

USE [БД Офтальмологическая клиника]

GO

/****** Object: Table [dbo].[Малая глазная хирургия] Script Date: 12.01.2023 22:23:34 ******/

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

CREATE TABLE [dbo].[Малая глазная хирургия](

[ИД операции] [int] NOT NULL,

[Вид образования] [nvarchar](50) NOT NULL,

[Природа образования] [nvarchar](50) NOT NULL,

[Вид операционного вмешательства] [nvarchar](50) NOT NULL,

CONSTRAINT [PK_Малая глазная хирургия] PRIMARY KEY CLUSTERED

(

[ИД операции] ASC

)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]

) ON [PRIMARY]

GO

ALTER TABLE [dbo].[Малая глазная хирургия] WITH CHECK ADD CONSTRAINT [FK_Малая глазная хирургия_Глазная операция] FOREIGN KEY([ИД операции])

REFERENCES [dbo].[Глазная операция] ([ИД Операции])

ON UPDATE CASCADE

ON DELETE CASCADE

GO

ALTER TABLE [dbo].[Малая глазная хирургия] CHECK CONSTRAINT [FK_Малая глазная хирургия_Глазная операция]

GO

Хранимая процедура №1

Алгоритм выполняет обновление зарплаты врачу-офтальмологу с указанной фамилией и кодом специальности, если стаж работы офтальмолого больше указанного. Передаваемые параметры: «ФИО офтальмолога» и минимальный стаж работы офтальмологом, если врача с таким ФИО не существует, то выводится ошибка об отсутствии такого врача в базе данных. Если офтальмолог с таким ФИО существует, тогда проверяется больше ли его стаж работы минимального передаваемого в процедуру стажа, и соответствует ли код специальности офтальмолога вводимому коду специальности. При прохождении всех условий зарплата врача-офтальмолога увеличивается на 30%.

USE [БД Офтальмологическая клиника]

GO

/****** Object: StoredProcedure [dbo].[NewSalary] Script Date: 12.01.2023 22:25:02 ******/

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

ALTER PROCEDURE [dbo].[NewSalary](@FIO NVARCHAR(50), @experience INT, @Code INT)

AS

BEGIN

DECLARE @IdDoctor INT = (SELECT [ИД Офтальмолога] FROM [Врачи-офтальмологи] WHERE [ФИО Офтальмолога] = @FIO)

DECLARE @proverka INT = (SELECT COUNT(*) FROM [Врачи-офтальмологи] WHERE [ИД Офтальмолога] = @IdDoctor)

IF(@proverka > 0)

BEGIN

DECLARE @Cd INT = (SELECT [Код специальности] FROM [Врачи-офтальмологи] WHERE [ИД Офтальмолога] = @IdDoctor)

DECLARE @Staz INT = (SELECT [Стаж (лет)] FROM [Врачи-офтальмологи] WHERE [ИД Офтальмолога] = @IdDoctor)

IF (@Staz >= @experience AND @Cd = @Code)

BEGIN

DECLARE @NewSalary MONEY = (SELECT [Зарплата офтальмолога] = [Зарплата офтальмолога]*1.3 FROM [Врачи-офтальмологи] WHERE [ИД Офтальмолога] = @IdDoctor)

UPDATE [Врачи-офтальмологи] SET [Зарплата офтальмолога] = @NewSalary WHERE [ИД Офтальмолога] = @IdDoctor

END

ELSE

PRINT 'Не удовлетворяет условиям'

END

ELSE

PRINT 'Врач с данным ФИО не найден'

END

Хранимая процедура №2.

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

USE [БД Офтальмологическая клиника]

GO

/****** Object: StoredProcedure [dbo].[DeleteDoctor] Script Date: 12.01.2023 22:37:29 ******/

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

ALTER procedure [dbo].[DeleteDoctor](@stazh int)

as

begin

Delete from [Врачи-офтальмологи] where [Врачи-офтальмологи].[Стаж (лет)]<@stazh

End

Текст пользовательской скалярной функции

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

USE [БД Офтальмологическая клиника]

GO

/****** Object: UserDefinedFunction [dbo].[Statistic] Script Date: 12.01.2023 22:43:40 ******/

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

ALTER FUNCTION [dbo].[Statistic]()

RETURNS money

AS

BEGIN

DECLARE @SalaryAVG money = (SELECT AVG([Зарплата офтальмолога]) FROM [Врачи-офтальмологи])

RETURN @SalaryAVG

END

3. Алгоритмическое обеспечение системы

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

2. Используемые данные: из таблицы «Врачи-офтальмологи» атрибуты «ИД Офтальмолога», «Стаж (лет)», из таблицы «Специальности» атрибут «Код специальности».

3. Результаты выполнения: изменяется таблица «Врачи-офтальмологи», а именно обновляется атрибут «Зарплатра офтальмолога».

4. Логическое описание:

4. Прикладное программное обеспечение системы

4.1 Общая характеристика прикладного программного обеспечения

Прикладное программное обеспечение соответствует предъявляемым требованиям - общим и согласно выбранному «уровню 4».

1. Проведён анализ заданной предметной области «Офтальмологическая клиника» и разработано техническое задание на создаваемую автоматизированную систему по ГОСТ 34.602-89 «Информационная технология. Комплекс стандартов на автоматизированные системы. Техническое задание на создание автоматизированной системы».

2. Разработана автоматизированная система на основе следующих общих требований.

· Инструментальная среда разработки - Visual Studio Community 2022.

· СУБД - Microsoft SQL Server 2019.

· Базовые возможности интерфейса для всех таблиц базы данных:

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

- ввод новых записей, редактирование записей - в виде бланка;

- удаление записей.

Все операции реализовываются корректно (с сохранением логической и ссылочной целостности).

Поиск по базе данных:

· Поиск врача-офтальмолога по Офтальмологическому образованию в таблице «Врачи-офтальмологи»

· Поиск по Названию диагноза и Связанным заболеваниям в таблице «Диагноз»

Фильтрация данных:

· Вывод врачей-офтальмологов по заданному диапазону заработной платы в таблице «Врачи-офтальмологи»

· Вывод операций по заданному диапазону стоимости операции и заданному виду анестезии в таблице «Глазная операция»

Размер таблиц - не менее 7 записей, таблиц - справочников - 3 записи.

К разработке также предъявляются следующие дополнительные требования.

· «Уровень 4»

- технология разработки -ASP.NET MVC;

- количество таблиц в базе данных - 11, с суммарным количеством атрибутов - 46;

- количество типов связей 3;

- технология доступа к данным - ADO.NET Entity Framework Core;

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

- создание в таблицах 8 индексов и 7 значений по умолчанию.

- создание и использование хранимых процедур - 2 и определяемой пользователем скалярной функции - 1;

- применение в программе значимых имён файлов, классов и объектов;

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

- выполнение работы вовремя.

4.2 Структура и состав прикладного программного обеспечения

Обозреватель решений проекта в Microsoft Visual Studio 2019:

- Properties - содержит файл, содержащий сведения о сборке, версии сборки, номер сборки и номер редакции;

- Ссылки - все используемые ссылки при создании проекта.

- wwwroot - каталог, в котором хранятся статические файлы проекта: CSS-файлы, скрипты JavaScript;

- Controllers - содержит контроллеры проекта;

- Models - содержит классы-модели для проекта;

- Views - содержит все используемые представления в проекте.

В корневом директории проекта находятся файлы конфигурации Appsettings.json, Program.cs и Startup.cs.

Контроллеры:

- HomeController.cs

Контроллер отвечает за вывод главной страницы, страницы контактов и страницы «О нас» для пользователей. Значимых строк кода - 14.

- AccountController.cs

Контроллер отвечает за вывод разных домашних страниц для пользователя и администратора. Также содержит страницы регистрации и аутентификации. Значимых строк кода - 8.

- UsersController.cs

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

- АнализыДляПроведенияГлазнойОперацииController.cs

Контроллер предоставляет данные об анализах пациентов. Позволяет осуществить просмотр данных в табличном виде, ввод новых записей, редактирование записей - в виде бланка, удаление записей и просмотр деталей записей. Значимых строк кода - 53.

- ВрачиОфтальмологиController.cs

Контроллер предоставляет данные о врачах-офтальмологах. Позволяет осуществить просмотр данных в табличном виде, ввод новых записей, редактирование записей - в виде бланка, удаление записей и просмотр деталей записей. На странице врачей-офтальмологов для Пользователя присутствует поиск по офтальмологическому образованию, фильтрация по зарплате офтальмолога с пользовательским диапазоном, использование пользовательской функции: отображение только тех офтальмологов, у которых зарплата выше средней. На странице для Администратора присутствует выполнение процедур №1 и №2. Значимых строк кода - 90.

- ГлазнаяОперацияController.cs

Контроллер предоставляет данные о глазных операциях. Позволяет осуществить просмотр данных в табличном виде, ввод новых записей, редактирование записей - в виде бланка, удаление записей и просмотр деталей записей. Также на странице присутствует фильтр по стоимости операции и виду анестезии. Значимых строк кода - 59.

- ДиагнозController.cs

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

- КартаПациентаController.cs

Контроллер предоставляет данные о пациентах. Позволяет осуществить просмотр данных в табличном виде, ввод новых записей, редактирование записей - в виде бланка, удаление записей и просмотр деталей записей. Значимых строк кода - 69.

- ЛазернаяХирургияГлазаController.cs

Контроллер предоставляет данные о лазерной хирургии глаза. Позволяет осуществить просмотр данных в табличном виде, ввод новых записей, редактирование записей - в виде бланка, удаление записей и просмотр деталей записей. Значимых строк кода - 60.

- МалаяГлазнаяХирургияController.cs

Контроллер предоставляет данные о малой глазной хирургии. Позволяет осуществить просмотр данных в табличном виде, ввод новых записей, редактирование записей - в виде бланка, удаление записей и просмотр деталей записей. Значимых строк кода - 60.

- МикрохирургияГлазаController.cs

Контроллер предоставляет данные о микрохирургии глаза. Позволяет осуществить просмотр данных в табличном виде, ввод новых записей, редактирование записей - в виде бланка, удаление записей и просмотр деталей записей. Значимых строк кода - 60.

- ОкулопластикаController.cs

Контроллер предоставляет данные об окулопластике. Позволяет осуществить просмотр данных в табличном виде, ввод новых записей, редактирование записей - в виде бланка, удаление записей и просмотр деталей записей. Значимых строк кода - 60.

- ПриемController.cs

Контроллер предоставляет данные о приемах. Позволяет осуществить просмотр данных в табличном виде, ввод новых записей, редактирование записей - в виде бланка, удаление записей и просмотр деталей записей. Значимых строк кода - 70.

- СпециальностиController.cs

Контроллер предоставляет данные о специальностях. Позволяет осуществить просмотр данных в табличном виде, ввод новых записей, редактирование записей - в виде бланка, удаление записей и просмотр деталей записей. Значимых строк кода - 52.

4.3 Особенности реализации и сопровождения

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

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

Благодаря технологии Entity Framework Core представления для классов создавались автоматически и в процессе работы редактировались до желаемого вида, также получилось избежать написания однотипного кода для почти каждого контроллера, базовые функции имели возможность создаваться автоматически.

5. Руководство пользователя

5.1 Общие сведения

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

Система представляет собой веб-приложение, разработанное на платформе ASP.NET. Для хранения данных используется база данных SQL офтальмологической клиники.

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

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

5.2 Порядок и особенности работы

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

Рисунок 5.1 - Главная страница

2. Перейдем к полю «Выполнить вход» (рис. 5.2). Данная операция позволяет посетителю сайта использовать все возможности пользователя. Здесь пользователю предлагаются несколько полей для ввода данных, после успешного заполнения которых, необходимо нажать кнопку «Войти» для перехода к следующей странице в зависимости от вашей роли в системе.

Рисунок 5.2 - Аутентификация.

3. После успешного входа в систему пользователь переходит на страницу с сообщением об успешной аутентификации и перечнем доступных ему ресурсов, который зависит от его роли в системе: Администратор (рис. 5.3) или Пользователь (рис. 5.4).

Рисунок 5.3 - Страница Администратора.

Рисунок 5.4 - Страница Пользователя.

4. На странице «Врачи-офтальмологи» (рис. 5.5) пользователь может воспользоваться поиском врачей по офтальмологическому образованию (рис. 5.6), фильтрацией по заработной плате (рис. 5.7) и использование финкции для иллюстрации врачей с заработной платой выше среднего (рис. 5.8).

Рисунок 5.5 - Страница «Врачи-офтальмологи» для Пользователя.

Рисунок 5.6 - Использование поиска на странице «Врачи-офтальмологи».

Рисунок 5.7 - Использование фильстрации на странице «Врачи-офтальмологи».

Рисунок 5.8 - Использование функции на странице «Врачи-офтальмологи».

5. На странице «Глазная операция» для Пользователя (рис. 5.9) присутствует фильтрация по стоимости глазной операции и виду анестезии (рис. 5.10).

Рисунок 5.9 - Страница «Глазная операция» для Пользователя.

Рисунок 5.10 - Применение фильстра на странице «Глазная операция».

6. Пользователь с ролью Администратор имеет полный доступ к функционалу в системе «Офтальмологической клиники». У него также имеется свой личный кабинет для упрощения работы с таблицами. (рис. 5.11)

Рисунок 5.11 - Страница Администратора.

7. Основные возможности администратора системы можно также рассмотреть на примере «Врачей-офтальмологов». Такой пользователь может: добавлять новых офтальмологов (рисунок 5.12), изменять информацию о нынешних врачах (рисунок 5.13), удалять информацию (рисунок 5.14) и просматривать детали о каждом враче (рисунок 5.15).

Рисунок 5.12 - Добавление нового врача-офтальмолога.

Рисунок 5.13 - Редактирование данных врача-офтальмолога.

Рисунок 5.14 - Удаление врача-офтальмолога.

Рисунок 5.15 - Подробнее.

Также на странице «Врачи-офтальмологи» для Администратора есть поля для выполнения процедур по увеличению зарплаты и удалению врачей-офтальмологов (рис. 5.16).

Рисунок 5.16 - Иллюстрация процедур.

8. На странице «Диагноз» как для Пользователя, так и для Администратора есть поиск по диагнозам и связанным заболеваниям (рис. 5.17).

Рисунок 5.17 - Поиск по странице «Диагноз».

5.3 Исключительные ситуации

1. Если при попытке аутентификации пользователь введёт неверные данные - система даст понять ему о неудачной попытке аутентификации и предложит войти в систему ещё раз.

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

3. Страница ошибки будет отображена пользователю, если он введет неверные данные при выполнении процедуры повышения заработной платы врачу-офтальмологу на странице «Врачи-офтальмологи».

4. Страница ошибки будет отображена пользователю, если он попытается ввести повторяющийся идентификатор оперции на страницах добавления данных в таблицы «Глазная операция», «Лазерная хирургия глаза», «Микрохирургия глаза» и «Окулопластика».

...

Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.