Система для помощи сервисным инженерам, обслуживающим медицинское оборудование
Автоматизировать учёт и анализ диагностических данных медицинского оборудования (стерилизаторов Sterrad и др.) для инженеров сервисных служб. Требовалось обеспечить хранение протоколов измерений, загрузку CSV-файлов из оборудования, визуализацию параметров на графиках и автоматическую проверку условий отказов. Система должна различать роли администратора и инженера и поддерживать работу с несколькими площадками и экземплярами оборудования.
Веб-сервис с разграничением доступа: администратор управляет справочниками (пользователи, площадки, типы оборудования, виды отказов), инженер загружает и просматривает протоколы. Иерархия: город → площадка → экземпляр оборудования → измерения. Для каждого измерения — таблица параметров и интерактивный график с выбором параметров и временной шкалой. При загрузке CSV выполняется проверка серийного номера и автоматический анализ отклонений по настраиваемым логическим правилам.
Django 5.2, модули: users (роли ADMIN/ENGINEER), sites (города и площадки), equipment (типы, параметры, экземпляры, измерения, виды отказов). Модель MeasurementDataRow с JSON-полем для значений параметров. Парсинг CSV с поддержкой UTF-16/UTF-8/CP1251, сопоставление столбцов по именам параметров. Chart.js для графиков с zoom и панорамированием, AJAX-загрузка данных. Виды отказов задаются логическими выражениями и проверяются при сохранении измерений. Management-команды для импорта из Excel и загрузки системных типов Sterrad.
Система MedAssist (СПИ) — веб-сервис для хранения и анализа диагностических данных медоборудования. Реализовано: управление пользователями и площадками, справочник типов Sterrad NX/100NX с параметрами, учёт экземпляров по серийным номерам, загрузка CSV-протоколов с проверкой серийного номера, интерактивные графики с временной осью, автоматический анализ отказов по настраиваемым условиям. Поддержка импорта из Excel, ролевая модель, аудит изменений. Готово к развёртыванию на Ubuntu с Nginx и Gunicorn.
Свяжитесь с нами для обсуждения вашего проекта и получения персонального предложения