WellAlly Digital Health Integration
Integrate multiple digital health data sources, connect to WellAlly.tech knowledge base, providing data import and knowledge reference for personal health management systems.
When to Use
- You need to import or normalize health data from sources like Apple Health, Fitbit, Oura, or CSV/JSON exports.
- You want to connect personal health data workflows to the WellAlly.tech knowledge base.
- The task involves data import, health-data management, or article recommendations driven by user health context.
Core Features
1. Digital Health Data Import
- Apple Health (HealthKit): Export XML/ZIP file parsing
- Fitbit: OAuth2 API integration and CSV import
- Oura Ring: API v2 data synchronization
- Generic Import: CSV/JSON file import with field mapping
2. WellAlly.tech Knowledge Base Integration
- Categorized Article Index: Nutrition, fitness, sleep, mental health, chronic disease management
- Intelligent Recommendations: Recommend relevant articles based on user health data
- URL References: Provide direct links to WellAlly.tech platform
3. Data Standardization
- Format Conversion: Convert external data to local JSON format
- Field Mapping: Intelligently map data fields from different platforms
- Data Validation: Ensure completeness and accuracy of imported data
4. Intelligent Article Recommendations
- Health Status Analysis: Based on user health data analysis
- Relevance Matching: Recommend articles most relevant to user health conditions
- Category Navigation: Organize knowledge base articles by health topics
Usage Instructions
Trigger Conditions
Use this skill when users mention the following scenarios:
Data Import:
- ✅ "Import my health data from Apple Health"
- ✅ "Connect my Fitbit device"
- ✅ "Sync my Oura Ring data"
- ✅ "Import CSV health data file"
- ✅ "How to import fitness tracker/smartwatch data"
Knowledge Base Query:
- ✅ "Articles about hypertension on WellAlly platform"
- ✅ "Recommend some health management reading materials"
- ✅ "Recommend articles based on my health data"
- ✅ "WellAlly knowledge base articles about sleep"
- ✅ "How to improve my blood pressure (check knowledge base)"
Data Management:
- ✅ "What health data sources do I have"
- ✅ "Integrate health data from different platforms"
- ✅ "View imported external data"
Execution Steps
Step 1: Identify User Intent
Determine what the user wants:
- Import Data: Import data from external health platforms
- Query Knowledge Base: Find WellAlly.tech related articles
- Get Recommendations: Recommend articles based on health data
- Data Management: View or manage imported external data
Step 2: Data Import Workflow
If user wants to import data:
2.1 Determine Data Source
const dataSource = identifySource(userInput);
// Possible returns: "apple-health", "fitbit", "oura", "generic-csv", "generic-json"
2.2 Read External Data Use appropriate import script based on data source type:
// Apple Health
const appleHealthData = readAppleHealthExport(exportPath);
// Fitbit
const fitbitData = fetchFitbitData(dateRange);
// Oura Ring
const ouraData = fetchOuraData(dateRange);
// Generic CSV/JSON
const genericData = readGenericFile(filePath, mappingConfig);
2.3 Data Mapping and Conversion Map external data to local format:
// Example: Apple Health steps mapping
function mapAppleHealthSteps(appleRecord) {
return {
date: formatDateTime(appleRecord.startDate),
steps: parseInt(appleRecord.value),
source: "Apple Health",
device: appleRecord.sourceName
};
}
// Save to local file
saveToLocalFile("data/fitness/activities.json", mappedData);
2.4 Data Validation
function validateImportedData(data) {
// Check required fields
// Validate data types
// Check data ranges
// Ensure correct time format
return {
valid: true,
errors: [],
warnings: []
};
}
2.5 Generate Import Report
const importReport = {
source: dataSource,
import_date: new Date().toISOString(),
records_imported: {
steps: 1234,
weight: 30,
heart_rate: 1200,
sleep: 90
},
date_range: {
start: "2025-01-01",
end: "2025-01-22"
},
validation: validationResults
};
Step 3: Knowledge Base Query Workflow
If user wants to query knowledge base:
3.1 Identify Query Topic
const topic = identifyTopic(userInput);
// Possible returns: "nutrition", "fitness", "sleep", "mental-health", "chronic-disease", "hypertension", "diabetes", etc.
3.2 Search Relevant Articles Find relevant articles from knowledge base index:
function searchKnowledgeBase(topic) {
// Read knowledge base index
const kbIndex = readFile('.claude/skills/wellally-tech/knowledge-base/index.md');
// Find matching articles
const articles = kbIndex.categories.filter(cat =>
cat.tags.includes(topic) || cat.keywords.includes(topic)
);
return articles;
}
3.3 Return Article Links
const results = {
topic: topic,
articles: [
{
title: "Hypertension Monitoring and Management",
url: "https://wellally.tech/knowledge-base/chronic-disease/hypertension-monitoring",
category: "Chronic Disease Management",
description: "Learn how to effectively monitor and manage blood pressure"
},
{
title: "Blood Pressure Lowering Strategies",
url: "https://wellally.tech/knowledge-base/chronic-disease/bp-lowering-strategies",
category: "Chronic Disease Management",
description: "Improve blood pressure levels through lifestyle changes"
}
],
total_found: 2
};
Step 4: Intelligent Recommendation Workflow
If user wants personalized recommendations:
4.1 Read User Health Data
// Read relevant health data
const profile = readFile('data/profile.json');
const bloodPressure = glob('data/blood-pressure/**/*.json');
const sleepRecords = glob('data/sleep/**/*.json');
const weightHistory = profile.weight_history || [];
4.2 Analyze Health Status
function analyzeHealthStatus(data) {
const status = {
concerns: [],
good_patterns: []
};
// Analyze blood pressure
if (data.blood_pressure?.average > 140/90) {
status.concerns.push({
area: "blood_pressure",
severity: "high",
condition: "Hypertension",
value: data.blood_pressure.average
});
}
// Analyze sleep
if (data.sleep?.average_duration < 6) {
status.concerns.push({
area: "sleep",
severity: "medium",
condition: "Sleep Deprivation",
value: data.sleep.average_duration + " hours"
});
}
// Analyze weight trend
if (data.weight?.trend === "increasing") {
status.concerns.push({
area: "weight",
severity: "medium",
condition: "Weight Gain",
value: data.weight.change + " kg"
});
}
// Identify good patterns
if (data.steps?.average > 8000) {
status.good_patterns.push({
area: "activity",
description: "Daily average steps over 8000",
value: data.steps.average
});
}
return status;
}
4.3 Recommend Relevant Articles
function recommendArticles(healthStatus) {
const recommendations = [];
for (const concern of healthStatus.concerns) {
const articles = findArticlesForCondition(concern.condition);
recommendations.push({
condition: concern.condition,
severity: concern.severity,
articles: articles
});
}
return recommendations;
}
4.4 Generate Recommendation Report
const recommendationReport = {
generated_at: new Date().toISOString(),
health_status: healthStatus,
recommendations: recommendations,
total_articles: rec