Инфологическая модель.
Опис предметної області.
З самого початку існування людства на Землі його нагальним завданням було збереження життя. Людину завжди і всюди підстерігали хвороби, іноді жахливі і таємничі, за якими переховувався невблаганний ворог - смерть. Чи не тому споконвіку люди цікавилися хворобами, шукали способи позбавлення від них.
Коли вдалося прочитати єгипетські папіруси, перед нами виникла картина рівня знань за дві тисячі років до нашої ери. Єгиптяни знали вже близько 250 хвороб, які розпізнавали за кольором шкіри, виразу обличчя, по виду людських відходів і шляхом обмацування тіла хворого.
Найбільш небезпечними є психічні захворювання, тому що вони з великими труднощами піддаються лікуванню, якщо взагалі лікуються. Наша база даних буде використовуватися для зберігання і обробки інформації, яка потрібна для типової психіатричної лікарні. У ній повинні міститися відомості про які працюють або працювали співробітників, про поточні та вилікуваних пацієнтів, про що проходить або пройдений ними лікуванні, про хвороби і ліки. Також в базі повинна міститися інформація, що дозволяє зв'язати хвороби з відповідними лекарстсвамі. Дані про хвороби \ розладах були взяті з МКБ-10 (Міжнародна Класифікація Хвороб).
Що повинно вміти робити додаток?
- Додаток має вміти надавати інформацію, що знаходиться в таблицях, а також дозволяти модифікувати її (в зручному для користувача вигляді).
- Повинно бути як мінімум 2 режиму роботи - адміністративний і призначений для користувача.
- Повинна бути передбачена аутентифікація користувачів.
- Повинна бути передбачена можливість розгортання з мінімальною кількістю дій
Особливості реалізації.
Керівництво.
Вікно налаштувань з'єднання - дозволяє вказати IP / domain сервера (Oracle). порт і instance. З'являється при відсутності інформації про сервер (коли відсутній файл server.cfg)
2 види - перший без вимога public пароля, друге з вимогою. Перше використовується при розгортці і відсутності server.cfg, друге у всіх інших випадках. Другий вид дозволяє заодно перевірити з'єднання по натисканні Ok (Connect: MENTAL_HOSPITAL_PUBLIC / public_password). Початковий connect йде через MENTAL_HOSPITAL_PUBLIC логін \ пароль (пароль згодом у зашифрованому вигляді лежить в server.cfg). Є доступ тільки з ф-ії TryToLogin яка повертає логін і пароль для
MENTAL_HOSPITAL_ADMIN або MENTAL_HOSPITAL_USER в залежності від того, хто співробітник (поле AdministerOptions в таблиці СПІВРОБІТНИК) або повертає рандомний пароль для конекту до бази - якщо користувача з зазначеним логіном і паролем немає.
Налаштування співробітників. Доступно тільки адміністратору. Дозволяє вручну налаштувати всі дані про працюючому співробітника, крім дати пристрої \ звільнення - вони автоматично прописуються додатком (якщо треба поміняти - sqldeveloper в допомогу). Звідси ж можемо звільнити \ відновити співробітника, або змінити йому облікові дані - логін і пароль.
Додавання нового співробітника.
Зміна пароля співробітником. (Процедура на сервері вимагає в якості параметра старий пароль щоб співробітник-зловмисник (Морф) не зміг змінювати чужі паролі).
Налаштування списку всіх посад. При видаленні запис фізично не видаляється а виставляється 1 в колонці WAS_REMOVED і запис не відображається в цьому списку. Зроблено потім, щоб п'яний адмін часом не закрошіл базу шляхом видалення зв анних записів. Така ж річНалаштування відповідності ліків і захворювань.
Створення нових ліків \ хвороб.
Власне, про прграмме + деякі властивості оточення.
Основне вікно. Список хворих, з якими можна робити різні дії. Можна переглядати як поточних, так і колишніх на лікуванні.
Можна додати нового співробітника.... а можна покарати.
Можна лікувати. Ліки вибирається зі списку ліків, які лікують поточне захворювання.
Можна подивитися інформацію про пацієнта.
Приклади UI.
public partial class CustomizedImage. Panel