Skip to content

Latest commit

 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

HealthPulse

A native iOS health tracking application built with SwiftUI, inspired by the Home-Reported Outcomes (HRO) methodology inspired by Folia Health.

Swift Platform License

Overview

HealthPulse enables users to track their personal health experiences through:

  • Symptom Logging - Record symptoms with severity ratings, duration, and triggers
  • Treatment Tracking - Log medications, supplements, and therapies with effectiveness ratings
  • HRO Questionnaires - Answer personalized multiple-choice questions about health changes
  • Data Insights - Visualize trends, correlations, and patterns in your health data

Screenshots

Insights Insights

Features

📊 Dashboard

  • Daily wellbeing overview
  • Weekly trend visualization
  • Quick access to recent entries
  • Key insights at a glance

✍️ Health Logging

  • Intuitive wellbeing slider (1-10 scale)
  • Categorized symptom selection with severity tracking
  • Treatment logging with dosage and effectiveness ratings
  • Free-form notes for additional context

📋 Home-Reported Outcomes (HRO)

  • Daily check-in questionnaires
  • Multiple-choice format for consistent data collection
  • Customizable questions across categories:
    • Symptoms
    • Functioning
    • Quality of Life
    • Treatment Response
    • Triggers

📈 Insights & Analytics

  • Wellbeing trend charts using Swift Charts
  • Symptom frequency analysis
  • Treatment effectiveness comparisons
  • Pattern detection and correlations

⚙️ Customization

  • Add custom symptoms and treatments
  • Personalize HRO questions
  • Export data in JSON/CSV formats
  • Privacy-focused local storage

Technical Highlights

Architecture

  • MVVM Pattern - Clear separation of concerns
  • Repository Pattern - Abstracted data persistence
  • Protocol-Oriented Design - Testable API service layer

Domain Models

// Core health entry model
struct HealthEntry {
    let id: UUID
    var date: Date
    var overallWellbeing: Int
    var symptoms: [SymptomEntry]
    var treatments: [TreatmentEntry]
    var notes: String
    var hroResponses: [HROResponse]
}

// Symptom with categorization
struct Symptom {
    let id: UUID
    var name: String
    var category: SymptomCategory
    var icon: String
}

// Treatment tracking
struct Treatment {
    let id: UUID
    var name: String
    var category: TreatmentCategory
    var defaultDosage: String?
}

Key Technologies

  • SwiftUI - Modern declarative UI framework
  • Swift Charts - Native data visualization
  • Async/Await - Modern concurrency patterns
  • Codable - JSON serialization for API integration
  • UserDefaults - Local data persistence

RESTful API Integration

protocol APIServiceProtocol {
    func fetchEntries() async throws -> [HealthEntry]
    func uploadEntry(_ entry: HealthEntry) async throws
    func deleteEntry(_ entryId: UUID) async throws
}

Project Structure

HealthPulse/
├── HealthPulseApp.swift          # App entry point
├── ContentView.swift             # Main tab navigation
├── Models/
│   ├── HealthEntry.swift         # Core data models
│   ├── Symptom.swift             # Symptom definitions
│   ├── Treatment.swift           # Treatment definitions
│   └── HROQuestion.swift         # HRO questionnaire models
├── Views/
│   ├── DashboardView.swift       # Main dashboard
│   ├── LogEntryView.swift        # Health logging interface
│   ├── InsightsView.swift        # Analytics and charts
│   ├── HROQuestionnaireView.swift # Daily questionnaire
│   ├── SettingsView.swift        # App settings
│   └── ...                       # Component views
├── Services/
│   ├── HealthDataStore.swift     # State management
│   ├── APIService.swift          # REST API client
│   └── HealthEntryRepository.swift # Data persistence
└── Utilities/
    └── DateExtensions.swift      # Date helper functions

Requirements

  • iOS 17.0+
  • Xcode 15.0+
  • Swift 5.9+

Installation

  1. Clone the repository:
git clone https://github.com/yourusername/HealthPulse.git
  1. Open in Xcode:
cd HealthPulse
open HealthPulse.xcodeproj
  1. Build and run on simulator or device

Screenshots

Dashboard Log Entry Insights HRO Questionnaire
Overview of health data Symptom & treatment logging Charts & analytics Daily check-in

Why This Project?

This project was built to demonstrate proficiency in:

  • Native iOS Development with Swift and SwiftUI
  • Domain Modeling for healthcare data
  • Object-Oriented Design Patterns (MVVM, Repository)
  • RESTful Web Services integration
  • Modern Swift Concurrency (async/await)
  • Data Visualization with Swift Charts

Inspired by Folia Health's mission to help people track and understand their personal health experiences through Home-Reported Outcomes.

License

MIT License - see LICENSE for details.

Author

Built as a portfolio project demonstrating iOS development skills for healthcare applications.


"Measure what matters" - Inspired by Folia Health's approach to personalized, data-driven healthcare.

About

Personal health tracking app with SwiftUI iOS app and Next.js web demo. Track symptoms, treatments, and wellbeing with HRO methodology.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages