diff --git a/backend/newwhats/checklist-defs.js b/backend/newwhats/checklist-defs.js index 073499e..be3ec78 100644 --- a/backend/newwhats/checklist-defs.js +++ b/backend/newwhats/checklist-defs.js @@ -16,7 +16,12 @@ export const CHECKLIST_QUESTOES = [ { chave: 'pacientes_cadastrados', pergunta: 'Os pacientes já estão cadastrados no sistema (/pacientes)?', - ajuda: 'Sem os pacientes cadastrados, a Secretária não reconhece quem já é paciente e encaminha os retornos para a secretária humana confirmar.', + ajuda: 'Mesmo que sim, o cadastro pode estar INCOMPLETO (nem todos os familiares). A Secretária confirma a identidade antes de agendar e encaminha ao humano quando não reconhece quem fala.', + }, + { + chave: 'telefone_compartilhado', + pergunta: 'Um mesmo telefone pode ser de vários pacientes (família)?', + ajuda: 'Ex.: o número está no cadastro do filho, mas quem manda mensagem é a mãe. Se sim, a Secretária SEMPRE confirma com quem está falando e para quem é o atendimento — nunca assume pelo número.', }, { chave: 'dentista_fixo', @@ -54,6 +59,10 @@ export function pendenciasDeConfig(respostas, counts) { P.push({ chave: 'dentista_fixo', severidade: 'media', titulo: 'Cadastre os dentistas de referência', detalhe: 'Você indicou que cada paciente tem um dentista fixo, mas o sistema ainda não tem os dentistas todos cadastrados para fazer esse vínculo.' }); + if (sim(r, 'telefone_compartilhado')) + P.push({ chave: 'telefone_compartilhado', severidade: 'media', titulo: 'Complete o cadastro de cada familiar', + detalhe: 'Como um mesmo telefone pode ser de vários pacientes (ex.: cadastrado só no filho, mas quem fala é a mãe), a Secretária vai SEMPRE confirmar quem está falando e não assume pelo número. Mantenha cada familiar cadastrado e vinculado ao número para ela acertar mais e encaminhar menos ao humano.' }); + return P; } @@ -65,14 +74,26 @@ export function cautelasParaIA(respostas, counts) { const C = []; const multi = sim(r, 'multi_dentista') || dentistas > 1; + const temPacientes = pacientes > 0 || sim(r, 'pacientes_cadastrados'); + const telShared = sim(r, 'telefone_compartilhado') || (temPacientes && r['telefone_compartilhado'] == null); + if (multi) C.push('A clínica tem MAIS DE UM dentista: NUNCA assuma um dentista nem "clínico geral" por padrão para quem já é paciente. Descubra/pergunte qual dentista atende. Sem certeza → encaminhe ao humano.'); if (sim(r, 'multi_dentista') && dentistas <= 1) C.push('ATENÇÃO: o sistema ainda não tem todos os dentistas cadastrados. Para pacientes de retorno ou que pedem um dentista específico, encaminhe ao humano — NÃO agende no clínico geral.'); if (sim(r, 'dentista_fixo')) C.push('Cada paciente tem um dentista fixo: um retorno deve voltar ao MESMO dentista. Se você não sabe qual é (falta cadastro), encaminhe ao humano.'); + + // Identidade de quem fala — o cadastro é incompleto e o telefone é ambíguo. + if (temPacientes) + C.push('IDENTIDADE: o cadastro pode estar INCOMPLETO. Ao achar um paciente pelo telefone, NÃO assuma que é quem está falando — confirme o NOME de quem fala e PARA QUEM é o atendimento antes de qualquer coisa.'); + if (telShared) + C.push('TELEFONE COMPARTILHADO: um mesmo número pode ser de vários da família (ex.: está no cadastro do filho, mas quem fala é a mãe; ou perguntam pelo tratamento do marido). SEMPRE pergunte com quem você fala e de quem é o atendimento; se a pessoa/atendimento não bater com o cadastro do número, encaminhe ao humano — não agende no paciente errado.'); if (pacientes === 0 || nao(r, 'pacientes_cadastrados')) C.push('O cadastro de pacientes está incompleto: você NÃO consegue confirmar histórico nem o dentista de quem diz já ser paciente. Nesses casos, encaminhe ao humano em vez de agendar.'); + // Profissional citado que não existe na lista de dentistas (sempre possível). + C.push('PROFISSIONAL NÃO CADASTRADO: se o cliente citar um dentista/profissional que NÃO está na lista de dentistas acima (ex.: prótese com um Dr. de fora), NÃO invente nem agende — encaminhe ao humano com encaminhar_humano e diga NO RESUMO que o profissional citado não está cadastrado, para o dono cadastrá-lo.'); + return C; }