Histórico da Página
Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico. |
---|
Informações Gerais
Especificação | |||
Produto | Protheus | Módulo | SIGAPLS |
Segmento Executor | Saúde | ||
Chamado | Abrir chamado no SSIMTSBAKR | ||
País | (X) Brasil ( ) Argentina ( ) Mexico ( ) Chile ( ) Paraguai ( ) Equador ( ) USA ( ) Colombia ( ) Outro _____________. |
Objetivo
Essa especificação detalha melhorias a serem realizadas para que o processo de recurso de glosa possa ser executado corretamente.
Definição da Regra de Negócio
Recurso de glosa é o direito do prestador contestar uma glosa de despesas realizada pela operadora. Nesse documento, estão descritos os detalhes de melhorias para que o processo possa ser corretamente executado, respeitando as parametrizações do sistema.
Rotina | Tipo de Operação | Opção de Menu | Regras de Negócio |
PLSA498 | Alteração | Digitação de Contas ver menu | |
PLSRECGLO | Alteraçãover menu | Gerenciamento de Recurso de Glosa |
|
Atualmente, o limite máximo de tentativas de recurso de glosa é definido no campo BA0_MAXRG da tabela BA0. Definida essa quantidade, toda vez que o prestador realizar uma nova tentativa de recurso de glosa, o sistema deve verificar se o limite de tentativas foi atingido. Sendo assim, a rotina PLSAGRVREC (fonte PLSA498.PRW) deve ser alterada para considerar o campo cujo conteúdo é o número total de tentativas realizadas para aquele item, protocolo ou guia.
Alterar o seguinte trecho:
Bloco de código language delphi title Alteração While !BVO->(EOF()) .AND. ; BVO->(BVO_FILIAL+BVO_OPEMOV+BVO_CODLDP+BVO_CODPEG+BVO_NUMAUT+BVO_SEQUEN) == ; xFilial("BVO")+cCodOpe+cCodLdp+cCodPeg+cNumero+cSequen If BVO->BVO_STATUS == "0" //Recurso em aberto cCritica := STR0115 //"Este evento já possui um recurso protocolado aguardando analise." EndIf Elseif BVO->BVO_STATUS == "1" nQtd ++ // Registra a quantidade de recursos negados. Endif //Verifica se existem outros recursos em aberto. If !Empty(cCritica) lRet := .F. Exit EndIf BVO->(DbSkip()) EndDo
Para não efetuar contagem dos registros da BVO (a quantidade será considerada na próxima função):
Bloco de código language delphi While !BVO->(EOF()) .AND. ; BVO->(BVO_FILIAL+BVO_OPEMOV+BVO_CODLDP+BVO_CODPEG+BVO_NUMAUT+BVO_SEQUEN) == ; xFilial("BVO")+cCodOpe+cCodLdp+cCodPeg+cNumero+cSequen If BVO->BVO_STATUS == "0" cCritica := STR0115 //"Este evento já possui um recurso protocolado aguardando analise." lRet := .F. Exit EndIf BVO->(DbSkip()) EndDo
Em seguida, alterar o seguinte trecho:
Bloco de código language delphi If (nQtd >= nMax .OR. B4D->B4D_QTDIRP >= nMax) .AND. nMax > 0 // TODO: Comparar com a quantidade maxima de tentativas permitidas, conforme especificacao If !MsgYesNo(STR0116)//"O limite de tentativas de recurso dessa glosa já foi atingido, deseja continuar mesmo assim?" cCritica := STR0117 //"Limite de tentativas de recurso atingido!" lRet := .F. EndIf ElseIf BA0->BA0_PRZREC > 0 .AND. Empty(cCritica) .AND. B4D->B4D_DATSOL < (dDataBase - BA0->BA0_PRZREC)// Valido prazo maximo para recurso cCritica := STR0118 //"O prazo limite para recurso dessa glosa já foi atingido! " lRet := .F. Else cSeq := Soma1(cSeqRec) cStatus := "1" lInclui := .T. EndIf
Para:
Bloco de código language delphi //Posicionar na B4D ou B4E, de acordo com o tipo. //Tenta posicionar na B4E (Itens) caso o recurso seja por item e exista exista registros na B4E. If B4D->B4D_OBJREC == "2" .and. B4E->(MsSeek(xFilial("B4E")+cCodOpe+cCodLdp+cCodPeg+cNumero+cOriMov+cSequen)) nQtd := B4E->B4E_QTDIRP Else nQtd := B4D->B4D_QTDIRP EndIf If nMax > 0 .and. nQtd >= nMax If !MsgYesNo(STR0116)//"O limite de tentativas de recurso dessa glosa já foi atingido, deseja continuar mesmo assim?" cCritica := STR0117 //"Limite de tentativas de recurso atingido!" lRet := .F. EndIf ElseIf BA0->BA0_PRZREC > 0 .AND. Empty(cCritica) .AND. B4D->B4D_DATSOL < (dDataBase - BA0->BA0_PRZREC)// Valido prazo maximo para recurso cCritica := STR0118 //"O prazo limite para recurso dessa glosa já foi atingido! " lRet := .F. Else cSeq := Soma1(cSeqRec) cStatus := "1" lInclui := .T. EndIf
No momento em que são atualizados os dados na B4E, alterar também a quantidade de recurso de glosa para este item somente quando for inclusão:
Bloco de código language delphi If cTipRec == "I" //Grava o status do recurso na B4D e BDE DbSelectArea("B4E") B4E->(DbSetOrder(3)) If B4E->(MsSeek(xFilial("B4E")+cCodOpe+cCodLdp+cCodPeg+cNumero+cOriMov+cSequen)) B4E->(RecLock("B4E",.F.)) B4E->B4E_STATUS := cStatus B4E->B4E_SEQREC := cSeq B4E->B4E_VLRREC := nVlrRec B4E->B4E_VLRREC := nVlrRec If cParecer == "2" B4E->B4E_JUSOPE := cObs //Replace(cObs EndIf If cStatusBVO == "0" B4E->B4E_SLDREC := nVlrRec //Nova linha B4E->B4E_QTDIRP := B4E->B4E_QTDIRP++ Else B4E->B4E_SLDREC := B4E->B4E_SLDREC - nVlrPag EndIf B4E->B4E_VLRACA += nVlrPag //Nova linha B4E->B4E_QTDIRP := B4E->B4E_QTDIRP++
Remover a seguinte linha da mesma rotina:
Bloco de código language delphi B4D->B4D_QTDIRP := B4D->B4D_QTDIRP ++
Alterar a função PLSA498ANR para que não seja permitido a inclusão de recurso de glosa através da opção "Analisar". Alterar o seguinte trecho:
Bloco de código language delphi //Antes da alteração: //Valida o status para decidir a operaçao a realizar. If cStatus $ " ,0,4,5" //Sem Recurso //Após alteração: //Valida o status para decidir a operaçao a realizar. If cStatus $ " ,0" //Sem Recurso
- Criar novo campo na tabela BVO - Tentativa de Recurso de Glosa para armazenar o código de protocolo que será gerado no ato do recebimento de recurso de glosa via webservice da TISS.
- O nome do campo será: BVO_ENVXML
- O conteúdo do campo será:
BVO_CODPEG + Sequencial de 4 caracteres
Obs: Verificar a gravação da B4D_QTDIRP com o commit do model.
Tabelas Utilizadas
- B4D – Cabeçalho do recurso de glosa
- B4E - Itens do recurso de glosa
- BVO - Tentativas de recurso de glosa
Dicionário de Dados
Campo
BVO_ENVXML
Tipo
C
Tamanho
12
Valor Inicial
Mandatório
Sim ( ) Não (X)
Descrição
Número de protocolo atribuído ao recebimento de recurso de glosa via XML
Título
Protoc. XML
Picture
@!
Help de Campo
Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico. |
---|