Histórico da Página
01. VISÃO GERAL
A rotina visa a exportação das notas de fatura seguindo o padrão Unimed PTU A500.
A regra de quebra de 9.999 guias é feita no lote de intercambio.
02. SEQUENCIAL PTU
Na versão 1.0 do XML foi adicionado o conceito de sequencial e id único do procedimento seguindo o padrão tiss, para isto foram criados os campos BX6_SEQPTU, B43_SEQPTU, BX6_IDUNIC, B43_IDUNIC.
...
Portanto, a tag 'idUnico' sempre terá '0000' fixo no seu final quando não for um pacote.
03. PACOTES
A partir da versão 11.3 do PTU Batch se tornou obrigatório o envio do procedimento principal do pacote, contendo todos os valores e o envio aberto apenas de procedimentos de honorário e opme com valor zerado.
...
Todos os dados de OPME devem ser vinculados ao BD6 do pacote.
04. DE/PARA PROCEDIMENTOS
No PTU XML serão trafegados procedimentos padrão TISS, recomendamos o uso de parametrização do padrão tiss(CODTAB 00,18,19,20,22,90,98), mas caso seu ambiente ainda não esteja parametrizado utilizando o padrão de tabelas e codificações da tiss deverá ser feito o de-para de todos os procedimentos.
O de para deve ser feito na tabela BTU, utilizando o BTU_ALIAS = 'BR8' / BTU_VLRSIS = BR8_FILIAL+BR8_CODPAD+BR8_CODPRO / BTU_CODTAB = 00,18,19,20,22,90 ou 98 / BTU_CDTERM = Um procedimento válido disponibilizado nas terminologias da tiss.
05. PROTHEUS x TAGs
Cabeçalho
Tag | Regra Protheus |
---|---|
nrVerTra_PTU | Pergunte de exportação "Versão Atual?" |
cd_Uni_Destino | BTO_OPEORI |
cd_Uni_Origem | BTO_CODOPE |
dt_Geracao | Data do servidor |
nr_Competencia | BTO_ANOINI + BTO_MESINI |
tp_Cobranca | BTO_TPMOV |
...
Tag | Regra Protheus |
---|---|
documento2/nr_Documento | BTO_PREFIX + BTO_NUMTIT |
documento2/dt_VencimentoDoc | E1_VENCTO |
documento2/dt_EmissaoDoc | E1_EMISSAO |
documento2/vl_TotalDoc | BTO_VLRTAX |
documento2/doc_Fiscal | BTO_PREFIX + BTO_NUMTIT |
Beneficiário
Tag | Regra Protheus |
---|---|
cd_Unimed | BD6_MATANT |
id_Benef | BD6_MATANT |
nm_Benef | BD6_NOMUSR |
id_RN | BD5/BE4IDRN |
tp_Paciente | BD5_TIPPAC/ '1' Para guias de internação |
dadosSolicitante
Tag | Regra Protheus |
---|---|
cpf_cnpj | 1º BAU_CPFCGC(Chave BEA) 2º BB0_CGC |
nome | 1º BEA_NOMRDA 2º BB0_NOME |
nm_Profissional | BB0_NOME |
sg_Conselho | BB0_CODSIG |
nr_Conselho | BB0_NUMCR |
UF BAQ_CBOS | De-para Tabela 59 - BB0_ESTADO |
CBO | BAQ_CBOS(Chave 1º BD6_ESPSOL , 2º BD5/BE4_CODESP) |
contratadoExecutante e dadosExecutante
Tag | Regra Protheus |
---|---|
nome | BD5/BE4_NOMRDA |
CPF_CNPJ | BAU_CPFCGC |
CNES | 1º BB8_CNES 2º BAU_CNES 3º "9999999" |
cd_MunicipioCont | BB8_CODMUN |
tp_RedeMin | BAU_TIPRED |
tp_Prestador | BAG_CODPT(Utilizando BAU_TIPPRE para chegar no registro) |
id_RecProprio | BAU_RECPRO |
profissionalExecutante
Tag | Regra Protheus |
---|---|
nome | 1º BB0_NOME(Chave BD5/BE4_REGEXE) 2º BAU_NOME(Chave BD5/BE4_CODRDA) |
sg_Conselho | 1º BB0_CODSIG(Chave BD5/BE4_REGEXE) 2º BAU_SIGLCR(Chave BD5/BE4_CODRDA) |
nr_Conselho | 1º BB0_NUMCR(Chave BD5/BE4_REGEXE) 2º BAU_CONREG(Chave BD5/BE4_CODRDA) |
UF | 1º BB0_ESTADO(Chave BD5/BE4_REGEXE) 2º BAU_ESTCR(Chave BD5/BE4_CODRDA) |
CBO | BAQ_CBOS(Chave 1ºBD6_ESPEXE, 2º BD5/BE4_CODESP) |
dadosGuia
Tag | Regra Protheus | Observação |
---|---|---|
nr_Ver_TISS | BD5/BE4_TISVER | |
tp_Consulta | BD5/BE4_TIPCON(Se for igual a 5 mudamos para 2) | Apenas para tipo de guia Consulta |
nr_LotePrestador | BD5/BE4_CODPEG | |
dt_Protocolo | BD5/BE4_DTDIGI | |
dt_Conhecimento | BD5/BE4_DTDIGI | |
nr_GuiaTissPrestador | 1º BD5/BE4_NUMIMP 2º BD5/BE4_CODLDP + BD5/BE4_CODPEG + BD5/BE4_NUMERO | |
nr_GuiaTissOperadora | BD5/BE4_CODLDP + BD5/BE4_CODPEG + BD5/BE4_NUMERO | |
nr_GuiaTissPrincipal | BD5/BE4_GUIPRI | Caso seja maior que 20 caracteres, removemos o código da operadora que são os 4 primeiros caracteres. |
tp_IndAcidente | 1º BD5/BE4_INDACI 2º "9" | |
dt_Atendimento | BD5/BE4_DATPRO + BD5/BE4_HORPRO | |
id_Liminar | BD5/BE4_GUIJUR | |
id_Continuado | Existência de um registro válido na tabela B5F. | |
id_Avisado | Existência da guia na tabela B5S | |
cd_Excecao | 1º Se a tag "nr_Autorizacao" estiver preenchida e for uma internação "C" 2º Senão "L" 3º Caso a tag esteja vazia "0" | |
id_GlosaTotal | "N" | |
id_GuiaPrincipal | Se a tag "nr_GuiaTissPrincipal" estiver vazia envia "S". | Somente para guia SADT |
complemento
Tag | Regra Protheus |
---|---|
tp_RegCPL | "1" (Preenchido caso o registro abaixo seja diferente de vazio) |
nm_DescComplemento | BD5/BE4_INDCLI + BD5/BE4_INDCL2 |
tp_RegCPL | "2" (Preenchido caso o registro abaixo seja diferente de vazio) |
nm_DescComplemento | BZC_OBSNO1 + BZC_OBSNO2 (Chave: 1º CODOPE+CODLDP+CODPEG+NUMERO, 2º BD5/BE4_GUIINT) |
tp_RegCPL | "3" (Preenchido caso o registro abaixo seja diferente de vazio) |
nm_DescComplemento | BZC_JUSTE1+ BZC_JUSTE2 + BZC_JUSTE3 + BZC_JUSTE4 (Chave: 1º CODOPE+CODLDP+CODPEG+NUMERO, 2º BD5/BE4_GUIINT) |
tp_RegCPL | "4" (Preenchido caso o registro abaixo seja diferente de vazio) |
nm_DescComplemento | BZC_ESMAT1+ BZC_ESMAT2 + BZC_ESMAT3 + BZC_ESMAT4 (Chave: 1º CODOPE+CODLDP+CODPEG+NUMERO, 2º BD5/BE4_GUIINT) |
guiaSADT
Tag | Regra Protheus |
---|---|
tp_Atendimento | 1º BD5_TIPATE 2º '05' |
tp_IndAcidente | 1º BD5_INDACI 2º '9' |
tp_Consulta | BD5_TIPCON (Se for '5' mudamos para '2') |
caraterAtendimento | De-para Tabela 23 - BD5_TIPADM |
guiaInternacao
Tag | Regra Protheus |
---|---|
tp_Acomodacao | BI4_CODEDI |
ft_Multiplicador_AMB | "1.0" |
tp_Internacao | BE4_GRPINT |
rg_Internacao | BE4_REGINT |
caraterAtendimento | De-para Tabela 23 - BE4_TIPADM |
tp_Faturamento | BE4_TIPFAT |
dt_IniFaturamento | Datas: 1º BE4_DTINIF (Solicitação de internação) 2º BE4_DTINIF (Resumo de Internação) 3º BE4_DATPRO (Solicitação de Internação) Horas: 1º BE4_HRINIF (Solicitação de internação) 2º BE4_HRINIF (Resumo de Internação) 3º BE4_HORPRO (Solicitação de Internação) |
dt_FimFaturamento | Datas: 1ºBE4_DTFIMF (Solicitação de internação) 2º BE4_DTFIMF (Resumo de Internação) 3º BE4_DTALTA (Solicitação de Internação) 4º BE4_DTDIGI (Resumo de Internação) Horas: 1ºBE4_HRFIMF (Solicitação de internação) 2º BE4_HRFIMF (Resumo de Internação) 3º BE4_HRALTA (Solicitação de Internação) |
declaracao_Nascido | BE4_NRDCOB(Caso exista mais de 1 é feita a separação com virgula(,) no registro e a rotina quebra automaticamente. |
CID_Obito | BE4_CIDOBT |
declaracao_Obito | BE4_NRDCOB |
indicadorDO_RN | BE4_IDRN |
tp_IndAcidente | BE4_INDACI |
mv_Encerramento | BE4_TIPALT |
CID | BE4_CID |
nm_MedicoAuditor | BE4_NMAUDI |
nr_CrmAuditor | BE4_RMAUDI |
cd_UFCRM | De-para Tabela 59 - BE4_UMAUDI |
nm_EnfAuditor | BE4_NEAUDI |
nr_CorenAuditor | BE4_REAUDI |
cd_UFCoren | De-para Tabela 59 - BE4_UEAUDI |
guiaHonorarios
Tag | Regra Protheus |
---|---|
CNPJHospital | BAU_CPFCGC ( Chave para solicitação de internação BE4_GUIINT ) |
nm_Hospital | BE4_NOMRDA ( Chave para solicitação de internação BE4_GUIINT ) |
CNES | BB8_CNES ( Chave para solicitação de internação BE4_GUIINT ) |
dt_IniFaturamento | Datas: 1º BE4_DTINIF (Solicitação de internação) 2º BE4_DTINIF (Resumo de Internação) 3º BE4_DATPRO (Solicitação de Internação) Horas: 1º BE4_HRINIF (Solicitação de internação) 2º BE4_HRINIF (Resumo de Internação) 3º BE4_HORPRO (Solicitação de Internação) |
dt_FimFaturamento | Datas: 1ºBE4_DTFIMF (Solicitação de internação) 2º BE4_DTFIMF (Resumo de Internação) 3º BE4_DTALTA (Solicitação de Internação) 4º BE4_DTDIGI (Resumo de Internação) Horas: 1ºBE4_HRFIMF (Solicitação de internação) 2º BE4_HRFIMF (Resumo de Internação) 3º BE4_HRALTA (Solicitação de Internação) |
dadosOPME
Tag | Regra Protheus |
---|---|
CNPJ_Fornecedor | 1º BX6_CNPJFO 2º A2_CGC (Chave BD6_NFE → SF1_FORNECE) 3º BD6_CPFRDA |
nm_FornecedorMaterial | 1º BX6_NOMFOR 2º A2_NOME (Chave BD6_NFE → SF1_FORNECE) 3º BD5/BE4_NOMRDA |
nr_NotaFiscalFornecedor | 1º BX6_NNFFOR 2º F1_DOC(Chave BD6_NFE ) |
det_RegistroAnvisa | 1º BX6_DREANV 2º BA8_DETANV |
nr_RegistroAnvisa | 1º BX6_REGANV 2º BA8_RGANVI |
cd_ReferenciaMat_Fab | BD6_REFFED |
procedimentos
Tag | Regra Protheus |
---|---|
seq_item | BX6_SEQPTU |
id_itemUnico | BX6_IDUNIC |
tp_Tabela | De-para BTU_CODTAB, Chave: BD6_CODPAD+BD6_CODPRO Obs: Em caso de itens de pacote, é feito o mesmo processo utilizando B43_CODPAD+B43_CODPRO |
cd_Servico | 1º BR8_CODEDI 2º De-para BTU_CDTERM, Chave: BD6_CODPAD+BD6_CODPRO Obs: Em caso de itens de pacote, é feito o mesmo processo utilizando B43_CODPAD+B43_CODPRO |
ds_Servico | 1º BD6_DESPRO 2º Se for item de pacote B43_DESPRO |
procedimentosExecutados
Tag | Regra Protheus | Observação |
---|---|---|
dt_Execucao | BD6_DATPRO | |
hr_Inicial | BD6_HORPRO | |
hr_Final | BD6_HORFIM | |
via_Acesso | 1º BGR_CODEDI 2º BGR_CODVIA | |
tc_Utilizada | Se BD6_TECUTI = 'C' envia '1' Se BD6_TECUTI = 'V' envia '2' Se BD6_TECUTI = 'R' envia '3' Se BD6_TECUTI não for C,V e R' envia o próprio conteudo | Somente se BD6_PROCCI = '1' |
id_Acrescimo | Se BD6_PERHES for maior que 1 envia 'S'. | |
vl_ServCobrado | BD7_VLRBPR | BD7_CODUNM diferente ('COP','COR','FIL','VMT','VMD','REA') |
vl_FilmeCobrado | BD7_VLRBPR | BD7_CODUNM igual 'FIL' |
vl_CO_Cobrado | BD7_VLRBPR | BD7_CODUNM igual ('COP','COR','VMT','VMD','REA') |
tx_AdmServico | BD7_VLRTAD | BD7_CODUNM diferente ('COP','COR','FIL','VMT','VMD','REA') |
tx_AdmFilme | BD7_VLRTAD | BD7_CODUNM igual 'FIL' |
tx_AdmCO | BD7_VLRTAD | BD7_CODUNM igual ('COP','COR','VMT','VMD','REA') |
un_Medida | 1º BX6_CODUNM 2º BA8_UNMEDI | |
ft_MultiplicadorServico | BD6_PERHES | |
id_AvisadoItem | Existência na tabela B6S | |
id_Pacote | Existência na tabela B43 | |
cd_Pacote | BD6_CODPRO dependendo da existência na tabela B43 | |
cd_PorteAnestesico | Se BD4_PORMED= '3A' envia '1' Se BD4_PORMED= '3C' envia '2' Se BD4_PORMED= '4C' envia '3' Se BD4_PORMED= '6B' envia '4' Se BD4_PORMED= '7C' envia '2' Se BD4_PORMED= '9B' envia '6' Se BD4_PORMED= '10C' envia '7' Se BD4_PORMED= '12A' envia '8' Senão BKF_CODEDI | Se o procedimento tiver PA na composição. |
cd_Ato | Se BAU_TIPPRE = "MED","ANE" envia "1" |
06. PONTOS DE ENTRADA
Nome: | PLSR506 | ||
---|---|---|---|
Descrição: | Este Ponto de Entrada permite adicionar dados de NFE ao PTU para exportação das tags nr_NotaFiscalDoc e link_NFeDoc. | ||
Localização: | Exportação PTU A500 | ||
Programa Fonte: | PLSUA500X | ||
Função: | processa | ||
Parâmetros: | cTipo - Carácter - Indica o tipo de documento que está chamando o ponto. Caso seja "1" é para o bloco documento1 caso seja "2" é o bloco documento2. Além deste parametro as tabelas BTO e SE1 estão posicionadas. | ||
Retorno: | aRet aRet[1] - Dado da tag nr_NotaFiscalDoc. aRet[2] - Dado da tag link_NFeDoc. | ||
Exemplo: |
|
07. LOG DE ERROS
Foi implementado na rotina um sistema de validação do XML gerado com o schema disponibilizado pela Unimed do Brasil, sendo assim garantimos que o XML gerado está dentro do minimo esperado pelo padrão.
...
- "is not a valid value of the atomic": Neste caso a tag possui a limitação de somente números e tamanho 10, mas estão enviando uma string no campo causando erro.
08. MENU
- No Configurador (SIGACFG), acesse Ambientes/Cadastro/Menu (CFGX013). Informe a nova opção de menu do SIGAPLS, conforme instruções a seguir:
Menu | Miscelânea |
Submenu | Unimed |
Submenu | Exportação |
Nome da Rotina | PTU A500 |
Programa | PLSUA500X |
Módulo | Plano de Saúde |
09. CAMPOS
Campos novos nas tabelas
SX3 - Informações dos Campos | |
---|---|
Campo | Descrição |
Campo | BX6_SEQPTU |
Tipo | Caracter |
Tamanho | 4 |
Decimal | 0 |
Título | Seq PTU |
Descrição | Sequencial PTU |
Usado | Não |
Obrigatório | Não |
Browse | Não |
Contexto | Real |
...