Core Modules¶
Overview¶
Core modules provide the fundamental building blocks for Spezi applications. These modules handle essential functionality that most digital health applications require.
Available Core Modules¶
1. HealthKit Integration¶
The HealthKit module provides seamless integration with Apple's HealthKit framework, allowing your app to read and write health data.
import Spezi
import SpeziHealthKit
@main
struct MyApp: App {
var body: some Scene {
WindowGroup {
ContentView()
}
.spezi(HealthKit())
}
}
Key Features: - Automatic permission handling - Data synchronization - Real-time health data access - Privacy-compliant data handling
2. FHIR Integration¶
The FHIR module enables interoperability with healthcare systems using the FHIR (Fast Healthcare Interoperability Resources) standard.
import Spezi
import SpeziFHIR
@main
struct MyApp: App {
var body: some Scene {
WindowGroup {
ContentView()
}
.spezi(FHIR())
}
}
Key Features: - FHIR resource management - RESTful API integration - Data validation - Standard compliance
3. User Management¶
The User module handles user authentication, profiles, and session management.
import Spezi
import SpeziUser
@main
struct MyApp: App {
var body: some Scene {
WindowGroup {
ContentView()
}
.spezi(User())
}
}
Key Features: - User authentication - Profile management - Session handling - Privacy controls
4. Data Storage¶
The Storage module provides secure, local data storage with encryption and backup capabilities.
import Spezi
import SpeziStorage
@main
struct MyApp: App {
var body: some Scene {
WindowGroup {
ContentView()
}
.spezi(Storage())
}
}
Key Features: - Encrypted local storage - Automatic backups - Data versioning - Migration support
Configuration¶
Core modules can be configured using their respective configuration options:
@main
struct MyApp: App {
var body: some Scene {
WindowGroup {
ContentView()
}
.spezi(
HealthKit(
healthKitTypes: [.stepCount, .heartRate],
readPermissions: [.stepCount, .heartRate],
writePermissions: [.stepCount]
),
FHIR(
serverURL: "https://fhir.example.com",
clientId: "your-client-id"
),
User(
authenticationMethod: .biometric,
requireAuthentication: true
)
)
}
}
Best Practices¶
- Start with Core Modules: Begin your app development with the essential core modules
- Configure Permissions: Always configure appropriate permissions for HealthKit and other sensitive data
- Handle Errors: Implement proper error handling for module initialization and data access
- Test Integration: Thoroughly test module integration before adding custom modules
- Follow Privacy Guidelines: Ensure your app complies with privacy regulations and guidelines
Next Steps¶
- Learn about Health & Wellness Modules
- Explore User Experience Modules
- Discover Advanced Modules
- Start Building Your Own Modules