#include 'protheus.ch'
user function PLSAUT02()
//Parametros do ponto de entrada
local aRet := ParamIXB[01] //Criticas ja avaliadas
local dData := ParamIXB[02] //Data de execução do procedimento
local cHora := ParamIXB[03] //Hora de execução do procedimento
local cCdTbPd := ParamIXB[04] //Codigo da tabela
local cCodPro := ParamIXB[05] //Codigo do procedimento
local nQtd := ParamIXB[06] //Quantidade Executada
local cCid := ParamIXB[07] //CID do atendimento
local cLOCALExec := ParamIXB[08] //Local de execução ("1" - Autorizacao/"2" - Processamento de Conta)
local cOpeSol := ParamIXB[09] //Operadora do solicitante
local cCodPRFSol := ParamIXB[10] //Codigo do profissional Solicitante
local cCodInt := ParamIXB[11] //Codigo da Operadora
local cCodRda := ParamIXB[12] //Codigo do Prestador
local cCodLoc := ParamIXB[13] //Codigo do local de Atendimento no Prestador
local cLocal := ParamIXB[14] //Local de Atendimento
local cCodEsp := ParamIXB[15] //Codigo da especialidade
local cOpeUsr := ParamIXB[16] //Operadora do Beneficiario
local cMatrUsr := ParamIXB[17] //Matricula do Beneficiario
local cPadInt := ParamIXB[18] //Apto ou enfermaria, conforme tabela de cadastro e atributo do produto
local aDadUsr := ParamIXB[19] //Dados do Beneficiario
local aDadRda := ParamIXB[20] //Dados do Prestador
local cTpLocExec := ParamIXB[21] //Local de validação da critica ("1/4" Remote Protheus "2" WEB "3" POS "5" XML)
local cAteRNA := ParamIXB[22] //Indica se eh atendimento de recém-nascido
local lSuaRegra := .T. //Variavel para controle da regra especifica
local aCriticas := {} //Array com o complemento da critica especifica
local cNivel := "" //Nivel da critica
local cCodCriEsp := "799" //Codigo de sua critica especifica...
local cDesCriEsp := "TESTE" //Descricao de sua critica especifica...
//A funcao PLSPOSGLO retorna se ela esta ativa ou nao de acordo com o local de execucao
//e tambem cria a critica de acordo com o que foi informado nos parametros 2 e 3
//caso a mesma nao exista na tabela BCT
If PLSPOSGLO(PLSINTPAD(),cCodCriEsp,cDesCriEsp,cLOCALExec)
//Define qual o nivel de autorizacao/critica da regra
cNivel := "ZAA"
//TODO - Implementar codigo para controlar a variavel que define se a critica sera ou nao submetida
/*Tratar variavel 'lSuaRegra' aqui
Exemplo:
lSuaRegra := MsgYesNo("AUTORIZAR OU NAO?")*/
// Vou criticar/autorizar de acordo com a regra tratada acima
if !lSuaRegra
//Aqui devo fazer a montagem do aRet de acordo com a descricao do artigo
aAdd(aCriticas,{cCodCriEsp,cDesCriEsp,'',BCT->BCT_NIVEL,BCT->BCT_TIPO,cCdTbPd,cCodPro})
aRet := {.F.,aCriticas,cNivel,'',.F.}
else
aRet := {.T.,'',cNivel,''}
endif
endif
return(aRet)