вівторок, 26 травня 2020 р.

МІС "Гіппократ" - бути!

Гіппократ

Привіт усім читачам мого програмістського блоґу!
Вже понад місяць часу не доходили в мене руки до нових дописів, але змін за цей час відбулось чимало.
Сама головна подія - я подав заявку на розробку в Електронну систему охорони здоров'я (ЕСОЗ) і отимав доступ до тестової бази даних Міністерства охорони здоров'я! А це означає лише одне - проект "Гіппократ" починає втілюватись в життя, і це не може не радувати! Звісно, є дуже багато технічних моментів, над якими потрібно буде задуматись в процесі реалізації, але сам факт доступу до додаткових ресурсів при розробці такого об'ємного проекту вже додає оптимізму.
Оскільки я був досить сильно завантажений іншою роботою, пов'язаною зі своїми посадовими обов'язками, часу на розробку в мене майже не було. Проте, використовуючи отримані ідентифікатори доступу, я зміг отримати з тестової бази довідники в форматі JSON, які тепер можна імпортувати у власну БД, оскільки я не вважаю за потрібне щоразу завантажувати їх з Центральної БД, створюючи цим додаткове навантаження на сервери ЕСОЗ. Ці довідники змінюються досить рідко, а тому варто оновлювати їх у власній БД лише при внесенні змін в ЦБД.
Заодно було трохи переосмислено зі структурою БД "Гіппократа" на власному сервері. Зваживши усі "за" і "проти", було прийнято рішення скоротити систему логування, оскільки для більшості таблиць просто немає сенсу вести логи. Логуватись будуть лише важливі зміни даних, які будуть записуватись безпосередньо в саму БД в спеціальну таблицю. Відповдні зміни будуть зроблені в адмінці.
Також я обдумав, як мені реалізувати інтерфейс користувача та авторизацію - для цього буде використовуватись власний локальний веб-сервер. Основна ідея полягає в тому, що при запуску інтерфейсу користувача запускається локальний веб-сервер, який при зверненні до нього через браузер буде генерувати сторінку входу користувача, де потрібно ввести адресу електронної пошти і натиснути кнопку "Авторизуватись". Після цього веб-сервер перевіряє, чи така пошта є зареєстрована в БД "Гіппократа" і визначає, чи потрібно авторизувати користувача через систему eHealth (для лікарів), чи просто запитує пароль користувача і перевіряє хеш пароля в БД. Авторизувати через eHealth є смисл лише тих користувачів, які мають право вносити інформацію в ЦБД (заключати декларації, виписувати рецепти та направлення тощо). Відповідно, реєстрація користувачів в програмі теж відбувається в залежності від того, чи потрібно користувача реєструвати в ЕСОЗ. Наприклад, запис на прийом відбувається лише в БД "Гіппократа" і реєстратура  не вносить ніяких змін в ЦБД, тому їх реєструвати в ЕСОЗ немає необхідності.
Ще одна, на мій розсуд, непогана думка - реалізувати чат-боти для мессенджерів Telegram та Discord, які дозволять пацієнтам самим записуватись на прийом до обраного лікаря на потрібну дату та час. Яка ваша думка на цей рахунок, чи потрібно такий функціонал?
До речі, вже закінчую модуль "Реєстратура", який дозволяє вносити інформацію про графіки прийому лікарів, вихідні дні та записувати пацієнтів на прийом. Лишилось дописати коректне відображення запису на екрані та організувати правильні запити до БД на виборку даних.
Так що продовжую і далі розробляти функціонал, поступово втілюючи проект "Гіппократ" до життя!

Реставрація ну ду-у-уже староко комп'ютера. Чи можливе нове життя?

  Минулого року мені дістався дуже старий комп'ютер, якому понад 20 років. На відео я зробив перше включення і огляд нутрощів цього &quo...