Базы данных
Впровадження автоматизованої системи обліку медичних справ поліклініки. Створення додатку, що забезпечує запис даних про пацієнтів: медичні справи, діагнози, лікарські призначення. Збір, обробка, зберігання та відображення результуючої інформації.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | украинский |
Дата добавления | 11.06.2017 |
Размер файла | 1,2 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Лістинг функцій системи
Розробник:
Гребенюк І. А.
Черкаси
2017
Зміст
Вступ
1. Постановка задачі
1.1 Предметна область
1.2 Функціональні вимоги
1.3 Вимоги до технічних та програмних засобів
2. Проектування бази даних
2.1 Інфологічне проектування
2.2 Даталогічне проектування
3. Конструювання програмного забезпечення
4. Огляд клієнтського додатку
Висновок
Список використаної літератури
Додаток
Вступ
В сучасному світі все прямує до автоматизації і спрощення. Автоматизація поступово захоплює різні сфери життя і якщо раніше намагалися автоматизувати і спростити якісь надтяжкі задачі, які значно полегшувалися після автоматизації, то зараз, коли найважливіші проблеми автоматизації знайшли рішення, прогрес взявся за автоматизацію повсякденних справ. Для підвищення рівня керованості бізнес-процесів, об'єктивного аналізу ефективності роботи підприємства потрібна системна автоматизація. Будь-який вид діяльності передбачає певну послідовність операцій. Саме від правильного виконання процедури залежить в остаточному підсумку результат роботи. Це однаковою мірою важливо для всіх ланок підприємства, від виробничої ділянки до бухгалтерської служби.
Саме тому метою даного курсового проекту є створення додатку, що забезпечував би облік даних про пацієнтів медичної справи, їх діагнозів, лікарів, та результатів їх роботи. Впровадження автоматизованої системи обліку медичних справ поліклініки дозволить проводити збір, обробку, накопичення, зберігання та відображення результуючої інформації.
Система обліку медичних справ поліклініки довзоляє вести облік пацієнтів, лікарів, посад, спеціалізацій, діагнозів та результатів обстежень на підставі якої надалі виробляються отримуються статистичні дані хвороб пацієнтів.
1. Постановка задачі
1.1 Предметна область
Предметна область для якої здійснюється проектування - Поліклініка. Поліклініка представляє собою складну, багатогранну структуру, основними напрямками діяльності якої є обслуговування клієнтів, ведення стану здоров'я клієнта, а також інші види комерційної, фінансової діяльності, передбаченої чинним законодавством.
Медична клініка для якої здійснюється проектування займається роботою по веденню обліку клієнтів(пацієнтів), їх стану здоров'я, облік лікарів та звітування в вигляді результатів обстежень.
1.2 Функціональні вимоги
Програма розробляється для ОС Windows і повинна бути невимогливою до системних ресурсів.
Інтерфейс програми має бути мінімалістичним, сучасним та інтуїтивно зрозумілим.
База даних повинна бути розташована на локальному сервері до якого завжди є доступ щоб забезпечити нормальну роботу програми.
Програма має виконувати такі функції:
– Надавати інформацію користувачам про пацієнтів, лікарів, спеціалізації, посади, діагнози та результати обстежень;
– Додавання нових даних про пацієнтів, лікарів, спеціалізації, посади, діагнози та результати обстежень;
– Перегляд пацієнтів, які пройшли через певного лікаря з певною спеціалізацією по певному діагнозу.
Основні функції БД:
– Зберігання та упорядкування даних;
– Підтримка SQL;
– Керування даними в оперативній пам'яті.
1.3 Вимоги до технічних та програмних засобів
Мінімальні вимоги технічних засобів:
– Операційна система: Windows Xp - Windows 10;
– Процессор: одноядерний 3 Ггц і більше;
– ОЗУ: 512Мб;
– 200Мб вільної пам'яті.
2. Проектування бази даних
2.1 Інфологічне проектування
На етапі інфологічного проектування бази даних для предметної області "Поліклініка" було досліджено його структуру і напрямки діяльності та на основі цього виділено основні сутності:
· Пацієнти;
· Лікарі(Персонал);
· Діагнози;
· Посади;
· Спеціалізації;
· Результат обстежень;
2.2 Даталогічне проектування
Таблиця diagnoz (Діагнози):
· id - первинний ключ, який унікально ідентифікує записи таблиці та містить в собі код діагнозу, автоматично заповнюється, тип даних int;
· title - містить в собі інформацію найменування діагнозу, тип даних text;
Таблиця patient (Пацієнти):
· id - первинний ключ, містить в собі ідентифікатор пацієнта, тип даних int;
· name - містить в собі інформацію про ім'я пацієнта, тип даних varchar;
· lastname - містить в собі інформацію про прізвище пацієнта, тип даних varchar;
· father - містить в собі інформацію про ім'я батька(по батькові) пацієнта, тип даних varchar;
· birthday - містить в собі інформацію про день народження пацієнта, тип даних date;
· address - містить в собі дані про місце проживання пацієнта, тип даних varchar.
Таблиця Personal(Персонал або Лікарі):
· id - первинний ключ, містить в собі ідентифікатор лікаря(персоналу), тип даних int;
· position - зовнішній ключ, який посилається на посаду лікаря, тип даних int;
· specialization - зовнішній ключ, який посилається на спеціалізацію лікаря, тип даних int;
· name - містить в собі інформацію про ім'я лікаря, тип даних varchar;
· lastname - містить в собі інфомарцію про прізвище лікаря, тип даних varchar;
· father - містить в собі інформацію про ім'я батька(по батькові) лікаря, тип даних varchar.
Таблиця position (Посади):
· id - первинний ключ, який унікально ідентифікує записи таблиці та містить в собі код посади, тип даних int;
· title - містить найменування посади, тип даних text.
Таблиця specialization (Спеціалізації або Спеціалізація):
· id - первинний ключ, який унікально ідентифікує записи таблиці та містить в собі код спеціалізації, автоматично заповнюється, тип даних int;
· title - містить найменування спеціалізації, тип даних text.
Таблиця result (Результат обстежень):
· id - первинний ключ, який унікально ідентифікує записи таблиці та містить в собі код результату, заповнюється автоматично, тип даних int;
· id_patient - зовнішній ключ, який посилається на пацієнта, тип даних int;
· id_doc - зовнішній ключ, який посилається на лікаря(персонал), тип даних int;
· in_date - містить в собі інформацію про дату обстеження та створення результату обстеження, тип даних int;
· id_diagnoz - зовнішній ключ, який посилається на діагноз пацієнта, тип даних int.
Рисунок 2.1 - Даталогічна модель бази даних
3. Конструювання програмного забезпечення
Система реалізована за допомогою мови програмування PHP, JavaScript, бібліотеки Ajax, таблиці стилів CSS, Bootstrap, HTML. В процесі розробки системи було створено функції для роботи з базою даних, алгоритми подання інформації користувачу на екран та діалогове вікно для підтвердження видалення інформації. Нижче наведено перелік функцій, які виконуються на сервері(PHP):
alert - функція, яка виводить в діалоговому вікні браузера користувача повідомлення за допомогою JavaScript;
redirect - функція, яка переводить користувача на іншу сторінку за допомогою JavaScript;
upperLowerStr - функція, яка перетворює отримане слово в формат: перша літера вищого регістру, всі інші в нижньому;
preg_name - функція, яка перевіряє ім'я людини на вірність його введення по регулярному виразу;
preg_lastname - функція, яка перевіряє прізвище люини на вірність його введення по регулярному виразу;
preg_father - функція, яка перевіряє по батькові людини на вірність його введення по регулярному виразу;
is_specialization - функція, яка перевіряє, чи існують дані в таблиці спеціалізації(спеціальність);
specializationList - функція, яка повертає значення всіх даних в таблиці спеціалізації ;
selectAllInfoSpecialization - функція, яка повертає значення всіх даних таблиці спеціалізації з певного проміжку даних;
selectIdInfoSpecialization - функція, яка повертає дані з таблиці спеціалізації по певному його ідентифікатору;
insertSpecialization - функція додавання даних в таблицю спеціалізації;
updateSpecialization - функція оновлення даних таблиці спеціалізації;
deleteSpecialization - функція видалення даних з таблиці спеціалізація;
is_patient - функція, яка перевіряє наявність даних в таблиці пацієнти;
patientList - функція, яка повертає значення всіх даних з таблиці пацієнти;
selectAllInfoPatient - функція, яка повертає значення всіх даних з таблиці пацієнти певного проміжку записів;
selectIdInfoPatient - функція, яка повертає значення даних з таблиці пацієнти по ідентифікатору;
insertPatient - функція додавання даних в пацієнти;
updatePatient - функція оновлення даних в таблиці пацієнти;
deletePatient - функція видалення даних з таблиці пацієнти;
is_diagnoz - функція, яка перевіряє наявність даних в таблиці діагнози;
diagnozList - функція, яка повертає значення всіх діагнозів;
selectAllInfoDiagnoz - функція, яка повертає значення всіх діагнозів певного проміжку записів;
selectIdInfoDiagnoz - функція, яка повертає значення діагнозу по ідентифікатору;
insertDiagnoz - функція додавання даних в діагнози;
updateDiagnoz - функція оновлення даних в таблиці діагнози;
deleteDiagnoz - функція видалення даних з таблиці діагнози;
is_position - функція, яка перевіряє наявність даних в таблиці посади;
positionList - функція, яка повертає всі дані таблиці посади;
selectAllInfoPosition - функція, яка повертає дані з таблиці посади певного проміжку записів;
selectIdInfoPosition - функція, яка повертає дані з таблиці посади по ідентифікатору;
insertPosition - функція додавання даних в таблицю посади;
updatePosition - функція оновлення даних таблиці посади;
deletePosition - функція видалення даних з таблиці посади4
is_personal - функція, яка перевіряє наявність даних в таблиці персонал(лікарі);
personalList - функція, яка повертає всі дані з таблиці персонал(лікарі);
selectAllInfoPersonal - функція, яка повертає дані з таблиці персонал(лікарі) певного проміжку записів;
selectIdInfoPersonal - функція, яка повертає дані з таблиці персонал(лікарі) по ідентифікатору;
insertPersonal - функція додавання даних в таблицю персонал(лікарі);
updatePersonal - функція оновлення даних таблиці персонал(лікарі);
deletePersonal - функція видалення даних таблиці персонал(лікарі);
is_result - функція, яка перевіряє наявність даних в таблиці результат обстежень;
selectAllInfoResult - функція, яка повертає дані з таблиці результат обстежень певного проміжку записів;
selectIdInfoResult - функція, яка повертає дані з таблиці результат обстежень по ідентифікатору;
insertResult - функція додавання даних в таблицю результат обстежень;
updateResult - функція оновлення даних в таблиці результат обстежень;
deleteResult - функція видалення даних таблиці результат обстежень;
patientOfSpecialistAndDiagnoz - функція, яка повертає дані про пацієнтів, які пройшли певних спеціалістів та отримали певний діагноз.
Нижче наведено перелік функція, які виконуються на клієнтській стороні(JavaScript та його бібліотека JQuery):
Анонімна функція зчитування даних web-сторінки, яка виводить діалогове вікно користувачу на підтвердження видалення певних даних.
4. Огляд клієнтського додатку
Рисунок 4.1 - Головна сторінка
Рисунок 4.2 - Вікно огляду сутності діагнози та внесення нових даних
Рисунок 4.3 - Вікно огляду сутності спеціалізації та внесення нових даних
Рисунок 4.4 - Вікно огляду сутності посади та внесення нових даних
Рисунок 4.5 - Вікно огляду сутності персонал та внесення нових даних
Рисунок 4.6 - Вікно огляду сутності пацієнти та внесення нових даних
Рисунок 4.7 - Вікно огляду сутності результатів обстежень та внесення нових даних
Рисунок 4.8 - Вікно редагування даних сутності діагнози
Рисунок 4.9 - Вікно редагування даних сутності результатів обстежень
Рисунок 4.10 - Вікно редагування даних сутності пацієнти
Рисунок 4.11 - Вікно редагування даних сутності персонал
Рисунок 4.12 - Вікно редагування даних сутності посади
Рисунок 4.13 - Вікно редагування даних сутності спеціалізації
Рисунок 4.14 - Вікно отримання даних по пацієнтам, які пройшли через певного спеціаліста по певному діагнозу
Рисунок 4.15 - Мобільна версія web-додатку головної сторінки(та послідовних сторінок системи)
Висновок
Метою курсового проекту була реалізація та розробка додатку для обліку інформації полініки. автоматизований додаток інформація поліклініка
В web-додатку користувач має можливість додавати, оновлювати та видаляти дані. А також реалізована можливість отримання даних про пацієнтів, які пройшли певних спеціалістів та отримали певний діагноз.
Протягом виконання роботи було закріплено отримані під час навчання знання з таких предметів як розробка бази даних, web-програмування, архітектура програмного забезпечення, об'єктно-орієнтоване програмування та конструювання програмного забезпечення.
При розробці бази даних, було створено 5 таблиць які між собою взаємопов'язані зв'язками. Проект реалізований на мові PHP.
Список використаної літератури
1. Международные стандарты, поддерживающие жизненный цикл программных средств. М., МП "Экономика", 2007.
2. Смирнова, Г.Н. Проектирование экономических информационных систем: Учеб. для вузов / Г.Н. Смирнова, А.А. Сорокин, Ю.Ф. Тельнов; Под ред. Ю.Ф. Тельнова. -М. : Финансы и статистика, 2006. - 512 с. : ил.
3. Вендров А.М. CASEтехнологии. Современные методы и средства проектирования информационных систем. М.: Финансы и статистика, 2008.
4. Дейт К. Введение в системы баз данных/Пер. с англ. Наука, 2004. 463 с.
5. Елманова Н. Системы управления базами данных ведущих производителей. КомпьютерПресс, июль 2005.
6. Аткинсон, Леон MySQL. Библиотека профессионала; М.: Вильямс, 2008. - 624 c.
7. Грофф, Джеймс; Вайнберг, Пол SQL: полное руководство; Киев: BHV, 2005. - 608 c.
8. Нанда, А. и др. Oracle PL/SQL для администраторов баз данных; Символ, 2008. - 496 c.
9. Стоунз, Ричард; Мэттью, Нейл PostgreSQL. Основы; СПб: Символ-Плюс, 2007. - 640 c.
10. Фейерштейн, С.; Прибыл, Б. Oracle PL/SQL для профессионалов; СПб: Питер, 2005. - 941 c.
11. Шнайдер, Роберт Microsoft SQL Server 6.5. Проектирование высокопроизводительных баз данных; М.: Лори, 2010. - 361 c.
12. Яргер, Р.Дж.; Риз, Дж.; Кинг, Т. MySQL и mSQL: Базы данных для небольших предприятий и Интернета; СПб: Символ-Плюс, 2013. - 560 c.
Додаток
"ПОЛІКЛІНІКА"
Лістинг функцій системи
Листів 10
Розробник: Гребенюк І. А.
Черкаси 2017
config.php
<?
$shost = "localhost";
$slogin = "root";
$spass = "";
$sdb_name = "kpz";
$sconnect = mysql_connect($shost,$slogin,$spass);
mysql_select_db($sdb_name,$sconnect);
mysql_query("SET NAMES 'utf8'");
mysql_set_charset("utf8");
?>
function.php
<?
function alert($str){
echo '<script>'.'alert("'.$str.'");'.'</script>';
}
function redirect($url){
echo '<script type="text/javascript">';
echo 'window.location.href="'.$url.'";';
echo '</script>';
}
function upperLowerStr($word){
if(preg_match("/[а-я]/i", $word)) {
$result = mb_strtoupper((mb_substr($word, 0, 2)), 'UTF-8').mb_strtolower((mb_substr($word, 2, iconv_strlen($word))), 'UTF-8');
return $result;
}
else {
$result = ucfirst(mb_strtolower($word));
return $result;
}
}
function preg_name($name){
if(preg_match("/^[a-zA-Zа-яА-Я]{1,30}/", $name))
return true;
else
return false;
}
function preg_lastname($name){
if(preg_match("/^[a-zA-Zа-яА-Я]{1,35}/", $name))
return true;
else
return false;
}
function preg_father($name){
if(preg_match("/^[a-zA-Zа-яА-Я]{1,45}/", $name))
return true;
else
return false;
}
if(is_file("functionForDiagnoz.php"))
include "functionForDiagnoz.php";
if(is_file("functionForPosition.php"))
include "functionForPosition.php";
if(is_file("functionForSpecialization.php"))
include "functionForSpecialization.php";
if(is_file("functionForPatient.php"))
include "functionForPatient.php";
if(is_file("functionForPersonal.php"))
include "functionForPersonal.php";
if(is_file("functionForResult.php"))
include "functionForResult.php";
if(is_file("functionForPatient_specialist_diagnoz.php"))
include "functionForPatient_specialist_diagnoz.php";
?>
functionForDiagnoz.php
<?
function is_diagnoz($connect){
$textQueryIsDiagnoz = "select count(`id`) as `is` from `diagnoz`";
if($queryIsDiagnoz = mysql_query($textQueryIsDiagnoz, $connect)){
$resultIsDiagnoz = mysql_fetch_array($queryIsDiagnoz);
if($resultIsDiagnoz['is'] == 0)
return false;
else
return true;
}
}
function diagnozList($connect){
$textQueryDiagnozList = "select * from `diagnoz`";
if($queryDiagnozList = mysql_query($textQueryDiagnozList, $connect)){
return $queryDiagnozList;
}
}
function selectAllInfoDiagnoz($page, $connect){
$start = 0;
$finish = 10;
if($page > 1){
$start = ($page-1)*$finish;
$finish = $page*$finish;
}
$textQueryViewDiagnoz = "SELECT * FROM `diagnoz` LIMIT ".$start." , ".$finish;
if($queryViewDiagnoz = mysql_query($textQueryViewDiagnoz)){
return $queryViewDiagnoz;
}
}
function selectIdInfoDiagnoz($id, $connect){
$textQueryViewDiagnoz = "SELECT * FROM `diagnoz` WHERE `id`=".$id;
if($queryViewDiagnoz = mysql_query($textQueryViewDiagnoz)){
return $queryViewDiagnoz;
}
}
function insertDiagnoz($connect, $titleDiagnoz){
$textQueryIsDiagnozTitle = "select count(*) as `is` from `diagnoz` where UPPER(`title`)=UPPER('".$titleDiagnoz."')";
if($queryIsDiagnozTitle = mysql_query($textQueryIsDiagnozTitle, $connect)){
$resultIsDiagnozTitle = mysql_fetch_array($queryIsDiagnozTitle);
if($resultIsDiagnozTitle['is'] == 0){
$textQueryInsertDiagnoz = "insert into `diagnoz` values(null, '".$titleDiagnoz."')";
if(mysql_query($textQueryInsertDiagnoz, $connect)){
alert("Дані успішно додані");
}
else
alert("Помилка бази даних");
}
else {
alert("В таблиці 'Діагнози' вже існує такий діагноз");
}
}
redirect($_SERVER['HTTP_REFERER']);
}
function updateDiagnoz($connect, $id, $title, $src){
$textQueryIsDiagnozTitle = "select count(*) as `is` from `diagnoz` where UPPER(`title`)=UPPER('".$title."')";
if($queryIsDiagnozTitle = mysql_query($textQueryIsDiagnozTitle, $connect)){
$resultQueryIsDiagnozTitle = mysql_fetch_array($queryIsDiagnozTitle);
if($resultQueryIsDiagnozTitle['is'] == 0){
$textQueryUpdateDiagnoz = 'update `diagnoz` set `title`="'.$title.'" where `id`='.$id;
if(mysql_query($textQueryUpdateDiagnoz, $connect))
alert('Дані успішно змінені');
}
else {
alert('Діагноз з такою назвою вже існує');
}
}
redirect($src);
}
function deleteDiagnoz($connect, $id){
$textQueryDeleteDiagnoz = "delete from `diagnoz` where `id` = ".$id;
if(!mysql_query($textQueryDeleteDiagnoz, $connect)){
alert("Помилка при видаленні з таблиці 'Діагнози'");
}
redirect($_SERVER['HTTP_REFERER']);
}
?>
functionForPatient.php
<?
function is_patient($connect){
$textQueryIsPatient = "select count(`id`) as `is` from `patient`";
if($queryIsPatient = mysql_query($textQueryIsPatient, $connect)){
$resultIsPatient = mysql_fetch_array($queryIsPatient);
if($resultIsPatient['is'] == 0)
return false;
else
return true;
}
}
function patientList($connect){
$textQueryPatientList = "select *, concat( `lastname`, space(1), LEFT(`name` , 1 ) , '. ', LEFT(`father` , 1 ) , '.' ) as `pib` from `patient`";
if($queryPatientList = mysql_query($textQueryPatientList, $connect)){
return $queryPatientList;
}
}
function selectAllInfoPatient($page, $connect){
$start = 0;
$finish = 10;
if($page > 1){
$start = ($page-1)*$finish;
$finish = $page*$finish;
}
$textQueryViewPatient = "SELECT * FROM `patient` LIMIT ".$start." , ".$finish;
if($queryViewPatient = mysql_query($textQueryViewPatient)){
return $queryViewPatient;
}
}
function selectIdInfoPatient($id, $connect){
$textQueryViewPatient = "SELECT * , DAYOFMONTH(`birthday`) as `day`, MONTH(`birthday`) as `month`, YEAR(`birthday`) as `year` FROM `patient` WHERE `id`=".$id;
if($queryViewPatient = mysql_query($textQueryViewPatient)){
return $queryViewPatient;
}
}
function insertPatient($connect, $name, $lastname, $father, $birthday, $address){
$name = upperLowerStr($name);
$lastname = upperLowerStr($lastname);
$father = upperLowerStr($father);
$textQueryInsertPatient = "insert into `patient` values(null, '".$name."', '".$lastname."', '".$father."', '".$birthday."', '".$address."')";
if(mysql_query($textQueryInsertPatient, $connect)){
alert("Дані занесено успішно");
}
else
alert("Помилка при додаванні даних");
redirect($_SERVER['HTTP_REFERER']);
}
function updatePatient($connect, $src, $id, $name, $lastname, $father, $birthday, $address){
$name = upperLowerStr($name);
$lastname = upperLowerStr($lastname);
$father = upperLowerStr($father);
$textQueryUpdatePatient = "UPDATE `patient` SET `name`='".$name."', `lastname`='".$lastname."', `father`='".$father."', `birthday`='".$birthday."', `address`='".$address."' WHERE `id`=".$id;
if(!mysql_query($textQueryUpdatePatient, $connect)){
alert('Помилка при оновленні даних');
}
redirect($src);
}
function deletePatient($connect, $id){
$textQueryDeletePatient = "delete from `patient` where `id` = ".$id;
if(!mysql_query($textQueryDeletePatient, $connect)){
alert("Помилка при видаленні з таблиці 'Пацієнти'");
}
redirect($_SERVER['HTTP_REFERER']);
}
?>
functionForPatient_specialist_diagnoz.php
<?
function patientOfSpecialistAndDiagnoz($connect, $diagnozTitle, $specialistTitle){
$textQueryPatiientFilter = "select `patient`.*, count(*) as `count_patient` from
((`personal` inner join `specialization` on `personal`.`specialization` = `specialization`.`id`)
inner join `result` on `personal`.`id` = `result`.`id_doc` inner join `patient` on `result`.`id_patient`=`patient`.`id`)
where `result`.`id_diagnoz` in (select `diagnoz`.`id` from `diagnoz` where `diagnoz`.`title` = '".$diagnozTitle."') and
`specialization`.`title` = '".$specialistTitle."' group by `result`.`id_patient`";
if($queryPatiientFilter = mysql_query($textQueryPatiientFilter, $connect))
return $queryPatiientFilter;
else
return false;
}
?>
functionForPersonal.php
<?
function is_personal($connect){
$textQueryIsPersonal = "select count(`id`) as `is` from `personal`";
if($queryIsPersonal = mysql_query($textQueryIsPersonal, $connect)){
$resultIsPersonal = mysql_fetch_array($queryIsPersonal);
if($resultIsPersonal['is'] == 0)
return false;
else
return true;
}
}
function personalList($connect){
$textQueryPersonalList = "SELECT `personal` . * , `position`.`title` AS `position_title` , `specialization`.`title` AS `specialization_title` ,
CONCAT( `personal`.`lastname`, space(1), LEFT( `personal`.`name` , 1 ) , '. ', LEFT( `personal`.`father` , 1 ) , '.' ) AS `pib`
FROM ((`personal` INNER JOIN `position` ON `personal`.`position` = `position`.`id`)
INNER JOIN `specialization` ON `personal`.`specialization` = `specialization`.`id`)";
if($queryPersonalList = mysql_query($textQueryPersonalList, $connect)){
return $queryPersonalList;
}
}
function selectAllInfoPersonal($page, $connect){
$start = 0;
$finish = 10;
if($page > 1){
$start = ($page-1)*$finish;
$finish = $page*$finish;
}
$textQueryViewPersonal = "select `personal`.*, `position`.`title` as `position_title`, `specialization`.`title` as `specialization_title`
from ((`personal` inner join `position` on `personal`.`position` = `position`.`id`)
inner join `specialization` on `personal`.`specialization` = `specialization`.`id`) LIMIT ".$start." , ".$finish;
if($queryViewPersonal = mysql_query($textQueryViewPersonal)){
return $queryViewPersonal;
}
}
function selectIdInfoPersonal($id, $connect){
$textQueryViewPersonal = "select `personal`.*, `position`.`title` as `position_title`, `specialization`.`title` as `specialization_title`
from ((`personal` inner join `position` on `personal`.`position` = `position`.`id`)
inner join `specialization` on `personal`.`specialization` = `specialization`.`id`) WHERE `personal`.`id` = ".$id;
if($queryViewPersonal = mysql_query($textQueryViewPersonal)){
return $queryViewPersonal;
}
}
function insertPersonal($connect, $name, $lastname, $father, $position, $specialization){
$name = upperLowerStr($name);
$lastname = upperLowerStr($lastname);
$father = upperLowerStr($father);
$textQueryInsertPersonal = "insert into `personal` values(null, ".$position.",".$specialization.", '".$name."', '".$lastname."', '".$father."')";
if(mysql_query($textQueryInsertPersonal, $connect))
alert("Дані занесено успішно");
else
alert("Помилка при занесенні даних");
redirect($_SERVER['HTTP_REFERER']);
}
function updatePersonal($connect, $src, $id, $name, $lastname, $father, $position, $specialization){
$name = upperLowerStr($name);
$lastname = upperLowerStr($lastname);
$father = upperLowerStr($father);
$textQueryUpdatePersonal = "UPDATE `personal` SET `name`='".$name."', `lastname`='".$lastname."', `father`='".$father."', `position`='".$position."', `specialization`='".$specialization."' WHERE `id`=".$id;
if(!mysql_query($textQueryUpdatePersonal, $connect)){
alert('Помилка при оновленні даних');
}
redirect($src);
}
function deletePersonal($connect, $id){
$textQueryDeletePersonal = "delete from `personal` where `id` = ".$id;
if(!mysql_query($textQueryDeletePersonal, $connect)){
alert("Помилка при видаленні з таблиці 'Персонал'");
}
redirect($_SERVER['HTTP_REFERER']);
}
?>
functionForPosition.php
<?
function is_position($connect){
$textQueryIsPosition = "select count(`id`) as `is` from `position`";
if($queryIsPosition = mysql_query($textQueryIsPosition, $connect)){
$resultIsPosition = mysql_fetch_array($queryIsPosition);
if($resultIsPosition['is'] == 0)
return false;
else
return true;
}
}
function positionList($connect){
$textQueryPositionList = "select * from `position`";
if($queryPositionList = mysql_query($textQueryPositionList, $connect)){
return $queryPositionList;
}
}
function selectAllInfoPosition($page, $connect){
$start = 0;
$finish = 10;
if($page > 1){
$start = ($page-1)*$finish;
$finish = $page*$finish;
}
$textQueryViewPosition = "SELECT * FROM `position` LIMIT ".$start." , ".$finish;
if($queryViewPosition = mysql_query($textQueryViewPosition)){
return $queryViewPosition;
}
}
function selectIdInfoPosition($id, $connect){
$textQueryViewPosition = "SELECT * FROM `position` WHERE `id`=".$id;
if($queryViewPosition = mysql_query($textQueryViewPosition)){
return $queryViewPosition;
}
}
function insertPosition($connect, $titlePosition){
$textQueryIsPositionTitle = "select count(*) as `is` from `position` where UPPER(`title`)=UPPER('".$titlePosition."')";
if($queryIsPositionTitle = mysql_query($textQueryIsPositionTitle, $connect)){
$resultIsPositionTitle = mysql_fetch_array($queryIsPositionTitle);
if($resultIsPositionTitle['is'] == 0){
$textQueryInsertPosition = "insert into `position` values(null, '".$titlePosition."')";
if(mysql_query($textQueryInsertPosition, $connect)){
alert("Дані успішно додані");
}
else
alert("Помилка бази даних");
}
else {
alert("В таблиці 'Посади' вже існує така посада");
}
}
redirect($_SERVER['HTTP_REFERER']);
}
function updatePosition($connect, $id, $title, $src){
$textQueryIsPositionTitle = "select count(*) as `is` from `position` where UPPER(`title`)=UPPER('".$title."')";
if($queryIsPositionTitle = mysql_query($textQueryIsPositionTitle, $connect)){
$resultQueryIsPositionTitle = mysql_fetch_array($queryIsPositionTitle);
if($resultQueryIsPositionTitle['is'] == 0){
$textQueryUpdatePosition = 'update `position` set `title`="'.$title.'" where `id`='.$id;
if(mysql_query($textQueryUpdatePosition, $connect))
alert('Дані успішно змінені');
}
else {
alert('Посада з такою назвою вже існує');
}
}
redirect($src);
}
function deletePosition($connect, $id){
$textQueryDeletePosition = "delete from `position` where `id` = ".$id;
if(!mysql_query($textQueryDeletePosition, $connect)){
alert("Помилка при видаленні з таблиці 'Посади'");
}
redirect($_SERVER['HTTP_REFERER']);
}
?>
functionForResult.php
<?
function is_result($connect){
$textQueryIsResult = "select count(`id`) as `is` from `result`";
if($queryIsResult = mysql_query($textQueryIsResult, $connect)){
$resultIsResult = mysql_fetch_array($queryIsResult);
if($resultIsResult['is'] == 0)
return false;
else
return true;
}
}
function selectAllInfoResult($page, $connect){
$start = 0;
$finish = 10;
if($page > 1){
$start = ($page-1)*$finish;
$finish = $page*$finish;
}
$textQueryViewResult = "SELECT `result`.*,
concat( `patient`.`lastname`, space(1), LEFT(`patient`.`name` , 1 ) , '. ', LEFT(`patient`.`father` , 1 ) , '.' ) as `patient_pib`,
`patient`.`address` as `patient_address`,
CONCAT( `personal`.`lastname`, space(1), LEFT( `personal`.`name` , 1 ) , '. ',
LEFT( `personal`.`father` , 1 ) , '.' ) AS `personal_pib`, `position`.`title` as `position_title`,
`diagnoz`.`title` as `diagnoz_title`
FROM (((`result` inner join `personal` on `result`.`id_doc` = `personal`.`id`
inner join `position` on `personal`.`position` = `position`.`id`)
inner join `patient` on `result`.`id_patient` = `patient`.`id`)
inner join `diagnoz` on `result`.`id_diagnoz` = `diagnoz`.`id`) LIMIT ".$start." , ".$finish;
if($queryViewResult = mysql_query($textQueryViewResult)){
return $queryViewResult;
}
}
function selectIdInfoResult($id, $connect){
$textQueryViewResult = "SELECT `result`.*,
DAYOFMONTH(`in_date`) as `day`, MONTH(`in_date`) as `month`, YEAR(`in_date`) as `year`,
concat( `patient`.`lastname`, space(1), LEFT(`patient`.`name` , 1 ) , '. ', LEFT(`patient`.`father` , 1 ) , '.' ) as `patient_pib`,
`patient`.`address` as `patient_address`,
CONCAT( `personal`.`lastname`, space(1), LEFT( `personal`.`name` , 1 ) , '. ',
LEFT( `personal`.`father` , 1 ) , '.' ) AS `personal_pib`, `position`.`title` as `position_title`,
`diagnoz`.`title` as `diagnoz_title`
FROM (((`result` inner join `personal` on `result`.`id_doc` = `personal`.`id`
inner join `position` on `personal`.`position` = `position`.`id`)
inner join `patient` on `result`.`id_patient` = `patient`.`id`)
inner join `diagnoz` on `result`.`id_diagnoz` = `diagnoz`.`id`)
WHERE `result`.`id` = ".$id;
if($queryViewResult = mysql_query($textQueryViewResult)){
return $queryViewResult;
}
}
function insertResult($connect, $personal, $patient, $diagnoz, $date){
$textQueryInsertResult = "insert into `result` values(null, ".$patient.",".$personal.", '".$date."', ".$diagnoz.")";
if(mysql_query($textQueryInsertResult, $connect))
alert("Дані занесено успішно");
else
alert("Помилка при занесенні даних");
redirect($_SERVER['HTTP_REFERER']);
}
function updateResult($connect, $src, $id, $personal, $patient, $diagnoz, $date){
$textQueryUpdateResult = "UPDATE `result` SET `id_patient`='".$patient."', `id_doc`='".$personal."', `in_date`='".$date."', `id_diagnoz`='".$diagnoz."' WHERE `id`=".$id;
if(!mysql_query($textQueryUpdateResult, $connect)){
alert('Помилка при оновленні даних');
}
redirect($src);
}
function deleteResult($connect, $id){
$textQueryDeleteResult = "delete from `result` where `id` = ".$id;
if(!mysql_query($textQueryDeleteResult, $connect)){
alert("Помилка при видаленні з таблиці 'Результат обстежень'");
}
redirect($_SERVER['HTTP_REFERER']);
}
?>
functionForSpecialization.php
<?
function is_specialization($connect){
$textQueryIsSpecialization = "select count(`id`) as `is` from `specialization`";
if($queryIsSpecialization = mysql_query($textQueryIsSpecialization, $connect)){
$resultIsSpecialization = mysql_fetch_array($queryIsSpecialization);
if($resultIsSpecialization['is'] == 0)
return false;
else
return true;
}
}
function specializationList($connect){
$textQuerySpecializationList = "select * from `specialization`";
if($querySpecializationList = mysql_query($textQuerySpecializationList, $connect)){
return $querySpecializationList;
}
}
function selectAllInfoSpecialization($page, $connect){
$start = 0;
$finish = 10;
if($page > 1){
$start = ($page-1)*$finish;
$finish = $page*$finish;
}
$textQueryViewSpecialization = "SELECT * FROM `specialization` LIMIT ".$start." , ".$finish;
if($queryViewSpecialization = mysql_query($textQueryViewSpecialization)){
return $queryViewSpecialization;
}
}
function selectIdInfoSpecialization($id, $connect){
$textQueryViewSpecialization = "SELECT * FROM `specialization` WHERE `id`=".$id;
if($queryViewSpecialization = mysql_query($textQueryViewSpecialization)){
return $queryViewSpecialization;
}
}
function insertSpecialization($connect, $titleSpecialization){
$textQueryIsSpecializationTitle = "select count(*) as `is` from `specialization` where UPPER(`title`)=UPPER('".$titleSpecialization."')";
if($queryIsSpecializationTitle = mysql_query($textQueryIsSpecializationTitle, $connect)){
$resultIsSpecializationTitle = mysql_fetch_array($queryIsSpecializationTitle);
if($resultIsSpecializationTitle['is'] == 0){
$textQueryInsertSpecialization = "insert into `specialization` values(null, '".$titleSpecialization."')";
if(mysql_query($textQueryInsertSpecialization, $connect)){
alert("Дані успішно додані");
}
else
alert("Помилка бази даних");
}
else {
alert("В таблиці 'Спеціалізація' вже існує така спеціальність");
}
}
redirect($_SERVER['HTTP_REFERER']);
}
function updateSpecialization($connect, $id, $title, $src){
$textQueryIsSpecializationTitle = "select count(*) as `is` from `specialization` where UPPER(`title`)=UPPER('".$title."')";
if($queryIsSpecializationTitle = mysql_query($textQueryIsSpecializationTitle, $connect)){
$resultQueryIsSpecializationTitle = mysql_fetch_array($queryIsSpecializationTitle);
if($resultQueryIsSpecializationTitle['is'] == 0){
$textQueryUpdateSpecialization = 'update `specialization` set `title`="'.$title.'" where `id`='.$id;
if(mysql_query($textQueryUpdateSpecialization, $connect))
alert('Дані успішно змінені');
}
else {
alert('спеціальність з такою назвою вже існує');
}
}
redirect($src);
}
function deleteSpecialization($connect, $id){
$textQueryDeleteSpecialization = "delete from `specialization` where `id` = ".$id;
if(!mysql_query($textQueryDeleteSpecialization, $connect)){
alert("Помилка при видаленні з таблиці 'Спеціалізація'");
}
redirect($_SERVER['HTTP_REFERER']);
}
?>
Размещено на Allbest.ru
Подобные документы
Вибір методів та засобів створення інформаційної системи для обліку і перегляду продукції на складі. Розробка моделі даних для реляційної бази даних, прикладного програмного забезпечення. Тестування програмного додатку, виявлення можливих проблем.
курсовая работа [1,1 M], добавлен 22.09.2015Розробка автоматизованої бази даних реєстратури в поліклініці для ведення обліку лікарів та пацієнтів, а також зберігання та отримання якісної структурованої, та доступної інформації про них за допомогою виконання певних запитів в середовищі MySQL.
курсовая работа [1,5 M], добавлен 03.11.2011Комп'ютерні інформаційні системи. Характеристика автоматизованої системи обробки економічної інформації на підприємстві. Технологічний процес обробки інформації конкретної задачі в системі. Впровадження в дію автоматизації бухгалтерського обліку.
контрольная работа [25,1 K], добавлен 26.07.2009Оцінка необхідності створення на сучасному підприємстві автоматизованої інформаційної системи та її значення в процесі управління. Етапи розробки структури бази даних, зміст, призначення. Операційна інформація з обліку фінансово-розрахункових операцій.
контрольная работа [29,4 K], добавлен 06.10.2010Розроблення та створення автоматизованої інформаційно-довідкової системи обліку проданих квитків на авіарейси. Обробка баз даних СКБД Access. Розробка зручного діалогового інтерфейсу у вигляді меню користувача, яке реалізоване через керуючу форму.
курсовая работа [56,9 K], добавлен 16.04.2011Процес і результати проектування автоматизованої системи "Облік паспортних даних", призначеної для автоматизації обліку паспортних даних. Обґрунтування вибору методів та засобів обробки даних. Створення зручного графічного інтерфейсу користувача.
курсовая работа [1,8 M], добавлен 23.09.2010Медична інформаційно-аналітична система "Емсімед". Аналіз програмних, апаратних засобів. Архітектурне проектування автоматизованої системи обліку медичних інструментів. Опис структурної та логічної схеми. Вибір мови програмування, керівництво користувача.
дипломная работа [2,9 M], добавлен 26.07.2013Організована структура, призначена для зберігання інформації. Системи управління базами даних. Зберігання та пошук інформації про можливості використання ресурсів психологічних тестів мережі Internet. Створення об'єктів бази даних та запити до них.
курсовая работа [3,1 M], добавлен 21.10.2012Області застосування і реалізації інформаційних систем, вимоги до них. Призначення та класифікація систем управління базами даних. Основні достоїнства мови SQL. Програмний код додатку. Створення база даних "Мебельний магазин". Лістинг даної програми.
курсовая работа [747,0 K], добавлен 19.04.2015Основні мови програмування для системи сенсорного терміналу для відображення інформації про розклад студентам. Аналіз баз даних для системи відображення інформації. Рекомендації по використанню програмного забезпечення адміністратору та користувачеві.
дипломная работа [1,0 M], добавлен 02.09.2014