PLSA092
PE apos autorizacao de procedimento medico (PLSA092). Trigger pra notificar beneficiario, atualizar limites.
Assinatura: User Function PLSA092() --> NIL
Retorna: NIL
Modulo: SIGAPLS (Plano de Saude) · Rotina: PLSA092 · Momento: Pos-autorizacao procedimento
Parametros (PARAMIXB)
// BFD (autorizacao) posicionadaRetorno
NIL
Contexto
Plano de saude com fluxo de autorizacao — operadoras (PLS) verificam cobertura antes de liberar.
Exemplo
User Function PLSA092()
// Autorizacao gera SMS pro beneficiario
If !Empty(BA1->BA1_CELULAR)
U_EnviaSMS(BA1->BA1_CELULAR, ;
"Procedimento " + BFD->BFD_CODOPE + " autorizado")
EndIf
ReturnPegadinhas
- BFD vs BFK (executor) — autorizacao tem multiplas tabelas relacionadas.
- Limite de exames/procedimentos por periodo — controle em BR8.
- TISS — geracao de XML de autorizacao pode ser obrigatoria.
Quando usar
- Customizacao da rotina padrao Protheus
Cuidados gerais
- Idempotencia: PEs podem disparar mais de uma vez em retry ou reprocessamento — codigo deve ser seguro pra rodar varias vezes sem efeito colateral.
- Performance critica: PE roda em fluxo do usuario. Operacoes pesadas (loop sobre milhares de registros, chamada HTTP sincrona) podem travar a tela. Use
StartJobpra background. - Em JOB sem AppServer ativo: PE chamado via RPC pode ter
cFilAnt/cEmpAntvazios — sempre garantaRpcSetEnv. - Begin Sequence + Recover: erros nao tratados em PE podem deixar transacao Protheus em estado inconsistente. Sempre envolver em
Begin Sequence ... End Sequence. - Logging com contexto: use
FwLoggercom identificacao do PE no log — facilita troubleshooting.
Tabelas afetadas
- BFD — autorizacao (PLS) (geralmente posicionada quando PE dispara)
- Relacionadas: BA1, BR8