Histórico da Página
Melhoria na validação/gravação da especialidade de arquivos XML TISS.
Linha de Produto: | Microsiga Protheus | |||||||||
Segmento: | Saúde | |||||||||
Módulo: | Plano de Saúde | |||||||||
Rotina: |
| |||||||||
Parâmetro(s): | MV_PESPPLA; MV_PLSCTES | |||||||||
Ponto de Entrada: | PLTISESP | |||||||||
Chamados Relacionados | TUOPUL | |||||||||
Tabelas Utilizadas: | BVN - Configuracao da Validacao do XML TISS. BVP - Configuracao Variaveis XML TISS. BE4 - Internacoes. BD5 - Processamento de Contas. BD6 - Eventos Processamentos Contas. BD7 - Part Honorarios Prestado Itens. |
Descrição
Realizada melhoria no processo de gravação da especialidade de guias oriundas de importação XML. Todos os blocos e funções referentes à submissão/importação de XML que envolviam a interpretação do CBOs dos arquivos foram estudados e reescritos em novas funções.
Introdução
No fluxograma acima podemos observar o início do processo de submissão/importação do XML que será explorado nessa documentação.
Com a TISS 3 existe a necessidade de gravar a especialidade dos eventos executados com base no CBOS do Solicitante e Executante, tais informações são de suma importância em processos posteriores à importação XML, como por exemplo a validação de regras de cobertura das críticas 017 (Limite de Quantidade ultrapassada.) e 018 (Limite de Periodicidade ultrapassada.), uma vez que as mesmas podem ser parametrizadas para levar em consideração a especialidade enviada no atendimento, a incoerência nessas informações pode levar o sistema a negar ou autorizar um atendimento indevidamente.
Caminhos das tags de CBOs
Conforme ultima versão vigente dos SCHEMAS das guias TISS, esses são os caminhos em que o prestador pode enviar o CBOS nos diferentes tipos de guias XML tratados pelo sistema:
Alterações realizadas
Antes de partirmos para as alterações realizadas nesse chamado, devemos entender os passos básicos no fluxo de processamento XML TISS dentro do sistema.
Submissão
Índice de funções envolvidas no processo:
PNewVldXML – Função principal de validação de arquivos XML superiores à versão 3.00.01.
PAjustUnic – Atualiza a matriz de dados únicos do XML.
PlsVarTISS – Cria as variáveis dinâmicas da tabela BVP (NOME).
PlsExecExp – Executa as expressões das criticas da tabela BVN (NOME).
PlTrCBOSUB – Função genérica para validação de criticas referentes ao CBOs enviados no arquivo.
PLCarCBOVar – Inicializa as variávedis dinâmicas referente às TAGs de CBOS e especialidade dos profissionais da guia.
LEGENDA:
Funções envolvidas
Funções alteradas
Funções criadas
As validações de CBOS no processo de submissão do XML se divide nas seguintes etapas:
PNewVldXML
Armazena todas as TAGS e dados do XML na matriz aDados. Toda a validação gira em torno dessa matriz pois o sistema carrega as críticas cadastradas na tabela BVN (NOME DA TABELA), e as executa conforme parametrização. (cTpVld).
Com o aDados inicializado o sistema monta uma outra matriz com dados únicos, ou seja, uma matriz que contém todos os dados do XML porém sem tags repetidas. Porém as tags de CBOs entram em uma exceção, já que as tags possuem o mesmo nome mas contém dados tanto do solicitante quanto do executante.
PlsVarTISS
Antes de iniciar o loop na matriz aDados, é feita a carga inicial de todas as variáveis dinâmicas utilizadas nas expressões das críticas da tabela BVN. Posteriormente, a cada loop que o sistema faz em cima da matriz aDados, é verificado se existe alguma TAG na chamada da expressão cadastrada na tabela BVP para que a variável seja atualizada antes da execução da regra de validação da crítica. Por exemplo: Se estou validando a TAG <ans:codigoProcedimento> e existe a variável CCODPRO que utiliza essa informação em sua expressão, o sistema chama novamente a função para atualizar os dados da variável dinâmica CCODPRO.
PLCarCBOVar
Função criada para inicializar o conteúdo das novas variáveis dinâmicas de CBOs e Especialidade (_CCBOSOL, _CCBOEXE, _CESPSOL, _CESPEXE, _CCODESP). A função identifica qual o tipo de dado solicitado no cadastro da tabela BVP, e faz a busca na matriz de dados únicos conforme o caminho definido no Schema do XML.
PAjustUnic
A cada dado do XML validado, o sistema faz a chamada da função de ajuste da matriz de dados únicos.
PlsExecExp
Antes da chamada da função PlsExecExp, uma matriz é alimentada com todas as críticas existentes para a TAG em validação. A partir dessa matriz, o sistema chama as funções de validação das críticas X25 e 047.
Critério para alimentar a matriz: caminho e nome da tag que está sendo validada deve estar contida nos campos BVN_CAMTAG e BVN_TAG respectivamente.
PlTrCBOSub
Nova função genérica de validação de críticas de CBOs. Recebe os parâmetros cCodGlo, cCboExe, cCboSol, cCodEsp, cEspExe e cEspSol.
O conteúdo da variável cCodGlo corresponde a crítica que está sendo analisada no momento e o restante são as variáveis dinâmicas definidas na função PLCarCBOVar.
047 - Especialidade bloqueada para esta RDA.
Validação Única: Retorna uma variável lógica informando se a especialidade enviada pelo executante está no cadastro de especialidades do Prestador (BAX). Caso a mesma não exista, existe a possibilidade de considerar as especialidades definidas no parâmetro MV_PESPPLA.
X25 - Especialidade nao encontrada no sistema com base no CBOS informado no arquivo.
Primeira Validação: Verifica se para o CBO enviado, existe vinculo De/Para cadastrado no sistema.
Segunda Validação: Verifica se para a especialidade retornada a partir do De/Para, o Profissional Executante a possui em seu cadastro. Também é feito o tratamento para o CBO não informado (Codigo de terminologia ‘999999’).
Se ambas validações retornarem o valor lógico Verdadeiro, o arquivo é acatado caso não haja nenhuma outra crítica pertinente a submissão.
Essa função pode ser customizada, para maiores informações acesse este link e confira a documentação do ponto de entrada PLTISESP.
Importação
Índice de funções envolvidas no processo:
PlsTpTran –
PLSPCONGR –
PlsLGSP3 –
PlTrCBOIMP –
PlRtCBOPath –
PlRtEspPre –
LEGENDA:
Funções envolvidas
Funções alteradas
Funções criadas
PlsTpTran
Após interpretar o arquivo já submetido e salvo no banco de conhecimento, o sistema faz a chamada da função PlsTpTran para identificar qual o tipo de transação do XML. Essa função determina qual o tipo de guia e qual a origem da solicitação, passo que determina como o sistema irá interpretar o arquivo XML de acordo com os diferentes tipos de guias definidos no schema.
PlsLGSP3
Função de leitura e gravação do arquivo XML. É basicamente composta por blocos de leitura e armazenamento dos dados do XML. A parte da leitura fica a cargo da função PLSPCONGR, que recebe a TAG e caminho da TAG como parâmetro e retorna o dado solicitado. Após a interpretação, o dado é armazenado em duas outras matrizes dependendo da natureza da informação (cabeçalho ou item), que posteriormente são utilizadas para a gravação dos dados na base. Nos blocos de interpretação do XML foram incluídas chamadas para as novas funções de retorno do CBOs. O retorno dessas funções, diferente do restante das informações do XML, são armazenados em duas matrizes (cabeçalho e item) exclusivas para a gravação das especialidades.
PlTrCBOIMP
Retorna uma matriz com o CBOs e Especialidade do tipo de dado solicitado (Executante/Solicitante).
PlRtCBOPath
Recebe como parâmetro qual a origem da transação, tipo de dado solicitado (Executante/Solicitante) e tipo de guia, dados que irão definir qual o caminho da TAG que o CBOs deve ser pesquisado.
PLSPCONGR
Após definir qual o caminho da tag, busca na matriz com os dados do XML a informação solicitada e assim que encontrada, é feito o De/Para com a tabela de terminologias TISS 24 para localizar a especialidade correspondente no sistema. Feito isso, a função retorna a matriz de duas posições, sendo a primeira a especialidade e a segunda o CBOs.
PlRtEspPre
Retorna a especialidade do prestador respeitando a seguinte lista de prioridades:
1ª Especialidade enviada pelo executante está no cadastro de especialidades do Prestador (BAX), utiliza a mesma.
2ª Especialidade enviada pelo executante NÃO está no cadastro de especialidades do Prestador (BAX), verifica se o prestador possui alguma especialidade contida no parâmetro MV_PESPPLA.
3ª Especialidade principal do prestador
4ª Primeira Especialidade encontrada no cadastro do prestador
O valor retornado nessa função é adicionado à posição 3 da matriz exclusiva de especialidades.
PLSXAUTP
Após consistir todos os dados nas matrizes de cabeçalho e item, os dados são transferidos para a função PLSXAUTP responsável pela gravação da guia. Após realizar a gravação de todos os demais itens da guia, cada função de gravação faz a chamada da função PlGrvEspXML, nova função criada para realizar consolidar os dados de especialidade das guias.
PlGrvEspXML
Recebe como parâmetro o alias da tabela que está sendo gravada e para cada alias, existe um tratamento diferente definido na tabela abaixo:
| Conteúdo tabela BD5/BE4 | Conteúdo tabela BD6 | Conteúdo tabela BD7 | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
_CODESP | Grava a especialidade com maior ocorrência nos eventos da guia; | 1) Se para o evento em questão, existir somente uma composição, grava a informação que consta no campo BD7_ESPEXE da mesma; | 1) Se a especialidade interpretada através da TAG do executante existir na BAX do prestador, grava a mesma; | |||||||||||||||
_ESPSOL | Será gravado a especialidade que for enviada no xml na tag <DadosSolicitante> | Será gravado a especialidade que for enviada no xml na tag <DadosSolicitante> | Será gravado a especialidade que for enviada no xml na tag <DadosSolicitante> | |||||||||||||||
_ESPEXE | N/A - Campo não utilizado, mantido por compatibilidade. | 1) Se para o evento em questão, existir somente uma composição, grava a informação que consta no campo BD7_ESPEXE da mesma; | Será gravado o que vier no XML nas TAG de informação do executante da guia se for CONSULTA, para os demais tipos de guia é definida nas TAGS de participação dos profissionais (<equipeSADT>, <idenEquipe> ou <profissionais>) |
Procedimento para Implantação
O sistema é atualizado logo após a aplicação do pacote de atualizações (Patch) deste chamado.
- Aplique o patch do chamado e execute a rotina Versões TISS
- Selecione a a versão desejada e clieque em Ações Relacionadas/Recarregar
- Leia atentamente o alerta exibido
- Confirme se estiver de acordo.
- As tabelas serão atualizadas referente a submissão dos arquivos TISS serão recarregadas.
Procedimento para Configuração
(Estes procedimentos devem ser feitos quando for necessário configurar parâmetros e/ou rotinas no menu).
CONFIGURAÇÃO DE PARÂMETROS
- No Configurador (SIGACFG), acesse Ambientes/Cadastros/Parâmetros (CFGX017). Crie/configure (mantenha somente a instrução correspondente) o(s) parâmetro(s) a seguir:
(É necessário criar uma tabela para cada parâmetro descrito no item Parâmetro(s), da tabela Características do Requisito)
Itens/Pastas | Descrição |
Nome: |
|
Tipo: | Informe o Tipo do parâmetro |
Cont. Por.: | Informe o Conteúdo padrão |
Descrição: |
|
CONFIGURAÇÃO DE MENUS
2. No Configurador (SIGACFG), acesse Ambientes/Cadastro/Menu (CFGX013). Informe a nova opção de menu do informe o nome do módulo, conforme instruções a seguir:
Menu | Informe o Menu em que estará localizada a rotina |
Submenu | Informe o Submenu em que estará localizada a rotina |
Nome da Rotina | Informe o Título da rotina |
Programa | Informe o Fonte da rotina |
Módulo | Informe o Nome do(s) produto(s) a ser utilizado ou “Todos” |
Tipo | Informe a Função |
Procedimento para Utilização
1. No Plano de Saúde (SIGAPLS), acesse Atualizações / Produto Saúde / Produto Saúde (PLSA800).
O sistema apresenta a janela de produtos cadastrados.
2. Posicione o cursor em um produto e clique em Alterar.
3. Na pasta Cobertura/Carências selecione a subpasta Tipo de Prestador.
4. Dê duplo clique no campo TP Prestador (BCW_TIPPRE).
O sistema apresenta a janela Tipo de Prestador – Coparticipação – Alterar.
5. Informe os dados conforme orientação do help de campo e observe o preenchimento do novo campo:
Som. p/Compra (BCW_SOMCOM): selecione Sim para indicar se a coparticipação cadastrada será válida somente para efeito de compra de procedimentos ou Não, caso contrário.
6. Confira os dados e confirme.
Ponto de Entrada
Descrição: | Informe o Menu em que estará localizada a rotina | ||||||||||||||||
Localização: | Informe o Submenu em que estará localizada a rotina | ||||||||||||||||
Eventos: | Informe o Título da rotina | ||||||||||||||||
Programa Fonte: | Informe o Fonte da rotina | ||||||||||||||||
Função: | Informe o Nome do(s) produto(s) a ser utilizado ou “Todos” | ||||||||||||||||
Retorno: |
|
Exemplo:
#Include 'Protheus.ch'
User Function CN120ALT()
Local aCab:= PARAMIXB[1]
Local cTipo:= PARAMIXB[2]
If cTipo == '1'
aCab[4][2]:= 'NF' //Validações do usuário
EndIf
Return aCab