Focusing Manager
The Focusing Manager is the central orchestration component of the Focusing module that coordinates all steps of the personalization workflow.
Responsibilities
1. Service Discovery
- Discovers Preprocessors via Kubernetes labels:
eu.gravitate-health.fosps.preprocessing=true - Identifies available Lenses from FHIR Server
2. Workflow Orchestration
- Receives Focusing flows requests
- Retrieves raw ePI if needed
- Invokes Preprocessors in sequence
- Selects appropriate Lenses
- Calls LEE with p(ePI), IPS, PV
- Returns f(ePI) to requester
3. Data Management
- Queries FHIR Server for resources
- Coordinates with Connectors for external data
- Manages preprocessor stacking (sequential execution)
4. Lens Selection
Architecture Position
Located in the Service Layer of FOSPS.
API Endpoints
Exposes OpenAPI documented endpoints for:
- Initiating Focusing flows
- Status and health checks
- Configuration management
Integration Points
- Preprocessors: Discovers and invokes via REST
- LEE: Calls for lens execution
- FHIR Server: Retrieves/stores resources
- Connectors: Fetches external data
- Istio: Exposed via VirtualService
Stacking Logic
Manages Preprocessor stacking:
- Executes preprocessors sequentially
- Each preprocessor receives output of previous
- Builds complete p(ePI) with all annotations
Related Concepts
- Focusing - Overall process
- Preprocessor - Discovered services
- Lens - Selected algorithms
- LEE - Execution component
- Focusing Flows - Request patterns
- FOSPS - Platform architecture