Skip to content

Issue 98 - UX survey suggestions from optimization source

Date: 2026-05-26 Source reviewed: local-only attachment from Cristina's 2026-05-19 email, Python y Optimizacion 2025-2026.docx Privacy note: the raw email, attachment, and extracted text are not committed. This report only records issue-scoped, non-identifying UX and validation requirements.

Scope

Issue #98 asks to review UX suggestions from the optimization/paper source and decide what can be applied to EPPA. The source separates completed 2025 work from 2026 work. This report maps only the 2026 actionable items to current EPPA flows.

Requirement Mapping

Source item Existing EPPA flow Current status Next action
Make process confirmations more central, larger, and green, especially save/export confirmations. Shared toast system in src/components/ui/toast.tsx; save/export/copy confirmations across analysis pages. Partially covered: confirmations exist, default toasts use a teal accent, but they still appear in the lower-right corner and are compact. Low-risk UI patch: make success/default toasts top-center, wider, and clearly green. Add a Playwright check for an export/save confirmation.
Add undo/back when the user makes a mistake during measurement capture. Marker import and clear safeguards in analysis pages; keyboard undo tests in playwright/e2e/ux-undo-clear.spec.ts. Covered for marker replacement/import undo and clear confirmations. Extend later to calibration/reference-line steps if clinicians report those mistakes as frequent.
Navigate the image with zoom. ImageDisplayArea, zoom controls, pan hooks, minimap, magnifier. Covered. Keep regression coverage in visual/interaction tests; no new issue needed unless a specific gesture fails.
Analyze the minimum markers needed per variable and send a table. docs/MARCADORES-MINIMOS-POR-VARIABLE.md; marker requirement data in src/app/data/marker-requirements.ts. Covered as documentation and implementation data. Review the table with Cristina before changing marker requirements.
Show Punto no visible in the on-screen result table and Excel when a marker could not be captured for a variable. Missing-result rows in all analysis pages; export helpers in src/lib/analysis-results.ts; tests in tests/unit/analysis-results.test.ts and tests/js/testMissingDataSemantics.js. Covered for current result/export path. Keep as a release-gate behavior; add view-specific E2E coverage only if regressions appear.
Check normal values and qualitative-diagnosis signs. Diagnostic helpers and analysis calculations under src/lib/ and analysis pages. Gap: requires clinical sign review before code change. Create a clinical validation task that names every affected variable, expected sign convention, normal range, and synthetic fixtures.
Change elbow and knee normality in right/left profile views from 180 deg (+/-2 deg) to 0 deg (+/-2 deg). Lateral profile calculations and diagnostics in src/app/[locale]/analysis/lateral-* plus calculation helpers. Precise requirement, but clinically high-risk because it changes interpretation. Do not patch until Cristina confirms the sign convention and expected diagnostic labels from the DPC table. Then add synthetic TDD fixtures before implementation.
Continue exports of images and Excel. Clinical image capture/export and CSV/Excel XML export paths. Covered. No issue #98 change needed.
  1. Toast prominence patch
  2. Update the shared toast viewport/style so default confirmations appear top-center, larger, and green.
  3. Keep destructive toasts visually distinct and not green.
  4. Add a focused Playwright assertion that export/save confirmation appears in the central viewport.

  5. Clinical range/sign validation task

  6. Build a small traceability table for lateral right and left elbow/knee angles.
  7. Confirm whether Python should normalize these variables around 0 deg or keep raw MATLAB-style values and adjust only display/diagnosis.
  8. Add synthetic tests before changing calculations or diagnosis labels.

  9. Calibration/reference undo enhancement

  10. If prioritized after clinical review, add undo entries for calibration points and reference lines.
  11. Verify that undo never silently invalidates exported or captured clinical results.

Already-Covered Evidence

  • playwright/e2e/ux-undo-clear.spec.ts covers marker undo and clear-scope confirmations.
  • tests/unit/analysis-results.test.ts covers missing values, Punto no visible, and CSV/Excel export semantics.
  • tests/js/testMissingDataSemantics.js confirms marker sentinels and missing export rows.
  • docs/MARCADORES-MINIMOS-POR-VARIABLE.md provides the minimum-marker table requested by the source.

Risk Notes

  • The elbow/knee normality change is not a cosmetic UX change. It can alter clinical interpretation, so it should not be implemented without explicit clinical sign-convention approval and synthetic test fixtures.
  • This report does not include real patient data, patient images, clinical payloads, secrets, or raw email/attachment content.