develop #19
Loading…
Reference in a new issue
No description provided.
Delete branch "develop"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Segundo corte da separação Core/EEG do Report (depois do split de schema em report_eeg_profiles): a lógica de ler/criar/clonar o perfil EEG agora mora em modules/eeg_reports/report_profile.py (apply/clone/to_schema) — main.py só orquestra (create_report/update_report/duplicate_report/list_reports), não é mais dono da lógica. As @property de compatibilidade saíram do Report: ele não expõe mais patient_code/has_photic/has_cardio/has_video como atributo nenhum, só a relationship eeg_profile. Contrato HTTP mudou de propósito: GET/POST/PUT /api/reports* agora usam eeg: {patient_code, has_photic, has_cardio, has_video} em vez dos 4 campos soltos (schemas.ReportEegProfile novo, ReportUpdate.eeg é Optional e substitui os 4 de uma vez quando presente, mesma semântica de tags/ manufacturers). channel_coverage (reporting/router.py::metrics()) e o filtro de busca (services/reports.py::apply_report_filters) já usavam join explícito com ReportEegProfile desde o corte anterior, então não mudaram. Frontend atualizado: ReportForm.jsx, ReportDetail.jsx e ReportList.jsx leem/ escrevem form.eeg.*/r.eeg?.* em vez dos campos soltos, com merge defensivo no restore de rascunho do localStorage (formato antigo não quebra mais). Validado com dev server rodando (.claude/launch.json novo, com backend e frontend): criar, listar, buscar por patient code, editar, duplicar, CSV, PDF, HTML e métricas, tudo conferido via network tab batendo com o novo formato. 36/36 testes de backend continuam passando (test_report_duplicate_ and_run_link.py atualizado pro formato aninhado). reporting continua fora do CORE_MODULES do teste de fronteira — ainda depende de pdf_export/html_export e de ReportEegProfile diretamente. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>