Skip to content
/ ankaa Public

POC for real-time monitoring and alert system for home hemodialysis, detecting critical risks like severe hypotension and blood loss. That would Integrate with NxStage setups to provide automated emergency detection, caregiver alerts, and AI-driven anomaly detection ensuring patient safety even without immediate medical assistance.

License

Notifications You must be signed in to change notification settings

qweliant/ankaa

Repository files navigation

Tests

Contributors Forks Stargazers Issues License


Ankaa

Real-time monitoring and alert system for home hemodialysis
Explore the docs »

Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Architecture
  4. Impact & Implications
  5. Roadmap
  6. Contributing
  7. License

About The Project

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

Built With

  • Elixir
  • Phoenix
  • Rust
  • PostgreSQL
  • Docker
  • AWS

Getting Started

Prerequisites

  • 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.git

Grab 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.

Docker setup for development

Start the db, rust, inbucket, and mosquitto service using Docker Compose

docker-compose up -d --build

App development

For 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.


App deployment

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 tfplan

Build and push container images to aws

./build_images.sh

Connect 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 -d

Verify and inspect logs

docker compose ps
docker compose logs -f            # follow all services
docker compose logs -f <service>  # follow a single service

Roadmap

Phase 1: Prototype Validation & Emotional Utility (Now–3 months)

  • 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.

Impact & Implications

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.

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

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.

About

POC for real-time monitoring and alert system for home hemodialysis, detecting critical risks like severe hypotension and blood loss. That would Integrate with NxStage setups to provide automated emergency detection, caregiver alerts, and AI-driven anomaly detection ensuring patient safety even without immediate medical assistance.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published