Class CVI

All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable, Accessible

public class CVI extends JPanel
Cortical Visual Impairment (CVI) assessment page.

Provides a structured scoring interface for evaluating the 10 characteristic behaviors associated with Cortical Visual Impairment as defined in the Roman-Lanzi CVI Range assessment framework. Skills are organized into two functional clusters:

  • Phase 1 (P1_1–P1_6): Primary CVI Characteristics
    • Color Preference: Preference for high-saturation colors (red, yellow)
    • Need for Movement: Improved visual attention with motion
    • Latency: Delayed visual response times
    • Field Preference: Asymmetric visual field usage patterns
    • Visual Complexity: Difficulty with cluttered/busy visual environments
    • Nonpurposeful Gaze: Reduced sustained visual fixation
  • Phase 2 (P2_1–P2_4): Secondary/Environmental Characteristics
    • Distance Viewing: Reduced effectiveness at distance
    • Atypical Reflexes: Blink-to-threat, light reflex variations
    • Visual Novelty: Preference for familiar objects/environments
    • Visual Reach: Difficulty localizing and reaching toward objects

Scoring and Interpretation: Each characteristic is typically scored on a 0–10 scale representing frequency/severity of the behavior. Higher scores may indicate greater impact depending on the specific assessment protocol in use. Consult the Roman-Lanzi CVI Range manual for standardized scoring guidelines.

Data Management:

  • Scores captured via PhaseScoreField components with integer validation
  • Submit button persists to database via Database.insertAssessmentResults(int, int, java.lang.String[], int[])
  • Session JSON exported to StudentDataFiles/<student>/Sessions/CVI/CVI-<sessionId>-<timestamp>.json
  • Time-series plots generated per phase group and saved to plots/ directory
  • Markdown and HTML reports generated with embedded plots and color-coded legends

The shared JLineGraph component visualizes trends across multiple sessions, grouped by phase to separate primary and secondary characteristics. This page does not implement listener interfaces as it operates on static student/date parameters.

See Also:
  • Constructor Details

    • CVI

      public CVI(String studentName, LocalDate date, JLineGraph graph)
      Construct the CVI page bound to the selected student and session date.
      Parameters:
      studentName - selected student name (may be null)
      date - session date to use when creating progress sessions
      graph - shared graph used to visualize recent results