wiki + padronizacao: CFP #6/#7 fechados — Compliance 1.2 done
Atualiza PADRONIZACAO.md (Fase 3 marca CFP completo, todos os 5 itens #5/#6/#7/#8/#9 done) e adiciona entrada no log.md detalhando os 5 commits do dia + arquitetura end-to-end + proximos passos. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1232,3 +1232,53 @@ DESIGN_ASAAS_GATEWAY.md completo. 7 arquivos novos: 2 migrations (tables+RLS) +
|
||||
## [2026-05-21 morning] session | Fase 3 — Compliance CFP #5/#8/#9
|
||||
Touched: none
|
||||
2 migrations (profiles registration + specialties+joinM:N+RLS) + 1 seed (33 specialties) + 1 service (specialtiesService.js). #8 nome social ja estava integrado. #6 consent forms e #7 assinatura adiados — schemas (document_templates+document_signatures) existem, falta UI workflow.
|
||||
|
||||
## [2026-05-21 afternoon] session | Compliance CFP #6 + #7 fechados
|
||||
Touched: none (durable em development/02-auditoria/PADRONIZACAO.md + memoria padronizacao_sweep)
|
||||
|
||||
Fechou Fase 1.2 Compliance basico BR do ROADMAP. 5 commits tematicos.
|
||||
|
||||
#6 (consent forms) — biblioteca de templates LGPD-compliant:
|
||||
- Migration 20260521000005 estende CHECK constraint de document_templates.tipo
|
||||
com 'termo_lgpd' + 'autorizacao_gravacao'
|
||||
- Seed seed_060 insere 2 templates globais novos (Consentimento LGPD com
|
||||
Art. 18 direitos do titular + Autorizacao para Gravacao de Sessao) +
|
||||
UPDATE no tcle_online amend cláusula LGPD explicita
|
||||
- Biblioteca completa pos-amend: TCLE, tcle_online (telehealth),
|
||||
autorizacao_menor (TCLE menores), termo_sigilo, termo_lgpd, autorizacao_
|
||||
gravacao + 9 outros tipos existentes
|
||||
|
||||
#7 (assinatura eletronica no portal) — fluxo end-to-end:
|
||||
- Migration 20260521000006: 3 RPCs (sign_document_by_signature_id +
|
||||
sign_document_by_token + get_signable_document_by_token). IP/UA
|
||||
capturados SERVER-SIDE via inet_client_addr() e current_setting
|
||||
('request.headers') — anti-spoof. Hash SHA-256 vem do cliente
|
||||
pra integridade
|
||||
- Migration 20260521000007: RPC list_my_signatures que cruza auth.uid()
|
||||
por 3 caminhos (signatario_id, signatario_email, patient.user_id)
|
||||
- DocumentSignatures.service ganha 4 wrappers: signByPortal,
|
||||
signByToken, getSignableDocumentByToken, listMySignatures
|
||||
- useDocumentSignatures composable novo (Tipo A blueprint)
|
||||
- PortalDocumentos.vue (nova) — lista pendencias do paciente logado
|
||||
com KPIs + filtro + botao "Assinar agora" que aponta pra share link
|
||||
- portal.menu.js ganha item "Documentos > Para assinar"
|
||||
- SharedDocumentPage.vue estendida: painel azul abaixo do preview
|
||||
com aviso LGPD/CFP + checkbox aceite + selecao multi-signatario
|
||||
+ botoes Assinar/Recusar com loading + computa SHA-256 do PDF
|
||||
baixado antes do sign
|
||||
- DocumentSignatureDialog (terapeuta-side, ja existia) ganha
|
||||
checkbox "Gerar link publico para assinatura" (default ON) +
|
||||
select validade (24h/3d/7d/30d) + bloco emerald com URL + copy
|
||||
|
||||
Fluxo end-to-end: terapeuta cria signature requests + share_link
|
||||
no dialog -> copia URL -> envia via WA/email -> paciente abre
|
||||
/shared/document/:token -> visualiza doc -> aceite -> assinatura
|
||||
registrada via RPC sign_document_by_token (IP/UA/timestamp/hash
|
||||
gravados server-side em document_signatures).
|
||||
|
||||
Pos-MVP nice-to-have: notificacao automatica do paciente quando
|
||||
signature criada (depende de Modulo 6 notifications WA/email
|
||||
channel factory). Por ora, terapeuta envia link manualmente.
|
||||
|
||||
PROXIMO: outras 5 secoes do ROADMAP Fase 1 (Asaas Fase B bloqueada,
|
||||
UX §1.3, Fiscal §1.4, Qualidade §1.5).
|
||||
|
||||
@@ -107,12 +107,12 @@ Do `project_graphify_findings_20260504`:
|
||||
### Fase 3 — Gaps de MVP (Fase 1 do ROADMAP)
|
||||
|
||||
- [🟡] **Gateway Asaas (Fase A foundation 2026-05-21)** — Design doc + 2 migrations (tables + RLS) + client service + 3 Edge Function stubs (create-payment-record, cancel-payment, sync-payment). Schema: `asaas_customers`, `asaas_payments`, `asaas_webhook_events` + 5 colunas em `payment_settings`. Fase B (implementação real) depende de credenciais + decisão modelo negócio (A/B/C). Ver `development/02-auditoria/DESIGN_ASAAS_GATEWAY.md`.
|
||||
- [🟡] **Compliance CFP (#5/#8/#9 done · #6/#7 deferred · 2026-05-21)** —
|
||||
- [x] **Compliance CFP (#5/#6/#7/#8/#9 todos done · 2026-05-21)** —
|
||||
- #5 (registro profissional): migration `20260521000003_profiles_professional_registration.sql` — adiciona `professional_registration_type` (CHECK 8 conselhos) + `_number` + `_uf`.
|
||||
- #6 (consent forms editáveis): migration `20260521000005_document_templates_consent_types.sql` estende CHECK com `termo_lgpd` + `autorizacao_gravacao`. `seed_060_consent_forms_extra.sql` insere 2 templates novos (LGPD + Gravação) + UPDATE no `tcle_online` adicionando cláusula LGPD. Biblioteca completa: TCLE base, tcle_online (telehealth), autorizacao_menor, termo_sigilo, termo_lgpd, autorizacao_gravacao + UI já existente (`DocumentTemplatesPage` + `DocumentTemplateEditor`).
|
||||
- #7 (assinatura eletrônica no portal): 2 migrations RPC — `20260521000006` cria `sign_document_by_signature_id` + `sign_document_by_token` + `get_signable_document_by_token` (IP/UA capturados server-side via `inet_client_addr()` + `current_setting('request.headers')`); `20260521000007` cria `list_my_signatures` (cruzamento auth.uid() por 3 caminhos). `DocumentSignatures.service` estendido. `useDocumentSignatures` composable novo. `PortalDocumentos.vue` lista pendências do paciente logado. `SharedDocumentPage.vue` estendida com painel azul de assinatura (aviso LGPD + checkbox aceite + Assinar/Recusar). `DocumentSignatureDialog` (terapeuta-side, já existia) ganha checkbox "Gerar link público" + select de validade + bloco com URL gerado/copy.
|
||||
- #8 (nome social): JÁ INTEGRADO — `patients.nome_social` schema existia + UI em 7 arquivos.
|
||||
- #9 (especialidades): `20260521000004_specialties.sql` (tabela + profile_specialties M:N + RLS) + `seed_050_specialties.sql` (33 specialties) + `src/services/specialtiesService.js`.
|
||||
- **#6 consent forms DEFERRED**: schema `document_templates` existe; falta seed + UI editor + workflow.
|
||||
- **#7 assinatura DEFERRED**: schema `document_signatures` existe com status flow completo; falta portal UI pra paciente.
|
||||
- [ ] E2E Playwright crítico (#16)
|
||||
- [ ] Sentry (#18)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user