VIP STUDY сегодня – это учебный центр, репетиторы которого проводят консультации по написанию самостоятельных работ, таких как:
  • Дипломы
  • Курсовые
  • Рефераты
  • Отчеты по практике
  • Диссертации
Узнать цену

Автоматизированные системы обработки информации и управления

Внимание: Акция! Курсовая работа, Реферат или Отчет по практике за 10 рублей!
Только в текущем месяце у Вас есть шанс получить курсовую работу, реферат или отчет по практике за 10 рублей по вашим требованиям и методичке!
Все, что необходимо - это закрепить заявку (внести аванс) за консультацию по написанию предстоящей дипломной работе, ВКР или магистерской диссертации.
Нет ничего страшного, если дипломная работа, магистерская диссертация или диплом ВКР будет защищаться не в этом году.
Вы можете оформить заявку в рамках акции уже сегодня и как только получите задание на дипломную работу, сообщить нам об этом. Оплаченная сумма будет заморожена на необходимый вам период.
В бланке заказа в поле "Дополнительная информация" следует указать "Курсовая, реферат или отчет за 10 рублей"
Не упустите шанс сэкономить несколько тысяч рублей!
Подробности у специалистов нашей компании.
Код работы: W005160
Тема: Автоматизированные системы обработки информации и управления
Содержание
Министерство образования и науки Российской Федерации

Федеральное государственное бюджетное образовательное учреждение высшего образования

«Петрозаводский государственный университет»

Кафедра физики твердого тела

























РАЗРАБОТКА АВТОМАТИЗИРОВАННОЙ СИСТЕМЫ РЕГИСТРАЦИИ ПАЦИЕНТОВ 

ДЛЯ ООО ЦЕНТР ЗДОРОВЬЯ «ЖЕМЧУЖИНА»







ДИПЛОМНАЯ РАБОТА

на квалификацию инженера по специальности

230102 «Автоматизированные системы обработки информации и управления»







































Автор работы: 

студент группы 6ЗАСОИУ 

___________Ю.С. Власов 

«____» ___________ 2016г. 

Научный руководитель: 

канд. физ.-мат. наук, доцент 

И.В. Климов 

«____» ___________ 2017г. 







Петрозаводск 2017

Оглавление

	Введение.	4

	Глава 1. Литературный обзор.	5

		1.1.	Обзор существующих решений.	5

		1.2.	Выбор программных средств	6

		1.2.1.	UML диаграммы.	6

		1.2.2.	HTML редактор.	7

		1.2.3.	Фреймворк Bootstrap	8

		1.2.4.	СУБД MySql.	8

	Глава 2. Описание предприятия и постановка задачи.	11

	2.1. ООО Центр здоровья «Жемчужина».	11

	2.2. Постановка задачи.	11

	Глава 3. Анализ и проектирование.	13

		3.1.	Исходные данные	13

		3.2.	Описание системы с помощью UML.	14

		3.3.	Проектирование базы данных.	16

		3.3.1.	Определение сущностей.	16

		3.3.2.	Задание первичных и альтернативных ключей, определение атрибутов сущностей.	17

		3.3.3.	Описание физической модели данных.	19

		3.3.4.	Разработка интерфейса пользователя.	21

		3.3.5.	Особенности интеграции с сайтом.	22

	Глава 4. Описание работы системы.	23

		4.1.	Регистрация и авторизация.	23

		4.1.1.	Личный кабинет пациента и врача.	25

		4.1.2.	Личный кабинет администратора системы.	27

	Глава 5. Реализация программного кода.	31

	5.1. Структура.	31

	5.2. Особенности кода	32

	5.3. Тестирование	34

	Заключение	36

	Список используемых источников	37

	Приложение №1.	38





Введение.

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

Таким образом актуальной темой является процесс автоматизации регистрации пациентов клиники. В данной работе речь пойдет о создании автоматизированной системы регистрации пациентов для ООО Центр здоровья «Жемчужина», которая позволит облегчить работу персонала, сэкономить время и повысить лояльность клиентов, а также свести к минимуму человеческий фактор.

Целью данной работы является создание автоматизированной системы регистрации пациентов для ООО Центр здоровья «Жемчужина».

Глава 1. Литературный обзор.

Обзор существующих решений.

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

Условно их можно разделить на два вида:

Клиентские приложения для платформы Windows 

Web- сервисы (онлайн запись через браузер)

К первому типу можно отнести следующие приложения:

Программа «Учет пациентов» [1]

МедОфис [2]

MedWork [3]

К основным недостаткам данных приложений можно отнести:

Отсутствует кроссплатформенность (только Windows)

Требовательны к техническим характеристикам компьютера

Сложная структура программ (сложность в освоении)

Высокая цена

Ко второму типу относятся:

Clinic365 [4]

Инфоклиника [5]

ClinicIQ [6]

К недостаткам данного типа можно отнести:

Высокая цена 

Лишний функционал (нашей клиники)

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

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

Выбор программных средств

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

UML диаграммы.

Перед тем как приступить к написанию кода, необходимо смоделировать работу системы и протекающих в ней процессов. Для этого используется язык UML (Unified Modeling Language – унифицированный язык моделирования). Благодаря UML разработчик создает наглядную схему структуры и работы программы, которую в дальнейшем может использовать для презентации заказчику. Таким образом, для того чтобы понять принцип работы и структуру программы, не обязательно обладать какими-то специальными знаниями.

Для создания модели системы создадим две диаграммы:

Диаграмма использования (Use-Case)

Диаграмма классов (Class diagram)

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

Диаграмма классов (class diagram) служит для представления статической структуры модели системы в терминологии классов объектно-ориентированного программирования. Диаграмма классов может отражать, в частности, различные взаимосвязи между отдельными сущностями предметной области, такими как объекты и подсистемы, а также описывает их внутреннюю структуру и типы отношений. На данной диаграмме не указывается информация о временных аспектах функционирования системы. С этой точки зрения диаграмма классов является дальнейшим развитием концептуальной модели проектируемой системы. [7]

StarUML – это проект с открытым кодом, для разработки быстрых, гибких, расширяемых, функциональных и, главное, распространяемых бесплатно платформ UML/MDA. [8]

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

HTML редактор.

В качестве HTML редактора, для разработки проекта, рассматривались следущие:

Notepad++

Adobe Dreamviewer

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

Adobe Dreamweaver CS6 – визуальный html редактор, с достаточно широким набором возможностей. Благодаря интуитивно понятному интерфейсу, поддержке практически всех инструментов для создания сайтов и приложений, а также достаточно хорошей системе проверки синтаксиса кода, программа является отличным помощником для веб-разработчика. Для более удобной ориентации, в программе предусмотрена подсветка кода по типу, т.е. каждый тип кода подсвечивается своим цветом. Благодаря этому достаточно легко визуально определить где например находится блок php кода, где JavaScript, а где CSS.

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

Исходя из функциональных возможностей редактора, для разработки был выбран Adobe Dreamviewer CS6.



Фреймворк Bootstrap

Bootstrap  — свободный набор инструментов для создания сайтов и веб-приложений. Включает в себя HTML- и CSS-шаблоны оформления для типографики, веб-форм, кнопок, меток, блоков навигации и прочих компонентов веб-интерфейса, включая JavaScript-расширения.[9]

Благодаря этому, разработчик не должен тратить время на разработку дизайна интерфейса и CSS верстку макета. 

СУБД MySql.

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

При разработке системы использовалась реляционная СУБД MySQL, т.к. она отвечает следующим требованиям:

Простота построения сервера.

Является реляционной СУБД

Надежная защита (благодаря установке привилегий пользователей и парольной защиты).

Многопоточность – выполнение нескольких запросов одновременно.

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

В качестве инструментов для работы с БД рассматривались:

MySQL Workbench CE

phpMyAdmin

MySQL Workbench CE - инструмент для визуального проектирования баз данных, интегрирующий проектирование, моделирование, создание и эксплуатацию БД в единое бесшовное окружение для системы баз данных MySQL.  [10]

Существую две версии программы:

Community edition (бесплатная версия, распространяется по свободной лицензии)

Standart edition (платная лицензия, включающая в себя дополнительные возможности)

Преимущества данной программы:

Представление БД в графическом виде

Простой механизм создания связей между таблицами

Reverse Engineering (восстановление структуры таблиц и связей из копии БД, хранимой на сервере)

Редактор SQL запросов

PhpMyAdmin - веб-приложение с открытым кодом, написанное на языке PHP и представляющее собой веб-интерфейс для администрирования СУБД MySQL. PHPMyAdmin позволяет через браузер и не только осуществлять администрирование сервера MySQL, запускать команды SQL и просматривать содержимое таблиц и баз данных. Приложение пользуется большой популярностью у веб-разработчиков, так как позволяет управлять СУБД MySQL без непосредственного ввода SQL команд, предоставляя дружественный интерфейс.[11]

К преимуществам можно отнести:

Бесплатная

Возможность интеграции в собственные разработки, благодаря лицензии GNU

Управление БД через веб-интерфейс без ввода sql команд.

В разработке системы применялось MySQL Workbench CE в части графического моделирования БД. Для последующей работы с базой данных использовался phpmyadmin.









Глава 2. Описание предприятия и постановка задачи.

2.1. ООО Центр здоровья «Жемчужина».

ООО Центр здоровья «Жемчужина» является частной платной клиникой, расположенной в городе Сортавала.

Клиника основана в августе 2014 года, и за это время успела значительно расширить спектр предоставляемых услуг. На предприятии организован платный прием таких врачей как: 



невролог

стоматолог 

терапевт 

гинеколог

эндокринолог 

массажный кабинет





А также диагностические услуги:

Узи

Лабораторные исследования



2.2. Постановка задачи.

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

Не стабильна

Имеет ограничения по пропускной способности канала.

Является объектом дополнительных расходов

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

Дополнительная занятость персонала

Вероятность допущения ошибок (человеческий фактор)

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

Отсутствует единая база клиентов и поиск по базе

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

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

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





















Глава 3. Анализ и проектирование.

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



Исходные данные

При составлении требований к АСРП «Жемчужина», заказчиком были определены следующие требования:

АСРП предназначена для записи пациентов на прием к врачу через интерфейс сайта клиники.

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

Система не должна быть дорогой в обслуживании.

АСРП «Жемчужина» должна выполнять следующие задачи:

Осуществление записи пациентов на прием к врачу

Регистрация пациентов/доступ к записи только зарегистрированным.

Возможность выбора врача и выбора свободного (не занятого) времени

Исключать возможность записи нескольких пациентов на одно и то же время к одному и тому же врачу.

Иметь разграничение прав доступа для пациента, врача и администратора.

Позволять добавлять/удалять услуги, создавать графики оказания услуг (график приемов врача), с учетом длительности рабочего дня и длительности приема врача.

Назначать ответственного за оказание услуги.

Иметь поиск по базе данных клиентов (по Фамилии или номеру телефона)

Иметь возможность просмотра отчета по количеству приемов врача за указанный период, содержащий наименование услуги, ответственного за оказание услуги, Ф.И.О пациента и его контактный номер. 

 Иметь функцию печати графика приемов на день.



Описание системы с помощью UML.

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

Для этого в языке моделирования UML применяется представление использования (Use-Case View), которое может состоять из нескольких диаграмм использования (Use-Case Diagram), описывающие либо систему в целом либо по отдельным частям (рис.2).

Рис.2 Диаграмма вариантов использования (Use-Case)





Рис.3 Диаграмма классов (Class diagram)

Проектирование базы данных.

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

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

Обеспечивать непротиворечивость и целостность данных

Отвечать всем требованиям конечного пользователя по части производительности

Иметь простую для восприятия структуру

Удовлетворять требованиям к содержимому БД.

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

	

Определение сущностей.

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

В базе данных АСРП присутствуют следующие сущности:

Пользователи (Users)

Услуги (Services)

Расписание/записи на прием (Schedules)

Далее необходимо определить взаимосвязи между сущностями и создать информационную модель данных.( Рис.4)



Рис.4 Информационная модель данных.

 Таким образом, по отношению ко всем объектам, используется связь «один-к-многим». Т.е. одной записи в таблице «Пользователи», может соответствовать несколько записей в таблице «Услуги», и одной записи в таблице «Услуги»  или «Пользователи» может соответствовать несколько записей в таблице «Расписание/Записи на прием».



Задание первичных и альтернативных ключей, определение атрибутов сущностей.

Атрибут – наименьшая единица структуры данных. Также атрибут можно охарактеризовать как свойство сущности в предметной области.  Наименование атрибута должно быть уникальным для каждого конкретного типа сущности.

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

Первичный ключ – это атрибут, уникально идентифицирующий каждую строку в таблице.

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



Наименование сущности

Первичный ключ

Атрибуты

Пользователи (Users)

User_id

User_id

Phone

Type

Date

Name

Password

Услуги (services)

Service_id

Service_id

User_id

Name

Description

Расписание/графики приемов (Schedules)



Service_id

Datetime

User_id



Таблица №1. Атрибуты и первичные ключи сущностей для БД АСРП.

Как видно из таблицы база имеет простейшую структуру, а также отвечает всем заявленным требованиям.

Исходя из этого схема данных БД выглядит следующим образом(рис.5):



Рис.5 Схема базы данных.



Описание физической модели данных.

В таблице №2 описана физическая модель данных. 

Пользователи (Users)



Наименование поля

Тип данных

Размер

Примечание

1

User_id

INT

10

Идентификационный номер пользователя

2

Phone

BIGINT

20

Номер телефона

3

Type

SMALLINT

5

Тип пользователя определяющий роль/привилегии пользователя.

4

Date

DATE



Дата регистрации пользователя.

5

Name

TINYTEXT

255

Ф.И.О. пользователя

6

Password

VARCHAR

32

Пароль пользователя

Услуги (Services)



Наименование поля

Тип данных

Размер

Примечание

1

Service_id

INT

10

Идентификационный номер услуги

2

User_id

INT

10

Идентификационный номер пользователя

3

Name

VARCHAR

128

Наименование услуги

4

Description

TEXT



Произвольный комментарий (например номер кабинета в котором ведется прием/ или особенности предоставления услуги)

Расписание/графики приемов(Schedules)

1

Service_id

INT

10

Идентификационный номер услуги

2

Datetime

DATETIME



Дата и время записи на прием 

3

User_id

INT

10

Идентификационный номер пользователя

Таблица №2. Физическая модель данных







Разработка интерфейса пользователя.

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

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

Быть интуитивно понятным

Быть простым, не перегруженный дизайном

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

Визуально интерфейс можно разделить на две части:

Меню

Область данных

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

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

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

Интерфейс администратора системы отличается от интерфейса врача или клиента расширенным меню и соответственно более широким функционалом.

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

 

Особенности интеграции с сайтом.

Сайт для ООО Центр здоровья «Жемчужина», создан при помощи онлайн-конструктора сайтов «Nubex», являющимся продуктом компании ООО «Интерсо», а также размещен на хостинге этой же компании. Главной особенностью данного конструктора является отсутствие инструментов для создания и работы с базами данных, т.е. технической возможности создать и подключить свою базу данных к сайту нет. Исходя из этого по согласованию с заказчиком было решено разместить систему, включая базу данных, на стороннем хостинге, организовав доступ по ссылке с основного сайта. Для размещения был выбран, хостинг-провайдер Spaceweb (spaceweb.ru), т.к. имеет, достаточно качественный сервис, оперативную службу поддержки, а также поддерживает все необходимые инструменты. 





































Глава 4. Описание работы системы.

Регистрация и авторизация.

Для перехода к автоматизированной системе регистрации пациентов, необходимо нажать на кнопку «Записаться к врачу» расположенную на главной странице основного сайта. После этого появляется страница Регистрации/Авторизации пользователей с размещенной в центре формой выбора даты (Рис.6 а,б,в). Таким образом даже не зарегистрированный или не авторизованный пользователь может посмотреть список доступных услуг на определенную дату, а также доступного для записи времени. Это удобно, например, для приезжих клиентов которым может не понадобится регистрация в системе, в случае если на выбранную ими дату нет доступного для записи времени.



Рис.6 а)Стартовая страница

 

Рис.6 б)Регистрация пользователя



Рис.6 в)Авторизация пользователя

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

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

Регистрация в системе врача или администратора по принципу не отличается от регистрации клиента.  

В системе имеется три типа пользователей:

Клиент(Пациент) – тип «0»

Доктор – тип «2»

Администратор – тип «1»

По умолчанию при регистрации пользователю присваивается тип «0» - клиент.

Далее администратор через свой личный кабинет в разделе «Пользователи» может менять роль/тип каждого пользователя а также пароль. Первый администратор назначается путем ручной установки типа в БД.



Личный кабинет пациента и врача.

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



Рис.7 а) Личный кабинет пациента (запись на прием к врачу)



Рис.7 б) Личный кабинет пациента, вкладка «Мои приемы»

В личном кабинете врача, для него так же доступна запись на прием, а также в разделе «График приемов», врач может выбрать период и посмотреть свой график приемов за этот период (Рис. 8)



Рис.8 Личный кабинет врача, вкладка «График приемов».



Личный кабинет администратора системы.

В личном кабинете администратора доступен следующий функционал:

Добавление/удаление/редактирование услуг

Создание/редактирование графика работы врача(оказания услуги) на день (с учетом длительности приема)

Отчеты по количеству приемов врача за указанный период

Назначение ролей пользователей (доктор, клиент, администратор)

Редактирование информации пользователей/смена пароля пользователя.

Рассмотрим каждую функцию по отдельности.

Добавление услуги происходит в разделе меню «Услуги»(Рис.9). Для этого необходимо нажать кнопку «Добавить услугу», после чего в форме ввести название услуги, добавить описание (например номер кабинета, или особенности предоставления услуги), и из выпадающего списка выбрать врача, предоставляющего эту услугу и нажать кнопку сохранить. После чего услуга появится в таблице услуг. Для редактирования необходимо нажать на наименование услуги и, при необходимости поменять информацию. Для удаления необходимо нажать на надпись «Удалить», расположенную в столбце «Опции».(Рис.10)



Рис.9 Добавление услуги



Рис.10 Раздел  «Услуги».



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





Рис.11 Создание графика работы.



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

В разделе «Отчеты», администратор может посмотреть все приемы врача за определенный период. Для этого необходимо выбрать начальную и конечную даты, а также в выпадающем списке выбрать врача и нажать на кнопку «Показать». Важная особенность в том, что конечная дата должна быть на 1 день больше необходимой. Т.е. если нам нужно посмотреть отчет за 02.05.2017 конечная дата должна быть 03.05.2017.  При необходимости отчет также можно распечатать, нажав на кнопку «Распечатать»(Рис.12).



Рис.12 Отчет по количеству приемов врача за период.



В разделе «Пользователи», расположен список пользователей, их роль, и контактный телефон. Для редактирования пользователя необходимо нажать на его Ф.И.О., после этого мы попадаем на страницу редактирования. Здесь мы можем изменить Ф.И.О. пользователя, его номер телефона, пароль, а также поменять роль пользователя. В этом разделе мы также назначаем врачей и администраторов системы (Рис.13 а,б)



Рис.13 а) Раздел «Пользователи» (поиск по базе пользователей, редактирование, назначение ролей).

  

Рис 13 б) Редактирование пользователя (изменение пароля, смена роли).



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













Глава 5. Реализация программного кода.

5.1. Структура.

Структура каталогов системы выглядит следующим образом (Таблица №3.)



Каталог

Файлы

Назначение

public/

appointment.php

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



cabinet.php

Скрипт графиков приема для врача.



index.php

Начальная страница



login.php

Скрипт авторизации



logout.php

Скрипт выхода из системы



register.php

Скрипт регистрация

public/adm

reports.php

Отчеты администратора



schedules.php

Управление расписанием



services.php

Управление услугами



users.php

Скрипт управления пользователями

public/files

index.css

Основные стили 



index.js

js сценарии



logo.png

Логотип 

public/files/bootstrap

Фреймворк Bootstrap

/system

config.php

Файл конфигурации



functions.php

Функции



init.php

Инициализация системы

/templates

appointment.tpl.php

Шаблоны



cabinet.tpl.php





html.tpl.php





index.tpl.php





login.tpl.php





register.tpl.php





reports.tpl.php





schedules.form.tpl.php





schedules.list.tpl.php





schedules.list2.tpl.php





services.form.tpl.php





services.list.tpl.php





users.form.tpl.php





users.tpl.php





Таблица №3. Структура каталогов системы.

Из особенностей структуры можно выделить:

Каталог adm – содержит файлы используемые администратором

Каталог files – содержит js сценарии, css- оформление и логотип

Каталоги system(конфигурация и инициализация системы, функции) и templates (шаблоны), вынесены на уровень выше папки public, в целях безопасности, для ограничения доступа.



5.2. Особенности кода

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

Для примера представлен код из файла reports.php.

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

	$init = $_SERVER['DOCUMENT_ROOT'] . '/../system/init.php';

	if(file_exists($init)){

		include $init;

		unset($init);

	}

	else{

		die('system error');

	}

Далее идет проверка доступа с помощью функции admin_check

admin_check($user);



Определяются переменные начальной и конечной даты(период).

$start_date = isset($_GET['start_date']) ? filter($_GET['start_date']) : date('Y-m-d');

	$end_date = isset($_GET['end_date']) ? filter($_GET['end_date']) : date('Y-m-d', strtotime('+1 day'));



Запрос по выборке из базы данных всех пользователей с типом 2 (Врачи)

$doctors = query('select * from users where type = 2');



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

$data = isset($_GET['doctor']) ? query('

		SELECT 

			sched.service_id, sched.datetime, sched.user_id, 

			serv.name as serv_name,

			usr.name as user_name, usr.phone as user_phone

		FROM  

			`schedules` as sched, services as serv, users as usr

		where

	 		sched.datetime between "' . $start_date . ' 00:00:00" and "' . $end_date . ' 00:00:00"

			and

			sched.service_id in (select service_id from services where user_id = ' . intval($_GET['doctor']) . ')

			and

			sched.service_id = serv.service_id

			and

			usr.user_id = sched.user_id

		order by sched.datetime desc

	') : array(); 

 

Далее происходит вывод шаблона.

display('reports', array(

		'start_date' => $start_date,

		'end_date' => $end_date,

		'doctors' => $doctors,

		'data' => $data,

		'sidebar' => true

	));

Полное содержание кода системы расположено в Приложении А.



5.3. Тестирование

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

Общая работоспособность системы 

Выполнение необходимого функционала

Корректность всех ссылок и условий

Поддержка основных браузеров (кроссбраузерность)

Корректность работы модуля записи на прием (проверка доступного для записи времени)

Соответствие требованиям заказчика

Интерфейс пользователя

Удобство работы

В результате тестирования, по вышеописанным условиям, проблем выявлено не было. 

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

По результатам тестирования дано заключение: 

Система полностью соответствует заявленным заказчиком требованиям

Стабильна и работоспособна

















































Заключение

В процессе выполнения данной работы был проведен анализ доступных решений по автоматизации регистрации пациентов и дана оценка этим решения. В результате чего была спроектирована и разработана собственная автоматизированная система регистрации пациентов для ООО Центр здоровья «Жемчужина». 

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

Похожие работы:

Отзывы

Очень удобно то, что делают все "под ключ". Это лучшие репетиторы, которые помогут во всех учебных вопросах.

Далее
Узнать цену Вашем городе
Выбор города
Принимаем к оплате
Информация
Онлайн-оплата услуг

Наша Компания принимает платежи через Сбербанк Онлайн и терминалы моментальной оплаты (Элекснет, ОСМП и любые другие). Пункт меню терминалов «Электронная коммерция» подпункты: Яндекс-Деньги, Киви, WebMoney. Это самый оперативный способ совершения платежей. Срок зачисления платежей от 5 до 15 минут.

По вопросам сотрудничества

По вопросам сотрудничества размещения баннеров на сайте обращайтесь по контактному телефону в г. Москве 8 (495) 642-47-44