Histórico da Página
...
- Visão Geral
- Detalhamento
- Nova tela de controle de DPSFornecimento Direto
- Novas tabelas
- Tabelas utilizadas
...
A presente especificação visa detalhar as telas e demais componentes necessários para a nova tela de Fornecimento Direto ao Beneficiário, onde a Operadora deverá inserir os dados de entrega de itens aos beneficiários, que servirá como insumo para os dados enviados no Monitoramento TISS.
A tela deverá integrar com o módulo de Nota Fiscal x Guias (PLSA298), para melhor controle e sua geração correta no monitoramento.
Por se tratar de tema técnico e inicial, a presente especificação pode passar por atualizações em seu conteúdo e durante o desenvolvimento, visto que passará por diferentes crivos de análise e testes diversos, de forma a enriquecer o material e entrega da funcionalidade.
...
02. Detalhamento ÂncoraATUAL ATUAL
ATUAL | |
ATUAL |
A) Entrada dos dados para a nova tela de Fornecimento Direto - Tela de medicamento de uso
...
Constante (portal beneficiário) e Análise de Receitas (PLSANRCT - remote)
Uma das entradas de solicitação de Fornecimento direto se dará por meio do Portal Web do beneficiário, por meio da tela de solciitação do beenrficiário
B) Importação - Regras
- Vamos utilizar como padrão o arquivo TXT e o CSV, ambos separados por ponto e vírgula (;). Essa informação deve estar de forma clara e concisa no documento de referência.
- Existe a opção de XML, mas para esse tipo de exportação, o cliente deve ter o módulo adicional. Como nem todos possuem, será aceito para importação apenas os arquivos TXT e CSV, separados por ponto e vírgula.
- Ao realizar a leitura da primeira linha do arquivo, se o separador for diferente de ponto e vírgula, podemos recusar o arquivo e partir para o próximo arquivo, gravando essa inconsistência, para exibir ao usuário no final do processo.
- Existe a opção de XML, mas para esse tipo de exportação, o cliente deve ter o módulo adicional. Como nem todos possuem, será aceito para importação apenas os arquivos TXT e CSV, separados por ponto e vírgula.
- Além do nome do arquivo, que deverá ter nome igual as regras cadastradas no B6G - Configuração de Importação - deverá ser colocado também o código da mensagem SIMPRO® de atualização, seguido dos dois últimos dígitos do ano. Exemplo: Se temos uma regra onde o nome definido foi SANEANTES+PFB, e o arquivo de mensagem (atualização) SIMPRO® foi 6, do ano de 2021, o nome do arquivo deverá ser algo como SANEANTES_PFB_621.TXT ou SANEANTESPFB_621.CSV.
- Ao clicar no botão Importar, deve ser exibido um ParamBox, onde o usuário deverá informar:
- Pasta onde os arquivos CSV/TXT estão localizados (OBRIGATÓRIO);
- Código Mensagem (atualização) SIMPRO® (igual ao do campo mensagens, existente no sistema VideoFarma®), seguido dos dois últimos dígitos do ano (OBRIGATÓRIO);
- Para cada atualização enviada, temos um código da VideoFarma® – como a edição na Brasíndice®. Deverá ser colocado esse código, como: 33/2021, logo, deverá ser colocado 33 e os dois últimos dígitos do ano, ficando 3321.
- Data da mensagem da SIMPRO® (será informado como data inicial de vigência para os itens – BD4_VIGINI) e será subtraído um dia, quando for para fechar vigência (OBRIGATÓRIO);
- Campo para informar data de fim de vigência, para os itens que estiverem no status (L)Fora de Uso ou (D)Descontinuado (OBRIGATÓRIO);
- CheckBox para informar se nos itens com status (L)Fora de Uso ou (D)Descontinuado, se deseja usar a data fim de vigência da ANVISA ou a data do item acima, caso a data no arquivo esteja fora do padrão.
- Aqui, devemos ter atenção, pois não existe data de fim de vigência ou arquivo de exclusão, igual ocorre na Brasíndice®. Assim, o usuário deve informar uma data de até quando deseja utilizar aquele item Descontinuado/Fora de Uso ou então, em conjunto com o checkbox, caso queira usar a data final de vigência da ANVISA, que consta no arquivo.
- Contudo, em alguns registros aparece apenas a informação “VIGENTE” ou outros e assim, vai usar a data inserida pelo usuário.
- Ao clicar em OK do ParamBox, o sistema deve varrer o diretório, localizando os arquivos TXT e CSV que tenham nomes similares as regras cadastradas na tela de configuração e que tenham código igual ao informado no Pergunte.
- Se localizar arquivo com nome igual a regra, mas a versão é diferente ou inexistente, o usuário deve ser indagado se deseja importar o arquivo, mas a versão utilizada será a que está no Pergunte, para fazer o relacionamento no campo BD4_CHVIMP.
- Só pode existir um arquivo para cada configuração! Logo, se um arquivo já deu match com uma configuração, essa configuração não pode mais dar match com nenhum outro arquivo.
- Se encontrar arquivos, mas nenhum bate com as regras cadastradas, exibir uma caixa de desambiguação de arquivos, onde será exibido um browse com duas colunas, onde na primeira coluna, teremos os arquivos que não batem com nenhuma regra existente, e na segunda coluna, será exibido um combobox, com as regras que ainda não tiveram arquivos localizados, para o match manual.
- Se todas as regras já tiverem um arquivo e mesmo assim, sobrou arquivos "órfãos", a janela de desambiguação não deve ser exibida, pois conforme item II acima, uma regra só pode ter um arquivo relacionado.
- Registrar essa inconsistência, para exibir no final do processamento para o usuário.
- Essas opções e janela existem na importação da Brasíndice®, no PLSBRSIN1.
- Criar rotina específica para leitura dos arquivos TXT e CVD da SIMPRO®.
- Não é possível usar a mesma rotina da Brasíndice®, pois possui particularidades próprias
- A rotina deve contar com parte visual, para exibir o andamento do progresso das operações.
- Utilizar a classe FWFileReader() para leitura dos arquivos, setando um buffer de no mínimo, 10KB, para melhorar a performance da importação.
- https://tdn.totvs.com/display/framework/FWFileReader -> FwFileReader
- Realizar o parse em cada linha, para desmembrar as colunas separadas com o ponto e vírgula, para trabalhar os dados e realizar as devidas inclusões/alterações e fechamento de vigências.
- Para quebrar a linha lida, coo foi usado o ponto e vírgula como separador, usar o StrTokArr2, para criar o array baseado na string lida.
- No final da importação, exibir um resumo dos arquivos importados, com problemas e registros não válidos, caso aconteça.
C) Importações – Tabelas
- Após as validações acima, necessitamos gravar ou atualizar as seguintes tabelas:
- BR8 - Tabela Padrão
- BA8 - Tabela Dinâmica de Eventos
- BD4 - Unidade de Saúde
- BTQ – Tabela de Terminologias
- B6F – Tabela de Histórico de Importações realizadas
- BF8 - Tabelas de Honorários.
- A BF8 só será criada se no campo B6G_CRITDE estiver como SIM. Caso contrário, não será gravada
- No arquivo SIMPRO® – temos o código próprio da SIMPRO® e para maioria dos itens, temos o código TUSS equivalente.
- Se não existir código TUSS no registro analisado, deve ser gravado ou atualizado na TDE própria (informado no cadastro de configuração – B6G);
- Se existir o código TUSS no registro, devemos verificar na TDE própria – informada no cadastro da configuração (B6G) – se temos o código SIMPRO® do item cadastrado e se está com a data de vigência finalizado. Se não estiver com data de finalização (BD4_VIGFIM), devemos finalizar a vigência, utilizando a data do ParamBox (Data da mensagem da SIMPRO®) menos 1 dia. Ou seja, se foi informado 10/10/2021, devemos subtrair um dia, colocando no campo BD4_VIGFIM o valor 09/09/20210.
- Na sequência, verificar se já existe o código TUSS cadastrado, para inclusão ou alteração dos dados.
- Para cada registro gravado, no campo BD4_CHVIMP, deve ser colocado a chave de registro de relacionamento, com as informações “SIMPRO| + código da atualização + ”|” + Tipo do Procedimento + “|” + Tipo Valor”. Ou seja, é a concatenação dos campos “SIMPRO|” + código da atualização (mensagem) informada no ParamBox + “|“ + B6G_TIPPRO + “|” + B6G_TIPO. Simplificando, se foi informando no ParamBox o código da atualização 3321, e estamos importando um arquivo de Material (B6G_TIPPRO = 1) e o valor Preço de Fábrica (B6G_TIPO = 2), o campo BD4_CHVIMP vai receber o valor como: SIMPRO|3321 |1|2.
- Se existir um BD4 para evento, e na chave de relacionamento (BD4_CHVIMP), o código da atualização for menor que o atual, essa vigência será finalizada com a data do ParamBox (Data da mensagem da SIMPRO®) menos um dia, para gravar a nova BD4 com a nova vigência, com os dados necessários.
- Só gravar se tiver alteração de valor. Se os dados são iguais, mesmo em atualizações diferentes, não precisa executar o passo acima.
- Ao gravar os registros, criar ou atualizar os mesmos na Tabela de Terminologia BTQ, terminologia 64, conforme padrão TISS. Atualizar da seguinte maneira:
- BTQ_CODGRU - Se medicamento, gravar o valor "030". Para os demais, gravar "029".
- BTQ_DESGRU - Se medicamento, gravar o texto "MEDICAMENTO". Para os demais, gravar "MATERIAIS E OPME".
- BTQ_FENVIO - Gravar o texto "CONSOLIDADO".
- Para conhecimento: Grupo 029 - MATERIAIS E OPME / Grupo 030 - MEDICAMENTOS
- No final da importação, gravar os dados pertinentes na tabela B6F - Importações Brasíndice, para efeitos históricos e consultar os registros importados.
D) Exclusão das Importações
- O usuário pode deletar alguma importação realizada, bastando no browser do PLSSIMPRO posicionar no registro desejado e clicar no botão Excluir. Contudo, temos algumas regras a serem seguidas:
- Ao solicitar a exclusão do registro posicionado, devemos garantir se é o último importado, pela sequência do campo BD4_CHVIMP, que armazena o código da mensagem (atualização) da SIMPRO. Se tentar excluir qualquer um que não seja o último importado, o sistema deve proibir, de acordo com o tipo de produto e valor.
- Por exemplo, importei à atualização 3021 - Material - PFB e no outro mês, importei o 3121 - Material - PFB.
- Se tentar excluir o 3021 - Material - PFB, o sistema não deve deixar, pois existe atualização superior, que pode ter finalizado e criado novas BD4 com outros vigências. No nosso exemplo, só podemos excluir o 3121 - Material - PFB, pois é a última importação.
- Caso possa excluir, conforme regra acima, devemos:
- Deletar os registros BD4 relacionados a essa importação, pelo campo de relacionamento BD4_CHVIMP.
- Após deletar o BD4 relacionado, devemos reabrir a vigência do último BD4 disponível para o item, seguindo a cronologia do campo BD4_CHVIMP.
- Se existir registro BD4 anterior, o campo BD4_VIFGIM deve ser limpo, para ser utilizado no sistema;
- Se não existir nenhum BD4 anterior (imagine um item adicionado nessa versão excluída), a BA8 relacionada ao BD4 deve ser excluída, pois não pode existir um BA8 sem BD4;
- Se a BA8 foi excluída, devemos atualizar na BR8 - relacionada ao registro da BA8 - o campo BR8_BENUTL como Não, já que o item não existe mais na BA8.
- Ou seja, como visto acima, a exclusão deve ser em "cascata", obedecendo aos critérios definidos. Logo, se excluir uma BD4 e tiver outro registro BD4 para reabrir a vigência, apenas limpo a data final e o processo acabou por aí. Se não, tenho que deletar os demais envolvidos, que é a BA8 e BR8, para manter a consistência dos registros.
- Ao solicitar a exclusão do registro posicionado, devemos garantir se é o último importado, pela sequência do campo BD4_CHVIMP, que armazena o código da mensagem (atualização) da SIMPRO. Se tentar excluir qualquer um que não seja o último importado, o sistema deve proibir, de acordo com o tipo de produto e valor.
E) Detalhes Técnicos
- Utilizar MVC e herança, quando necessário;
- Utilizar para leitura de arquivos a classe FWFileReader();
- Utilizar para gravar arquivo de texto a classe FWFileWriter();
- Tratar as descrições e campos de textos, para evitar caracteres especiais e que possam atrapalhar a visualização no Portal ou arquivos de exportação (Monitoramento / PTUs / RPS e outros);
- Utilizar os índices disponíveis nas tabelas ou criar os necessários, para otimizar buscas e querys;
- Criar os fontes pensando nas automações necessárias, para evitar retrabalhos futuros;
- Como temos um layout de importação, pode-se criar um função, contendo o layout e posição dos campos, caso o desenvolvedor julgue necessário;
- Todas as ações de importação, arquivos e registros inválidos, devem ser registradas e exibidas no final do processamento, para conhecimento do usuário:
- Utilizar o FWDialogModal() com FwBrowse(), para exibir esses erros, ao invés de utilizar a função PLSCRIGEN.
- Verificar a possibilidade de realizar a gravação das tabelas usando classes MVC, levando em consideração o tempo de desenvolvimento vs ganho de performance obtido.
- Utilizar a importação da Brasíndice como modelo. Fontes PLSBRASIN1 / PLSBRASIN2 / PLSBRASINI.
- Documento de referência em Importação Brasíndice® - PLSBRASIN1.
- Padrão de arquivos para importação: TXT ou CSV. Os demais devem ser ignorados.
- Separador padrão dos arquivos CSV e TXT: ponto e vírgula (;). Nenhum outro deve ser aceito.
- Se basear em um dos itens, onde na primeira linha, podemos validar se o separador é ponto e vírgula e se não for, interromper a importação e partir para o próximo arquivo.
...
Layout TXT
...
title | Layout TXT - Clique para expandir |
---|
...
de Cadastro Medicamento Uso Constante.
Nessa tela, podemos ter duas ações:
- Criar um checkbox, para o usuário indicar que se trata de um medicamento/item de alto custo e que deve ser fornecido pela Operadora (alto risco de erro por parte do usuário).
- Descobrir - via chamado na ANS ou outro meio - quais são os código mais comumente usados ou obrigatórios para esse fim, para que quando o cliente informar esse código, o sistema já entenda que se trata de uma solicitação de fornecimento direto.
Em ambos os casos, criar um campo novo na tabela B7D - Receitas Medicamento x Usuario, para identificar que o item é fornecimento direto, conforme diretrizes abaixo. Características do campo:
- Campo B7D_FORDIR, tipo caracter, tamanho 1, combobox: 0=Não;1=Sim, valor padrão: 0.
- Na tela do Portal, de acordo com a escolha do preenchimento do campo - ou seja, se o usuário deverá marcar que se trata de medicamento de fornecimento direto, este campo deverá estar visível e disponível para escolha do usuário (sugestão: pode ser um campo do tipo check ou combobox), no grupo Incluir Medicamentos. Se a escolha for de acordo com o código digitado o sistema separa o que é fornecimento direto ou não, este campo ficará oculto e será preenchido pelo sistema, na hora de salvar os dados da receita.
- Este campo deverá estar visível e disponível para uso do operador do sistema - na tela de Analise de Receitas (PLSANRCT), no grid Receitas Medicamento x Usuario - para que possa alterar o campo, caso constate que o item discriminado pelo usuário seja fornecimento direto ou não.
- Na hora de gravar a análise de receita, caso o medicamento aprovado seja de fornecimento direto - os dados deverão ser clonados dessa análise, para a nova tela de Fornecimento Direto, para que seja possível sua geração, controle e rastreamento pela Operadora.
B) Nova guia de Fornecimento Direto
Como o sistema se baseia em guias, para poder valorar, contabilizar, monitorar e outros, será necessário criar um novo tipo de guia exclusivo para o Fornecimento Direto. Logo, toda vez que um fornecimento direto for efetuado pela Operadora ao Beneficiário, será necessário criar uma guia, para que seja possível o cálculo de coparticipação, de valoração e seja considerada na rotina de monitoramento - ao relacionar essa guia a uma Nota Fiscal - utilizando a rotina de Nota Fiscal x Guia (PLSA298), fechando o ciclo completo do fornecimento.
Assim, devemos criar um novo tipo de guia, de código 14 - Fornecimento direto, na tabela BCL - Tipos de Guias.
- Deve-se atualizar o wizard da tabela BCL, no TFS, no caminho $/Protheus_Padrao/Fontes_Doc/Master/Arquivos_Auxiliares/Saude/Diversos/wizard/bcl-tipos_de_guias.CSV;
- Ao criar o registro no arquivo BCL, será a guia de número 14 (BCL_TIPGUI);
- Exemplo da criação dor registro no wizard BCL: 0001$14$GUIA DE FORNECIMENTO DIRETO$BD5$PLSA500$1$07$PLSA720INI$1$PLSA720SAI$1$PLSA720EDT$1$PLSA720GRV$1$PLSA720MF$1$$PLSA720PRO$1$0$$$2$PLSA720AJU$1$PLSA720CPO$$3$1$$$0$999$$4.01.00$$$$$$
- Será necessário atenção quanto ao campo de Cor da Guia (BCL_CODCOR), pois não pode ser duplicado.
- Verificar e acertar o wizard, conforme progresso da rotina.
C) Tela de Fornecimento Direto
Essa tela será a responsável por centralizar os dados do Fornecimento Direto, que serão utilizados para controle dos medicamentos/itens dados ao ao beneficiário e no monitoramento TISS.
A tela deverá conter os dados necessários, conforme schema da ANS, para envio do monitoramento, bem como os demais campos auxiliares para a Operadora e usuários, para as anotações devidas.
Abaixo, iremos descrever as tabelas utilizadas e o modelo em MVC, para a criação dessa nova tela:
- Alias disponíveis para uso - consultado ATUSX, fontes e Trello. A sugestão de campos desses alias estarão disponíveis no final do documento.
ALIAS | TABELA | X2_UNICO |
---|---|---|
BJF | Cabec. Solic. Fornec. Direto | BJF_FILIAL+BJF_IDENTI |
BJG | Itens Fornecimento Direto | BJG_FILIAL+BJG_SEQUEN+BJG_CODPAD+BJG_CODPRO |
- As tabelas BJF e BJG serão preenchidas automaticamente, após o aceite do analista da Operadora, na tela de Cadastro de Receita.
- Contudo, a nova tela deverá ter a opção de inserir os dados do cabeçalho e itens pela Operadora, pois nem sempre, a solicitação virá do cadastro de receita.
- O fonte da nova tela deverá ter o nome PLSFORDIR, para ligação mnemônica com o que a rotina propõe.
- Características da tela:
- A tabela BJF será o cabeçalho da solicitação, que irá conter os dados principais da solicitação, conforme schema da TISS:
- No cabeçalho, devemos ter as informações do beneficiário, como: matrícula; nome do beneficiário; número da Carteira de Saúde; CPF; sexo, data de nascimento; código do município de residência; código do Plano de Saúde e o código da receita de uso constante (desde que essa solicitação seja proveniente da entrada via Portal).
- Ainda no cabeçalho, deverão ter os seguintes dados do fornecimento e de controle interno da rotina, que são: código da Operadora; tipo de registro (obsoleto); data de fornecimento; valor total do fornecimento; valor total tabela Própria; valor total Coparticipação; observações e número da guia gerada de Fornecimento Direto, após confirmar entrega dos itens ao beneficiário. Deve existir o campo de controle de código de identificação, de tamanho 20, de nome BJF_IDENTI.
- OBS: Se a solicitação for proveniente do cadastro de receita de uso constante do Portal, o campo matrícula e os demais campos ligados ao grupo de beneficiário deverão ficar bloqueados para edição, visto que o dado foi inserido pelo beneficiário e essa receita foi aprovada pela Operadora, na tela de Análise de Receita.
- OBS 2: Se a solicitação estiver sendo preenchida direto na nova tela - ou seja, não teve receita cadastrada - o único campo que ficará disponível para edição - do grupo de beneficiário - será campo de matrícula, pois após selecionar a matrícula do beneficiário, deverá gatilhar (preencher) as demais informações do beneficiário selecionado pelo usuário.
Browse inicial da rotina de Fornecimento Direto (PLSFORDIR)
Tela de inclusão de Fornecimento Direto, com os campos do grupo de beneficiário e demais pertinentes ao fornecimento efetuado e controle da interno.- Os campos tipo de registro (obsoleto); data de fornecimento e observações sempre estarão disponíveis para edição do usuário, pois se referem a data que foi entregue o item e o campo de observações, para colocação de dados complementares pela Operadora.
- No grid onde temos os medicamentos e itens fornecidos - Eventos - Tabela BJG - será colocado os itens da receita ou os itens inseridos pelo usuário da operadora, que serão fornecidos ao beneficiário. Atenção a alguns detalhes:
- Pelo schema, no item <procedimento>, temos duas opções para informar procedimento: pelo grupo do procedimentos (tabela 63) ou código do procedimento.
- Caso o usuário clique no grid da coluna Grupo de Procedimento (BJG_CODGRU), deverá ser criada uma consulta padrão (SXB), que irá buscar os procedimentos na tabela BR8 - Tabela Padrão, cruzando dados com a tabela BTQ - Detalhe das Terminologias TISS, filtrando a pesquisa com o campo do BR8_CODPAD igual a BJG_CODPAD e BR8_BENUTL igual a '1' e na tabela BTQ, o campo BTQ_CODTAB igual a '64' e BTQ_FENVIO igual a 'Consolidado', conforme instruções presentes no manual TISS.
- Após o usuário selecionar o item, deverá ser validado a vigência do item, se está ativo no período fornecido (BJF_DATFOR) na tabela BTQ e o campo BJG_CODGRU deverá ser preenchidocom o código do grupo (campo BTQ_CODGRU) e no campo BJG_CODPRO o código do procedimento selecionado.
- Caso o usuário clique no grid da coluna Código do Procedimento (BJG_CODPRO), deverá ser criada uma consulta padrão (SXB), que irá buscar os procedimentos na tabela BR8 - Tabela Padrão, cruzando dados com a tabela BTQ - Detalhe das Terminologias TISS, filtrando a pesquisa com o campo do BR8_CODPAD igual a BJG_CODPAD e BR8_BENUTL igual a '1' e na tabela BTQ, o campo BTQ_CODTAB igual a '64' e BTQ_FENVIO igual a 'Individualizado', conforme instruções presentes no manual TISS.
- Após o usuário selecionar o item, deverá ser validado a vigência do item, se está ativo no período fornecido (BJF_DATFOR) na tabela BTQ e o campo BJG_CODPRO deverá ser preenchido com o código do procedimento selecionado.
- Ainda no grid de procedimento, caso a solicitação tenha sido criada a partir de uma aprovação de receita de uso constante, o valor do campo B7D_UNICON deverá receber um De/Para com a tabela BTQ, com o BTQ_CODTAB igual a '60', pois a rotina de análise de receita grava o valor do campo BTQ_DESTER, que é descrição, sendo que o esperado no monitoramento é o campo BTQ_CDTERM, código da terminologia. Logo, deverá existir esse tratamento de De/Para ao gravar na tabela BJG, para que no campo BJG_CODUND seja gravado o valor do código da terminologia, e não a descrição.
- Ao clicar no campo BJG_CODUND, deverá ser criada uma consulta padrão (SXB), para buscar os dados na tabela BTQ, onde o filtro do campo BTQ_CODTAB igual a '60', devendo retornar o valor do campo BTQ_CDTERM
- Ao informar o valor do item fornecido no campo BJG_VLRFOR, esse valor deve ser acrescido no campo BJF_VLTOFO ou BJF_VLTOTP, ou seja, ao informar um valor no campo BJG_VLRFOR, deverá ser somado no campo BJF_VLTOFO ou BJG_VLTOTP, pois esse campo é o valor total dos itens fornecidos ao beneficiário.
- Atenção: Aqui, temos que observar que no cabeçalho do fornecimento direto, temos o valor total dos itens fornecidos, bem como o valor total dos itens de tabela própria. Não existe uma maneira direta de saber se o código da tabela informada é tabela própria ou não, e por isso, será necessário fazer uso das funções de vínculo com a TISS, como o PLSGETVINC.
- Se ao rodar a função PLSGETVINC - com o valor do código da tabela BJG_CODPAD - e o retorno for vazio ou uma tabela de código diferente de 19-Materiais ou 20-Medicamentos, podemos entender que se trata de uma tabela própria, logo o valor do campo BJG_VLRFOR deve ser somando no valor do campo BJF_VLTOTP. Se a função PLSGETVINC retornar o código 19-Materiais ou 20-Medicamentos, é uma tabela que tem De/Para com a TISS, ou seja, não é própria, e o valor do campo BJG_VLRFOR deve ser acrescido no campo BJF_VLTOFO.
- Atenção: Aqui, temos que observar que no cabeçalho do fornecimento direto, temos o valor total dos itens fornecidos, bem como o valor total dos itens de tabela própria. Não existe uma maneira direta de saber se o código da tabela informada é tabela própria ou não, e por isso, será necessário fazer uso das funções de vínculo com a TISS, como o PLSGETVINC.
- O valor de Coparticipação - BJG_VLRCOP - será preenchido apenas quando a guia de Fornecimento Direto for gerada e calculada, pois nesse instante, teremos a coparticipação calculada e poderá ser gravada no campo BJG_VLRCOP para o iteme no campo BJF_VLTOCP, deverá ser colocado o total das coparticipações, caso exista mais de um item na solicitação.
- Ao clicar no botão Confirmar da tela, temos as seguintes possibilidades:
- Se o campo BJF_DATFOR estiver vazio ou alguns dos campos obrigatórios de itens - BJG_CODPAD, BJG_CODGRU, BJG_CODPRO, BJG_QUANTI ou BJG_VLRFOR - estiverem vazios, não será gerada a Guia de Fornecimento, visto que faltam dados obrigatórios para envio na ANS, ou seja, o registro poderá ser editado normalmente pelo usuário, até o seu completo preenchimento.
- Se o campo BJF_DATFOR estiver preenchido e os itens cadastrados estiverem com todas as informações obrigatórias preenchidas (BJG_CODPAD, BJG_CODGRU, BJG_CODPRO,, BJG_QUANTI e BJG_VLRFOR), o sistema deverá gerar a nova guia de Fornecimento Direto, de código 14, no Digitação de Contas (PLSA498), para que o sistema possa valorizá-la e constar para busca na rotina de monitoramento.
- Para criar a PEG e guia de Fornecimento Direto no sistema, utilizar como base a função ProcCtaINC, que está no fonte PLSRECGLO3. Essa função faz exatamente todo o processo de criação da guia e PEG, para o Recurso de Glosa, que será semelhante para criar a guia de Fornecimento Direto.
- Atenção: Diferente do Recurso de Glosa, que temos o prestador definido, devemos utilizar para a situação do fornecimento direto um prestador genérico, para criação da guia. Pode-se utilizar o valor do parâmetro MV_RDAPROP - Define qual RDA(BAU_CODIGO) do cadastro será o prestador referente a operadora para envio do Fornecimento Direto, utilizado no monitoramento.
Demais campos necessários para criação da guia, utilizar o valor default dos campos, para criação da guia.
- Atenção: Diferente do Recurso de Glosa, que temos o prestador definido, devemos utilizar para a situação do fornecimento direto um prestador genérico, para criação da guia. Pode-se utilizar o valor do parâmetro MV_RDAPROP - Define qual RDA(BAU_CODIGO) do cadastro será o prestador referente a operadora para envio do Fornecimento Direto, utilizado no monitoramento.
- Após criação da guia - usando as funções detalhadas acima - chamar rotina de Mudança de Fase, para que o sistema gere os valores de coparticipação e outros. Exemplo dessa mudança de fase de guia está no fonte PLSRECGLO3, função fPosiMudFas.,
- Após a mudança de fase, como o registro estará posicionado na guia, recuperar o valor de coparticipação do beneficiário nos itens da BD6 (BD6_VLRPF) e replicá-los para seus respectivos itens na tabela BJG, no campo BJG_VLRCOP. Não devemos esquecer que essas coparticipações deverão ser somadas e imputadas no campo BJF_VLTOCP.
- Com a guia gerada, preencher os campos BJF_CODPEG, BJF_CODLDP e BJF_NUMERO com os dados da guia gerada, para possibilitar o rastreio da guia que foi gerada a partir desse fornecimento.
- Para criar a PEG e guia de Fornecimento Direto no sistema, utilizar como base a função ProcCtaINC, que está no fonte PLSRECGLO3. Essa função faz exatamente todo o processo de criação da guia e PEG, para o Recurso de Glosa, que será semelhante para criar a guia de Fornecimento Direto.
- Após gerar a guia e preencher os campos faltantes das tabelas BJF e BJG - como valores de coparticipação e o número da guia gerada - devemos vincular essa guia gerada com uma Nota Fiscal que está no módulo de Compras do sistema, para fechar o ciclo de fornecimento direto, pois além de gerar a guia, iremos vinculá-la a Nota Fiscal de compra do material, garantindo o clico de fornecimento direto em sua totalidade, para correto rastreio do material e nota fiscal de compra pela Operadora e seus usuários.
- A tabela BJF será o cabeçalho da solicitação, que irá conter os dados principais da solicitação, conforme schema da TISS:
C) Vinculação da guia de Fornecimento Direto com a Nota Fiscal de compra do material
- Teremos dois cenários a considerar: um que o cliente use o BackOffice do sistema, com gestão de estoque, documentos de entradas e demais funcionalidades, e no outro cenário, será o cliente que não usa o backoffice, e assim, não terá nota Fiscal de entrada.
- Será necessário verificar se essa checagem será feita via um parâmetro, onde a Operadora irá indicar se utiliza ou não o BackOffice ou outra forma. Nessa especificação, iremos trabalhar com a hipótese do parâmetro, de nome MV_PLATBKF, que será de valor lógico e o default igual a .T., indicando que a Operadora utiliza o BackOffice.
- Abaixo, iremos detalhar os passos para os clientes que possuem o BackOffice integrado:
- Após a geração da guia de fornecimento Direto, antes de fechar a rotina, devemos exibir um ParamBox ou Pergunte, para permitir a vinculação da guia recém-gerada com uma Nota Fiscal de Entrada do sistema, que consta o item fornecido ao beneficiário.
- Para tanto, após a conclusão dos passos descritos na etapa B - geração da guia e preenchimento dos campos - iremos exibir um FwBrowse, em uma dialog ou modal, que irá exibir os itens da guia de fornecimento direto, da tabela BD6 (exibir Sequencial do item, Código da Tabela, Código do procedimento e Descrição - bloqueados para edição), além de campos exclusivos para editar o código do Fornecedor, Número do Documento e Série do Documento - disponíveis para edição. Abaixo, características dos campos referentes a Nota Fiscal. Exemplod e FwBrowse funcional e carregado com dados pode ser encontrado na função Telaorfaos, nos fontes PLSSIMPRO ou PLSBRASIN1.
- Campo de nome Fornecedor, que armazenará o código do Fornecedor, com lupa para pesquisar os fornecedores cadastrados. Usar a consulta padrão (SXB) de nome FOR, que retorna todos os fornecedores cadastrados na base. Se digitado manualmente, validar se o fornecedor existe está ativo;
- Campo de nome Documento, para armazenar o número do documento Fiscal. Esse campo deverá conter uma consulta padrão(SXB), que irá filtrar as notas fiscais de acordo com o fornecedor escolhido no campo anterior (Fornecedor). Se digitado manualmente, validar se a Nota Fiscal existe e está vinculada ao fornecedor selecionado.
- Campo de nome Série, para armazenar o número da série do documento fiscal, de acordo com o selecionado pelo usuário no campo anterior (Documento). Se digitado manualmente, validar se a série pertence a Nota informada.
- Após informado e validado os dados acima no FwBrowse, devemos estabelecer o vínculo da Guia de Fornecimento Direto com a Nota Fiscal selecionada.
- Podemos utilizar para esse fim o fonte PLSA298 - Nota Fiscal x Guia - que é um fonte MVC.
- Para a gravação, basta instanciar a classe PLSA298 e setar os valores no model de forma correta, para que o Model faça as validações internas aplicáveis e caso esteja tudo correto, possa gravar essa vinculação e, caso ocorra erro, o usuário seja informado dos problemas.
- Caso ocorra sucesso na gravação da vinculação, ou seja, dados da guia corretos e vinculados com sucesso na Nota informada, o campo BJF_VINCNF deve ser preenchido com o valor '1'-Sim, indicando que esse fornecimento gerou guia e já está vinculada a uma Nota Fiscal.
- Se ocorrer algum erro, a mensagem do model deve ser exibida para o usuário, para que providencie a correção. Nesse caso, nenhum vínculo será realizado e a mensagem do erro deve ser gravada no campo BJF_OBSERV, para análise posterior do usuário.
- A função de vinculação dessa janela também deverá estar disponível no botão Outras Ações da Tela de fornecimento direto (PLSFORDIRE), para que seja possível realizar essa vinculação depois da correção do erro - caso exista - ou para outros setor realizar essa ação, não necessariamente no final da gravação da tela.
- Agora, iremos detalhar o cenário onde o cliente não tem o BackOffice integrado, ou seja, o parâmetro MV_PLATBKF está com o valor .F.:
- Não será exibido o FwBrowse, para vinculação de Nota Fiscal com a guia recém gerada
- Nessa situação, será necessário alterar a query de pesquisa do fonte PLSM270, na função PLS270Forn.
- A query, ao invés de fazer o JOIN com a tabela B19, irá fazer JOIN com a tabela BJF, pois temos todos os dados necessários para enviar o monitoramento.
- Atenção: Será necessário verificar outras mudanças no monitoramento, pois essa mudança pode impactar nos processos, como na gravação da tabela B4M e B4N, sendo necessário analisar o impacto dessa mudança durante o desenvolvimento da rotina e testes do desenvolvedor.
D) Geração do Monitoramento TISS com o fornecimento direto
- Com a conclusão das etapas acima, ou seja, cadastrando os itens que serão entregues para o beneficiário, geração da guia de Fornecimento Direto e vinculação com a Nota Fiscal, a rotina de Monitoramento TISS (PLSM270), irá realizar os processos corretamente, pois já está preparada para esse tipo de fornecimento, bastando ter a guia e relacioná-la com uma Nota Fiscal.
- O processo que existe hoje no monitoramento já vai atender ao proposto, que é gerar o bloco de fornecimento direto com as informações corretas.
- Pontos de Atenção:
- Verificar como irá sair a data de fornecimento no arquivo XTE, pois hoje, o sistema utiliza a data de pagamento ou data de digitação. Dependendo de como a guia for gerada, será necessário buscar essa informação no campo BJF_DATFOR, para gravar corretamente no monitoramento, no fonte PLSM270B4N.
- O mesmo cuidado deve ser feito com os demais campos, como valores totais de fornecimento, tabela própria e coparticipação.
- Testar no monitoramento a exclusão do lote, bem como a alteração do lote, para verificar se a tag <tipoRegistro> é tratada corretamente em cada cenário, ou seja, Inclusão, Alteração e Exclusão.
- Pontos de Atenção:
03. Tela de Cadastro Fornecimento Direto Âncora NEW NEW
NEW | |
NEW |
A tela poderá ser feita em MVC ou PO-UI, de acordo com a necessidade.
04. Tabelas Âncora ALTER ALTER
ALTER | |
ALTER |
- Criação das tabelas citadas no documento.
- Poderá ser necessário ajuste em outras tabelas, conforme avanço do projeto ou necessidades aqui não contempladas.
05. TABELAS UTILIZADAS Âncora TAB TAB
TAB | |
TAB |
- BCL - Tipos de Guias
- BD5 - Processamento de Contas
- BD6 - Eventos Processamentos Contas
- BD7- Part Honorários Prestado Itens
- BJF - Cabec. Solic. Fornec. Direto
- BJG - Itens Fornecimento Direto
- BR8 - Tabela Padrao
- BTQ - Detalhe das Terminologias TISS
View file | ||||
---|---|---|---|---|
|
Layout CSV
...
title | Layout CSV - Clique para expandir |
---|
...
ARQUIVO NO FORMATO CSV
...
- Layout PDF para análise:
View file | ||||
---|---|---|---|---|
|
...
Conforme indicado no item 2, tópico A, para a configuração da importação, vamos utilizar a tela existente - PLSBRASIN2 - com os devidos ajustes. No tocante a tela de browser das importações realizadas da SIMPRO®, bem como o botão Importar de demais funcionalidades, utilizar o conceito de herança da tela PLSBRASIN1, realizando os devidos ajustes para as necessidades aqui apontadas.
...
- Não será necessário criar nenhuma tabela nova, apenas modificar as existentes, para se adequar ao processo da SIMPRO®.
- As modificações necessárias já foram colocadas nos tópicos anteriores e podem surgir novas, de acordo com o andamento do desenvolvimento.
...
HTML |
---|
<!-- esconder o menu --> <style> div.theme-default .ia-splitter #main { margin-left: 0px; } .ia-fixed-sidebar, .ia-splitter-left { display: none; } #main { padding-left: 10px; padding-right: 10px; overflow-x: hidden; } .aui-header-primary .aui-nav, .aui-page-panel { margin-left: 0px !important; } .aui-header-primary .aui-nav { margin-left: 0px !important; } </style> |