Перейти до вмісту

Атестаційні завдання K2 ERP/Лабораторія: відмінності між версіями

Матеріал з K2 ERP Wiki Ukraine — База знань з автоматизації та санкцій в Україні
Створена сторінка: = Модуль обліку лабораторних аналізів і результатів досліджень = == Реальний бізнес-контекст == Лабораторія проводить дослідження зразків: харчові продукти, вода, кров, будматеріали тощо. Необхідно: * реєструвати зразки на дослідження; * призначати те...
 
Немає опису редагування
 
Рядок 1: Рядок 1:
= Модуль обліку лабораторних аналізів і результатів досліджень =
{{DISPLAYTITLE:Атестаційні завдання K2 ERP/Лабораторія}}
 
'''Атестаційне завдання K2 ERP — Лабораторія''' — це практична задача для перевірки навичок розробника або впроваджувача [[K2 ERP]] у створенні модуля обліку лабораторних зразків, тестів, методик, результатів досліджень, нормативних значень, лабораторних протоколів і контролю строків виконання.
 
Модуль має забезпечувати повний цикл лабораторної роботи: прийом зразка, призначення досліджень, внесення результатів, автоматичну оцінку відповідності нормам, формування протоколу, підписання результатів і видачу документа замовнику.
 
<div style="border:3px solid #1565c0; background:#e3f2fd; padding:14px; margin:16px 0;">
'''Коротко.''' Потрібно реалізувати модуль лабораторії, який дозволяє реєструвати зразки, призначати тести, вводити результати, порівнювати їх із нормативами, визначати відповідність, формувати PDF-протоколи та контролювати строки виконання досліджень.
</div>
 
__TOC__
 
== Назва завдання ==
 
'''Модуль обліку лабораторних аналізів і результатів досліджень'''.
 
== Мета завдання ==
 
Мета завдання — створити в K2 ERP модуль для автоматизації лабораторного обліку.
 
Система повинна дозволяти:
 
* вести довідник типів зразків;
* вести довідник тестів і методик;
* реєструвати зразки на дослідження;
* вказувати замовника дослідження;
* призначати один або кілька тестів для зразка;
* задавати нормативні значення;
* вводити фактичні результати аналізів;
* автоматично визначати відповідність нормам;
* контролювати строки виконання досліджень;
* формувати лабораторний протокол;
* зберігати файли, фото та супровідні документи;
* вести журнал змін;
* формувати звіти по зразках, тестах, строках і результатах.
 
<div style="border:3px solid #2e7d32; background:#e8f5e9; padding:14px; margin:16px 0;">
'''Головний принцип.''' Лабораторний модуль — це не просто таблиця результатів. Це контрольований процес: зразок → тести → методики → нормативи → фактичні значення → висновок → протокол.
</div>


== Реальний бізнес-контекст ==
== Реальний бізнес-контекст ==


Лабораторія проводить дослідження зразків: харчові продукти, вода, кров, будматеріали тощо.
Лабораторія проводить дослідження зразків для підприємств, організацій або приватних клієнтів.
 
Зразками можуть бути:
 
* питна вода;
* молоко;
* харчові продукти;
* кров;
* ґрунт;
* будівельні матеріали;
* бетон;
* сировина;
* готова продукція;
* промислові матеріали.
 
У роботі лабораторії потрібно контролювати:
 
* хто передав зразок;
* коли зразок прийнято;
* який тип зразка досліджується;
* які тести потрібно виконати;
* за якою методикою проводиться дослідження;
* які нормативні межі застосовуються;
* які фактичні результати отримані;
* чи відповідає зразок нормам;
* хто виконав аналіз;
* хто затвердив протокол;
* чи не перевищено строк виконання.
 
Без автоматизованого обліку результати можуть губитися, строки порушуватися, а протоколи формуватися вручну з ризиком помилок.
 
== Основний бізнес-процес ==
 
Типовий процес роботи лабораторії виглядає так:
 
# замовник передає зразок;
# працівник лабораторії реєструє зразок у системі;
# вказується тип зразка, дата прийому і замовник;
# до зразка призначаються потрібні тести;
# система підтягує методики та нормативні значення;
# лаборант виконує дослідження;
# результати вносяться в систему;
# система автоматично порівнює фактичні значення з нормами;
# формується висновок по кожному тесту;
# відповідальна особа перевіряє результати;
# формується лабораторний протокол у PDF;
# протокол видається замовнику;
# дані потрапляють у звіти.
 
== Основні об’єкти модуля ==
 
{| class="wikitable" style="width:100%;"
! Об’єкт
! Призначення
|-
| Типи зразків
| Класифікація матеріалів або об’єктів дослідження
|-
| Замовники
| Клієнти, підприємства або підрозділи, які передають зразки
|-
| Зразки
| Об’єкти, що передані на лабораторне дослідження
|-
| Тести
| Конкретні показники або аналізи
|-
| Методики
| Опис способу проведення тесту та нормативна база
|-
| Нормативні значення
| Допустимі межі для результатів
|-
| Результати аналізів
| Фактичні значення, отримані лабораторією
|-
| Протоколи
| Офіційні документи з результатами досліджень
|-
| Лаборанти
| Виконавці досліджень
|-
| Керівник лабораторії
| Особа, яка затверджує результати або протоколи
|-
| Звіти
| Аналітика по зразках, тестах, строках і результатах
|}
 
== Довідник «Типи зразків» ==
 
Довідник типів зразків містить класифікацію об’єктів, які лабораторія приймає на дослідження.
 
== Приклади типів зразків ==
 
* вода питна;
* вода технічна;
* молоко;
* харчові продукти;
* кров;
* бетон;
* ґрунт;
* будівельні матеріали;
* сировина;
* готова продукція.
 
== Поля типу зразка ==
 
{| class="wikitable" style="width:100%;"
! Поле
! Опис
|-
| Назва типу
| Наприклад: вода питна, бетон, молоко, кров
|-
| Категорія
| Харчові продукти, медичні дослідження, будівельні матеріали, екологія тощо
|-
| Опис
| Коротке пояснення типу зразка
|-
| Типові тести
| Набір тестів, які часто призначаються для цього типу
|-
| Активність
| Чи використовується тип зразка в роботі
|}
 
== Категорії зразків ==
 
{| class="wikitable" style="width:100%;"
! Категорія
! Приклади
|-
| Харчові продукти
| Молоко, сир, м’ясо, вода, готова продукція
|-
| Медичні дослідження
| Кров, сеча, біоматеріали
|-
| Будівельні матеріали
| Бетон, цемент, гіпс, щебінь
|-
| Екологічні дослідження
| Вода, ґрунт, повітря, промислові проби
|-
| Виробничий контроль
| Сировина, напівфабрикати, готова продукція
|}
 
== Довідник «Тести і методики» ==
 
Довідник тестів і методик містить перелік аналізів, які виконує лабораторія.
 
== Приклади тестів ==
 
* pH;
* вміст білка;
* жирність;
* кислотність;
* бактеріальне забруднення;
* міцність на стиск;
* вологість;
* щільність;
* вміст домішок;
* температура плавлення.
 
== Поля тесту ==
 
{| class="wikitable" style="width:100%;"
! Поле
! Опис
|-
| Назва тесту
| Назва показника або аналізу
|-
| Одиниця виміру
| pH, %, мг/л, МПа, г/см³ тощо
|-
| Методика тестування
| Опис способу виконання аналізу
|-
| Нормативний документ
| Стандарт, ДСТУ, ISO, внутрішня методика або інший документ
|-
| Тип результату
| Числовий, текстовий, логічний, діапазонний
|-
| Активність
| Чи використовується тест у поточній роботі
|}
 
== Методика тестування ==
 
Методика повинна описувати, як саме виконується дослідження.
 
У методиці бажано зберігати:
 
* назву методики;
* опис процедури;
* обладнання;
* одиницю виміру;
* нормативний документ;
* допустимі межі;
* відповідального виконавця або групу;
* версію методики;
* дату початку дії.
 
<div style="border:2px solid #f57c00; background:#fff3e0; padding:14px; margin:16px 0;">
'''Важливо.''' Якщо методика або норматив змінилися, старі протоколи не повинні перераховуватися за новими правилами. У результаті потрібно зберігати методику, яка діяла на момент дослідження.
</div>
 
== Нормативні значення ==
 
Нормативні значення потрібні для автоматичної оцінки результату.
 
== Типи нормативів ==
 
{| class="wikitable" style="width:100%;"
! Тип нормативу
! Приклад
|-
| Діапазон
| pH від 6.5 до 8.5
|-
| Не більше
| Бактеріальне забруднення не більше встановленого значення
|-
| Не менше
| Міцність не менше заданого показника
|-
| Точне значення
| Значення має дорівнювати встановленому параметру
|-
| Текстова відповідність
| Виявлено / не виявлено, відповідає / не відповідає
|}
 
== Журнал «Зразки» ==
 
Журнал зразків показує всі зразки, прийняті лабораторією.
 
== Колонки журналу зразків ==
 
{| class="wikitable" style="width:100%;"
! Колонка
! Опис
|-
| Номер зразка
| Унікальний номер зразка
|-
| Дата прийому
| Коли зразок прийнято
|-
| Замовник
| Хто передав зразок
|-
| Тип зразка
| Вода, молоко, бетон, кров тощо
|-
| Статус
| Прийнятий, у дослідженні, завершено, протокол видано
|-
| Планова дата видачі
| До якої дати потрібно видати результат
|-
| Фактична дата видачі
| Коли результат фактично видано
|-
| Відповідальний
| Лаборант або відповідальна особа
|}
 
== Статуси зразка ==
 
{| class="wikitable" style="width:100%;"
! Статус
! Значення
|-
| Прийнятий
| Зразок зареєстровано в лабораторії
|-
| Очікує дослідження
| Тести ще не почали виконуватися
|-
| У дослідженні
| Лаборант виконує аналізи
|-
| Очікує перевірки
| Результати внесено, але ще не затверджено
|-
| Завершено
| Результати затверджено
|-
| Протокол видано
| Протокол сформовано і передано замовнику
|-
| Скасовано
| Дослідження не виконується
|}
 
== Форма прийому зразка ==
 
Форма прийому зразка повинна містити основні дані для реєстрації.
 
== Поля форми зразка ==
 
{| class="wikitable" style="width:100%;"
! Поле
! Опис
|-
| Номер зразка
| Генерується автоматично або вводиться вручну
|-
| Дата прийому
| Дата і час прийняття зразка
|-
| Замовник
| Клієнт або підрозділ, який передав зразок
|-
| Тип зразка
| Вибір із довідника типів зразків
|-
| Опис зразка
| Додатковий опис або маркування
|-
| Кількість / об’єм
| Скільки матеріалу передано
|-
| Умови зберігання
| Температура, тара, особливі умови
|-
| Планова дата видачі
| Строк виконання дослідження
|-
| Відповідальний
| Лаборант або група
|-
| Файли
| Фото зразка, супровідні документи, направлення
|}
 
== Призначення тестів ==
 
Для кожного зразка потрібно призначити один або кілька тестів.
 
Тести можуть додаватися:


Необхідно:
* вручну;
* автоматично з типового набору для типу зразка;
* за шаблоном дослідження;
* за вимогою замовника.


* реєструвати зразки на дослідження;
== Поля призначеного тесту ==
* призначати тести для кожного зразка;
 
* зберігати результати аналізів;
{| class="wikitable" style="width:100%;"
* формувати лабораторні протоколи — звіт про результати;
! Поле
* контролювати строки виконання досліджень.
! Опис
|-
| Зразок
| До якого зразка належить тест
|-
| Тест
| Який аналіз потрібно виконати
|-
| Методика
| Методика проведення
|-
| Нормативне значення
| Діапазон або умова відповідності
|-
| Виконавець
| Лаборант, який виконує тест
|-
| Статус
| Призначено, у роботі, виконано, перевірено
|}
 
== Введення результатів аналізів ==
 
По кожному тесту потрібно фіксувати фактичний результат.
 
== Поля результату ==
 
{| class="wikitable" style="width:100%;"
! Поле
! Опис
|-
| Тест
| Який показник досліджувався
|-
| Фактичне значення
| Отриманий результат
|-
| Одиниця виміру
| Підтягується з тесту
|-
| Норма
| Допустиме значення або діапазон
|-
| Висновок
| Відповідає або не відповідає
|-
| Лаборант
| Хто вніс результат
|-
| Дата виконання
| Коли виконано дослідження
|-
| Коментар
| Додаткове пояснення
|}
 
== Автоматична оцінка відповідності ==
 
Система має автоматично визначати, чи відповідає результат нормі.
 
== Приклад оцінки діапазону ==
 
Тест: pH води.
 
Норма:
 
<pre>
6.5 – 8.5
</pre>
 
Фактичне значення:
 
<pre>
7.2
</pre>
 
Результат:
 
<pre>
Відповідає нормі
</pre>
 
== Логіка оцінки ==
 
{| class="wikitable" style="width:100%;"
! Тип норми
! Логіка
|-
| Діапазон
| Значення має бути між мінімумом і максимумом
|-
| Не більше
| Значення не повинно перевищувати встановлену межу
|-
| Не менше
| Значення не повинно бути нижчим за встановлену межу
|-
| Текстова відповідність
| Фактичний результат порівнюється з допустимим текстовим значенням
|}
 
<div style="border:3px solid #b71c1c; background:#ffebee; padding:14px; margin:16px 0;">
'''Критично.''' Якщо результат виходить за межі нормативу, система має явно показати статус '''«Не відповідає»''' і відобразити це в лабораторному протоколі.
</div>
 
== Лабораторний протокол ==
 
Лабораторний протокол — це офіційний документ із результатами дослідження.
 
Протокол формується автоматично на основі даних зразка, тестів і результатів.
 
== Дані лабораторного протоколу ==
 
Протокол має містити:
 
* номер протоколу;
* дату формування;
* інформацію про лабораторію;
* інформацію про замовника;
* номер зразка;
* дату прийому зразка;
* тип зразка;
* опис зразка;
* перелік проведених тестів;
* методики досліджень;
* нормативні значення;
* фактичні результати;
* висновки по кожному тесту;
* загальний висновок;
* ПІБ лаборанта;
* ПІБ керівника лабораторії;
* підпис або електронне підтвердження.
 
== Формат протоколу ==
 
Протокол має формуватися у форматі:
 
* PDF;
* HTML-друк;
* Stimulsoft Reports або внутрішній механізм K2.
 
== Затвердження результатів ==
 
Перед видачею протоколу результати можуть проходити перевірку.
 
Можливий процес:
 
# лаборант вносить результати;
# зразок переходить у статус '''«Очікує перевірки»''';
# керівник лабораторії перевіряє результати;
# протокол затверджується;
# зразок переходить у статус '''«Завершено»''';
# формується PDF-протокол.
 
== Контроль строків виконання ==
 
Система повинна контролювати планову дату видачі результату.
 
Зразок вважається простроченим, якщо:
 
* планова дата видачі менша за поточну дату;
* статус не дорівнює '''«Завершено»''' або '''«Протокол видано»'''.
 
Прострочені зразки потрібно виділяти в журналі та звітах.
 
== Нотифікації ==
 
Модуль має підтримувати сповіщення.
 
== Події для нотифікацій ==


== Основні завдання ==
Повідомлення бажано надсилати, коли:


=== 1. Структура довідників ===
* прийнято новий зразок;
* лаборанту призначено тест;
* наближається строк видачі результату;
* строк дослідження перевищено;
* результат не відповідає нормі;
* протокол готовий;
* протокол видано замовнику.


==== Довідник «Типи зразків» ====
== Файли та фото зразків ==


Поля довідника:
Модуль має дозволяти завантажувати супровідні файли.


* назва типу, наприклад:
Це можуть бути:
** вода питна;
** бетон;
** молоко;
** кров;
* категорія:
** харчові продукти;
** медичні дослідження;
** будівельні матеріали.


==== Довідник «Тести і методики» ====
* фото зразка;
* направлення на дослідження;
* супровідні документи;
* сертифікати;
* попередні результати;
* скани актів прийому.


Поля довідника:
== Звітність ==


* назва тесту, наприклад:
== Звіт «Зразки за період» ==
** pH;
** вміст білка;
** міцність на стиск;
* одиниця виміру;
* методика тестування:
** опис;
** нормативний документ.


=== 2. Журнал «Зразки» ===
Звіт показує всі зразки, прийняті за вибраний період.


==== Колонки журналу ====
У звіті потрібно відображати:


* номер зразка;
* номер зразка;
* дата прийому;
* дату прийому;
* замовник;
* замовника;
* тип зразка;
* тип зразка;
* статус:
* статус;
** прийнятий;
* планову дату видачі;
** у дослідженні;
* фактичну дату видачі.
** завершено;
 
* дата видачі результату.
== Звіт «Результати досліджень» ==
 
Звіт показує результати тестів.
 
У звіті потрібно відображати:
 
* зразок;
* тест;
* норматив;
* фактичне значення;
* одиницю виміру;
* висновок;
* лаборанта;
* дату виконання.
 
== Звіт «Невідповідності» ==
 
Звіт показує результати, які не відповідають нормам.
 
У звіті потрібно відображати:
 
* зразок;
* замовника;
* тест;
* норматив;
* фактичний результат;
* відхилення;
* відповідального лаборанта.
 
== Звіт «Контроль строків» ==
 
Звіт показує зразки, по яких порушено або наближається строк виконання.
 
У звіті потрібно відображати:


==== Функціонал ====
* номер зразка;
* замовника;
* тип зразка;
* відповідального;
* планову дату видачі;
* кількість днів прострочення;
* статус.


* прийом зразків із зазначенням базових параметрів;
== Звіт «Статистика лабораторії» ==
* прив’язка тестів, які мають бути виконані для кожного зразка.


=== 3. Призначення тестів ===
Звіт показує загальну ефективність лабораторії.


Функціонал:
У звіті потрібно відображати:


* вибір одного або кількох тестів для зразка;
* кількість прийнятих зразків;
* вказання нормативних значень — допустимих меж;
* кількість виконаних досліджень;
* автоматична оцінка:
* кількість протоколів;
** відповідає;
* кількість прострочених зразків;
** не відповідає.
* кількість невідповідностей;
* середній час виконання дослідження.


=== 4. Введення результатів аналізів ===
== AJAX-інтерактив ==


Функціонал:
Інтерфейс модуля має працювати швидко і без зайвого перезавантаження сторінок.


* по кожному тесту для зразка фіксується фактичне значення;
Через AJAX мають працювати:
* виконується порівняння з нормативом;
* автоматично визначається, чи тест пройдено.


==== Приклад ====
* створення зразка;
* вибір замовника;
* вибір типу зразка;
* автоматичне додавання типових тестів;
* призначення тестів;
* введення результатів;
* автоматична оцінка відповідності;
* зміна статусу зразка;
* завантаження файлів;
* формування протоколу;
* фільтрація журналів;
* оновлення звітів.


* тест: pH води;
== Логування змін ==
* норма: 6.5 – 8.5;
* факт: 7.2;
* результат: відповідає нормі.


=== 5. Формування лабораторного протоколу ===
Модуль повинен фіксувати важливі зміни.


Автоматично формується PDF-документ на основі внесених результатів.
Журнал змін має зберігати:


Протокол містить:
* хто створив зразок;
* хто змінив тип зразка;
* хто призначив тест;
* хто змінив методику;
* хто вніс результат;
* хто змінив фактичне значення;
* хто затвердив результат;
* хто сформував протокол;
* хто видав протокол;
* дату й час зміни;
* старе та нове значення, якщо це можливо.


* інформацію про замовника;
== Права доступу ==
* дані зразка;
* проведені тести;
* фактичні результати;
* висновки;
* підпис лаборанта або керівника лабораторії.


=== 6. Додаткові функції ===
Модуль має підтримувати розмежування прав.


* робота через AJAX для зручного внесення результатів;
{| class="wikitable" style="width:100%;"
* контроль термінів виконання досліджень;
! Роль
* автоматичне сповіщення, якщо термін дослідження перевищений;
! Можливості
* можливість завантажувати копії документів або фотографій зразків.
|-
| Реєстратор
| Приймає зразки, створює картки зразків, додає файли
|-
| Лаборант
| Виконує тести, вносить результати, додає коментарі
|-
| Керівник лабораторії
| Перевіряє та затверджує результати, підписує протоколи
|-
| Менеджер
| Бачить статуси зразків і комунікує із замовниками
|-
| Керівник
| Переглядає звіти, строки, невідповідності й статистику
|-
| Адміністратор
| Налаштовує довідники, методики, права та службові параметри
|}


== Технічні вимоги ==
== Технічні вимоги ==


{| class="wikitable"
{| class="wikitable" style="width:100%;"
! Параметр
! Параметр
! Опис
! Опис
Рядок 117: Рядок 737:
| K2 Cloud ERP на Python або PHP
| K2 Cloud ERP на Python або PHP
|-
|-
| БД
| База даних
| PostgreSQL або MySQL
| PostgreSQL або MySQL
|-
|-
| Фронтенд
| Фронтенд
| HTML5, JavaScript, AJAX, Axios або Fetch API
| HTML5, JavaScript
|-
| AJAX
| Axios або Fetch API
|-
|-
| UI-компоненти
| UI-компоненти
| DataTables, Select2
| DataTables, Select2
|-
| Файли
| Завантаження фото зразків і супровідних документів
|-
|-
| Друк
| Друк
| Генерація PDF лабораторних протоколів
| PDF лабораторних протоколів
|-
| Експорт
| Excel або PDF для звітів
|}
|}


== Критерії оцінки ==
== Рекомендовані сутності бази даних ==
 
Для реалізації задачі доцільно передбачити такі сутності:
 
* типи зразків;
* категорії зразків;
* замовники;
* зразки;
* тести;
* методики;
* нормативні значення;
* призначені тести;
* результати аналізів;
* лабораторні протоколи;
* файли зразків;
* лаборанти;
* затвердження результатів;
* нотифікації;
* журнал змін;
* звіти;
* права доступу.
 
== Практичне завдання ==
 
У межах атестації потрібно продемонструвати робочий сценарій.


{| class="wikitable"
Мінімальний сценарій:
 
# створити типи зразків;
# створити тести і методики;
# задати нормативні значення;
# створити замовника;
# зареєструвати зразок;
# вказати дату прийому і планову дату видачі;
# призначити кілька тестів для зразка;
# ввести фактичні результати;
# перевірити автоматичну оцінку відповідності;
# створити результат, який не відповідає нормі;
# перевірити відображення невідповідності;
# завантажити фото або супровідний документ;
# перевести зразок у статус '''«Очікує перевірки»''';
# затвердити результати;
# сформувати PDF-протокол;
# змінити статус на '''«Протокол видано»''';
# створити прострочений зразок для тесту;
# сформувати звіт зразків за період;
# сформувати звіт результатів досліджень;
# сформувати звіт невідповідностей;
# сформувати звіт контролю строків;
# перевірити журнал змін.
 
== Критерії оцінювання ==
 
{| class="wikitable" style="width:100%;"
! Критерій
! Критерій
! Бали
! Бали
! Що перевіряється
|-
|-
| Реєстрація зразків і прив’язка тестів
| Реєстрація зразків і прив’язка тестів
| 20
| 20
| Типи зразків, замовники, картка зразка, призначення тестів і методик
|-
|-
| Внесення результатів тестів і оцінка відповідності
| Внесення результатів тестів і оцінка відповідності
| 20
| 20
| Фактичні значення, нормативи, автоматичне визначення відповідності
|-
|-
| Формування лабораторного протоколу
| Формування лабораторного протоколу
| 20
| 20
| PDF-протокол із даними замовника, зразка, тестів, результатів і висновків
|-
|-
| Статистика виконаних досліджень і контроль строків
| Статистика виконаних досліджень і контроль строків
| 20
| 20
| Прострочені зразки, строки видачі, статистика лабораторії, невідповідності
|-
|-
| Інтерактивність через AJAX і зручність введення даних
| Інтерактивність через AJAX і зручність введення даних
| 20
| 20
| AJAX-створення зразків, призначення тестів, введення результатів, фільтри, протоколи
|-
! Разом
! 100
! Максимальна оцінка
|}
== Шкала оцінювання ==
{| class="wikitable" style="width:100%;"
! Бали
! Рівень
! Опис
|-
| 90–100
| Відмінно
| Модуль повністю працює: зразки, тести, методики, нормативи, результати, протоколи, строки, звіти й AJAX реалізовані коректно
|-
| 75–89
| Добре
| Основна логіка працює, є незначні недоліки, які не руйнують лабораторний облік
|-
| 60–74
| Зараховано
| Базовий сценарій працює, але частина функцій реалізована неповно або потребує доопрацювання
|-
| 0–59
| Не зараховано
| Відсутня критична логіка: зразки, тести, результати, нормативи, протокол або контроль строків
|}
|}
== Критичні помилки ==
Критичними помилками вважаються ситуації, коли:
* неможливо створити тип зразка;
* неможливо зареєструвати зразок;
* неможливо призначити тест до зразка;
* тест не має одиниці виміру або методики;
* неможливо ввести фактичний результат;
* система не порівнює результат із нормативом;
* результат поза нормою не позначається як невідповідність;
* протокол не формується;
* протокол не містить результатів тестів;
* неможливо визначити, хто вніс або затвердив результат;
* прострочені дослідження не визначаються;
* зміни результатів не логуються;
* звіти не відповідають фактичним зразкам і результатам.
<div style="border:3px solid #b71c1c; background:#ffebee; padding:14px; margin:16px 0;">
'''Умова складання.''' Завдання не може бути зараховане, якщо система не дозволяє пройти базовий цикл лабораторії: зразок → тести → результати → оцінка відповідності → протокол → звіт.
</div>
== Очікуваний результат ==
У результаті виконання атестаційного завдання має бути створений модуль лабораторії в K2 ERP.
Модуль має підтримувати типи зразків, замовників, тести, методики, нормативні значення, журнал зразків, призначення тестів, введення результатів, автоматичну оцінку відповідності, затвердження результатів, формування лабораторних протоколів, контроль строків, нотифікації, звіти, AJAX-інтерактив і логування змін.


== Примітка ==
== Примітка ==


Модуль лабораторії потрібен для:
Модуль лабораторії потрібен виробничим підприємствам, медичним лабораторіям, екологічним центрам, лабораторіям сертифікації, будівельним лабораторіям і лабораторіям контролю якості продукції.
 
Він дозволяє автоматизувати обіг зразків, тестів і результатів, мінімізувати людські помилки, контролювати строки та пришвидшити випуск лабораторних протоколів.
 
== Коротко ==
 
{| class="wikitable" style="width:100%;"
! Питання
! Відповідь
|-
| Що потрібно створити?
| Модуль обліку лабораторних аналізів і результатів досліджень
|-
| Які довідники потрібні?
| Типи зразків, тести, методики, нормативи, замовники
|-
| Який головний об’єкт?
| Зразок, для якого призначаються тести
|-
| Що вводить лаборант?
| Фактичні результати аналізів
|-
| Що має робити система автоматично?
| Порівнювати результат із нормативом і визначати відповідність
|-
| Який головний документ?
| Лабораторний протокол
|-
| Які звіти потрібні?
| Зразки, результати, невідповідності, контроль строків, статистика лабораторії
|-
| Що є критичною вимогою?
| Повний цикл: зразок → тести → результати → висновок → протокол
|}


* виробничих підприємств;
== Див. також ==
* медичних лабораторій;
* екологічних центрів;
* лабораторій сертифікації;
* лабораторій контролю якості продукції.


Він дозволяє:
* [[K2 Cloud ERP|K2 ERP]]
* [[K2 ERP]]
* [[Атестаційні завдання K2 ERP]]
* [[Лабораторія]]
* [[Контроль якості]]
* [[Лабораторний протокол]]
* [[Виробництво]]
* [[Молокозавод]]
* [[Документообіг]]
* [[Звітність]]
* [[AJAX]]


* автоматизувати весь обіг зразків, тестів і результатів;
[[Категорія:K2 ERP]]
* мінімізувати людські помилки;
[[Категорія:Атестаційні завдання K2]]
* пришвидшити випуск протоколів.
[[Категорія:Лабораторія]]
[[Категорія:Контроль якості]]
[[Категорія:Лабораторні аналізи]]
[[Категорія:Документообіг]]
[[Категорія:Корпоративна Wiki]]

Поточна версія на 19:04, 1 травня 2026


Атестаційне завдання K2 ERP — Лабораторія — це практична задача для перевірки навичок розробника або впроваджувача K2 ERP у створенні модуля обліку лабораторних зразків, тестів, методик, результатів досліджень, нормативних значень, лабораторних протоколів і контролю строків виконання.

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

Коротко. Потрібно реалізувати модуль лабораторії, який дозволяє реєструвати зразки, призначати тести, вводити результати, порівнювати їх із нормативами, визначати відповідність, формувати PDF-протоколи та контролювати строки виконання досліджень.

Назва завдання

Модуль обліку лабораторних аналізів і результатів досліджень.

Мета завдання

Мета завдання — створити в K2 ERP модуль для автоматизації лабораторного обліку.

Система повинна дозволяти:

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

Головний принцип. Лабораторний модуль — це не просто таблиця результатів. Це контрольований процес: зразок → тести → методики → нормативи → фактичні значення → висновок → протокол.

Реальний бізнес-контекст

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

Зразками можуть бути:

  • питна вода;
  • молоко;
  • харчові продукти;
  • кров;
  • ґрунт;
  • будівельні матеріали;
  • бетон;
  • сировина;
  • готова продукція;
  • промислові матеріали.

У роботі лабораторії потрібно контролювати:

  • хто передав зразок;
  • коли зразок прийнято;
  • який тип зразка досліджується;
  • які тести потрібно виконати;
  • за якою методикою проводиться дослідження;
  • які нормативні межі застосовуються;
  • які фактичні результати отримані;
  • чи відповідає зразок нормам;
  • хто виконав аналіз;
  • хто затвердив протокол;
  • чи не перевищено строк виконання.

Без автоматизованого обліку результати можуть губитися, строки порушуватися, а протоколи формуватися вручну з ризиком помилок.

Основний бізнес-процес

Типовий процес роботи лабораторії виглядає так:

  1. замовник передає зразок;
  2. працівник лабораторії реєструє зразок у системі;
  3. вказується тип зразка, дата прийому і замовник;
  4. до зразка призначаються потрібні тести;
  5. система підтягує методики та нормативні значення;
  6. лаборант виконує дослідження;
  7. результати вносяться в систему;
  8. система автоматично порівнює фактичні значення з нормами;
  9. формується висновок по кожному тесту;
  10. відповідальна особа перевіряє результати;
  11. формується лабораторний протокол у PDF;
  12. протокол видається замовнику;
  13. дані потрапляють у звіти.

Основні об’єкти модуля

Об’єкт Призначення
Типи зразків Класифікація матеріалів або об’єктів дослідження
Замовники Клієнти, підприємства або підрозділи, які передають зразки
Зразки Об’єкти, що передані на лабораторне дослідження
Тести Конкретні показники або аналізи
Методики Опис способу проведення тесту та нормативна база
Нормативні значення Допустимі межі для результатів
Результати аналізів Фактичні значення, отримані лабораторією
Протоколи Офіційні документи з результатами досліджень
Лаборанти Виконавці досліджень
Керівник лабораторії Особа, яка затверджує результати або протоколи
Звіти Аналітика по зразках, тестах, строках і результатах

Довідник «Типи зразків»

Довідник типів зразків містить класифікацію об’єктів, які лабораторія приймає на дослідження.

Приклади типів зразків

  • вода питна;
  • вода технічна;
  • молоко;
  • харчові продукти;
  • кров;
  • бетон;
  • ґрунт;
  • будівельні матеріали;
  • сировина;
  • готова продукція.

Поля типу зразка

Поле Опис
Назва типу Наприклад: вода питна, бетон, молоко, кров
Категорія Харчові продукти, медичні дослідження, будівельні матеріали, екологія тощо
Опис Коротке пояснення типу зразка
Типові тести Набір тестів, які часто призначаються для цього типу
Активність Чи використовується тип зразка в роботі

Категорії зразків

Категорія Приклади
Харчові продукти Молоко, сир, м’ясо, вода, готова продукція
Медичні дослідження Кров, сеча, біоматеріали
Будівельні матеріали Бетон, цемент, гіпс, щебінь
Екологічні дослідження Вода, ґрунт, повітря, промислові проби
Виробничий контроль Сировина, напівфабрикати, готова продукція

Довідник «Тести і методики»

Довідник тестів і методик містить перелік аналізів, які виконує лабораторія.

Приклади тестів

  • pH;
  • вміст білка;
  • жирність;
  • кислотність;
  • бактеріальне забруднення;
  • міцність на стиск;
  • вологість;
  • щільність;
  • вміст домішок;
  • температура плавлення.

Поля тесту

Поле Опис
Назва тесту Назва показника або аналізу
Одиниця виміру pH, %, мг/л, МПа, г/см³ тощо
Методика тестування Опис способу виконання аналізу
Нормативний документ Стандарт, ДСТУ, ISO, внутрішня методика або інший документ
Тип результату Числовий, текстовий, логічний, діапазонний
Активність Чи використовується тест у поточній роботі

Методика тестування

Методика повинна описувати, як саме виконується дослідження.

У методиці бажано зберігати:

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

Важливо. Якщо методика або норматив змінилися, старі протоколи не повинні перераховуватися за новими правилами. У результаті потрібно зберігати методику, яка діяла на момент дослідження.

Нормативні значення

Нормативні значення потрібні для автоматичної оцінки результату.

Типи нормативів

Тип нормативу Приклад
Діапазон pH від 6.5 до 8.5
Не більше Бактеріальне забруднення не більше встановленого значення
Не менше Міцність не менше заданого показника
Точне значення Значення має дорівнювати встановленому параметру
Текстова відповідність Виявлено / не виявлено, відповідає / не відповідає

Журнал «Зразки»

Журнал зразків показує всі зразки, прийняті лабораторією.

Колонки журналу зразків

Колонка Опис
Номер зразка Унікальний номер зразка
Дата прийому Коли зразок прийнято
Замовник Хто передав зразок
Тип зразка Вода, молоко, бетон, кров тощо
Статус Прийнятий, у дослідженні, завершено, протокол видано
Планова дата видачі До якої дати потрібно видати результат
Фактична дата видачі Коли результат фактично видано
Відповідальний Лаборант або відповідальна особа

Статуси зразка

Статус Значення
Прийнятий Зразок зареєстровано в лабораторії
Очікує дослідження Тести ще не почали виконуватися
У дослідженні Лаборант виконує аналізи
Очікує перевірки Результати внесено, але ще не затверджено
Завершено Результати затверджено
Протокол видано Протокол сформовано і передано замовнику
Скасовано Дослідження не виконується

Форма прийому зразка

Форма прийому зразка повинна містити основні дані для реєстрації.

Поля форми зразка

Поле Опис
Номер зразка Генерується автоматично або вводиться вручну
Дата прийому Дата і час прийняття зразка
Замовник Клієнт або підрозділ, який передав зразок
Тип зразка Вибір із довідника типів зразків
Опис зразка Додатковий опис або маркування
Кількість / об’єм Скільки матеріалу передано
Умови зберігання Температура, тара, особливі умови
Планова дата видачі Строк виконання дослідження
Відповідальний Лаборант або група
Файли Фото зразка, супровідні документи, направлення

Призначення тестів

Для кожного зразка потрібно призначити один або кілька тестів.

Тести можуть додаватися:

  • вручну;
  • автоматично з типового набору для типу зразка;
  • за шаблоном дослідження;
  • за вимогою замовника.

Поля призначеного тесту

Поле Опис
Зразок До якого зразка належить тест
Тест Який аналіз потрібно виконати
Методика Методика проведення
Нормативне значення Діапазон або умова відповідності
Виконавець Лаборант, який виконує тест
Статус Призначено, у роботі, виконано, перевірено

Введення результатів аналізів

По кожному тесту потрібно фіксувати фактичний результат.

Поля результату

Поле Опис
Тест Який показник досліджувався
Фактичне значення Отриманий результат
Одиниця виміру Підтягується з тесту
Норма Допустиме значення або діапазон
Висновок Відповідає або не відповідає
Лаборант Хто вніс результат
Дата виконання Коли виконано дослідження
Коментар Додаткове пояснення

Автоматична оцінка відповідності

Система має автоматично визначати, чи відповідає результат нормі.

Приклад оцінки діапазону

Тест: pH води.

Норма:

6.5 – 8.5

Фактичне значення:

7.2

Результат:

Відповідає нормі

Логіка оцінки

Тип норми Логіка
Діапазон Значення має бути між мінімумом і максимумом
Не більше Значення не повинно перевищувати встановлену межу
Не менше Значення не повинно бути нижчим за встановлену межу
Текстова відповідність Фактичний результат порівнюється з допустимим текстовим значенням

Критично. Якщо результат виходить за межі нормативу, система має явно показати статус «Не відповідає» і відобразити це в лабораторному протоколі.

Лабораторний протокол

Лабораторний протокол — це офіційний документ із результатами дослідження.

Протокол формується автоматично на основі даних зразка, тестів і результатів.

Дані лабораторного протоколу

Протокол має містити:

  • номер протоколу;
  • дату формування;
  • інформацію про лабораторію;
  • інформацію про замовника;
  • номер зразка;
  • дату прийому зразка;
  • тип зразка;
  • опис зразка;
  • перелік проведених тестів;
  • методики досліджень;
  • нормативні значення;
  • фактичні результати;
  • висновки по кожному тесту;
  • загальний висновок;
  • ПІБ лаборанта;
  • ПІБ керівника лабораторії;
  • підпис або електронне підтвердження.

Формат протоколу

Протокол має формуватися у форматі:

  • PDF;
  • HTML-друк;
  • Stimulsoft Reports або внутрішній механізм K2.

Затвердження результатів

Перед видачею протоколу результати можуть проходити перевірку.

Можливий процес:

  1. лаборант вносить результати;
  2. зразок переходить у статус «Очікує перевірки»;
  3. керівник лабораторії перевіряє результати;
  4. протокол затверджується;
  5. зразок переходить у статус «Завершено»;
  6. формується PDF-протокол.

Контроль строків виконання

Система повинна контролювати планову дату видачі результату.

Зразок вважається простроченим, якщо:

  • планова дата видачі менша за поточну дату;
  • статус не дорівнює «Завершено» або «Протокол видано».

Прострочені зразки потрібно виділяти в журналі та звітах.

Нотифікації

Модуль має підтримувати сповіщення.

Події для нотифікацій

Повідомлення бажано надсилати, коли:

  • прийнято новий зразок;
  • лаборанту призначено тест;
  • наближається строк видачі результату;
  • строк дослідження перевищено;
  • результат не відповідає нормі;
  • протокол готовий;
  • протокол видано замовнику.

Файли та фото зразків

Модуль має дозволяти завантажувати супровідні файли.

Це можуть бути:

  • фото зразка;
  • направлення на дослідження;
  • супровідні документи;
  • сертифікати;
  • попередні результати;
  • скани актів прийому.

Звітність

Звіт «Зразки за період»

Звіт показує всі зразки, прийняті за вибраний період.

У звіті потрібно відображати:

  • номер зразка;
  • дату прийому;
  • замовника;
  • тип зразка;
  • статус;
  • планову дату видачі;
  • фактичну дату видачі.

Звіт «Результати досліджень»

Звіт показує результати тестів.

У звіті потрібно відображати:

  • зразок;
  • тест;
  • норматив;
  • фактичне значення;
  • одиницю виміру;
  • висновок;
  • лаборанта;
  • дату виконання.

Звіт «Невідповідності»

Звіт показує результати, які не відповідають нормам.

У звіті потрібно відображати:

  • зразок;
  • замовника;
  • тест;
  • норматив;
  • фактичний результат;
  • відхилення;
  • відповідального лаборанта.

Звіт «Контроль строків»

Звіт показує зразки, по яких порушено або наближається строк виконання.

У звіті потрібно відображати:

  • номер зразка;
  • замовника;
  • тип зразка;
  • відповідального;
  • планову дату видачі;
  • кількість днів прострочення;
  • статус.

Звіт «Статистика лабораторії»

Звіт показує загальну ефективність лабораторії.

У звіті потрібно відображати:

  • кількість прийнятих зразків;
  • кількість виконаних досліджень;
  • кількість протоколів;
  • кількість прострочених зразків;
  • кількість невідповідностей;
  • середній час виконання дослідження.

AJAX-інтерактив

Інтерфейс модуля має працювати швидко і без зайвого перезавантаження сторінок.

Через AJAX мають працювати:

  • створення зразка;
  • вибір замовника;
  • вибір типу зразка;
  • автоматичне додавання типових тестів;
  • призначення тестів;
  • введення результатів;
  • автоматична оцінка відповідності;
  • зміна статусу зразка;
  • завантаження файлів;
  • формування протоколу;
  • фільтрація журналів;
  • оновлення звітів.

Логування змін

Модуль повинен фіксувати важливі зміни.

Журнал змін має зберігати:

  • хто створив зразок;
  • хто змінив тип зразка;
  • хто призначив тест;
  • хто змінив методику;
  • хто вніс результат;
  • хто змінив фактичне значення;
  • хто затвердив результат;
  • хто сформував протокол;
  • хто видав протокол;
  • дату й час зміни;
  • старе та нове значення, якщо це можливо.

Права доступу

Модуль має підтримувати розмежування прав.

Роль Можливості
Реєстратор Приймає зразки, створює картки зразків, додає файли
Лаборант Виконує тести, вносить результати, додає коментарі
Керівник лабораторії Перевіряє та затверджує результати, підписує протоколи
Менеджер Бачить статуси зразків і комунікує із замовниками
Керівник Переглядає звіти, строки, невідповідності й статистику
Адміністратор Налаштовує довідники, методики, права та службові параметри

Технічні вимоги

Параметр Опис
Бекенд K2 Cloud ERP на Python або PHP
База даних PostgreSQL або MySQL
Фронтенд HTML5, JavaScript
AJAX Axios або Fetch API
UI-компоненти DataTables, Select2
Файли Завантаження фото зразків і супровідних документів
Друк PDF лабораторних протоколів
Експорт Excel або PDF для звітів

Рекомендовані сутності бази даних

Для реалізації задачі доцільно передбачити такі сутності:

  • типи зразків;
  • категорії зразків;
  • замовники;
  • зразки;
  • тести;
  • методики;
  • нормативні значення;
  • призначені тести;
  • результати аналізів;
  • лабораторні протоколи;
  • файли зразків;
  • лаборанти;
  • затвердження результатів;
  • нотифікації;
  • журнал змін;
  • звіти;
  • права доступу.

Практичне завдання

У межах атестації потрібно продемонструвати робочий сценарій.

Мінімальний сценарій:

  1. створити типи зразків;
  2. створити тести і методики;
  3. задати нормативні значення;
  4. створити замовника;
  5. зареєструвати зразок;
  6. вказати дату прийому і планову дату видачі;
  7. призначити кілька тестів для зразка;
  8. ввести фактичні результати;
  9. перевірити автоматичну оцінку відповідності;
  10. створити результат, який не відповідає нормі;
  11. перевірити відображення невідповідності;
  12. завантажити фото або супровідний документ;
  13. перевести зразок у статус «Очікує перевірки»;
  14. затвердити результати;
  15. сформувати PDF-протокол;
  16. змінити статус на «Протокол видано»;
  17. створити прострочений зразок для тесту;
  18. сформувати звіт зразків за період;
  19. сформувати звіт результатів досліджень;
  20. сформувати звіт невідповідностей;
  21. сформувати звіт контролю строків;
  22. перевірити журнал змін.

Критерії оцінювання

Критерій Бали Що перевіряється
Реєстрація зразків і прив’язка тестів 20 Типи зразків, замовники, картка зразка, призначення тестів і методик
Внесення результатів тестів і оцінка відповідності 20 Фактичні значення, нормативи, автоматичне визначення відповідності
Формування лабораторного протоколу 20 PDF-протокол із даними замовника, зразка, тестів, результатів і висновків
Статистика виконаних досліджень і контроль строків 20 Прострочені зразки, строки видачі, статистика лабораторії, невідповідності
Інтерактивність через AJAX і зручність введення даних 20 AJAX-створення зразків, призначення тестів, введення результатів, фільтри, протоколи
Разом 100 Максимальна оцінка

Шкала оцінювання

Бали Рівень Опис
90–100 Відмінно Модуль повністю працює: зразки, тести, методики, нормативи, результати, протоколи, строки, звіти й AJAX реалізовані коректно
75–89 Добре Основна логіка працює, є незначні недоліки, які не руйнують лабораторний облік
60–74 Зараховано Базовий сценарій працює, але частина функцій реалізована неповно або потребує доопрацювання
0–59 Не зараховано Відсутня критична логіка: зразки, тести, результати, нормативи, протокол або контроль строків

Критичні помилки

Критичними помилками вважаються ситуації, коли:

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

Умова складання. Завдання не може бути зараховане, якщо система не дозволяє пройти базовий цикл лабораторії: зразок → тести → результати → оцінка відповідності → протокол → звіт.

Очікуваний результат

У результаті виконання атестаційного завдання має бути створений модуль лабораторії в K2 ERP.

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

Примітка

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

Він дозволяє автоматизувати обіг зразків, тестів і результатів, мінімізувати людські помилки, контролювати строки та пришвидшити випуск лабораторних протоколів.

Коротко

Питання Відповідь
Що потрібно створити? Модуль обліку лабораторних аналізів і результатів досліджень
Які довідники потрібні? Типи зразків, тести, методики, нормативи, замовники
Який головний об’єкт? Зразок, для якого призначаються тести
Що вводить лаборант? Фактичні результати аналізів
Що має робити система автоматично? Порівнювати результат із нормативом і визначати відповідність
Який головний документ? Лабораторний протокол
Які звіти потрібні? Зразки, результати, невідповідності, контроль строків, статистика лабораторії
Що є критичною вимогою? Повний цикл: зразок → тести → результати → висновок → протокол

Див. також