Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
glebis avatar

Health Data

  • 360 installs
  • 339 repo stars
  • Updated August 4, 2026
  • glebis/claude-skills

health-data is a Claude agent skill that queries a local Apple Health SQLite database across 43 metric types and exports Markdown, JSON, FHIR R4, or ASCII reports for developers building wellness, clinical, or benefits a

About

health-data is a glebis/claude-skills agent skill for querying and analyzing Apple Health data stored in a local SQLite database containing 6.3M+ records across 43 health metric types. The health_query.py script supports daily summaries, weekly trends, sleep analysis, vitals, activity rings, workouts, and raw SQL templates. Output formats include Markdown, JSON, FHIR R4 Bundles with LOINC-coded Observations, and ASCII Unicode bar charts. Developers reach for health-data when building health apps, generating fitness reports, exporting interoperable FHIR data, or validating privacy-aware query patterns for clinical and benefits workflows. Reference files cover database schema, FHIR mappings, and pre-built SQL query templates.

  • Health schema patterns
  • FHIR-oriented transforms
  • Privacy-aware handling
  • Metrics and cohort queries
  • Pipeline-ready structures

Health Data by the numbers

  • 360 all-time installs (skills.sh)
  • Ranked #531 of 2,064 Data Science & ML skills by installs in the Skillselion catalog
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/glebis/claude-skills --skill health-data

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs360
repo stars339
Last updatedAugust 4, 2026
Repositoryglebis/claude-skills

How do you export Apple Health data as FHIR R4?

Model, validate, transform, and query health datasets (FHIR-like records, vitals, claims) with privacy-aware patterns for wellness, clinical, or benefits apps.

Who is it for?

Developers building health, wellness, or clinical apps who need to query local Apple Health SQLite data and export FHIR R4 interoperable records.

Skip if: Teams without a local Apple Health SQLite export who need cloud EHR integration rather than on-device health database analysis.

When should I use this skill?

User asks to analyze Apple Health metrics, generate health reports, export FHIR data, or query vitals and sleep patterns from SQLite.

What you get

Formatted health reports in Markdown, JSON, FHIR R4 Bundle, or ASCII charts from SQLite queries across vitals, sleep, and workouts.

  • Health query reports
  • FHIR R4 Bundle exports
  • ASCII or JSON trend visualizations

By the numbers

  • Queries 6.3M+ health records across 43 metric types
  • Exports 4 output formats: Markdown, JSON, FHIR R4, and ASCII
  • FHIR R4 output uses LOINC-coded Observation resources per fhir_mappings.md

Files

SKILL.mdMarkdownGitHub ↗

Apple Health Data Query Skill

Query and analyze health data from the local SQLite database containing 6.3M+ records across 43 health metrics.

Database Location

~/data/health.db

Query Methods

1. Python Script (Recommended for Common Queries)

Use scripts/health_query.py for pre-built queries with automatic formatting:

# Daily summary
python ~/.claude/skills/health-data/scripts/health_query.py --format markdown daily --date 2025-11-29

# Weekly trends
python ~/.claude/skills/health-data/scripts/health_query.py --format json weekly --weeks 4

# Sleep analysis
python ~/.claude/skills/health-data/scripts/health_query.py --format fhir sleep --days 7

# Latest vitals
python ~/.claude/skills/health-data/scripts/health_query.py vitals

# Activity rings
python ~/.claude/skills/health-data/scripts/health_query.py --format json activity --days 30

# Workout history
python ~/.claude/skills/health-data/scripts/health_query.py workouts --days 30 --type Running

# Custom SQL
python ~/.claude/skills/health-data/scripts/health_query.py --format json query "SELECT * FROM workouts LIMIT 5"

Output formats: markdown, json, fhir, ascii

2. Direct SQL (For Custom/Ad-hoc Queries)

For flexible queries, run SQL directly against the database. See references/schema.md for table structures and query templates.

sqlite3 ~/data/health.db "SELECT AVG(value) FROM health_records WHERE record_type LIKE '%HeartRate%' AND start_date LIKE '2025-11%'"

Pre-built Queries

Daily Health Summary

Get today's key metrics:

python ~/.claude/skills/health-data/scripts/health_query.py daily

Returns: steps, calories, heart rate (avg/min/max), exercise minutes, distance, activity ring status.

Weekly Trends

Compare week-over-week performance:

python ~/.claude/skills/health-data/scripts/health_query.py weekly --weeks 4

Returns: average daily steps, resting HR, exercise minutes, workout count per week.

Sleep Analysis

Analyze sleep patterns:

python ~/.claude/skills/health-data/scripts/health_query.py sleep --days 14

Returns: nightly duration, sleep stages (Core, Deep, REM), average sleep hours.

Latest Vitals

Get most recent vital readings:

python ~/.claude/skills/health-data/scripts/health_query.py vitals

Returns: Heart Rate, HRV, Resting HR, Blood Oxygen, Respiratory Rate with timestamps.

Activity Rings

Track ring completion:

python ~/.claude/skills/health-data/scripts/health_query.py activity --days 30

Returns: daily ring values/goals, completion percentages, perfect day count.

Workout History

Review exercise sessions:

python ~/.claude/skills/health-data/scripts/health_query.py workouts --days 30 --type Running

Returns: workout type, duration, distance, calories, summary by type.

Output Formats

Markdown (default)

Human-readable tables and lists. Best for reports and summaries.

JSON

Structured data for programmatic use:

{
  "date": "2025-11-29",
  "metrics": {
    "steps": 8542,
    "active_calories": 450.5,
    "heart_rate": {"avg": 72.3, "min": 52, "max": 145}
  }
}

FHIR R4

Healthcare interoperability format. Outputs as FHIR Bundle with Observation resources using LOINC codes. See references/fhir_mappings.md for code mappings.

ASCII

Terminal-friendly output with bar charts and statistics:

============================================================
  DAILY SUMMARY - 2025-11-29
============================================================

METRICS
----------------------------------------
  steps                      2620
  active_calories           234.5
  heart_rate           avg:  67.5  min:  52  max: 108

ACTIVITY RINGS
----------------------------------------
  move       [███████░░░░░░░░░░░░░]  36.7% (238/650)
  exercise   [░░░░░░░░░░░░░░░░░░░░]   0.0% (0/35)
  stand      [████████████████████] 100.0% (10/10)

Common SQL Patterns

For ad-hoc queries, use these patterns from references/schema.md:

Heart rate by hour (circadian pattern):

SELECT strftime('%H', start_date) as hour, ROUND(AVG(value), 1) as avg_hr
FROM health_records
WHERE record_type = 'HKQuantityTypeIdentifierHeartRate'
AND value BETWEEN 40 AND 200
GROUP BY hour ORDER BY hour;

Steps per day this month:

SELECT DATE(start_date) as day, SUM(value) as steps
FROM health_records
WHERE record_type = 'HKQuantityTypeIdentifierStepCount'
AND start_date >= DATE('now', 'start of month')
GROUP BY day ORDER BY day;

Sleep quality (deep + REM hours):

SELECT DATE(start_date) as night,
       ROUND(SUM(duration_minutes)/60.0, 1) as quality_hours
FROM sleep_sessions
WHERE sleep_stage IN ('Deep', 'REM')
GROUP BY night ORDER BY night DESC LIMIT 14;

Workout summary:

SELECT REPLACE(workout_type, 'HKWorkoutActivityType', '') as type,
       COUNT(*) as count, ROUND(SUM(duration_minutes)) as total_min
FROM workouts
WHERE start_date >= DATE('now', '-30 days')
GROUP BY type ORDER BY count DESC;

Record Types Available

The database contains 43 health metric types including:

Vitals: Heart Rate, HRV, Resting HR, Blood Oxygen, Respiratory Rate, Blood Pressure

Activity: Steps, Distance, Active Calories, Basal Calories, Flights Climbed, Exercise Time, Stand Time

Mobility: Walking Speed, Step Length, Walking Asymmetry, Stair Speed, Walking Steadiness

Body: Weight, BMI, Body Fat %

Audio: Environmental Noise, Headphone Exposure

Other: VO2 Max, Time in Daylight, UV Exposure

Data Coverage

  • Records: 6.3M+ measurements
  • Date range: 2015-10-13 to present
  • Workouts: 1,435 sessions
  • Sleep sessions: 40,514 records
  • Activity days: 1,875 daily summaries

Resources

scripts/

  • health_query.py - Main query tool with Markdown/JSON/FHIR output

references/

  • schema.md - Database schema, record type mappings, SQL query templates
  • fhir_mappings.md - LOINC codes and FHIR R4 templates

Troubleshooting

Database not found: Ensure ~/data/health.db exists. Run the import script from /Users/server/apple_health_export/:

python import_health.py --status

No data for date range: Check available date range:

SELECT MIN(start_date), MAX(start_date) FROM health_records;

Outlier values: Filter physiologically valid ranges (e.g., heart rate 40-200 bpm):

WHERE value BETWEEN 40 AND 200

Related skills

How it compares

Pick health-data over generic SQL skills when you need Apple Health schema knowledge, pre-built vitals/sleep queries, and FHIR R4 LOINC export out of the box.

FAQ

What output formats does health-data support?

health-data supports four output formats via health_query.py: Markdown (default), JSON, FHIR R4 Bundles with LOINC-coded Observations, and ASCII Unicode bar charts for visualization.

How many health metrics does health-data cover?

health-data queries a local Apple Health SQLite database with 6.3M+ records spanning 43 health metric types including vitals, sleep, activity rings, and workouts.

Data Science & MLpipelinesanalyticsdatabases

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.