- Перевірити версію NodeJS. В терміналі набрати команду:
node -v
- Якщо NodeJS не встановлено, потрібно встановити її за допомогою менеджера версій: Debian nvm Windows nvm
nvm -v
0.39.1
node -v
v16.15.0
npm -v
9.5.1
- В каталозі проекта виконати команду
npm install && npm audit fix
. - Для запуску проекта виконати команду
npm run devstart
- Далі потрібно відкрити в браузері сторінку за адресою http://localhost:3000.
- База знань розташована в файлі
./lib/data.json
. - Логику розташовано в файлі
./lib/es.js
. - В файлі
./public/js/main.js
можна налаштувати переклад назв хвороб. В цьому ж файлі розташовано логика обробки форм спілкування з пацієнтом та запитів до бази даних. - В файлі
./public/js/main.js
міститься налаштування зовнішнього вигляду та інтерфейсу застосунка - Точкою входу застосунку є файл
./lib/app.js
. - Керування залежностями, версіями та налаштування команд запуску застосунку розташовано в файлі
./package.json
. - Фронт зроблено на view engine
handlebars
. Статичні файлі фронта розташовано в каталозі./public/
. - Всі програми-залежності розташовано в каталозі
./node_modules/
(це є стандартом в проектах на NodeJS)
Проста експертна система для діагностики респіраторних захворювань, написана на JavaScript.
- Застосунок розроблено на базі Express, фреймворк для веб-застосунків, побудованих на Node.js.
- Експертна система розроблена з використанням пакету rools, невеликого рішення для побудови та обробки правил для Node.js, та Handlebars.js, мови семантичних шаблонів для JavaScript.
Для диференціальної діагностики було відібрано 16 респіраторних захворювань:
- Гострий бронхіт
- Астма
- Бронхоектази
- Бронхіоліт
- Хронічне обструктивне захворювання легень (ХОЗЛ)
- Застуда
- COVID-19
- Круп
- Муковісцидоз
- Грип
- Рак легенів
- Професійні захворювання легень
- Коклюш
- Пневмонія
- Риносинусит
- Туберкульоз
Диференціальний діагноз ґрунтується на сукупності 13 факторів, які поділяються на категорії:
- Епідеміологічні фактори
- Вікова група
- Стать
- Сімейний анамнез
- Тютюнопаління в анамнезі
- Клінічні фактори
- Тривалість
- Біль у грудях
- Кашель
- Кашель з кров'ю (кровохаркання)
- Лихоманка
- Прискорене дихання (тахіпное)
- Прискорене серцебиття (тахікардія)
- Задишка (диспное)
- Хрипи
Для генерації дерева рішень для експертної системи використовується алгоритм Iterative Dichotomiser 3 (ID3). Дерево рішень може бути перетворено на порівнянний набір правил, в якому кожне правило відповідає можливому шляху від кореневого вузла до будь-якого листового вузла. Набір правил використовується як механізм правил для експертної системи.
Дерево рішень
🔓 **Зауважте, що лише 9 з 13 факторів використовуються для отримання правил прийняття рішень.
Це пов'язано з 2 причинами:
- Ці 9 факторів: куріння в анамнезі, біль у грудях, кашель, кашель з кров'ю, лихоманка, прискорене дихання, прискорене серцебиття, задишка і хрипи - є первинними предикторами або індикаторами респіраторних захворювань. Ці предиктори є симптомами, які викликані безпосередньо певним респіраторним захворюванням. Куріння в анамнезі є винятком. Це не симптом, але він є "провідною причиною" більшості респіраторних захворювань.
- 4 виключені фактори: вікова група, стать, сімейний анамнез і тривалість куріння - вважаються факторами ризику респіраторних захворювань. Фактори ризику є кореляційними і не обов'язково причинно-наслідковими, а кореляція не означає причинно-наслідковий зв'язок. Ці фактори ризику можуть підвищувати ризик розвитку респіраторних захворювань, але вони не є прямими або провідними причинами цих захворювань.