OrionHealth is an open-source, privacy-first personal health intelligence platform and wallet built with Flutter. It gives individuals complete ownership of their medical records, wearable metrics, and clinical insights through on-device AI models and Self-Sovereign Identity standards without relying on centralized cloud providers.
v0.11.0-dev β 38 tracked capabilities measured 2026-10-15: 6 stable / 30 partial / 1 implemented / 1 paused (canonical: .gitcore/features.json) | Flutter Web PWA live at app-orionhealth.pages.dev (HTTP 200) and web landing at orionhealth-web.iberi22.workers.dev (HTTP 200) | Gated Flutter suite green on main (2026-10-13, run 38420604837) with 289 registered known failures | e2e-android red on main; docs deploy and repo homepage URL (HTTP 404) open
- FEAT-022 Emergency Data (Wave 10): Medical ID + QR + ICE contact, lock-screen friendly, Isar + Web SharedPreferences
- Flutter Web PWA (Wave 10): Deployed to
app-orionhealth.pages.devvia Cloudflare Pages - Accessibility: SWALTooltip wrapper, semantic labels, WCAG 2.1 AA conformance
- Performance: O(1) AppointmentsLookup service (calendar grid optimization)
- Backend security: FHIR IDOR + error leakage audit (auth middleware, sanitized errors)
- AI/RAG: MedicalTextNormalizer (Spanish abbreviations) + benchmark pipeline
- Compliance: GDPR data export + erasure, HIPAA audit log, Ley 1581 Habeas Data + ARCO rights
- Docs: 25 feature pages, SRS compliance matrix, privacy policy, accessibility statement
- WCAG 2.1 Level AA β see docs/accessibility.md
- GDPR (EU) β Data portability + Right to erasure β see docs/privacy-policy.md
- HIPAA (US) β Technical safeguards, AES-256-GCM encryption, PHI audit log
- Ley 1581 de 2012 (Colombia) β Habeas Data + ARCO rights
- Ley 2015 de 2020 (Colombia) β EHR interoperability
Full coverage details:
coverage_report.md| Feature Catalog:features.json| Changelog: CHANGELOG.md
OrionHealth is packaged as orionhealth_health and supports mobile and desktop platforms (android/, ios/, windows/).
# Clone the repository
git clone https://github.com/iberi22/OrionHealth.git
cd OrionHealth
# Install dependencies
flutter pub get
# Generate dependency injection & serialization code
dart run build_runner build --delete-conflicting-outputs
# Run application on target device
flutter run# Development (debug)
flutter run --flavor dev --dart-define=flavor=dev
# Staging (profile)
flutter run --flavor staging --dart-define=flavor=staging
# Production (release)
flutter build apk --flavor prod --dart-define=flavor=prod
flutter build ios --flavor prod --dart-define=flavor=prodFirst-Run Note: On initial startup, on-device AI models (Sherpa ONNX TTS, Gemma LLM) and embedded vector stores (Isar Agent Memory) initialize local models on hardware. No cloud accounts or API keys are required for core offline operation.
- Web PWA (Astro 7 + Workers
orionhealth-web): https://orionhealth.swal.network βsrc-astro/(fallback:orionhealth-web.iberi22.workers.dev) - Public landing (Astro):
orionhealth-docs.pages.devβ seedocs/ - PWA demo (Flutter Web):
app-orionhealth.pages.devβ FEAT-022 demo - Native apps: Android/iOS via
flutter build apk/ios
# Build
flutter build web --release -t lib/main_web.dart --no-tree-shake-icons
# Deploy
wrangler pages deploy build/web --project-name=app-orionhealthCI deploy runs on every push to main via .github/workflows/deploy-web.yml.
- π Privacy-First Core: Zero telemetry, on-device vector database (Isar Agent Memory), and fully local model execution.
- π Self-Sovereign Identity (SSI): Decentralized identifiers (DIDs), AnonCreds, and W3C Verifiable Credentials for cryptographic data control.
- π£οΈ Local AI Voice Assistant: Natural voice interaction powered by on-device Gemma LLM and Sherpa ONNX text-to-speech.
- π₯ Interoperable FHIR Integration: Native support for FHIR R4 & DSTU2 clinical data exchanges and composition mapping.
- π§ Offline Health & Wellness: Offline guided meditation, mood tracking, and audio processing completely detached from cloud servers.
- π Wearable & Health Sync: Direct integration with Apple HealthKit and Google Health Connect sensor streams.
- π Hardware-Backed Storage: Sensitive credentials and encryption keys stored securely in OS Keychain/KeyStore.
- π Medication & Interaction Checkers: Drug-drug interaction detection using standardized pharmacy APIs and local indexes.
- π Clinical Report Summaries: On-device medical report generation mapped to universal medical standards.
- π Multi-Language Support: Fully localized interface with offline translation capabilities.
- Zero Cloud Leakage: All personal health records, embeddings, and chat history remain strictly on the user's physical device.
- Hardware-Level Encryption: Keys and secrets are secured using OS Keychain/KeyStore via
flutter_secure_storage. - On-Device Machine Learning: Vector embeddings and LLM inference run entirely locally via
onnxruntimeandisar_agent_memory. - Verifiable Data Ownership: Employs W3C Verifiable Credentials, AnonCreds, and DIDs for cryptographic proof without central identity providers.
- Local PII Protection: Automated sanitization and masking of personally identifiable information prior to local indexing.
OrionHealth integrates universal health and clinical standards across the application stack:
| Standard | Description | Where Used in App |
|---|---|---|
| ICD-10 | International Classification of Diseases | Diagnostic coding, condition mapping, and clinical report indexing (lib/features/local_agent/, lib/features/reports/) |
| LOINC | Logical Observation Identifiers Names and Codes | Laboratory observations, FHIR composition mapping, and health summaries (lib/features/sync/, lib/features/local_agent/) |
| RxNorm | Standardized Nomenclature for Clinical Drugs | Medication profile tracking, dosage mapping, and interaction checking (lib/features/medications/, lib/features/medical_research/) |
| SNOMED CT | Systematized Nomenclature of Medicine | Clinical terminology resolution and medical research querying (lib/features/medical_research/, lib/features/local_agent/) |
OrionHealth follows Clean Architecture structured into 4 main layers. For detailed documentation, see ARCHITECTURE.md.
lib/
βββ core/ # Shared infrastructure
β βββ config/ # Environment & build config
β β βββ environment.dart # Runtime environment (dev/staging/prod)
β β βββ build_config.dart# Build-time flavor config
β βββ di/ # Dependency injection (GetIt + injectable)
β βββ services/ # Core services (audio, tts, secure storage, logging)
β βββ theme/ # App theme (dark mode)
β βββ utils/ # Utilities (cache, error handler, lazy_router)
β βββ widgets/ # Shared widgets (error_boundary)
βββ features/ # Feature modules (Clean Architecture)
β βββ auth/ # Authentication + DID/VC / SSI
β βββ meditation/ # Offline-guided meditation
β βββ voice_chat/ # AI voice chat with TTS/ASR
β βββ ... # 21+ additional features
βββ l10n/ # Localization
βββ main.dart # App entry point
| Decision | Choice | Rationale |
|---|---|---|
| State Management | flutter_bloc | Predictable, testable, scalable state handling |
| Dependency Injection | get_it + injectable | Compile-time code generation, no runtime reflection |
| TTS / Voice | sherpa_onnx (on-device) | Privacy-first local synthesis with zero cloud reliance |
| Audio Engine | just_audio + record | Native platform integration for playback and recording |
| Storage | flutter_secure_storage | Encrypted at rest, Keychain/Keystore backed |
| FHIR Engine | fhir_dstu2 + fhir_r4 | Interoperable industry standard for clinical data |
| Database / Memory | isar_agent_memory | Embedded vector database for local AI context |
| Logging | AppLogger | Structured logging, silent in release builds |
# Run unit and widget tests
flutter test
# Watch mode
flutter test --watch
# Coverage report
flutter test --coverage
genhtml coverage/lcov.info -o coverage/html
# Run Embedding Quality Benchmark for Medical RAG
dart run scripts/benchmark_embeddings.dart --help
dart run scripts/benchmark_embeddings.dart --fixture test/fixtures/medical_benchmark_queries.jsonWe follow a specific development workflow. Please read our GITPROTOCOL.md before submitting contributions.
- Fork the repository
- Create a feature branch (
git checkout -b feat/your-feature) - Commit changes (
git commit -m "feat: add amazing feature") - Push to the branch (
git push origin feat/your-feature) - Open a Pull Request
Distributed under the AGPL-3.0 License. See LICENSE for more information.
- Repository: github.com/iberi22/OrionHealth
- Documentation: orionhealth-docs.pages.dev
- Issue Tracker: GitHub Issues
Built with β€οΈ by SouthWest AI Labs