CONTEÚDO
- Visão Geral
- Exemplo de utilização
01. VISÃO GERAL
Ponto de entrada utilizado para criar validações de cobertura de procedimentos adicionais na checagem de regras de elegibilidade do Beneficiário, além de também possibilitar as validações já realizadas pelo sistema até o momento da execução do ponto de entrada.
02. EXEMPLO DE UTILIZAÇÃO
Características do Requisito
Rotina: | Rotina(s) envolvida(s) | Nome Técnico | Atendimento (Liberação/SADT/Odonto) | PLSA090 | Autorização de Internação | PLSA092 | Anexos Clinicos | PLSA09A | Digitação de Contas Medicas | PLSA498 | Portal do Prestador | PLSWEB |
|
Ponto de Entrada: | PLSAUT02 |
O retorno da função deve respeitar a seguinte estrutura:
Onde:
Posição | Conteúdo | Descrição |
---|
[1] | lOk | Autorizada ou não (.T. ou .F.) |
[2] |
Estado lOk | Conteúdo |
---|
True | cNivel | False | aCriticas |
Essa posição é definida de acordo com o conteúdo da primeira posição (lOk) | cNivel | aCriticas |
---|
Tipo de autorização 0 - Dispensa Autorização 1 - Automática 2 - Guia Operadora 3 - Auditoria 4 - Guia Empresa 5 - Guia Empresa/Operadora 6 - Avaliação Contratual | Matriz com a seguinte estrutura [1] Código da Critica - Caracter [2] Descrição da Critica - Caracter [3] Informação da critica - Caracter [4] Nível - Caracter [5] Tipo - Caracter [6] Cod.TpProced - Caracter [7] Código do Procedimento - Caracter |
|
[3] | cAliCam | Alias do caminho da critica |
[4] | cChaveAux | Chave do caminho da critica |
Importante: O retorno deve respeitar a mesma estrutura do primeiro parâmetro de entrada, a incorreta devolução do retorno pelo ponto de entrada pode ocasionar em inconsistências na base de dados e erros na execução do programa.
Ponto de Entrada
Eventos: | Checagem de cobertura para autorização de procedimentos |
Programa Fonte: | PLSXAUT.PRW |
Função: | PLSAUTP - Autorização de Procedimentos |
Parâmetros de entrada: | Nome | Tipo | Descrição |
---|
aRet | caracter | Retorno padrão da função até o momento da execução do Ponto de Entrada | dData | data | Data de execução do procedimento | cHora | caracter | Hora de execução do procedimento | cCdTbPd | caracter | Código da tabela | cCodPro | caracter | Código do procedimento | nQtd | numerico | Quantidade Executada | cCid | caracter | CID do atendimento | cLOCALExec | caracter | Local de execução ("1" - Autorização/"2" - Processamento de Conta) | cOpeSol | caracter | Operadora do solicitante | cCodPRFSol | caracter | Código do profissional Solicitante | cCodInt | caracter | Código da Operadora | cCodRda | caracter | Código do Prestador | cCodLoc | caracter | Código do local de Atendimento no Prestador | cLocal | caracter | Local de Atendimento | cCodEsp | caracter | Código da especialidade | cOpeUsr | caracter | Operadora do Beneficiário | cMatrUsr | caracter | Matricula do Beneficiário | cPadInt | caracter | Apartamento ou enfermaria, conforme tabela de cadastro e atributo do produto | aDadUsr | array | Dados do Beneficiário | aDadRda | array | Dados do Prestador | cTpLocExec | caracter | Local de validação da critica ("1/4" - Remote Protheus/ "2" - WEB/ "3" - POS/ "5" - XML) | cAteRNA | caracter | Indica se é atendimento de recém-nascido ("0" - Não/ "1" - Sim) | cTipGuia | caracter | Tipo de guia (01 - Consulta/02- SP_SADT/03 - Solicitação de Internação/04 - Reembolso/05 - Resumo de Internação/06 - Honorário/07 - Anexo Quimioterapia/08 - Anexo Radiografia/09 - Anexo OPME/10 - Recurso de Glosa/11 - Prorrogação de Internação/12 - Outras Despesas/13 - Odontologia) | cChavGui | caracter | Número da Guia no Prestador | cChavLib | caracter | Número de Autorização gerado na Liberação | cNumeroGuia | caracter | Número da Guia atribuído pela operadora | lRPC | lógico | Indica se a rotina foi chamada pelo ambiente Remote (.F.) ou pelo ambiente Portal / Web Service (.T.). | cTipAdmissao | caracter | Tipo de admissão (0- Não informado/1- Acidente de trabalho/2- Acidente de transito/3- Acidente - Outros/4- Emergência - Risco de vida/5- Urgência - sem risco de vida - passível de remoção/6- Eletiva/programada/rotina) | lOriHAT | lógico | Indica se a chamada é feita por guias do HAT. |
|
Retorno: | Nome | Tipo | Descrição | Obrigatório | aRet | array | Retorno com as informações do nível de autorização/critica do procedimento. Maiores detalhes da estrutura do array, disponível na descrição do artigo. | Sim |
|
Exemplo de implementação:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 | # include 'protheus.ch'
user function PLSAUT02()
local aRet := ParamIXB[01]
local dData := ParamIXB[02]
local cHora := ParamIXB[03]
local cCdTbPd := ParamIXB[04]
local cCodPro := ParamIXB[05]
local nQtd := ParamIXB[06]
local cCid := ParamIXB[07]
local cLOCALExec := ParamIXB[08]
local cOpeSol := ParamIXB[09]
local cCodPRFSol := ParamIXB[10]
local cCodInt := ParamIXB[11]
local cCodRda := ParamIXB[12]
local cCodLoc := ParamIXB[13]
local cLocal := ParamIXB[14]
local cCodEsp := ParamIXB[15]
local cOpeUsr := ParamIXB[16]
local cMatrUsr := ParamIXB[17]
local cPadInt := ParamIXB[18]
local aDadUsr := ParamIXB[19]
local aDadRda := ParamIXB[20]
local cTpLocExec := ParamIXB[21]
local cAteRNA := ParamIXB[22]
local lSuaRegra := .T.
local aCriticas := {}
local cNivel := ""
local cCodCriEsp := "799"
local cDesCriEsp := "TESTE"
If PLSPOSGLO(PLSINTPAD(),cCodCriEsp,cDesCriEsp,cLOCALExec)
cNivel := "ZAA"
if !lSuaRegra
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)
|
|
|