Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
курсовий_КПЗ.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.3 Mб
Скачать

ВСТУП

В сучасному світі все прямує до автоматизації і спрощення. Автоматизація поступово захоплює різні сфери життя і якщо раніше намагалися автоматизувати і спростити якісь надтяжкі задачі, які значно полегшувалися після автоматизації, то зараз, коли найважливіші проблеми автоматизації знайшли рішення, прогрес взявся за автоматизацію повсякденних справ. Для підвищення рівня керованості бізнес-процесів, об’єктивного аналізу ефективності роботи підприємства потрібна системна автоматизація. Будь-який вид діяльності передбачає певну послідовність операцій. Саме від правильного виконання процедури залежить в остаточному підсумку результат роботи. Це однаковою мірою важливо для всіх ланок підприємства, від виробничої ділянки до бухгалтерської служби.

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

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

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-додатку головної сторінки(та послідовних сторінок системи)