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 | ||||||||
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. | ||||||||
Chamados Relacionados: | TUNXM5, TVCBFZ |
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 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.
A partir da versão 3 dos arquivos XML TISS o campo de CBOs se tornou obrigatório. 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 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 versão 3.02.01 dos schemas das guias TISS, esses são os caminhos em que o prestador pode enviar o CBOS nos tipos de guias suportados 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 (Configuração Variáveis XML TISS).
PlsExecExp – Executa as expressões das criticas da tabela BVN (Configuração da Validação do XML TISS).
PlTrCBOSUB – Função genérica para validação de criticas referentes ao CBOs enviados no arquivo.
PLCarCBOVar – Inicializa as variáveis 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, e as executa conforme parametrização.
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 para atualização de conteúdo.
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.
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, cEspSol, aDadUser e aDadPres.
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.
As demais variáveis são informadas apenas para que o sistema atualize o valor de cada uma das variáveis dinâmicas da tabela BVP ao executar a expressão de validação.
X25 - Especialidade não 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’).
X55 - Procedimento bloqueado na especialidade do Prestador.
Verifica se existe algum nível de parametrização (ex.: BBM - Padrao de Saude ou BE9 - Procedimentos por Produtos) ao qual está definido que o profissional não possui autorização para executar o procedimento de acordo com a especialidade enviada.
X59 - Especialidade bloqueada para este Prestador.
Verifica se a especialidade enviada está bloqueada no cadastro do Prestador.
IMPORTANTE:
As validações e carga de variáveis levam em conta o estado do parâmetro MV_PLSCTES.
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 – Processa o arquivo conforme tipo de transação.
PLSPCONGR – Retorna o conteúdo da TAG conforme caminho enviado.
PlsLGSP3 – Processamento da importação do XML.
PlTrCBOIMP – Retorna os dados de CBOs e Especialidade do arquivo XML
PlRtCBOPath – Retorna o caminho da TAG solicitada.
PlRtEspPre – Retorna a especialidade do prestador.
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 define 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. Posteriormente essas matrizes são salvas nas principais de maneira bilateral.
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á contida 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
IMPORTANTE: Se o parâmetro MV_PLSCTES estiver desativado, o sistema irá buscar somente a especialidade cadastrada no local de atendimento identificado através do CNES enviado no arquivo. Caso contrário, o sistema traz todos as especialidades 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:
| Tabela | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
BD5/BE4 | BD6 | BD7 | |||||||||||||||||
Campo | ***_CODESP (Especialidade do Prestador) | Grava a especialidade com maior ocorrência nos eventos da guia; | 1) Se a especialidade interpretada através da TAG do executante existir na BAX do prestador, segue a regra seguinte:
2) Senão, grava a principal especialidade do cadastro do prestador definida através do campo BAX_ESPPRI; | 1) Se a especialidade interpretada através da TAG do executante existir na BAX do prestador, grava a mesma; | |||||||||||||||
***_ESPSOL (Especialidade do Solicitante) | 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 (Especialidade do Executante) | 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.
Versão 11
- Aplique o patch do chamado e execute a rotina Versões TISS
- Selecione a a versão desejada e clique em Ações Relacionadas/Recarregar
- Leia atentamente o alerta exibido
- Confirme se estiver de acordo.
- As tabelas referente a submissão dos arquivos TISS serão recarregadas.
Versão 12
- Aplique o patch do chamado e execute a rotina PLSWIZARD
- Realizar o backup da base de dados do ambiente que será atualizado (\PROTHEUS12_DATA\DATA).
- Descarregue os arquivos '*.CSV' contidos no pacote do chamado na diretório do PLSWIZARD (\PROTHEUS12_DATA\PLSWIZARD)
O diretórios acima mencionados correspondem à instalação padrão do Protheus, portanto, devem ser alterados conforme o produto instalado na empresa. - Siga a orientação do wizard do programa.
- As tabelas referente a submissão dos arquivos TISS serão recarregadas.