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 (Engine) and Docker Compose v2+
- Elixir 1.14+ (and a compatible Erlang/OTP)
- Rust (stable toolchain) — for IoT mock
- Node.js + npm or yarn (for Phoenix assets, only for local dev)
Clone the repo
git clone https://github.com/qweliant/ankaa.gitGrab your environment variables that can be seen in the .env.prod example Log into the aws cli. Set up the Session State Manager plugin as well.
Start the db, rust, inbucket, and mosquitto service using Docker Compose
docker-compose up -d --buildFor app development, switch to the main app dir and follow its README.
I have been running the application locally and not in docker hence why you are starting there. The basic build run commands are
cd ankaa_beacon/
mix deps.get && mix ecto.migrate && mix phx.server See ankaa_beacon/README.md for more instructions.
Provision infrastructure (Terraform) notes after running - setup the iot thing to connect to the right topics in your thing policy. - setup the ec2 AMI to the correct image. elixir doesnt seem to cross compile well. build an image based on the machine you are building in. - be sure the ec2 and the rds instances are connected in the console or in terraform. - install docker compose on your ec2 instance
cd infra
terraform init
terraform plan -out=tfplan
terraform apply tfplanBuild and push container images to aws
./build_images.shConnect to the EC2 instance, add the certs for your things, create and deploy. You may need to sudo into the machine for the right user privaleges.
aws ssm start-session --target <instance-id>
cd /path/to/deployed/compose
docker compose pull
docker compose up -dVerify and inspect logs
docker compose ps
docker compose logs -f # follow all services
docker compose logs -f <service> # follow a single service- Goal: Establish that the product feels helpful, emotionally comforting, and technically credible for solo patients and caregivers.
- Milestones
- Deploy public read-only prototype (AWS)
- Publish README + LICENSE (BUSL → MIT rollover)
- Implement in-app alerts using mock thresholds
- Build session-start / session-end flow (no live chat)
- Add “sign up for updates” form on landing page
- Collect feedback from patients, caresupports, Reddit/forums, clinicians
- Legal / Safety
- Mark system experimental and non-medical (UI + README disclaimer)
See the open issues for a full list of proposed features.
This section summarizes the intended benefits, measurable outcomes, and known limitations of the project.
- Patient safety: Real‑time detection and automated alerts aim to reduce missed critical events (hypotension, bleeding) and enable faster response.
- Accessibility & adoption: Lowering perceived risk can increase willingness to choose home dialysis and expand patient options.
- Care network enablement: Structured notifications and role-based escalation help families and caresupports coordinate responses.
- Clinical integration & policy: Instrumented audit logs, exportable data, and demonstrable safety signals support clinical validation and potential reimbursement/policy adoption.
- Economic impact: Safer home care can reduce facility visits and emergency transfers, lowering system costs while improving outcomes.
- Autonomy & quality of life: Continuous monitoring provides a safety net that lets patients maintain routines with reduced anxiety.
- Risks & limitations:
- Not a medical device: requires clear disclaimers, clinical validation, and regulatory review before clinical deployment.
- False positives/negatives: alert tuning and human-in-the-loop escalation are required to limit harm and alarm fatigue.
- Privacy/security: HIPAA‑aware design and strong access controls are essential prior to production use.
- Success metrics / next steps:
- User confidence metrics, number of sessions monitored, time-to-alert, false alarm rate, and clinician auditability.
- Priorities: clinical pilot integrations, privacy/security hardening, and UX testing with patients and carers.
This framing is aligned with the project landing and "Learn more" materials: emphasize measurable safety, clear limits, and a roadmap to clinical validation rather than clinical deployment.
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.