After completing a surgical simulation, Justina’s AI system analyzes your performance and provides detailed feedback. The platform tracks every movement, event, and outcome to generate comprehensive reports.
The results panel appears on the left side of the simulation screen. If results don’t appear immediately, the system is waiting for AI analysis (polling every 5 seconds).
The trajectory retrieval includes permission validation:
public TrajectoryDTO getSurgeryTrajectory( UUID surgeryId, UUID authenticatedSurgeonId, String role) { // Find surgery or throw 404 SurgerySession session = surgeryRepository.findById(surgeryId) .orElseThrow(() -> new SurgeryNotFoundException( "La cirugía con id " + surgeryId + " no existe." )); // Validate permissions (surgeon can only see own data, AI sees all) if (!session.getSurgeonId().equals(authenticatedSurgeonId) && !"ROLE_AI".equals(role)) { throw new ForbiddenActionException( "No tienes permiso para acceder a esta cirugía." ); } // Map to DTO return new TrajectoryDTO( session.getId(), session.getStartTime(), session.getEndTime(), session.getTrajectory(), session.getScore(), session.getFeedback() );}
The AI system provides textual feedback addressing:
Strengths: What you did well
Weaknesses: Areas requiring improvement
Critical Events: Hemorrhages or other major issues
Recommendations: Specific training suggestions
Example Feedback:
Good tumor removal technique with 92% completion rate. However, accidental artery contact at timestamp 1737849045000 reduced overall score. Focus on improving precision near vascular structures. Consider reducing instrument speed when approaching critical anatomy.
public void saveAiAnalysis(UUID surgeryId, AnalysisDTO analysis) { // Find surgery session SurgerySession session = surgeryRepository.findById(surgeryId) .orElseThrow(() -> new SurgeryNotFoundException( "La cirugía con id " + surgeryId + " no existe." )); // Update with AI results session.updateAnalysis(analysis.score(), analysis.feedback()); // Persist to database surgeryRepository.save(session);}
Click the “Análisis de Datos” card on the dashboard.
{ id: "analytics", title: "Análisis de Datos", description: "Métricas y estadísticas de rendimiento de los robots", icon: BarChart3, color: "purple", available: true}
Issue: “No tienes permiso para acceder a esta cirugía”Cause: You’re trying to access another surgeon’s simulation data.Solution: Only access simulations you personally completed. AI-role accounts can access all data.
Issue: Trajectory returned but score and feedback are null.Cause: AI analysis not yet completed.Solution: The frontend will continue polling. If it persists beyond 2 minutes, contact support.