feat(questionnaires): échelles QCM cliniques (PHQ-9), assignation par patient, scores au dossier
Feature médicale central-only (passation on-device = future spec RPC).
- store: 3 tables (questionnaires template clair, assignments, results chiffrés
PII); PHQ-9 semé d'office (builtin non supprimable), scoring sum + bandes.
- backend: features/medical/questionnaires (CRUD authoring, scoring +
interprétation, assignation fréquence once|recurring, record_result, lecture
par dossier patient); router câblé dans app.py.
- UI: catalogue niveau flotte + éditeur QCM dynamique; assignation & résultats
par patient; résultats aussi dans le dossier patient (section Patients).
- tests: +5 (seeding, scoring 0/27, authoring, assign/deactivate, chiffrement
au repos). 59/59. Vérifié end-to-end via TestClient (gate 423, CRUD, scoring,
builtin protégé).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>