Атестаційні завдання K2 ERP/Медичний заклад
Атестаційне завдання K2 ERP — Медичний заклад — це практична задача для перевірки навичок розробника або впроваджувача K2 ERP у створенні модуля обліку пацієнтів, лікарів, медичних послуг, розкладу прийомів, електронних медичних карток, медичних записів, результатів обстежень, оплат, документів і звітності.
Модуль має забезпечувати повний цикл роботи медичного центру: пацієнт → запис на прийом → лікар → послуга → медичний запис → призначення або висновок → рахунок → оплата → документ → звіт.
Коротко. Потрібно реалізувати модуль медичного закладу: пацієнти, лікарі, спеціалізації, послуги, розклад, прийоми, електронні картки, медичні записи, результати обстежень, документи, оплати, кабінет лікаря, кабінет пацієнта, нагадування, звіти й AJAX-інтерактив.
Назва завдання
Модуль обліку пацієнтів, медичних записів, лікарів, послуг і оплат для медичного закладу.
Мета завдання
Мета завдання — створити в K2 ERP модуль для автоматизації роботи медичного центру, клініки, діагностичного кабінету, лабораторії або приватної медичної практики.
Система повинна дозволяти:
- вести базу пацієнтів;
- створювати електронні медичні картки;
- вести лікарів;
- вести спеціалізації лікарів;
- вести медичні послуги;
- планувати розклад прийомів;
- записувати пацієнтів на прийом;
- фіксувати статуси прийомів;
- вести медичні записи під час прийому;
- прикріплювати результати аналізів, обстежень і файли;
- формувати медичні висновки;
- формувати направлення;
- формувати рецепти або рекомендації у PDF;
- створювати рахунки за послуги;
- фіксувати повну або часткову оплату;
- бачити борги пацієнтів;
- надсилати нагадування про прийоми;
- вести кабінет лікаря;
- вести кабінет пацієнта, якщо потрібно;
- формувати звіти по прийомах, лікарях, послугах, оплатах і завантаженості.
Головний принцип. Лікар має швидко бачити історію пацієнта, адміністратор — розклад і оплати, а пацієнт — свої записи, результати й документи.
Реальний бізнес-контекст
Медичний центр приймає пацієнтів на консультації, діагностику, лабораторні аналізи, процедури або лікування.
Типові напрями роботи медичного закладу:
- консультації лікарів;
- діагностика;
- лабораторні аналізи;
- УЗД;
- МРТ;
- стоматологія;
- терапія;
- педіатрія;
- кардіологія;
- дерматологія;
- гінекологія;
- фізіотерапія;
- профілактичні огляди;
- медичні довідки.
Заклад повинен:
- швидко реєструвати пацієнтів;
- планувати прийоми;
- уникати накладок у графіку лікарів;
- зберігати історію звернень;
- формувати документи;
- контролювати оплати;
- забезпечувати конфіденційність медичних даних.
Основний бізнес-процес
Типовий процес роботи медичного закладу виглядає так:
- адміністратор створює або знаходить пацієнта;
- обирає лікаря або послугу;
- записує пацієнта на прийом;
- система перевіряє доступний час у розкладі;
- пацієнт приходить на прийом;
- лікар відкриває електронну картку;
- лікар створює медичний запис;
- додає висновок, рекомендації або направлення;
- прикріплює результати обстежень, якщо є;
- система формує рахунок за послугу;
- пацієнт оплачує повністю або частково;
- формується медичний документ або PDF-висновок;
- адміністратор формує звіти по прийомах, оплатах і лікарях.
Основні об’єкти модуля
| Об’єкт | Призначення |
|---|---|
| Пацієнти | База людей, які звертаються до закладу |
| Медичні картки | Основна історія пацієнта |
| Лікарі | Спеціалісти, які проводять прийоми |
| Спеціалізації | Напрями роботи лікарів |
| Медичні послуги | Консультації, аналізи, діагностика, процедури |
| Розклад | Графік прийому лікарів |
| Прийоми | Записи пацієнтів на конкретний час |
| Медичні записи | Дані, створені лікарем під час прийому |
| Результати обстежень | Файли, аналізи, висновки, зображення |
| Документи | Рецепти, висновки, направлення, довідки |
| Рахунки | Нарахування за послуги |
| Оплати | Фактичні платежі пацієнтів |
| Кабінети | Особистий кабінет лікаря або пацієнта |
| Звіти | Аналітика роботи медичного закладу |
Довідник «Спеціалізації»
Спеціалізації потрібні для групування лікарів і послуг.
Приклади спеціалізацій
- терапія;
- педіатрія;
- кардіологія;
- неврологія;
- дерматологія;
- стоматологія;
- гінекологія;
- хірургія;
- УЗД;
- лабораторна діагностика;
- фізіотерапія;
- сімейна медицина.
Поля спеціалізації
| Поле | Опис |
|---|---|
| Назва спеціалізації | Наприклад: Терапія, Кардіологія, УЗД |
| Опис | Коротке пояснення |
| Статус | Активна або архівна |
Довідник «Лікарі»
Лікарі проводять прийоми, створюють медичні записи і формують висновки.
Поля лікаря
| Поле | Опис |
|---|---|
| ПІБ | Повне ім’я лікаря |
| Спеціалізація | Напрям роботи лікаря |
| Телефон | Контактний номер |
| Електронна адреса | |
| Кабінет | Номер кабінету або місце прийому |
| Графік прийому | Дні й години прийому |
| Тривалість стандартного прийому | Наприклад: 15, 30 або 60 хвилин |
| Сертифікати і ліцензії | Опціонально |
| Фото | Опціонально |
| Статус | Активний, у відпустці, не працює, архівний |
Довідник «Медичні послуги»
Послуга — це те, що медичний заклад надає пацієнту.
Приклади послуг
- консультація терапевта;
- консультація кардіолога;
- повторна консультація;
- УЗД;
- МРТ;
- ЕКГ;
- аналіз крові;
- аналіз сечі;
- медична довідка;
- процедура;
- вакцинація;
- стоматологічна послуга.
Поля медичної послуги
| Поле | Опис |
|---|---|
| Назва послуги | Назва для прайсу і запису |
| Категорія послуг | Консультації, діагностика, лабораторія, процедури |
| Спеціалізація | До якого напряму належить |
| Вартість | Стандартна ціна |
| Тривалість | Тривалість прийому або процедури |
| Потрібен лікар | Так або ні |
| Потрібен кабінет | Так або ні |
| Статус | Активна або архівна |
База «Пацієнти»
Пацієнти — центральний об’єкт модуля.
Поля пацієнта
| Поле | Опис |
|---|---|
| ПІБ | Повне ім’я пацієнта |
| Дата народження | Для віку та ідентифікації |
| Стать | За потреби |
| Телефон | Основний контакт |
| Для повідомлень і кабінету | |
| Адреса | Опціонально |
| Номер медичної картки | Унікальний номер |
| Група крові | Опціонально |
| Алергії | Важлива медична примітка |
| Хронічні захворювання | Опціонально |
| Контактна особа | Для екстреного зв’язку, якщо потрібно |
| Статус | Активний, архівний, закритий |
Електронна медична картка
Електронна медична картка зберігає історію звернень пацієнта.
У картці потрібно бачити
- загальні дані пацієнта;
- історію прийомів;
- діагностичні записи;
- прикріплені файли;
- висновки лікарів;
- направлення;
- рецепти або рекомендації;
- рахунки й оплати;
- нагадування;
- важливі примітки.
Критично. Медична картка містить конфіденційні персональні та медичні дані. Доступ до неї має бути обмежений ролями й правами користувачів.
База «Прийоми і обстеження»
Прийом — це запис пацієнта до лікаря або на медичну послугу.
Колонки журналу прийомів
| Колонка | Опис |
|---|---|
| Пацієнт | Хто записаний |
| Лікар | Хто приймає |
| Послуга | Яка послуга надається |
| Дата і час | Коли відбувається прийом |
| Кабінет | Де прийом |
| Статус | Заплановано, завершено, скасовано, не прийшов |
| Оплата | Статус оплати |
Поля прийому
| Поле | Опис |
|---|---|
| Пацієнт | Кому надається послуга |
| Лікар | Хто проводить прийом |
| Послуга | Що надається |
| Дата прийому | Дата |
| Час початку | Початок прийому |
| Час завершення | Кінець прийому |
| Кабінет | Місце прийому |
| Статус | Поточний стан прийому |
| Коментар адміністратора | Службова примітка |
Статуси прийому
| Статус | Значення |
|---|---|
| Заплановано | Пацієнта записано |
| Підтверджено | Пацієнт підтвердив візит |
| Очікує | Пацієнт прийшов і очікує |
| На прийомі | Прийом триває |
| Завершено | Прийом завершено |
| Скасовано | Прийом скасовано |
| Не прийшов | Пацієнт не з’явився |
Розклад лікарів
Розклад потрібен для планування прийомів без накладок.
У розкладі потрібно бачити
- лікаря;
- дату;
- час прийому;
- кабінет;
- вільні слоти;
- зайняті слоти;
- скасовані записи;
- перерви;
- відпустки або лікарняні лікаря.
Медичний запис прийому
Медичний запис створюється лікарем під час або після прийому.
Поля медичного запису
| Поле | Опис |
|---|---|
| Пацієнт | До кого належить запис |
| Прийом | До якого прийому прив’язаний запис |
| Лікар | Хто створив запис |
| Дата | Дата запису |
| Скарги | Короткий опис зі слів пацієнта |
| Огляд | Опис огляду |
| Попередній висновок | Медичний висновок лікаря |
| Рекомендації | Подальші дії або поради |
| Призначення | Призначені процедури або обстеження |
| Коментар | Службові нотатки |
Результати обстежень і файли
До прийому або картки пацієнта можна прикріплювати файли.
Типи файлів
- результати аналізів;
- зображення;
- PDF-висновки;
- скани документів;
- результати УЗД;
- результати МРТ;
- лабораторні протоколи;
- направлення;
- медичні довідки.
Поля файлу
| Поле | Опис |
|---|---|
| Пацієнт | До кого належить файл |
| Прийом | До якого прийому прив’язаний файл |
| Тип файлу | Аналіз, висновок, зображення, документ |
| Назва | Назва документа або результату |
| Файл | Завантажений файл |
| Дата завантаження | Коли додано |
| Автор | Хто додав |
| Коментар | Примітка |
Медичні документи
Система має формувати документи у PDF.
Приклади документів
- медичний висновок;
- направлення на обстеження;
- направлення до іншого спеціаліста;
- рецепт або рекомендації;
- довідка;
- результати прийому;
- рахунок на оплату;
- акт наданих послуг.
Поля документа
| Поле | Опис |
|---|---|
| Тип документа | Висновок, направлення, рецепт, довідка |
| Пацієнт | Для кого сформовано |
| Лікар | Хто сформував |
| Прийом | До якого прийому належить |
| Дата | Коли сформовано |
| PDF-файл | Згенерований документ |
| Статус | Чернетка, сформовано, видано, скасовано |
Фінанси і оплати
Модуль має підтримувати фінансовий облік медичних послуг.
Варіанти оплати
- повна оплата;
- часткова оплата;
- передоплата;
- оплата після прийому;
- оплата пакета послуг;
- страхова оплата, опціонально;
- корпоративна оплата, опціонально.
Поля рахунку
| Поле | Опис |
|---|---|
| Номер рахунку | Унікальний номер |
| Пацієнт | Кому виставлено |
| Прийом | До якого прийому прив’язано |
| Послуги | Перелік послуг |
| Сума | Загальна сума |
| Оплачено | Скільки сплачено |
| Борг | Залишок до оплати |
| Статус | Очікує оплату, частково оплачено, оплачено, скасовано |
Способи оплати
- готівка;
- банківська картка;
- банківський переказ;
- онлайн-оплата;
- страхова компанія, опціонально.
Кабінет лікаря
Кабінет лікаря потрібен для щоденної роботи.
Лікар у кабінеті бачить
- прийоми на сьогодні;
- прийоми за період;
- картки своїх пацієнтів;
- історію попередніх прийомів;
- результати обстежень;
- форму медичного запису;
- можливість сформувати висновок;
- можливість додати рекомендації;
- завдання або нагадування по повторних прийомах.
Кабінет пацієнта
Кабінет пацієнта є опціональним, але бажаним.
Пацієнт у кабінеті бачить
- майбутні прийоми;
- історію візитів;
- свої документи;
- результати обстежень;
- рахунки;
- статуси оплат;
- рекомендації лікаря;
- можливість записатися на прийом, якщо реалізовано.
Сповіщення
Система має надсилати або показувати нагадування.
Події для сповіщень
- пацієнта записано на прийом;
- прийом підтверджено;
- прийом завтра;
- прийом сьогодні;
- прийом скасовано;
- лікар змінив графік;
- сформовано медичний висновок;
- додано результат обстеження;
- рахунок очікує оплату;
- оплата пройшла успішно;
- потрібен повторний прийом.
Захист персональних і медичних даних
Модуль повинен обмежувати доступ до медичної інформації.
Вимоги до безпеки
- рольовий доступ;
- обмеження перегляду медичних карток;
- логування відкриття картки;
- логування редагування медичного запису;
- заборона доступу до чужих пацієнтів без прав;
- обмеження експорту медичних даних;
- журнал дій користувачів;
- захист файлів результатів обстежень;
- окремі права для адміністратора, лікаря, бухгалтера і пацієнта.
Звіти
Звіт «Прийоми за період»
У звіті потрібно відображати:
- дату;
- пацієнта;
- лікаря;
- послугу;
- статус прийому;
- статус оплати.
Звіт «Завантаженість лікарів»
У звіті потрібно відображати:
- лікаря;
- кількість прийомів;
- кількість завершених прийомів;
- кількість скасованих прийомів;
- загальний час прийому;
- дохід по лікарю.
Звіт «Фінансові надходження»
У звіті потрібно відображати:
- дату;
- пацієнта;
- послугу;
- рахунок;
- суму;
- оплачено;
- борг;
- спосіб оплати.
Звіт «Популярні послуги»
У звіті потрібно відображати:
- послугу;
- кількість надань;
- загальну суму;
- частку в доході.
Звіт «Пацієнти і повторні візити»
У звіті потрібно відображати:
- пацієнта;
- кількість візитів;
- останній прийом;
- лікаря;
- рекомендовану дату повторного прийому, якщо є.
Звіт «Борги пацієнтів»
У звіті потрібно відображати:
- пацієнта;
- рахунок;
- суму;
- оплачено;
- борг;
- кількість днів прострочення, якщо застосовується.
AJAX-інтерактив
Інтерфейс має працювати швидко й без перезавантаження сторінок.
Через AJAX мають працювати:
- пошук пацієнтів;
- створення пацієнта;
- пошук лікарів;
- пошук послуг;
- запис на прийом;
- перевірка вільного часу;
- зміна статусу прийому;
- створення медичного запису;
- прикріплення файлів;
- формування рахунку;
- фіксація оплати;
- фільтрація звітів;
- оновлення календаря прийомів.
Логування змін
Модуль повинен фіксувати важливі дії.
Журнал змін має зберігати:
- хто створив пацієнта;
- хто відкрив медичну картку;
- хто змінив дані пацієнта;
- хто створив прийом;
- хто скасував прийом;
- хто створив медичний запис;
- хто змінив медичний запис;
- хто додав файл;
- хто сформував документ;
- хто виставив рахунок;
- хто зафіксував оплату;
- хто експортував звіт;
- дату й час дії;
- старе та нове значення, якщо це можливо.
Права доступу
Модуль має підтримувати рольову модель.
| Роль | Можливості |
|---|---|
| Адміністратор реєстратури | Створює пацієнтів, записує на прийом, змінює розклад, бачить базові дані |
| Лікар | Бачить свої прийоми, медичні картки пацієнтів, створює медичні записи і документи |
| Старший лікар | Має розширений перегляд медичних записів і звітів |
| Лаборант | Додає результати аналізів або обстежень |
| Бухгалтер / касир | Створює рахунки, фіксує оплати, бачить фінансові звіти без зайвих медичних деталей |
| Пацієнт | Переглядає власні прийоми, документи, рахунки й результати, якщо кабінет реалізовано |
| Адміністратор системи | Налаштовує довідники, права, шаблони документів і службові параметри |
Технічні вимоги
| Параметр | Опис |
|---|---|
| Бекенд | K2 Cloud ERP на Python або PHP |
| База даних | PostgreSQL або MySQL |
| Фронтенд | HTML5, JavaScript |
| AJAX | Fetch API або Axios |
| UI-компоненти | DataTables для пацієнтів, прийомів і послуг; Select2 для вибору лікарів, пацієнтів і послуг |
| Календар | FullCalendar для розкладу прийомів |
| Файли | Завантаження результатів аналізів, обстежень, PDF-документів і зображень |
| Друк | PDF-висновки, направлення, рецепти, довідки, рахунки |
| Експорт | Excel або PDF для звітів |
| Безпека | Рольовий доступ, журнал дій, обмеження доступу до медичних даних |
Рекомендовані сутності бази даних
Для реалізації задачі доцільно передбачити такі сутності:
- пацієнти;
- медичні картки;
- лікарі;
- спеціалізації;
- медичні послуги;
- розклад лікарів;
- кабінети;
- прийоми;
- медичні записи;
- файли обстежень;
- медичні документи;
- рахунки;
- позиції рахунків;
- оплати;
- сповіщення;
- журнал змін;
- права доступу;
- звіти.
Практичне завдання
У межах атестації потрібно продемонструвати робочий сценарій.
Мінімальний сценарій:
- створити спеціалізацію;
- створити лікаря;
- створити медичну послугу;
- створити пацієнта;
- створити електронну медичну картку;
- налаштувати графік прийому лікаря;
- записати пацієнта на прийом;
- перевірити відображення прийому в календарі;
- змінити статус прийому на «На прийомі»;
- створити медичний запис;
- додати рекомендації або висновок;
- прикріпити файл результату обстеження;
- завершити прийом;
- сформувати рахунок;
- зафіксувати часткову оплату;
- перевірити борг;
- зафіксувати повну оплату;
- сформувати PDF-висновок;
- сформувати звіт прийомів за період;
- сформувати фінансовий звіт;
- перевірити журнал змін і права доступу.
Критерії оцінювання
| Критерій | Бали | Що перевіряється |
|---|---|---|
| Реалізація бази пацієнтів, лікарів і послуг | 20 | Пацієнти, медичні картки, лікарі, спеціалізації, послуги, графіки |
| Управління прийомами і медичними записами | 20 | Запис на прийом, календар, статуси прийомів, медичні записи, файли обстежень |
| Фінансовий облік оплат | 20 | Рахунки, послуги, часткові оплати, повні оплати, борги, фінансові звіти |
| Генерація документів і інтеграція нагадувань | 20 | PDF-висновки, направлення, рецепти, нагадування про прийоми і повторні візити |
| Інтерактивність через AJAX і зручність використання | 20 | AJAX-пошук, швидкий запис, календар, кабінет лікаря, кабінет пацієнта, фільтри |
| Разом | 100 | Максимальна оцінка |
Шкала оцінювання
| Бали | Рівень | Опис |
|---|---|---|
| 90–100 | Відмінно | Модуль повністю працює: пацієнти, лікарі, послуги, розклад, прийоми, медичні записи, документи, оплати, кабінети й звіти реалізовані коректно |
| 75–89 | Добре | Основна логіка працює, є незначні недоліки, які не руйнують процес роботи медичного закладу |
| 60–74 | Зараховано | Базовий сценарій працює, але частина функцій реалізована неповно або потребує доопрацювання |
| 0–59 | Не зараховано | Відсутня критична логіка: пацієнти, лікарі, прийоми, медичні записи, оплати або документи |
Критичні помилки
Критичними помилками вважаються ситуації, коли:
- неможливо створити пацієнта;
- неможливо створити лікаря;
- неможливо створити медичну послугу;
- неможливо записати пацієнта на прийом;
- прийом не прив’язується до пацієнта;
- прийом не прив’язується до лікаря;
- система допускає накладку прийомів у одного лікаря без попередження;
- неможливо створити медичний запис;
- медичний запис не прив’язується до прийому;
- неможливо прикріпити файл обстеження;
- неможливо сформувати рахунок;
- оплата не змінює борг;
- PDF-документ не формується;
- користувач без прав бачить медичну картку;
- звіти не відповідають фактичним прийомам і оплатам;
- зміни медичних записів, прийомів і оплат не логуються.
Умова складання. Завдання не може бути зараховане, якщо система не дозволяє пройти базовий цикл медичного закладу: пацієнт → лікар → послуга → прийом → медичний запис → документ → рахунок → оплата → звіт.
Очікуваний результат
У результаті виконання атестаційного завдання має бути створений модуль медичного закладу в K2 ERP.
Модуль має підтримувати пацієнтів, електронні медичні картки, лікарів, спеціалізації, медичні послуги, розклад, прийоми, медичні записи, файли обстежень, медичні документи, рахунки, оплати, нагадування, кабінет лікаря, кабінет пацієнта, звіти, AJAX-інтерактив, журнал змін і рольовий доступ до медичних даних.
Примітка
ERP для медичного закладу є критично важливою для швидкого доступу до інформації, організації розкладу, контролю оплат, безпеки медичних даних і підвищення якості обслуговування пацієнтів.
Автоматизація допомагає лікарям менше часу витрачати на паперову роботу, а адміністраторам — швидше керувати записами, оплатами і документами.
Коротко
| Питання | Відповідь |
|---|---|
| Що потрібно створити? | Модуль обліку медичного закладу |
| Які довідники потрібні? | Пацієнти, лікарі, спеціалізації, послуги, кабінети |
| Який головний процес? | Запис пацієнта на прийом, медичний запис, рахунок і оплата |
| Що потрібно контролювати? | Розклад, прийоми, медичні записи, файли, оплати, права доступу |
| Які документи потрібні? | Медичні висновки, направлення, рецепти, довідки, рахунки |
| Які звіти потрібні? | Прийоми, завантаженість лікарів, фінанси, популярні послуги, борги |
| Що є критичною вимогою? | Медична картка має бути доступна тільки користувачам із відповідними правами |
| Що бажано додати? | Кабінет лікаря, кабінет пацієнта, нагадування, PDF-документи, журнал дій |