Real-time monitoring and alert system for home hemodialysis
Explore the docs »
Report Bug
·
Request Feature
Table of Contents
Ankaa is a proof-of-concept for a real-time monitoring and alert system designed specifically for home hemodialysis. The system focuses on detecting critical risks such as severe hypotension and blood loss, integrating with health monitoring setups to provide automated emergency detection, and caresupport alerts. This ensures patient safety even without immediate medical assistance.
The project was born from a personal need to make home hemodialysis safer and more accessible. As someone who has experienced the challenges of home dialysis firsthand, I understand the importance of having a reliable safety net that can detect and respond to critical situations, especially when medical assistance isn't immediately available.
Key Features:
- Real-time monitoring of patient data
- Automated alert system for abnormal conditions
- Care network management
- Support for hemodialysis and blood pressure monitoring
- Web-based interface for monitoring
- Integration with existing dialysis equipment
The system aims to:
- Reduce anxiety and stress during home dialysis sessions
- Provide peace of mind for both patients and caresupports
- Enable faster response to critical situations
- Make home dialysis more accessible to those who might otherwise be hesitant
- Create a safety net that works even without immediate medical assistance
- Docker and Docker Compose
- Elixir 1.14+ (for local development)
- Rust (for IoT mock development)
-
Clone the repo
git clone https://github.com/qweliant/ankaa.git ```2. Start the services using Docker Compose ```sh docker-compose up -d
-
Access the web interface at
http://localhost:4000
The system is built as a microservices architecture with the following components:
-
Ankaa Beacon (Phoenix/Elixir Application):
- Main backend service
- Handles data processing and business logic
- Features real-time data processing and alert triggering
-
IoT Mock (Rust Application):
- Simulates IoT devices
- Publishes mock data to MQTT broker
- Used for testing and development
-
MQTT Broker (Mosquitto):
- Message broker for real-time communication
- Handles pub/sub messaging between components
- Exposed on ports 1883 (MQTT) and 9001 (WebSocket)
-
Data Storage:
- PostgreSQL: General purpose database
- Monorepo structure
- Alert triggering system
- Notification service
- Care network user management
- Real-time monitoring dashboard
See the open issues for a full list of proposed features.
This project addresses several critical barriers to home dialysis adoption:
-
Safety Concerns: By providing real-time monitoring and automated emergency detection, the system helps mitigate the primary fear of complications occurring during home treatment.
-
Accessibility: Making home dialysis feel safer could increase adoption rates, potentially allowing more patients to benefit from the flexibility and quality of life improvements that home treatment offers.
-
Care Network Support: The system empowers family members and caresupports to be more confident in supporting home dialysis patients, creating a stronger support network.
-
Healthcare Evolution: This technology could influence healthcare policies and insurance coverage for home dialysis by demonstrating that remote monitoring systems can effectively enhance patient safety.
-
Patient Autonomy: By providing a reliable safety net, patients gain more independence in managing their treatment while maintaining connection to their care network.
-
Cost Implications: By enabling more patients to safely perform dialysis at home, this system could help reduce the overall cost of care while improving patient outcomes.
-
Quality of Life: The combination of safety features and remote monitoring allows patients to maintain their normal routines and lifestyle while ensuring their wellbeing during treatment.
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the Business Source License 1.1. This license:
- Permits non-production use including research, experimentation, development, testing, personal projects, and non-commercial evaluation
- Does not grant the right to use the software in a production environment
- Requires that any modified works carry prominent notices of changes
- Includes a change date (2027-04-14) after which the license will change to MIT License
For full license terms, see the LICENSE file.