longevity: collega i test fisici a calcolaSessione, misure valide fra sessioni
Un check-up e un questionario sono sessioni separate: prima di questo
commit calcolaSessione leggeva solo le misure della sessione corrente,
quindi l'una non vedeva mai i dati dell'altra. misureValideAlla (nuova,
motore/index.ts) legge invece, per ogni test_id, la misura valida piu'
recente del cliente fra tutte le sue sessioni fino a quella data.
sottoDominiDellaSessione unisce sotto-domini da curva (questionario) e
sotto-domini fisici (sottoDominiFisici) in un'unica mappa, usata sia da
calcolaSessione (livello 1) sia da vista.ts (sottoDominiPresenti, per
"cosa manca" nel referto — non piu' una query separata sulla tabella
misure). Aggiornati i commenti di seed-demo.ts (il registro ora contiene
anche le voci f_*, anche se questa demo non le compila).
Test nuovi in motore-fisici-sessione.test.ts: il caso demo() dell'oracolo
end-to-end, un ingresso mancante o l'eta assente che lascia il
sotto-dominio fuori, la combinazione fra sessioni (check-up dopo il
questionario, sessione precedente che non vede il futuro, misura fuori
range sostituita dalla precedente valida). 202 test esistenti restano
verdi, 9 nuovi: 211 totali. tsc --noEmit: 0 errori (0 anche su 13d8cdd).
Refs #1
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -26,13 +26,14 @@
|
||||
* ⚠️ I dati sono INVENTATI e vanno detti tali a chi guarda: è una persona che non esiste.
|
||||
* Il referto che ne esce non è un esempio clinico, è un esempio di interfaccia.
|
||||
*
|
||||
* ⚠️ Cosa mostrerà davvero il radar: il registro contiene oggi SOLO le 20 domande del
|
||||
* questionario — i test fisici (handgrip, VO2max, plank, composizione corporea...) non
|
||||
* hanno ancora una riga, arrivano col gestionale trainer. Quindi escono con un valore gli
|
||||
* assi che il questionario copre almeno al 40%, e gli altri restano dichiarati
|
||||
* insufficienti con l'elenco di cosa manca. Non è un difetto della demo: è lo stato del
|
||||
* prodotto, ed è anche la regola di Nicola che si vede all'opera (annullare invece di
|
||||
* stimare).
|
||||
* ⚠️ Cosa mostrerà davvero il radar: questo script compila SOLO il questionario (le 20
|
||||
* domande `q_*`) tramite `salvaDalForm` — non registra nessuna misura fisica (`f_*`), che
|
||||
* arriva dal check-up col gestionale trainer, non da qui. Il registro le contiene entrambe
|
||||
* (vedi `registro.ts`), ma senza `registraMisure` per le `f_*` questa sessione non ne vede
|
||||
* nessuna. Quindi escono con un valore gli assi che il questionario copre almeno al 40%, e
|
||||
* gli altri restano dichiarati insufficienti con l'elenco di cosa manca. Non è un difetto
|
||||
* della demo: è lo stato di UNA sessione di solo questionario, ed è anche la regola di
|
||||
* Nicola che si vede all'opera (annullare invece di stimare).
|
||||
*
|
||||
* DIPENDE DA: tsx (devDependency) — il codice del prodotto è TypeScript e questo script
|
||||
* lo usa davvero invece di riscriverne una copia in SQL.
|
||||
|
||||
Reference in New Issue
Block a user