Monitoring System for Endoscopic Equipment Cleaning
Brief Description
Developed a system for step-by-step tracking of medical instrument processing and disinfection in endoscopy. The project consisted of two linked parts: a hardware circuit using sensors and RFID tags, and an internal portal on Yii2 that received events from the equipment, recorded the completion of processing stages, and displayed the log as a working dashboard for staff.
This was an applied system that linked the real-world instrument processing with a digital log and control over stage sequencing.
Purpose of the Project
The project addressed the task of tracking endoscopic equipment cleaning and disinfection by stages. Instead of manual paper-based or partially manual tracking, the system allowed:
- linking RFID tags to staff, endoscopes, statuses, washing machines, and cleaning agents;
- receiving events from sensors and modules;
- automatically advancing a record through processing stages;
- recording the start and end times of operations;
- viewing current and completed processing cycles in a log;
- verifying that the next stage cannot be performed with an incorrect tag type.
What has been implemented
- Internal web portal on Yii2 for staff and administrators.
- Discrete
endoscopymodule with domain-specific registries and logs. - Discrete
apimodule and public endpoint for receiving events from external devices. - Role separation within the system, including administrator, employee, and a specific authorized device role.
- Tracking and configuration of RFID tags with assignment to specific entities.
- Registries for endoscopes, washing machines, cleaning agents, instrument statuses, and staff.
- Discrete employee profiles, tracking of user accounts and contact data within the system.
- Registry of cleaning agents with solution parameters, including concentration and, if necessary, temperature.
- Registry of washing machines with operating modes.
- Registry of instrument statuses to record stage results, including
Yes/NoandPositive/Negativescenarios. - Main processing log
CleaningLog, where actual data for the cleaning and disinfection cycle was recorded. - Discrete levels log
CleaningLevelLog, which stored the progress of stages as a sequence of statuses and execution history. - Dashboards and logs with filtering, search, dates, statuses, and display of processing stages in tables.
- Interfaces based on my Yii2 plugins, including
GridView,DynaGrid, AdminLTE, and related UI components.
Processing Logic
The system was built as a finite state machine based on processing stages. For each record, I tracked which step the instrument was at and which type of RFID event could be accepted next.
The system fixed stages such as:
- cycle start by an employee;
- assignment of the instrument being processed;
- leak test;
- main cleaning with agent selection and recording of start/end;
- cleaning quality test;
- disinfection in manual or automatic mode;
- a separate backup cleaning stage for instruments within the log structure;
- recording the completion of the cycle.
For each step, the system:
- determined the next valid stage;
- verified the type of the incoming RFID tag;
- prohibited skipping steps and accepting events of the wrong type;
- recorded the corresponding data in the log;
- recorded the start and completion times of operations;
- moved the cycle into an
ActualorCompletedstatus.
By doing so, the project controlled not just the fact of an event, but the correctness of the medical instrument processing sequence.
Integration with Devices and Sensors
The hardware part of the project used Arduino sensors and modules that transmitted data to the system. My work was not just at the web level: I also programmed the sensors and controllers in C, after which they sent requests to the portal.
Backend/web implementation included:
- receiving external requests from devices;
- processing RFID tag identifiers for staff and instruments/objects;
- searching for corresponding records in the system;
- scenario validation before event recording;
- transactional updating of the main record and level log;
- returning errors if the device transmitted an invalid next step.
Thus, the web project acted as the server part of the hardware circuit, not just as an internal interface.
Digital Logbook Content
- Log of cleaning and disinfection cycles with dates, staff, instruments, and processing type.
- Start and end times of individual operations.
- Test results, including leak tests and cleaning quality control.
- Assigned cleaning agents and washing machines.
- A separate level of representation by execution stages, showing where in the cycle the step is.
- Administrative registries for RFID tags and related entities.
This allowed the system to be used as an internal dashboard and audit log for the instrument processing workflow.
Technical Backend and Web Highlights
- Designed the application on Yii2 with discrete modules for
security,staff,api, andendoscopy. - Implemented RBAC and separate roles for staff, administrators, and devices.
- Configured a public event receiving scenario without a standard user session for the hardware part.
- Built business logic on ActiveRecord models:
CleaningLog,CleaningLevelLog,RfidTags,Tools,ToolsCleaningMachines,ToolsCleaningAgents,ToolsStatuses. - Separated the actual operations log and the level progress log to store cycle data and route state separately.
- Designed the schema such that a device was a full-fledged access subject with a discrete role in the system, not just an external event source.
- Used transactions when updating processing cycles to ensure stage records remained consistent across linked tables.
- Implemented filtering, search, and custom log tables through my own Yii2 components for administrative interfaces.
- Built registries for managing tags and their assignment to staff, instruments, statuses, machines, and reagents.
- Added user settings and contact data to the data model, allowing the system to develop as a full internal portal rather than just an event log.
Technologies
- Yii2
- PHP
- MySQL
- JavaScript
- jQuery
- AdminLTE
- Own Yii2 plugins for grid/dynagrid/admin UI
- RFID tags
- Arduino sensors/modules
- C for programming sensors and controllers
My role
My role was end-to-end: from the initial idea and formalization of stage logic to implementing the internal portal, backend logic, logs, dashboard, and hardware integration. Additionally, I programmed the sensors and controllers in C so they could transmit events to the system.
Practical value of the project
This case demonstrates several levels of engineering work simultaneously:
- development of an applied system for a medical process;
- translating a real-world offline instrument processing workflow into a digital model;
- integrating a web application with external sensors and RFID events;
- designing a finite state machine and stage sequence control;
- building logs and an internal dashboard for process auditing;
- combining backend development, interfaces, and hardware integration in a single project.