OTIDOC¶
Padrão técnico para integração com o sistema OTIMUS (gestão clínica / agendamento) em chatbots WhatsApp operados pela AgentProIA.
Para quem é esta documentação
Esta é a fonte única da verdade sobre como integrar com OTIMUS. Foi escrita para ser consumida por outros agentes Claude ao iniciarem um novo projeto de chatbot clínico, e por desenvolvedores humanos revisando ou estendendo um dos projetos existentes.
O que é o padrão OTIMUS¶
O OTIMUS (otimusclinic.com) é o ERP/sistema de gestão usado pelas
clínicas parceiras. Cada clínica roda uma instância isolada do OTIMUS, com
subdomínio próprio, credenciais próprias e IDs próprios para convênios,
especialidades, agendas e procedimentos.
Um chatbot AgentProIA integrado com OTIMUS consegue:
- Consultar horários disponíveis de um médico/procedimento
- Cadastrar paciente (quando não existe) ou buscá-lo por CPF
- Confirmar agendamento de consulta/exame
- Transferir conversas fora do escopo para atendimento humano
Projetos que usam este padrão¶
| Projeto | Domínio OTIMUS | Especialidade | Médicos | Referência |
|---|---|---|---|---|
| MEDCENTER | medcenteracai-node.otimusclinic.com |
Clínica multi-especialidade | 7 | Ver |
| CLINFETO | clinfeto.otimusclinic.com:9100 |
Ultrassonografia / Medicina fetal | 5 | Ver |
Stack compartilhada¶
flowchart LR
WA[WhatsApp] --> WTS[WTS Chat / FlowChat]
WTS -->|webhook| API[FastAPI server.py]
API --> WF[LangGraph workflow]
WF --> MED[Processadores de mídia<br/>Gemini + Whisper]
WF --> AG[Agente ReAct<br/>GPT-4.1 / GPT-4.1-mini]
AG -->|tools| OT[(OTIMUS API)]
AG -->|resposta| WTS
WF --> PG[(PostgreSQL<br/>fila + chat history<br/>+ telemetria)]
- Runtime: Python 3.12, FastAPI, Uvicorn, Docker
- LLM: OpenAI (GPT-4.1 ou GPT-4.1-mini) via LangChain
- Orquestração: LangGraph Functional API + ReAct agent
- Persistência: PostgreSQL +
PostgresSaver(LangGraph checkpointer) - Mídia: Google Gemini (imagem/PDF), OpenAI Whisper (áudio)
- Canal: WTS Chat / FlowChat (WhatsApp Business)
Roteiro de leitura recomendado¶
- Visão geral — o que o sistema faz ponta-a-ponta
- Arquitetura — componentes e fluxo
- Endpoints OTIMUS — os 4 endpoints que importam
- Cliente OTIMUS — como encapsular as chamadas
- Primeiro nome do doutor —
armadilha crítica
- Checklist novo projeto — operacional
Princípios¶
Contratos que todo projeto OTIMUS deve honrar
- Nunca invente horários. Se o OTIMUS falhar, transfira para humano.
- Resolva IDs por nome (médico, procedimento, convênio) antes de bater na API. OTIMUS fala em IDs numéricos.
- Normalize nomes (remove acentos, uppercase) antes de comparar.
- Valide o
agendaNomede retorno — uma request comagenda_idde médico X pode retornar horários se o OTIMUS estiver inconsistente; o nome precisa bater. - Busque paciente por CPF antes de cadastrar. Nunca cadastre cego.
- CPF e telefone só com dígitos. Normalize antes de mandar.
- Datas vão para o OTIMUS em
DD-MM-YYYY. O restante do sistema usa ISOYYYY-MM-DDinternamente. - Timezone é
America/Sao_Paulosempre.
Licença e uso¶
Documento interno AgentProIA. Replicar para novos projetos da mesma organização é permitido — manter referência a esta fonte e reportar divergências.