Проектирование WEB-портала на примере ГКП 'Костанайская городская детская больница'

  • Вид работы:
    Дипломная (ВКР)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    1,16 Мб
  • Опубликовано:
    2015-06-19
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Проектирование WEB-портала на примере ГКП 'Костанайская городская детская больница'

Министерство образования и науки Республики Казахстан

Костанайский государственный университет им. А. Байтурсынова











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

на тему: «Проектирование WEB-портала на примере ГКП «Костанайская городская детская больница»

по специальности 5В060200 - «Информатика»

Выполнил Д. Рюмин

Научный руководитель А. Бегалин




Костанай, 2014

Содержание

Введение

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

.1 Основания для разработки

.2 Назначение и применение разработки

.3 Требования к функциональным характеристикам

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

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

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

.5 Средства разработки портала

. Описание программы

.1 Структура портала

.2 Описание программных модулей

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

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

.1 Запуск портала

.2 Меню больничного портала

.2.1 Электронная регистратура

.2.2 Выданные талоны

.2.4 Расписание поликлиник

.2.5 Дежурные специалисты

.2.6 Задать вопрос в режиме онлайн

.3 Поиск талонов

.4 Информационные разделы

.4.1 Статистика, ответы на часто задаваемые вопросы

.4.2 Контакты, список отказов к специалистам

.4.3 Нормативно - правовые акты

.4.4 Информация по подготовке к обследованиям

.4.5 Наша жизнь, полезная информация

.5 Подписка на рассылку уведомлений

.6 Информация об администрации больницы

.7 Административная панель

.7.1 Административный вход

.7.2 Вход для регистраторов

Заключение

Список использованных источников

Введение

На сегодняшний день наличие информации об организации в сети Internet является неотъемлемой частью деятельности организации. Это позволяет расширить круг интересующихся пользователей о деятельности больницы в сети, чему способствует World Wide Web, как часть информационных технологий.

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

Цель дипломной работы - создание WEB-портала на примере Государственного Коммунального Предприятия «Костанайская городская детская больница» с использованием технологии Asynchronous JavaScript and eXtensible Markup Language и библиотеки jQuery [1]. На данном портале пользователи могут получить всю необходимую информацию от правильной подготовки к обследованию до расписания приема специалистов детской больницы и произвести запись на прием «онлайн».

При разработке портала требовалось решить следующие задачи:

-       Разработать наиболее упрошенную онлайн запись;

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

-       Реализовать возможность выкладывания свободных талонов, подтверждение ожидаемых талонов;

-       Возможность предоставления онлайн-консультаций;

-       Оповещение о новостях больницы, о новой доступной записи;

-       Удобность, нетребовательность к ресурсам.

Объектом исследования является ГКП «Костанайская городская детская больница», предметом - портал записи на приём к специалистам узких специальностей.

Текущая версия портала была разработана по заказу Управления здравоохранения акимата Костанайской области с последующем внедрением в его интернет-ресурсы.

Новизна дипломной работы - заключается в использовании технологии AJAX, которая позволяет посылать асинхронные запросы к серверу без перезагрузки портала [2].

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

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


1.1 Основания для разработки


Основаниями для разработки проекта ГКП «Костанайская городская детская больница» послужили следующие факторы:

−       Отсутствие больничного портала на запись детей к специалистам;

−       Отсутствие медицинских консультаций в режиме реального времени;

−       Отсутствие доступного электронного архива посещений специалистов, так как имеются только защищённые порталы под эгидой EISZ (Единой Информационной Системы Здравоохранения) в частности #"787394.files/image001.gif">

Схема 1. Структура портала

2.2 Описание программных модулей


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

Модуль состоит из подключаемых файлов и функции роутера:

include ('bd.php'); /* Соединение с БД */

−       include ('404_error.php'); /* Проверка модуля на ошибки */

−       include ('components/shapka.php'); /* Заголовочная часть */

−       include ('components/line.php'); /* Разделительная линия */

−       include ('components/menu.php'); /* Меню */

−       include ('components/line.php'); /* Разделительная линия */

−       include('components/search.php'); /* Поиск талонов */

−       include ('components/line.php'); /* Разделительная линия */

$id_doctor = $row['doc_id']; /* Присвоить переменной значение идентификатора доктора */

$id_doctor_time = mysql_query("SELECT id_doctor FROM time WHERE id_doctor='$id_doctor'"); /* Выбрать строки из таблицы времени где идентификатор доктора равен $id_doctor */pravblokLblag() {/* Формирование текущий специалистов, которые относятся к текущему модулю */

$("#pravblokLblag").load("two_load.php"); /* Парсинг */

}(pravblokLblag, 10000); /* Интервал парсинга */(); /* Запуск функции */

/* Парсинг талонов специалистов */

$result4 = mysql_query("SELECT * FROM date_otpravka_uved WHERE DATE_FORMAT(date_tek, '%d.%m.%Y')=DATE_FORMAT(now(), '%d.%m.%Y')"); /* Выбрать все талоны специалистов */(mysql_num_rows($result4) == 0) { /* Если в выборке NULL */

$result3 = mysql_query("INSERT INTO date_otpravka_uved (date_tek) VALUES (NOW())"); /* Вставить текущую дату, для работы парсинга на следующий день в указанное время */

}(mysql_num_rows($result4) > 0) { /* Если в выборке не NULL */

$result5 = mysql_query("SELECT * FROM date_otpravka_uved WHERE DATE_FORMAT(date_tek, '%d.%m.%Y')=DATE_FORMAT(now(), '%d.%m.%Y')");

$query_array_4 = mysql_fetch_array($result5); /* Выбрать талоны */

}

$query = mysql_query("SELECT *,DATE_FORMAT(talon_doctor.date_talon, '%W %e %M') as date_talon,DATE_FORMAT(talon_doctor.date_talon, '%H:%i') as date_talon_two FROM talon_doctor, doctor, dlpodrazdeleniya, special WHERE talon_status=5 AND talon_doctor.id_doctor=doctor.id_doctor AND doctor.id_vihod=dlpodrazdeleniya.id_vihod AND doctor.special=special.special"); /* Выбрать всех специалистов */(mysql_num_rows($query) == 0) { /* Если в выборке NULL */ }(mysql_num_rows($query) > 0) { /* Если в выборке не NULL */

$query_array = mysql_fetch_array($query); /* Массив данных */(date('"d.m.Y H:i:s') > date('"d.m.Y 18:00:00')) { /* Если текущее время больше 18 часов вечера */

$a = $query_array_4['int_date']; /* Временная метка */($a == 0) { /* Если метка больше 0 */

$request_2 = mysql_query("UPDATE date_otpravka_uved set int_date=1 WHERE DATE_FORMAT(date_tek, '%d.%m.%Y')=DATE_FORMAT(now(), '%d.%m.%Y')");("subscribtion_two.php"); /* Отправить сообщение всем активированным подписчикам */($a == 1) { /* Если метка равна 1 */ }(date('"d.m.Y H:i:s') > date('"d.m.Y 21:00:00')) { /* Если текущее время больше 9 вечера */

$request_7 = mysql_query("UPDATE talon_doctor set talon_status=0 WHERE talon_status=5"); /* Талоны доступны к записи */

}

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

Модуль состоит из подключаемых файлов, а также функции архива:

−       include ('bd.php'); /* Соединение с БД */

−       include ('404_error.php'); /* Проверка модуля на ошибки */

−       include ('components/shapka.php'); /* Заголовочная часть */

−       include ('components/line.php'); /* Разделительная линия */

−       include ('components/menu.php'); /* Меню */

−       include ('components/line.php'); /* Разделительная линия */

−       include('components/search.php'); /* Поиск талонов */

−       include ('components/line.php'); /* Разделительная линия */(isset($_GET['page_doctor'])) {/* Если существует переменная $_GET['page_doctor'] которая передана через метод GET, то записать этот метод в переменную $page_doctor */

$page_doctor = $_GET['page_doctor'];

$page_doctor_array = explode("_",$page_doctor); /* Разбивка */

$page_doctor_1 = $page_doctor_array[0]; /* Переменная массива */

$page_doctor_2 = $page_doctor_array[1]; /* Переменная массива */

}

/* Массив из месяцев года */

$monthes = array(

'01' => 'Январь',

'02' => 'Февраль',

'03' => 'Март',

'04' => 'Апрель',

'05' => 'Май',

'06' => 'Июнь',

'07' => 'Июль',

'08' => 'Август',

'09' => 'Сентябрь',

'10' => 'Октябрь',

'11' => 'Ноябрь',

'12' => 'Декабрь'

);

$arhiv = mysql_query("SELECT DISTINCT left(`date_talon`,7) AS date_talon FROM talon_doctor WHERE id_doctor='$page_doctor_1' and talon_status='2' ORDER BY date_talon DESC"); "); /* Занести в переменную массив с выданными талонами, предварительно отсортировав по дате выдачи */($arhiv_itog = mysql_fetch_assoc($arhiv)) { /* Цикл архива */

/* Вывод выданных талонов по месяцам */

$i++; /* Счётчик */

$date_format = explode("-",$arhiv_itog['date_talon']); /* Разбивка даты талонов по - */

$date_title = $arhiv_itog['date_talon']; /* Заголовок */

$date_begin = $date_title; /* Начало месяца */

$date_end = $date_title; /* Конец месяца */

$date_begin = $date_begin."-01"; /* Считать началом -01 */

$date_end = $date_end."-31"; /* Считать концом -31 */

запрос к базе данных WEB-портала, который позволяет сгенерировать архив выданных талонов, исключительно для выбранного специалиста [7].

$arhiv2 = mysql_query("SELECT *, DATE_FORMAT(date_talon, '%W %e %M') as date_talon, REPLACE(TIMEDIFF(talon_doctor.date_talon,NOW()), ':','') as end_of_activation_result talon_doctor, doctor, talon_time, talon_family, talon_statustalon_doctor.id_doctor='$page_doctor_1' AND doctor.id_doctor='$page_doctor_1' talon_doctor.date_talon BETWEEN '{$date_begin}' AND '{$date_end}' AND talon_doctor.talon_status='2' ORDER BY talon_doctor.date_talon DESC"); /* Архив талонов */

$arhiv_itog5 = mysql_fetch_array($arhiv2); /* Массив архива */

}

Модуль «Ожидаемые талоны» - это отдельный файл обрабатываемый интерпретатором PHP, который предназначен, для отображения ожидаемых талонов.

Модуль состоит из подключаемых файлов, а также SQL запроса на выборку ожидаемых талонов:

−       include ('bd.php'); /* Соединение с БД */

−       include ('404_error.php'); /* Проверка модуля на ошибки */

−       include ('components/shapka.php'); /* Заголовочная часть */

−       include ('components/line.php'); /* Разделительная линия */

−       include ('components/menu.php'); /* Меню */

−       include ('components/line.php'); /* Разделительная линия */

−       include('components/search.php'); /* Поиск талонов */

−       include ('components/line.php'); /* Разделительная линия */

$text_oglav4 = mysql_query("SELECT *,DATE_FORMAT(talon_doctor.date_talon, '%W %e %M %Y') as date_talon FROM talon_doctor, doctor, talon_family, talon_time, talon_status WHERE id_vihod='$v_ojid' and talon_doctor.id_doctor=doctor.id_doctor and talon_doctor.talon_status='1' and talon_doctor.id_talon=talon_family.id_talon and talon_doctor.time_talon=talon_time.time_talon AND talon_status.talon_status=talon_doctor.talon_status ORDER BY talon_doctor.id_talon"); /* Занести в переменную массив с ожидаемыми талонами, предварительно отсортировав по идентификаторам докторов */

$text_oglav_5 = mysql_fetch_array($text_oglav4); /* Ассоциативный массив ожидаемых талонов */($text_oglav_5 = mysql_fetch_array($text_oglav4)) {

/* Вывод ожидаемых талонов в виде информационного стека */

}

Модуль «Расписание» - это отдельный файл обрабатываемый интерпретатором PHP, который предназначен, для отображения расписания отделений.

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

−       include ('bd.php'); /* Соединение с БД */

−       include ('404_error.php'); /* Проверка модуля на ошибки */

−       include ('components/shapka.php'); /* Заголовочная часть */

−       include ('components/line.php'); /* Разделительная линия */

−       include ('components/menu.php'); /* Меню */

−       include ('components/line.php'); /* Разделительная линия */

−       include('components/search.php'); /* Поиск талонов */

−       include ('components/line.php'); /* Разделительная линия */

$text_oglav = mysql_query("SELECT * FROM oglav_text WHERE id_vihod='$sched_array'"); "); /* Занести в переменную массив с ожидаемыми талонами, предварительно отсортировав по идентификаторам докторов */

$text_oglav_stroka = mysql_fetch_array($text_oglav); /* Ассоциативный массив расписания */($i=1; $i<=mysql_num_rows($schedule); $i++) {/* Парсинг расписания с последующем выводом */

$schedule_2 = mysql_fetch_array($schedule); /* Предварительное распределение текущего блока с расписанием в виде ассоциативного массива */($schedule_2['doc_id'] == 463 || $schedule_2['doc_id'] == 51 || $schedule_2['doc_id'] == 45 || $schedule_2['doc_id'] == 73 || $schedule_2['doc_id'] == 5 || $schedule_2['doc_id'] == 465 || $schedule_2['doc_id'] == 1 || $schedule_2['doc_id'] == 3 || $schedule_2['doc_id'] == 7 || $schedule_2['doc_id'] == 59 || $schedule_2['doc_id'] == 77 || $schedule_2['doc_id'] == 12 || $schedule_2['doc_id'] == 74 || $schedule_2['doc_id'] == 14 || $schedule_2['doc_id'] == 466 AND $schedule_2['doc_id'] == 2 AND $schedule_2['doc_id'] == 4 AND $schedule_2['doc_id'] == 6 AND $schedule_2['doc_id'] == 8 AND $schedule_2['doc_id'] == 9 AND $schedule_2['doc_id'] == 10 AND $schedule_2['doc_id'] == 468 AND $schedule_2['doc_id'] == 470 AND $schedule_2['doc_id'] == 74 AND $schedule_2['doc_id'] == 469 AND $schedule_2['doc_id'] == 11)

{ /* Отключенные специалисты */ }

}

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

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

−       include ('bd.php'); /* Соединение с БД */

−       include ('404_error.php'); /* Проверка модуля на ошибки */

−       include ('components/shapka.php'); /* Заголовочная часть */

−       include ('components/line.php'); /* Разделительная линия */

−       include ('components/menu.php'); /* Меню */

−       include ('components/line.php'); /* Разделительная линия */

−       include('components/search.php'); /* Поиск талонов */

−       include ('components/line.php'); /* Разделительная линия */knopka_zapisi_f() { /* Функция отправки вопроса*/name_reb_title = $('.name_reb'); /* Имя отправителя */name_reb_l_title = $.trim(name_reb_title.val()).length; /* Сколько символов было введено в виде имени, предварительно удалив пробелы от начала и конца строки */name_reb_val_title = name_reb_title.val(); /* Текст вопроса */vopros_title = $('.vopros'); /* Вопрос */vopros_l_title = $.trim(vopros_title.val()).length; /* Сколько символов было введено в виде вопроса, предварительно удалив пробелы от начала и конца строки */vopros_val_title = vopros_title.val();/* Вопрос */mail_reb_title = $(".mail_reb"); /* Емайл отправителя */mail_reb_l_title = $.trim(mail_reb_title.val()).length; /* Сколько символов было введено в виде емайла, предварительно удалив пробелы от начала и конца строки */mail_reb_val_title = mail_reb_title.val(); /* Емайл */zap_tal_id = $(".zap_tal_id_2").text(); /* Идентификатор */

Проверка всех заполненных полей на правильность ввода, что позволит избежать SQL-инъекций на стороне клиентской машине, а также передать серверу обработанные данные [8].

(name_reb_l_title > 1 && vopros_l_title > 9 && vopros_l_title < 1001 && mail_reb_l_title > 0 && /^([a-zA-Z0-9])+([\.a-zA-Z0-9_-])*@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-]+)*\.([a-zA-Z]{2,6})$/i.test(mail_reb_val_title) == true) {block_hidden_span_ajax() { /* Функция срабатывает перед отправкой AJAX запроса на сервер */

$(".block_hidden_span span").text("Идёт отправка вопроса ...");_hidden_first();

$(".block_hidden_img img").fadeOut(0); /* Скрытие кнопки закрытия отправки */

$(".block_hidden").fadeIn(0); /* Показ блокировки на время отправки запроса на сервер */

}

запрос к серверу WEB-портала, который позволит отправить вопрос пользователя, без перезагрузки модуля «Вопрос онлайн», что в свою очередь приведёт к снижению времени отправки вопроса, а также уменьшению потребляемых ресурсов [9][10].

$.ajax({ /* AJAX запрос */: block_hidden_span_ajax(), /* Исполнение функции блокировки */: "POST", /* Запрос посылается методом POST */: "components/vopros_v_obrabotke.php", /* Запрос посылается в указанный файл, на обработку и по необходимости исполнение */: ({ /* Посылаемые значения */

"name_reb_val_title": name_reb_val_title, /* Имя */

"vopros_val_title": vopros_val_title, /* Вопрос */

"mail_reb_val_title": mail_reb_val_title, /* Емайл */

"zap_tal_id": zap_tal_id /* ID вопроса */

}),: "html", /* Тип */: (function(ajax_subscription_site_2) { /* Ответ от сервера в виде символа */

Если при отправке вопроса возникла фатальная ошибка, то сработает уведомление с подробным описанием ошибки [11].

(ajax_subscription_site_2 == 0) {

$(".block_hidden_span span").text("Произошла ошибка вопрос не отправлен"); /* Уведомление пользователя */_hidden_first();

$(".block_hidden_img img").fadeIn(0); /* Показ уведомления */

}

Если при отправке вопроса ошибок не возникло, то будет произведена очистка полей от устаревших данных [11].

(ajax_subscription_site_2 == 1) {

$(".block_hidden_span span").html("<font color='green'>Вопрос успешно отправлен на проверку модератору</font>"); /* Уведомление об успешной отправкой вопроса */_hidden_first();_reb_title.val(""); /* Очистка поля */_title.val(""); /* Очистка поля */_reb_title.val(""); /* Очистка поля */

$(".name_question_span").text("Введите Ваше имя!");

$(".vopros_question_span").text("Введите Ваш вопрос!");

$(".mail_question_span").text("На указанный емайл будет выслано уведомление об ответе на Ваш вопрос!"); /* На указанный при отправке вопроса электронный адрес было выслано сообщение */

$(".block_hidden_img img").fadeIn(0, load_vopros_chislo()); /* Уведомление об успешном завершении работы модуля, а также сбросе всех полей в исходное состояние */

}

})

});

}{ /* Если проверка полей не пройдена */

$(".block_hidden_span span").text("Пожалуйста заполните все необходимые поля ..."); /* Подсказка на заполнение полей */_hidden_first();

$(".block_hidden").fadeIn(0); /* Показ подсказки */

}

}

$(".knopka_zapisi").on("click", function(knopka_zapisi) { /* При клике на кнопку отправить вопрос, отключается действие по умолчанию, после чего происходит отправка вопроса в базу */_zapisi.preventDefault();_zapisi_f();

});

Модуль «Дежурные специалисты» - это отдельный файл, который обрабатывается интерпретатором PHP, а затем отображается в виде полноценной страницы с дежурными специалистами.

Модуль состоит из подключаемых файлов и функции загрузки дежурных специалистов [12]:

−       include ('bd.php'); /* Соединение с БД */

−       include ('404_error.php'); /* Проверка модуля на ошибки */

−       include ('components/shapka.php'); /* Заголовочная часть */

−       include ('components/line.php'); /* Разделительная линия */

−       include ('components/menu.php'); /* Меню */

−       include ('components/line.php'); /* Разделительная линия */

−       include('components/search.php'); /* Поиск талонов */

−       include ('components/line.php'); /* Разделительная линия */load_duty() { /* Функция загрузки дежурных специалистов */

$(".dytu").load("components/duty.php", function(){ /* Парсинг информации */

$(".error_block").fadeOut(0, function(){ /* Скрытие блока с уведомлением, что дежурных врачей нет */

$(".error_block:first").fadeIn(0); /* Показ блока с новыми дежурными врачами */

});

}_duty(); /* Запуск функции */(load_duty, 15000); /* Интервал парсинга */

запрос к базе данных WEB-портала, который позволяет выбрать всех дежурных специалистов, с предварительной сортировкой по дате дежурства [13].

$dej_vrach = mysql_query("SELECT duty.id_doctor as d_id_doc, _FORMAT(duty.date, '%e %M %Y') as d_date,_FORMAT(duty.date, '%j') as d1_date,.time_n as d_time_n, duty.time_k as d_time_k,.id_doctor as doc_id, doctor.first as first,.last as last, doctor.middle as middle,.special as doc_special,.special as sp_special, special.spec_name as spec_nameduty, doctor, specialdoctor.id_doctor = duty.id_doctor AND doctor.special = special.special ORDER BY duty.date DESC");(mysql_num_rows($dej_vrach) > 0) { /* Если имеется хоть один дежурный специалист */

$mass_dej_vrach = mysql_fetch_array($dej_vrach); /* Ассоциативный массив дежурный специалистов */($mass_dej_vrach = mysql_fetch_array($dej_vrach)) /* Вывод дежурных специалистов, пока массив не окажется пустым */

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

Модуль состоит из подключаемых файлов и функции загрузки ответов [14]:

−       include ('bd.php'); /* Соединение с БД */

−       include ('404_error.php'); /* Проверка модуля на ошибки */

−       include ('components/shapka.php'); /* Заголовочная часть */

−       include ('components/line.php'); /* Разделительная линия */

−       include ('components/menu.php'); /* Меню */

−       include ('components/line.php'); /* Разделительная линия */

−       include('components/search.php'); /* Поиск талонов */

−       include ('components/line.php'); /* Разделительная линия */load_question() { /* Функция загрузки ответов */

$(".question_load").load("components/question_site.php", function(){

/* Парсинг ответов */

});

} load_question(); /* Запуск функции */(load_question, 900000); /* Интервал парсинга */

портал программный модуль электронный

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

Модуль состоит из подключаемых файлов и функции загрузки статистики:

−       include ('bd.php'); /* Соединение с БД */

−       include ('404_error.php'); /* Проверка модуля на ошибки */

−       include ('components/shapka.php'); /* Заголовочная часть */

−       include ('components/line.php'); /* Разделительная линия */

−       include ('components/menu.php'); /* Меню */

−       include ('components/line.php'); /* Разделительная линия */

−       include('components/search.php'); /* Поиск талонов */

−       include ('components/line.php'); /* Разделительная линия */load_s_sta() { /* Функция загрузки статистики */

$(".stat_ka").load("components/statistika_site.php", function(){

/* Парсинг статистики */

});

}_s_sta(); /* Запуск функции */(load_s_sta, 15000); /* Интервал парсинга */

Модуль «Контакты» - это отдельный файл, который обрабатывается интерпретатором PHP, а затем отображается в виде полноценной страницы с контактными данными.

Модуль состоит из подключаемых файлов и функции загрузки контактов:

−       include ('bd.php'); /* Соединение с БД */

−       include ('404_error.php'); /* Проверка модуля на ошибки */

−       include ('components/shapka.php'); /* Заголовочная часть */

−       include ('components/line.php'); /* Разделительная линия */

−       include ('components/menu.php'); /* Меню */

−       include ('components/line.php'); /* Разделительная линия */

−       include('components/search.php'); /* Поиск талонов */

−       include ('components/line.php'); /* Разделительная линия */load_contact() { /* Функция загрузки контактов */

$(".contacts").load("components/contact_site.php", function(){

/* Парсинг контактов */

});

}_contact (); /* Запуск функции */(load_contact, 900000); /* Интервал парсинга */

Модуль «Список отказов к специалистам» - это отдельный файл, который обрабатывается интерпретатором PHP, а затем отображается в виде полноценной страницы с списком отказов на приём.

Модуль состоит из подключаемых файлов и функций вывода списка отказов:

−       include ('bd.php'); /* Соединение с БД */

−       include ('404_error.php'); /* Проверка модуля на ошибки */

−       include ('components/shapka.php'); /* Заголовочная часть */

−       include ('components/line.php'); /* Разделительная линия */

−       include ('components/menu.php'); /* Меню */

−       include ('components/line.php'); /* Разделительная линия */

−       include('components/search.php'); /* Поиск талонов */

−       include ('components/line.php'); /* Разделительная линия */

$arhiv2 = mysql_query("SELECT *, DATE_FORMAT(date_zan, '%W %e %M %Y года в %k:%i') as date_zan FROM otkazi WHERE date_zan BETWEEN '{$date_begin}' AND '{$date_end}' ORDER BY otkazi.date_zan DESC"); /* Занести в переменную массив с отказами в записи на приём, предварительно отсортировав по дате отказа */

$arhiv_itog5 = mysql_fetch_array($arhiv2); /* Ассоциативный массив */($arhiv_itog5 = mysql_fetch_array($arhiv2)) { /* Вывод информации пока массив с данными не пуст */

/* Вывод данных */

}

Модуль «Нормативно - правовые акты» - это отдельный файл, который обрабатывается интерпретатором PHP, а затем отображается в виде полноценной страницы с нормативно - правовыми актами.

Модуль состоит из подключаемых файлов и функции загрузки нормативно - правовых актов:

−       include ('bd.php'); /* Соединение с БД */

−       include ('404_error.php'); /* Проверка модуля на ошибки */

−       include ('components/shapka.php'); /* Заголовочная часть */

−       include ('components/line.php'); /* Разделительная линия */

−       include ('components/menu.php'); /* Меню */

−       include ('components/line.php'); /* Разделительная линия */

−       include('components/search.php'); /* Поиск талонов */

−       include ('components/line.php'); /* Разделительная линия */load_n_p_a() { /* Функция загрузки нормативно - правовых актов */

$(".question_n_p_a").load("components/question_n_p_a.php", function(){

/* Парсинг нормативно - правовых актов */

});

}_n_p_a(); /* Запуск функции */

Модуль «Информация о подготовке к обследованиям» - это отдельный файл, который обрабатывается интерпретатором PHP, а затем отображается в виде полноценной страницы с информацией по подготовке к обследованиям.

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

−       include ('bd.php'); /* Соединение с БД */

−       include ('404_error.php'); /* Проверка модуля на ошибки */

−       include ('components/shapka.php'); /* Заголовочная часть */

−       include ('components/line.php'); /* Разделительная линия */

−       include ('components/menu.php'); /* Меню */

−       include ('components/line.php'); /* Разделительная линия */

−       include('components/search.php'); /* Поиск талонов */

−       include ('components/line.php'); /* Разделительная линия */load_article() { /* Функция загрузки информации */

$(".question_article").load("components/question_article_prof.php", function(){ /* Парсинг информации */ });}_article(); /* Запуск функции */

$article = mysql_query("SELECT *, DATE_FORMAT(date_article_question, '%d %M %Y в %H:%i') as d_a_q FROM article_professionals ORDER BY id_article"); /* Выборка всей информации по подготовке к обследованиям */(mysql_num_rows($article) == 0) { /* Если результат выборки равен NULL */"Данный раздел готовится к публикованию";

}(mysql_num_rows($article) > 0) { /* Если есть хоть одна информация по подготовке к обследованию */

$article_array = mysql_fetch_array($article); /* Ассоциативный массив с информацией */{ /* Выполнять пока есть информация в массиве */

Генерируемые HTML теги, которые предназначены для вывода информации по подготовке к обследованиям в виде отдельных блочных элементов страницы [15].

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

<div>

№ <?= $article_array['id_article'] ?>

<?= $article_array['author_article'] ?>

<img src='images/text.png' alt='' />

</div>

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

<div>

<p align='center'><?= $article_array["question_article"] ?></p>

<div>

<span>Прочитать статью целиком</span>

</div>

</div>

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

<div>

<div>

Дата опубликования статьи

<?= $article_array["d_a_q"] ?>

<img src='images/otvet.png' alt='' />

</div>

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

<div>

<?= $article_array["otvet_article"] ?>

</div>

</div>

</div>

}($article_array = mysql_fetch_array($article)); /* Вывод информации по подготовке к обследованию */

}

Модуль «Наша жизнь» - это отдельный файл, который обрабатывается интерпретатором PHP, а затем отображается в виде полноценной страницы с информацией о жизни внутри больницы.

Модуль состоит из подключаемых файлов и функции загрузки информации:

−       include ('bd.php'); /* Соединение с БД */

−       include ('404_error.php'); /* Проверка модуля на ошибки */

−       include ('components/shapka.php'); /* Заголовочная часть */

−       include ('components/line.php'); /* Разделительная линия */

−       include ('components/menu.php'); /* Меню */

−       include ('components/line.php'); /* Разделительная линия */

−       include('components/search.php'); /* Поиск талонов */

$(".question_our_life").load("components/question_our_life.php", function(){ /* Парсинг информации */ });

}_our_life(); /* Запуск функции */

$our_life = mysql_query("SELECT *, DATE_FORMAT(date_faq_question, '%d %M %Y в %H:%i') as d_f_q FROM our_life ORDER BY id_n_p_a"); /* Выборка всех статей */(mysql_num_rows($our_life) == 0) { /* Если результат выборки равен NULL */"Данный раздел готовится к публикованию";

}(mysql_num_rows($our_life) > 0) { /* Если есть хоть одна статья */

$our_life_array = mysql_fetch_array($our_life); /* Ассоциативный массив со статьями */{ /* Выполнять пока есть статьи в массиве */

Генерируемые HTML теги, которые предназначены для вывода статей о жизни больницы в виде отдельных блочных элементов страницы [15].

<div>

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

<div>

№ <?= $our_life_array['id_n_p_a'] ?>

Автор: <?= $our_life_array['author'] ?>

<img src='images/text.png' alt='' />

</div>

Внутренний блочный элемент, позволяющий расположить на странице заголовочную часть статьи.

<div>

<p align='center'><?= $our_life_array["question_n_p_a"] ?></p>

<div>

<span>Прочитать статью целиком</span>

</div>

</div>

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

<div>

<div>

Дата опубликования статью <?= $our_life_array["d_f_q"] ?>

<img src='images/otvet.png' alt='' />

</div>

Внутренний блочный элемент, позволяющий расположить на странице статьи в развёрнутом варианте.

<div>

<?= $our_life_array["otvet_n_p_a"] ?>

</div>

</div>

</div>

}($our_life_array = mysql_fetch_array($our_life)); /* Отображение статей о жизни больницы */

}

Модуль «Полезная информация» - это отдельный файл, который обрабатывается интерпретатором PHP, а затем отображается в виде полноценной страницы с полезной информацией.

Модуль состоит из подключаемых файлов и функции загрузки информации:

−       include ('bd.php'); /* Соединение с БД */

−       include ('404_error.php'); /* Проверка модуля на ошибки */

−       include ('components/shapka.php'); /* Заголовочная часть */

−       include ('components/line.php'); /* Разделительная линия */

−       include ('components/menu.php'); /* Меню */

−       include ('components/line.php'); /* Разделительная линия */

−       include('components/search.php'); /* Поиск талонов */

−       include ('components/line.php'); /* Разделительная линия */helpful_information() { /* Функция загрузки информации */

$(".helpful_information").load("components/helpful_information.php", function(){

/* Парсинг информации */

});

}_information(); /* Запуск функции */

$helpful_information = mysql_query("SELECT *, DATE_FORMAT(date_faq_question, '%d %M %Y в %H:%i') as d_f_q FROM helpful_information ORDER BY id_n_p_a"); /* Выборка всей полезной информации */(mysql_num_rows($helpful_information) == 0) { /* Если полезная информация не добавлена в базу данных */"Данный раздел готовится к публикованию";

}(mysql_num_rows($helpful_information) > 0) { /* Если есть хоть одна полезная информация */

$helpful_information_array = mysql_fetch_array($helpful_information); /* Ассоциативный массив с полезной информацией */{ /* Выполнять пока есть полезная информация в массиве */

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

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

<div>

№ <?= $helpful_information_array['id_n_p_a'] ?>

Автор: <?= $helpful_information_array['author'] ?>

<img src='images/text.png' alt='' />

</div>

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

<div>

<p align='center'>

<?= $helpful_information_array["question_n_p_a"] ?>

</p>

<div>

<span>Прочитать информацию целиком</span>

</div>

</div>

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

<div>

<div>

Дата опубликования информации <?= $helpful_information_array["d_f_q"] ?>

<img src='images/otvet.png' alt='' />

</div>

Внутренний блочный элемент, позволяющий расположить на странице полезную информацию в развёрнутом варианте.

<div>

<?= $helpful_information_array["otvet_n_p_a"] ?>

</div>

</div>

</div>

}($helpful_information_array = mysql_fetch_array($helpful_information)); /* Отображение полезной информации */

}

2.3 Описание подключаемых файлов


Файл соединения с базой данных - это отдельный файл, который подключается к основным модулям портала [16]:

$db = mysql_connect ("localhost","root","") or die("Проблемы у нашего хостинг-провайдера! Как только проблемы будут решены сайт возобновит свою работу ".mysql_error()); /* Создаётся переменная $db соединения с БД, в противном случае будет сгенерирована фатальная ошибка с текстом ошибки */_select_db("kostdgb ",$db) or die("Нет соединения с БД".mysql_error()); /* Подключение к нужной БД, если БД не найдена, будет сгенерирована фатальная ошибка с текстом ошибки */

/* Устанавливается кодировка, в данном случае русская кодировка */_query('SET CHARACTER SET utf8'); _query('SET NAMES utf8');

/* Установка русской локали соединения */_query("SET lc_time_names = 'ru_RU'") ;

Файл проверки модулей на ошибки - это отдельный файл, который подключается к основным модулям портала [17]:

$zap_priom = mysql_query("SELECT * FROM dlpodrazdeleniya WHERE podrazdelenie_v=1", $db); /* Проверка на ошибки файл меню, раздел "Записаться на приём" -> "Запись на приём", ошибка в файле с меню */(!$zap_priom) { /* Парсер ошибки */ }(mysql_num_rows($zap_priom) == 0) { /* Парсер ошибки */ }

$podrazdeleniya = mysql_query("SELECT * FROM dlpodrazdeleniya WHERE podrazdelenie_v=1", $db); /* Проверка на ошибки файл меню, раздел "Записаться на приём" -> "Выданные талоны", ошибка в файле с меню */(!$podrazdeleniya) { /* Парсер ошибки */ }(mysql_num_rows($podrazdeleniya) == 0) { /* Парсер ошибки */ }

$ojid = mysql_query("SELECT * FROM dlpodrazdeleniya WHERE podrazdelenie_v=1"); /* Проверка на ошибки файл меню, раздел "Записаться на приём" -> "Ожидаемые талоны", ошибка в файле с меню */(!$ojid) { /* Парсер ошибки */ }(mysql_num_rows($ojid) == 0) { /* Парсер ошибки */ }

$schedule = mysql_query("SELECT * FROM dlpodrazdeleniya"); /* Проверка на ошибки файл меню, раздел "Расписание" */(!$schedule) { /* Парсер ошибки */ }(mysql_num_rows($schedule) == 0)

{ /* Парсер ошибки */ }

Файл поиска талонов - это отдельный файл, который подключается к основным модулям портала:

<form>

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

<div>

<div>

<span></span>

</div>

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

<div>

<img src="images/active_exit.png" alt="X">

</div>

<div>

<div>

<div>

<div>

</div>

</div>

<div>

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

<div>

<span>

<div>

<div>

<div>

<span></span>

<div>

<img src="images/active_exit.png" alt="X">

</div>

</div>

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

<div>

<input type="text" name="query_delete">

<span>

Для удаления талона введите 32 значный пароль,<br /> который был отправлен на электронный адрес,<br />указанный при регистрации талона

</span>

</div>

<div>

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

<button>

<img src="images/remove_tal.png" alt="Удалить" />Удалить

</button>

</div>

</div>

</div>

</div>

<div>

<input type="text" name="query">

<span> Для поиска введите номер вашего талона ... </span>

</div>

<div>

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

<button>

<img src="images/search.png" alt="Поиск" />Найти

</button>

</form>

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


3.1 Запуск портала

- портал «КГП Костанайская городская детская больница» находится по адресу: #"787394.files/image003.jpg">

Рисунок 1. Модальное окно загрузки портала

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

3.2 Меню больничного портала


В меню портала включены разделы, в соответствии с рисунком 2:

−       Электронная регистратура (запись на приём к врачу);

−       Выданные талоны;

−       Ожидаемые талоны;

−       Расписание работы поликлиник;

−       Дежурные специалисты;

−       Задать вопрос в режиме онлайн.

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

Рисунок 2. Меню больничного портала

3.2.1 Электронная регистратура

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

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

−       Нажать на кнопку «Электронная регистратура»;

−       Выбрать подразделение из выпадающего меню, в соответствии с рисунком 3;

Рисунок 3. Выпадающее меню

−       После проделанных операций будет предложен выбор нужного специалиста из подмодулей, в соответствии с рисунком 4. Также для удобства пользователей, имеется возможность просмотра: категорий, Ф.И.О, специализаций и количества свободных талонов у специалистов;

Рисунок 4. Онлайн запись в отделение функциональной диагностики

−       Выбрав нужного специалиста, пользователь попадает на персональную станицу врача, в соответствии с рисунком 5.

На персональной странице специалиста расположены следующие элементы:

−       Кнопка «Назад», которая позволяет пользователям возвращаться на предыдущую страницу, для выбора нужного специалиста из списка возможных;

−       Статус врача, который может состоять из: врач в отпуске, временно не принимает, ведёт приём, расписание не выложено, ведёт платный приём, ведёт приём без записи;

−       Вид деятельности врача;

−       Инициалы;

−       Номер кабинета;

−       Часы приема на текущую неделю, которые обновляются каждую пятницу в течении рабочего дня;

Рисунок 5. Персональная страница врача

−       Статус непосредственно самой записи на приём, который может состоять из: открыта, завершена, платный приём. Если статус записи имеет состояние (завершена или платный приём), то талоны на запись к указанному специалисту не отображаются. В противном случае статус записи имеет состояние (открыта) и, следовательно, талоны отображаются в виде упорядоченного списка по датам приёма, начиная с ближайшей даты, в соответствии с рисунком 6.

Рисунок 6. Свободные талоны

−       Открытие формы ввода информации о ребёнке осуществляется путём нажатия на нужное время, после чего блок с описанием услуги и полями отобразится сразу после выбранного времени, в соответствии с рисунками 7, 8.

Рисунок 7. Описание блока записи на приём

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

Рисунок 8. Информационные поля ввода записи на приём

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

Рисунок 9. Календарь

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

Рисунок 10. Поле ввода домашнего адреса

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

Рисунок 11. Почтовое уведомление

3.2.2 Выданные талоны

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

Для того чтобы перейти к выбору специалиста с дальнейшим просмотром его архива выданных талонов следует:

−       Нажать на «Выданные талоны»;

−       Выбрать подразделение из выпадающего списка;

−       После проделанных операций будет предложен выбор нужного специалиста из подмодулей, в соответствии с рисунком 12, также для удобства пользователям имеется возможность просмотра: категорий, Ф.И.О, специализаций и количества выданных талонов к специалистам;

Рисунок 12. Выданные талоны

−       Выбрав нужного специалиста, пользователь попадает в архив выданных талонов, в соответствии с рисунком 13.

Рисунок 13. Архив талонов

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

Рисунок 14. Выданный талон

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

Рисунок 15. Десятизначный код удаления талона

.2.3 Ожидаемые талоны

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

Подтверждение талонов осуществляется регистраторами в течение суток с момента заявки на подтверждение.

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

−       Нажать на «Ожидаемые талоны»;

−       Выбрать подразделение из выпадающего списка, в соответствии с рисунком 16;

Рисунок 16. Выпадающий список

3.2.4 Расписание поликлиник

Данный модуль предоставляет пользователям обширную информацию о режиме работы подразделений (отделений) больницы на текущую неделю. И имеет следующие подразделы:

−       Специализированная поликлиника;

−       Функциональная диагностика;

−       Инфекционное отделение;

−       Дневной стационар;

−       Интенсивная терапия;

−       Отделение раннего возраста;

−       Отделение старшего возраста.

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

−       Нажать на «Расписание подразделений»;

−       Выбрать подразделение из выпадающего списка, в соответствии с рисунком 17;

Рисунок 17. Выпадающий список

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

Рисунок 18. Расписание подразделений

3.2.5 Дежурные специалисты

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

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

−       Нажать на «Дежурные специалисты», в соответствии с рисунком 19;

Рисунок 19. Кнопка «Дежурные специалисты»

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

3.2.6 Задать вопрос в режиме онлайн

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

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

−       Нажать на «Задать вопрос в режиме онлайн»;

−       Затем следует выбрать модуль вопроса «Вопрос - Онлайн»;

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

−       Правила раздела;

−       Статистика заданных вопросов и ответов;

−       Форма отправки нового вопроса;

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

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

Рисунок 20. Окно «Правила раздела»

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

-       Всего вопросов, которые прошли проверку;

-       Всего дано ответов.

Выпадающее окно модуля имеет вид, в соответствии с рисунком 21.

Рисунок 21. Модуль выпадающего окна

Сам процесс задания вопроса осуществляется путем нажатия кнопки «Задать вопрос».

Окно модуля имеет следующие разделы:

-       Ваше имя;

-       Ваш вопрос;

-       Ваш E-mail;

-       Задать вопрос.

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

Рисунок 22. Окно модуля «Задать вопрос»

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

3.3 Поиск талонов


Модуль поиск талонов представляет собой поисковое окно, при вводе номера талона пользователь может прочить всю информацию касаемо этого талона. Поиск имеет вид, в соответствии с рисунком 23:

Рисунок 23. Поиск по талонам

Зная номер талона, пользователь может получить информацию, в каком статусе находится талон. Номер талона пользователь может просмотреть сразу, как только, он совершает запись на прием, в соответствии с рисунком 8, а также пользователь получает уведомление на указанный электронный адрес, которое содержит информацию о номере талона, в соответствии с рисунком 14.

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

Рисунок 24. Результат поиска

Статус талона может меняться в зависимости от состояния: свободный, подтвержденный, не подтвержденный. Если время, на которое талон был записан, еще не подошло, то пользователь может совершить самовольный отказ от записи, в соответствии с рисунком 25.

Рисунок 25. Талон

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

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

−       В поиске ввести номер интересующего талона;

−       В появившемся окне воспользоваться кнопкой «Отказаться от талона»;

−       Далее необходимо ввести 32-хзначный код, в соответствии с рисунком 14, который пришел к пользователю на указанный им адрес, при бронировании талона. При удалении талона статус автоматически становится свободным. У другого пользователя появляется возможность записаться на прием.

3.4 Информационные разделы


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

Рисунок 26. Информационные разделы

3.4.1 Статистика, ответы на часто задаваемые вопросы

Статистика портала в первую очередь предназначена для отправки ежемесячных, ежеквартальных, полугодовых, а также годовых отчётов в Департамент Здравоохранения по Костанайской области. Она состоит из ежемесячной статистики подтверждённых талонов, статистик листа ожидания, отказов в записи, задаваемых вопросов, количества подписчиков, в соответствии с рисунком 27.

Рисунок 27. Статистика портала

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

3.4.2 Контакты, список отказов к специалистам

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

Рисунок 28. Контактная информация

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

Рисунок 29. Уведомление об отказе от записи

3.4.3 Нормативно - правовые акты

Нормативно - правовые акты были разработаны по запросам Министерства здравоохранения по Костанайской области. В разделе находится информация о новых постановления, законах и актах Республики Казахстан, которые являются необходимыми для правильного видения работы в медицинских организациях, в соответствии с рисунком 30.

Рисунок 30. Нормативно - правовые акты

3.4.4 Информация по подготовке к обследованиям

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

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

3.4.5 Наша жизнь, полезная информация

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

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

3.5 Подписка на рассылку уведомлений


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

Рисунок 32. Блок подписки на рассылку

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

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

На электронный адрес подписчика приходят уведомления такие как:

−       Выкладывание новых талонов;

−       Информация о новых разделах больницы;

−       Уведомления об отказах от записи;

−       Информация о выданном пользователю талоне;

Уведомление об отказе от записи имеет вид, в соответствии с рисунком 29.

3.6 Информация об администрации больницы


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

Рисунок 33. Администрация больницы

3.7 Административная панель

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

Рисунок 34. Вход в административную панель

Меню в административной панели имеет два вида. Один для административного входа, второй для регистраторов.

3.7.1 Административный вход

Меню администратора имеет вид, в соответствии с рисунком 35:

Рисунок 35. Меню администратора

Для добавления талонов администратору следует выполнить следующие действия:

−       При наведение на кнопку «Добавить талон», администратору на обозрение предоставляется выбор отделений, в которое следует добавить талоны.

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

Рисунок 36. Список врачей

−       При нажатии на нужного врача, администратор перенаправляется на другую страницу. На странице имеется следующая информация:

-       Инициалы врача;

-       Режим работы на текущую неделю;

-       Поле ввода даты;

-       Список выбора времени;

-       Кнопка «Добавить выбранные талоны на портал».

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

Рисунок 37. Календарь выбора даты

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

Рисунок 38. Выбор времени

После выбора нужного времени, остается нажать кнопку «Добавить выбранные талоны на портал».

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

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

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

−       Специализированная поликлиника;

−       Функциональная диагностика.

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

Редактор базы имеет несколько разделов:

−       Подразделение;

−       Врач, этот раздел в свою очередь делится на подразделы:

-       Специализированная поликлиника;

-       Функциональная диагностика;

-       Инфекционное отделение;

-       Дневной стационар;

-       Интенсивная терапия;

-       Отделение раннего возраста;

-       Отделение старшего возраста.

−       Специальность;

−       Кабинет;

−       Участок;

−       Часы приема;

−       Редактор улиц.

Каждый раздел можно отредактировать, изменив название раздела, номер кабинета или участка.

Редактор улиц имеет большую базу, поэтому в данном разделе имеется поиск улиц по базе.

Расписание также редактируется по отделениям:

−       Специализированная поликлиника;

−       Функциональная диагностика;

−       Инфекционное отделение;

−       Дневной стационар;

−       Интенсивная терапия;

−       Отделение раннего возраста;

−       Отделение старшего возраста.

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

Рисунок 39. Редактирование расписания

Кнопка «Вопрос онлайн» имеет два раздела:

−       Вопрос без ответа;

−       Редактор вопросов.

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

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

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

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

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

3.7.2 Вход для регистраторов

Редактор базы регистратора имеет вид, в соответствии с рисунком 40.

Рисунок 40. Вход в административную панель через регистратора

На рисунке видно, что для редактирования регистратору доступны только четыре модуля:

−       Добавить талон;

−       Ожидаемые талоны;

−       Расписание;

−       Редактор талонов.

Способы добавления талонов и редактирования расписания были описаны выше.

При помощи редактора «Ожидаемые талоны» регистратор может проверить наличие в разделе ожидаемых талонов, в соответствии с рисунком 41:

Рисунок 41. Таблица ожидаемых талонов

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

Рисунок 42. Талон ожидания

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

−       Не подтвержденный;

−       Подтвержденный;

−       Отклонен;

−       На модерации.

Далее, чтобы сохранить изменения в талоне, необходимо нажать на кнопку «Сохранить талон»

После сохранения талона регистратор может вернуться назад и продолжить эту процедуру уже с другими талонами.

Редактор талонов предназначен для удаления талонов и имеет вид, в соответствии с рисунком 43:

Рисунок 43. Редактор талонов

Регистратор может произвести удаление талона, поставив в место  иконку  путем нажатия на , и подтвердить удаление кнопкой .

Заключение


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

Основным преимуществом портала является возможность записи на приём к специалистам в режиме «онлайн», с выбором любого удобного дня и времени приема, что позволяет оптимизировать работу работников регистратуры и врачей больницы, а также заметно снизить период ожидания, как в регистратуре, так и у кабинетов специалистов. К тому же, портал работоспособен на любом устройстве имеющем доступ к сети Internet [18]. Для его использования нет необходимости установки дополнительных приложений, достаточно иметь интернет-браузер. Его использование не занимает много времени. Портал удобен и прост в использовании. Также, портал, может быть, применим для любой другой медицинской организации, которая хочет заявить о себе на рынке.

В ходе разработки портала были выполнены следующие задачи:

-       Спроектирована архитектура базы данных, которая состоит из отдельных таблиц связанных между собой;

-       Разработана упрощенная онлайн-запись на портале, с возможностью выкладывания свободных талонов, их поиска и синхронизации [19], а также подтверждения ожидаемых талонов, а также отказа;

-       Реализовано оповещение о новостях больницы, о новой доступной записи;

-       Разработана надёжная защита от некорректного ввода данных [20];

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

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

В ходе работы над дипломной работой закреплены знания по технологиям Asynchronous JavaScript and eXtensible Markup Language, позволяющей отправлять запросы от браузера клиента до сервера портала, без перезагрузки портала и библиотеки jQuery, позволяющей легко манипулировать элементами страницы.

В настоящее время портал уже внедрен в Управление здравоохранения акимата Костанайской области и находится в стадии эксплуатации КГП «Костанайская городская детская больница».

Список использованных источников


1       Sarrion, E. jQuery UI. - O’Reilly. - 2012. - 1 с.

2       Петин, В. Сайт на AJAX под ключ. - СПб.: БХВ-Петербург. - 2011. - 44 с.

3       Шварц, Б. MySQL. Оптимизация производительности / Б. Шварц, П. Зайцев, В. Ткаченко, Д. Заводны, А. Ленц, Д. Боллинг. - М., Символ - 2010. - 135 с.

4       Маклафлин, Б. PHP и MySQL. Исчерпывающее руководство. - СПб.: Питер. - 2013. - 26 с.

5       Зандстра, М. Объекты, шаблоны и методики программирования. - ООО «И.Д. Вильямс». - 2011. - 23 с.

6       Рева, О. JAVASCRIPT в кармане. - Изд.: Эксмо. - 2008 - 13 с.

7       Кузнецов, М.В. MySQL 5 / М. Кузнецов, И. Симдянов. - СПб.: БХВ-Петербург. - 2010.- 288 с.

8       Гойвертс, Я. Регулярные выражения. Сборник рецептов / Я. Гойвертс, С. Левитан. - Изд.: Символ-Плюс. - 2010. - 276 с.

9       Бибо, Б. jQuery. Подробное руководство по продвинутому JavaScript / Б. Бибо, Кац. И. - Изд.: Символ-Плюс. - 2009. - 256 с.

10     Бенкен, Е. С. AJAX. Программирование для Интернета / Е. Бенкер, Г. Самков. - СПб.: БХВ-Петербург. - 2009. - 395 с.

11     Lengstorf, J. Pro PHP and jQuery. - ООО «И.Д. Вильямс». - 2010. - 66 с.

12     Флэнаган, Д. Javascript. Подробное руководство. - Изд.: Символ-Плюс. - 2012 - 113 с.

13     Скляр, Д. PHP. Сборник рецептов / Д. Скляр, А. Трахтенберг. - Изд.: Символ-Плюс. - 2005. - 306 с.

14     Harwani, B. jQuery Recipes. - ООО «И.Д. Вильямс». - 2010. - 314 c.

15     Frain, B. - Responsive Web Design with HTML5 and CSS3. - ООО Изд.: «Питер» - 2012. - 11 с.

16     Кузнецов, М.В. PHP. Практика создания Web-сайтов / М. Кузнецов, И. Симдянов. - СПб.: БХВ-Петербург. - 2010.- 108 с.

17     Аткинсон, Л. PHP 5. Библиотека профессионала / Л. Аткинсон, З. Сураски. - ООО «И.Д. Вильямс». - 2006. - 847 с.

18     Marcotte, E. RESPONSIVE WEB DESIGN. - 2011. - 59 c.

19     Хокинс, С. Администрирование Web-сервера Apache и руководство по электронной коммерции. - ООО «И.Д. Вильямс». - 2001. - 287 с.

20     Фленов, М. Е. PHP глазами хакера. - СПб.: БХВ-Петербург. - 2005. - 137 с.

Похожие работы на - Проектирование WEB-портала на примере ГКП 'Костанайская городская детская больница'

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!