jmandel/health-skillz

A Claude Skill for connecting to and analyzing personal health records via SMART on FHIR

License:UnknownLanguage:TypeScript130
代理claude-skillsehrehr-dataepichealthhealthcaresmart-on-fhir-fhir

Deep Analysis

通过SMART on FHIR分析个人健康记录的Claude技能,支持连接Epic等主要美国医院系统

Core Features

Technical Implementation

Highlights
  • 医疗AI应用 - 健康记录分析的创新方向
  • 隐私优先 - 端到端加密保护敏感数据
  • 标准协议 - SMART on FHIR行业标准
  • 即开即用 - 提供在线实例health-skillz.joshuamandel.com
  • 迭代分析 - Claude动态探索数据而非盲目分析
Use Cases
  • 个人健康记录分析
  • 多医疗机构数据整合
  • 临床笔记理解和总结
  • 健康趋势追踪
  • 医疗决策支持
Limitations
  • 仅支持Epic(美国医院系统)
  • 需要SMART on FHIR客户端注册
  • 医疗数据敏感性高
  • 生产部署需审核
  • 非美国用户可能无法使用
Tech Stack
BunReactTypeScriptSMART on FHIRZustandEpic API

Health Skillz

A Claude Skill for analyzing personal health records via SMART on FHIR.

Try It Now

A live instance is running at health-skillz.joshuamandel.com. To use it:

  1. Download the skill: health-record-assistant.zip
  2. Install in Claude: Settings → Skills → Upload the zip file
  3. Ask Claude: "Can you look at my health records?"

Claude will create a secure session and give you a link to connect your patient portal. Currently supports Epic health systems (most major US hospitals).

For testing, use Epic's sandbox:

  • Username: fhircamila
  • Password: epicepic1

What It Does

  • Full data sync: Pulls all your FHIR resources—labs, meds, conditions, procedures, immunizations, encounters
  • Clinical notes: Extracts full text from visit notes, discharge summaries, and other documents
  • Multi-provider: Connect multiple health systems in one session for comprehensive analysis
  • End-to-end encrypted: Data is encrypted in your browser before transmission; only Claude can decrypt it
  • Download your data: Get a complete JSON export of your records

How It Works

1. You: "Can you look at my health records?"

2. Claude: Creates encrypted session, shows you a link

3. You: Click link → sign into patient portal → authorize → click "Done"

4. Claude: Decrypts data, explores it, answers your questions

Claude analyzes your data iteratively—reading notes, querying structured data, applying clinical reasoning—rather than running blind analysis in a sandbox.


For Developers

Want to deploy your own instance? Read on.

Quick Start

git clone https://github.com/jmandel/health-skillz
cd health-skillz

# Configure
cp config.json.example config.json
# Edit config.json with your SMART on FHIR client IDs

# Install & Setup
bun install
bun run setup  # Downloads Epic endpoint directory

# Run
bun run dev    # Development with hot reload
bun run start  # Production

Configuration

Edit config.json:

{
  "server": {
    "port": 8000,
    "baseURL": "https://your-domain.com"
  },
  "brands": [
    {
      "name": "epic-sandbox",
      "file": "./brands/epic-sandbox.json",
      "clientId": "YOUR_SANDBOX_CLIENT_ID",
      "scopes": "patient/*.rs"
    },
    {
      "name": "epic-prod",
      "file": "./brands/epic-prod.json",
      "clientId": "YOUR_PROD_CLIENT_ID",
      "scopes": "patient/*.rs"
    }
  ]
}

Registering a SMART on FHIR App

To use with real EHRs, register your app with each vendor:

  1. Epic: https://fhir.epic.com/Developer/Apps
  2. Set redirect URI to: https://your-domain.com/connect/callback
  3. Request scopes: patient/*.rs
  4. Add the client ID to your config.json

Epic sandbox apps are approved instantly. Production apps require a brief review.

Project Structure

health-skillz/
├── src/
│   ├── server.ts           # Bun server with API routes
│   ├── index.html          # HTML entry point
│   └── client/             # React frontend
│       ├── App.tsx         # React Router setup
│       ├── pages/          # HomePage, ConnectPage, ProviderSelectPage, OAuthCallbackPage
│       ├── components/     # ProviderSearch, ProviderCard, StatusMessage
│       ├── lib/            # SMART OAuth, FHIR client, crypto, storage
│       └── store/          # Zustand state management
├── scripts/
│   ├── download-brands.ts  # Fetch Epic endpoint directory
│   └── package-skill.ts    # Package Claude skill zip
├── skill/
│   └── health-record-assistant/
│       ├── SKILL.md            # Claude skill instructions
│       ├── scripts/            # create-session.ts, finalize-session.ts
│       └── references/         # FHIR-GUIDE.md
├── static/brands/          # Epic endpoint directory JSON
└── config.json             # Server + SMART client configuration

API Endpoints

Called by Claude (skill scripts):

Endpoint Method Description
/api/session POST Create session (sends ECDH public key)
/api/poll/{id} GET Long-poll for encrypted health data

Called by Browser (React app):

Endpoint Method Description
/api/session/{id} GET Get session info + vendor config + public key
/api/receive-ehr POST Send encrypted EHR data to server
/api/finalize/{id} POST Mark session complete (user clicked "Done")

Other:

Endpoint Method Description
/skill.zip GET Download packaged Claude skill

Architecture

  • Bun fullstack: Server + React bundled together
  • E2E encryption: ECDH key exchange, AES-256-GCM; server never sees plaintext
  • SMART on FHIR: OAuth + FHIR fetching happens entirely client-side
  • No intermediaries: Direct connection from browser to EHR FHIR server

License

MIT

Highly Recommended
agents

wshobson/agents

wshobson

Intelligent automation and multi-agent orchestration for Claude Code

The most comprehensive Claude Code plugin ecosystem, covering full-stack development scenarios with a three-tier model strategy balancing performance and cost.

25.6k2.8k3 days ago
Highly Recommended
awesome-claude-skills

ComposioHQ/awesome-claude-skills

ComposioHQ

A curated list of awesome Claude Skills, resources, and tools for customizing Claude AI workflows

The most comprehensive Claude Skills resource list; connect-apps is a killer feature.

19.9k2.0k3 days ago
Recommended
oh-my-opencode

code-yeongyu/oh-my-opencode

code-yeongyu

The Best Agent Harness. Meet Sisyphus: The Batteries-Included Agent that codes like you.

Powerful multi-agent coding tool, but note OAuth limitations.

17.5k1.2k3 days ago
Recommended
claude-mem

thedotmack/claude-mem

thedotmack

A Claude Code plugin that automatically captures everything Claude does during your coding sessions, compresses it with AI (using Claude's agent-sdk), and injects relevant context back into future sessions.

A practical solution for Claude's memory issues.

14.0k9143 days ago
Highly Recommended
planning-with-files

OthmanAdi/planning-with-files

OthmanAdi

Claude Code skill implementing Manus-style persistent markdown planning — the workflow pattern behind the $2B acquisition.

Context engineering best practices; an open-source implementation of Manus mode.

9.3k8113 days ago
Highly Recommended
Skill_Seekers

yusufkaraaslan/Skill_Seekers

yusufkaraaslan

Convert documentation websites, GitHub repositories, and PDFs into Claude AI skills with automatic conflict detection

An automation powerhouse for skill creation, dramatically improving efficiency.

6.8k6833 days ago