MCPcopy
hub / github.com/OpenHealthForAll/open-health

github.com/OpenHealthForAll/open-health @v0.2.0 sqlite

repository ↗ · DeepWiki ↗ · release v0.2.0 ↗
262 symbols 589 edges 99 files 1 documented · 0%
README

🚀 OpenHealth

AI Health Assistant | Powered by Your Data

Platform Language Framework

📢 Now Available on Web!
In response to requests for easier access, we've launched a web version.
Try it now: open-health.me

🌍 Choose Your Language

English | Français | Deutsch | Español | 한국어 | 中文 | 日本語 | Українська | Русский | اردو


OpenHealth Demo

🌟 Overview

OpenHealth helps you take charge of your health data. By leveraging AI and your personal health information, OpenHealth provides a private assistant that helps you better understand and manage your health. You can run it completely locally for maximum privacy.

✨ Project Features

Core Features

  • 📊 Centralized Health Data Input: Easily consolidate all your health data in one place.
  • 🛠️ Smart Parsing: Automatically parses your health data and generates structured data files.
  • 🤝 Contextual Conversations: Use the structured data as context for personalized interactions with GPT-powered AI.

📥 Supporting Data Sources & Language Models

Data Sources You Can Add Supported Language Models
• Blood Test Results • Health Checkup Data • Personal Physical Information • Family History • Symptoms • LLaMA • DeepSeek-V3 • GPT • Claude • Gemini

🤔 Why We Built OpenHealth

  • 💡 Your health is your responsibility.
  • ✅ True health management combines your data + intelligence, turning insights into actionable plans.
  • 🧠 AI acts as an unbiased tool to guide and support you in managing your long-term health effectively.

🗺️ Project Diagram

graph LR
    subgraph Health Data Sources
        A1[Clinical Records

Blood Tests/Diagnoses/

Prescriptions/Imaging]
        A2[Health Platforms

Apple Health/Google Fit]
        A3[Wearable Devices

Oura/Whoop/Garmin]
        A4[Personal Records

Diet/Symptoms/

Family History]
    end

    subgraph Data Processing
        B1[Data Parser & Standardization]
        B2[Unified Health Data Format]
    end

    subgraph AI Integration
        C1[LLM Processing

Commercial & Local Models]
        C2[Interaction Methods

RAG/Cache/Agents]
    end

    A1 & A2 & A3 & A4 --> B1
    B1 --> B2
    B2 --> C1
    C1 --> C2

    style A1 fill:#e6b3cc,stroke:#cc6699,stroke-width:2px,color:#000
    style A2 fill:#b3d9ff,stroke:#3399ff,stroke-width:2px,color:#000
    style A3 fill:#c2d6d6,stroke:#669999,stroke-width:2px,color:#000
    style A4 fill:#d9c3e6,stroke:#9966cc,stroke-width:2px,color:#000

    style B1 fill:#c6ecd9,stroke:#66b399,stroke-width:2px,color:#000
    style B2 fill:#c6ecd9,stroke:#66b399,stroke-width:2px,color:#000

    style C1 fill:#ffe6cc,stroke:#ff9933,stroke-width:2px,color:#000
    style C2 fill:#ffe6cc,stroke:#ff9933,stroke-width:2px,color:#000

    classDef default color:#000

Note: The data parsing functionality is currently implemented in a separate Python server and is planned to be migrated to TypeScript in the future.

Getting Started

⚙️ How to Run OpenHealth

Installation Instructions

  1. Clone the Repository: bash git clone https://github.com/OpenHealthForAll/open-health.git cd open-health

  2. Setup and Run: ```bash # Copy environment file cp .env.example .env

# Start the application using Docker/Podman Compose docker/podman compose --env-file .env up ```

For existing users, use: ```bash # Generate ENCRYPTION_KEY for .env file: # Run the command below and add the output to ENCRYPTION_KEY in .env echo $(head -c 32 /dev/urandom | base64)

# Rebuild and start the application docker/podman compose --env-file .env up --build ``` to rebuild the image. Run this also if you make any modifications to the .env file.

  1. Access OpenHealth: Open your browser and navigate to http://localhost:3000 to begin using OpenHealth.

Note: The system consists of two main components: parsing and LLM. For parsing, you can use docling for full local execution, while the LLM component can run fully locally using Ollama.

Note: If you're using Ollama with Docker, make sure to set the Ollama API endpoint to: http://docker.for.mac.localhost:11434 on a Mac or http://host.docker.internal:11434 on Windows.


Star History

Star History Chart


🌐 Community and Support

💫 Share Your Story & Get Updated & Give Feedback

AIDoctor Subreddit Discord

🤝 Talk with Team

Calendly Email

Extension points exported contracts — how you extend this code

OnboardingSubmitRequest (Interface)
(no doc)
src/actions/onboarding.ts
MedicalRecordsProps (Interface)
(no doc)
src/components/onboarding/MedicalRecords.tsx
Country (Interface)
(no doc)
src/lib/countries.ts
PdfToImagesPayload (Interface)
(no doc)
src/trigger/pdf-to-image.ts
ScreenProps (Interface)
(no doc)
src/app/chat/[id]/screen.tsx
ProgressBarProps (Interface)
(no doc)
src/components/onboarding/ProgressBar.tsx
MessagePayload (Interface)
(no doc)
src/lib/health-data/parser/prompt.ts
PdfToImagesResult (Interface)
(no doc)
src/trigger/pdf-to-image.ts

Core symbols most depended-on inside this repo

cn
called by 49
src/lib/utils.ts
isFieldInvalid
called by 12
src/components/onboarding/PersonalInfo.tsx
parse
called by 10
src/lib/health-data/parser/vision/openai.ts
handleChange
called by 7
src/components/onboarding/PersonalInfo.tsx
models
called by 6
src/lib/health-data/parser/vision/openai.ts
processBatchWithConcurrency
called by 5
src/lib/health-data/parser/util.ts
onChangeChatRoom
called by 4
src/components/chat/chat-setting-side-bar.tsx
inference
called by 3
src/lib/health-data/parser/pdf.ts

Shape

Function 135
Interface 80
Method 35
Class 12

Languages

TypeScript100%

Modules by API surface

src/components/source/source-add-screen.tsx28 symbols
src/lib/health-data/parser/vision/google.ts11 symbols
src/lib/health-data/parser/document/docling.ts10 symbols
src/lib/health-data/parser/vision/ollama.ts9 symbols
src/lib/health-data/parser/pdf.ts9 symbols
src/lib/health-data/parser/document/upstage.ts8 symbols
src/components/onboarding/PersonalInfo.tsx8 symbols
src/lib/health-data/parser/vision/openai.ts7 symbols
src/lib/health-data/parser/document/base-document.ts7 symbols
src/components/onboarding/MedicalRecords.tsx7 symbols
src/components/chat/chat-side-bar.tsx7 symbols
src/lib/health-data/parser/vision/base-vision.ts6 symbols

Dependencies from manifests, versioned

@amplitude/analytics-browser2.11.12 · 1×
@anthropic-ai/sdk0.36.3 · 1×
@eslint/eslintrc3 · 1×
@google/generative-ai0.21.0 · 1×
@langchain/anthropic0.3.13 · 1×
@langchain/core0.3.39 · 1×
@langchain/google-genai0.1.8 · 1×
@langchain/ollama0.2.0 · 1×
@prisma/client6.4.1 · 1×
@radix-ui/react-dialog1.1.5 · 1×
@radix-ui/react-slot1.1.1 · 1×

For agents

$ claude mcp add open-health \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact