IEC 62304 Draft: Software Architecture Description¶
Document Control¶
- Product: Onset iOS
- Version baseline: 1.2.6 (build 1)
- Status: Draft for FDA workstream kickoff
1. High-Level Components¶
-
UI Layer (SwiftUI)
Screens: Today, Daily Journal, Trends, Protocol/Routine editor, Settings. -
Domain/Engine Layer
ProtocolEngine,InteractionEngine, generation/adaptation logic, feature-gated modifiers. -
Data Layer (SwiftData)
Models:CheckIn,ProtocolCompletion,UserProtocolItem,UserPreferences,LabResult. -
External Integrations
HealthKit read-only series, optional cloud AI backend (Supabase + model provider), RevenueCat subscription.
2. Regulatory Boundary Architecture¶
FeatureFlags acts as the primary safety gate:
- Wellness profile: FDA-gated flags OFF
- Adaptive profile: flags may be enabled only after clearance and verification
Critical gated boundaries:
- ProtocolEngine.generateProtocol check-in/life-event adaptation
- Interaction/advisory rendering in Today/Protocol/Scanner surfaces
- Cloud AI insight/generator surfaces
- Lab interpretation outputs
3. Data Flow Summary¶
- User logs Daily Journal input.
- Journal input persists to SwiftData.
- Routine generation reads journal data.
- If
adaptiveProtocol == false, journal data is not used to mutate routine output. - Trends view reads persisted data and renders chart-only summaries.
4. Safety-Relevant Architectural Decisions¶
- Dual-layer gating: both computation and UI rendering are gated.
- Default-off adaptive profile: repository baseline keeps adaptive features disabled.
- No runtime self-learning model updates: cloud model calls are request/response only when enabled.
- Separation of concerns: data capture remains available even when adaptive processing is disabled.
5. Future FDA Architecture Work¶
- Hazard-controlled state machine for adaptive enablement.
- Signed configuration profile for regulated mode activation.
- Expanded observability trail for adaptive output provenance.