
Personal Health Triaging Agent Review
A Python + FastAPI triage assistant with a Streamlit chat UI, rule-based red-flag detection, optional wearable integration, and local encrypted storage.
Each review covers deployability, value versus commercial alternatives, and privacy model. Tools that can run locally were started and exercised; mobile or backend-dependent tools were assessed from published builds, source code, and deploy guides. Ratings reflect what we were able to verify.
Personal Health Triaging Agent — Open Source Symptom Triage Assistant
A Python + FastAPI triage assistant with a Streamlit chat UI, rule-based red-flag detection, optional wearable integration, and local encrypted storage. Last updated: 2026-06-21.
One-sentence verdict: A Vietnam-first symptom triage prototype with a strong safety-first design, useful for developers and researchers but not a clinically validated diagnostic tool.
What the System Is
The Personal Health Triaging Agent (PHTA) is a local-first triage system. It is built as:
- FastAPI backend exposing REST and WebSocket endpoints.
- Streamlit chat UI for symptom input and triage output.
- Rule-based red-flag screener that runs before any LLM call.
- Four-level triage output: emergency, urgent, semi-urgent, non-urgent.
- Wearable adapters for Apple HealthKit, Google Health Connect, Fitbit, Garmin, and BLE devices.
- Encrypted local storage using AES-256-GCM and SQLCipher.
- Bilingual support for Vietnamese and English.
The README notes the project is pre-release and explicitly states it is a screening/triage tool, not a diagnostic device.
| Key data | |
|---|---|
| Category | Symptom Checker / Triage |
| Language | Python / FastAPI + Streamlit |
| License | MIT |
| Self-hosted | Yes |
| AI | Rule-based + optional LLM (Claude / Llama-3) |
| Database | SQLCipher-encrypted SQLite |
| Deployment | Python venv or Docker Compose |
How to Install and Deploy
The deploy guide recommends a trimmed-down local quick start because the full requirements.txt includes heavy NLP/voice dependencies.
cd /data2/docker/going-global/repos/personal-health-triaging-agent
python3 -m venv venv
source venv/bin/activate
pip install fastapi uvicorn pydantic pyyaml sqlalchemy cryptography \
pycryptodome websockets jinja2 click numpy scikit-learn scipy joblib \
streamlit requests
# Start API
PYTHONPATH=. uvicorn api.server:app --host 0.0.0.0 --port 8090
# In another terminal, start the Streamlit UI
cd /data2/docker/going-global/repos/personal-health-triaging-agent
source venv/bin/activate
streamlit run ui/app.py --server.port 8501 --server.headless true
A heavier Docker Compose path is also available via docker compose up -d.
How to Test
The documented test flow is:
- Verify the health endpoint:
curl -s http://localhost:8090/healthshould return{"status":"ok","version":"0.1.0"}. - Test the triage endpoint directly:
curl -s -X POST http://localhost:8090/triage -H 'Content-Type: application/json' -d '{"text":"I have a fever and headache"}'. - Open
http://localhost:8501and describe symptoms in the chat. - Verify that the agent returns a triage level and guidance.
The repository includes a clinical validation harness with 175 curated cases and claims 100% pass rate on emergency fixtures.
Privacy & Compliance
PHTA is designed as local-first with AES-256-GCM encryption and SQLCipher. The README mentions GDPR Article 9 and Vietnam Decree 13/2023/NĐ-CP compliance aspirations. It is not advertised as HIPAA compliant. Wearable integrations involve OAuth flows with third-party providers, so data handling depends on which adapters are enabled.
Personal Health Triaging Agent vs Commercial Symptom Checkers
| Dimension | Personal Health Triaging Agent | Commercial Triage (e.g., Ada Health, K Health) |
|---|---|---|
| Cost | Free / self-hosted | Subscription or integrated with care |
| Data location | Local encrypted store | Vendor cloud |
| Clinical validation | Self-reported fixtures (175 cases) | Regulatory-reviewed, clinically validated |
| Language support | Vietnamese + English | Varies by market |
| Wearable integration | Apple Health, Google Health, Fitbit, Garmin, BLE | Varies |
| Setup effort | Medium: Python venv, optional Docker | Low: mobile app install |
| LLM dependency | Optional | Often core to the experience |
Who Should Use It
- Developers or researchers building local-first triage prototypes.
- Teams interested in rule-before-LLM safety architecture.
- Users in Vietnam or bilingual environments who want a self-hosted triage assistant.
Who Shouldn't Use It
- Anyone seeking a medically validated diagnostic or triage tool.
- Users who need immediate, reliable emergency medical guidance without human review.
- People uncomfortable with pre-release software handling health concerns.
FAQ
Is PHTA a medical diagnosis tool?
No. The README and UI disclaimers state it is a triage screening tool, not a diagnostic device. It does not prescribe medications or replace professional medical consultation.
Does it work offline?
The core rule-based triage and red-flag screener can run without cloud models. Optional LLM, Whisper, and wearable cloud integrations require internet access.
Which languages does it support?
Vietnamese and English, with auto-detection. The food database, question trees, and emergency numbers are Vietnam-focused.
Verdict
The Personal Health Triaging Agent is one of the more thoughtfully structured open-source triage prototypes in this batch. Its rule-before-LLM safety design, local encryption, and wearable integration hooks are genuinely interesting. The caveats are pre-release status, self-reported validation metrics, and the fact that it is not a clinically validated tool.
Ratings: Deployability 3/5 · Value vs Commercial 3/5 · Privacy Compliance 4/5
