01. DADOS GERAIS
Produto: | TOTVS Saúde Planos |
---|---|
Linha de Produto: | Linha Protheus |
Segmento: | Saúde |
Módulo: | PTU A1300 |
Função: | EXPORTAR XML |
País: | Brasil |
Ticket: | 12896967 |
Requisito/Story/Issue (informe o requisito relacionado) : | DSAUBE-17231 |
02. SITUAÇÃO/REQUISITO
Necessidade de manipular todas as tags referentes ao arquivo XML gerado no PTU A1300.
03. SOLUÇÃO
Implementado um Ponto de Entrada para a manipulação do conteúdo das tags, será realizada a chamada no final de cada inclusão das tabelas temporárias para geração do arquivo, com isso poderá ser alterado o conteúdo de cada tabela.
04. DEMAIS INFORMAÇÕES
Nome do Ponto de Entrada: PL1300XML
Parâmetros:
PARAMIXB[1] : Tabela Temporária - Carácter
PARAMIXB[2] : Recno da Tabela Temporária
PARAMIXB[3] : Recno do Beneficiário Posicionado
Retorno: Não se aplica
Segue a tabela contendo as Tags, descrição, e todos os campos das tabelas temporárias para ser utilizado no ponto de entrada:
TAG | DESCRIÇÃO | TABELA TEMPORÁRIA | CAMPO |
nrVerTra_PTU | Número da versão da transação | T301 | NRVTRA_PTU |
cd_Uni_Destino | Código da Unimed destino para envio de arquivo | T301 | CD_UNI_DES |
cd_Uni_Origem | Código da Unimed origem do envio de arquivo | T301 | CD_UNI_ORI |
dt_geracao | Data de geração do arquivo de envio | T301 | DT_GERACAO |
cd_Unimed | Código da Unimed | T316 | CD_UNIMED |
id_Benef | Código de identificação do Beneficiário, incluindo o dígito verificador, sendo o código da Unimed colocado em campo à parte. | T316 | ID_BENEF |
dt_excl_uni | Data de exclusão na Unimed | T316 | DT_EXC_UNI |
motivo_exclusao_benef | Motivo de exclusão | T316 | MOT_EXCBEN |
reg_plano_ans | Número do Registro do Plano da ANS ou Código de Identificação no Sistema de cadastro de Planos Comercializados Anteriormente à data de vigência da Lei Nº9.656, de 1998 | T316 | REG_PLAANS |
dt_fim_vigencia | Data de fim da vigência do plano Unimed com o Beneficiário | T316 | DT_FIM_VIG |
nm_compl_benef | Nome completo do Beneficiário | T303 | NM_COM_BEN |
nm_social | Nome social | T303 | NM_SOCIAL |
dt_nasc | Data de nascimento do Beneficiário | T303 | DT_NASC |
tp_sexo | Sexo do Beneficiário | T303 | TP_SEXO |
genero_social | Gênero social do Beneficiário | T303 | GEN_SOCIAL |
cd_cpf | Código do CPF | T303 | CD_CPF |
id_estrangeiro | Código de identificação do Beneficiário estrangeiro | T303 | ID_ESTRANG |
cd_ident | Carteira de Identidade | T303 | CD_IDENT |
orgao_emissor | Órgão Emissor da carteira | T303 | ORGAO_EMIS |
cd_uf | Código da Unidade Federativa da carteira de identidade | T303 | CD_UF |
cd_pais | Código do país emissor da carteira | T303 | CD_PAIS |
cd_cns | Cartão Nacional de Saúde | T303 | CD_CNS |
cd_est_civil | Código do Estado Civil | T303 | CD_EST_CIV |
nm_mae | Nome da Mãe do Beneficiário | T303 | NM_MAE |
pis_pasep | Número do PIS/PASEP | T303 | PIS_PASEP |
cd_munic_natural | Código do Município da naturalidade do Beneficiário, conforme a codificação do IBGE | T303 | CD_MUNINAT |
cd_munic | Código do Município, conforme codificação do IBGE | T303 | CD_MUNIC |
cd_Unimed | Código da Unimed Destino | T306 | CD_UNIMED |
id_Benef | Código de Identificação do Beneficiário, incluindo o dígito verificador, sendo o código da Unimed colocado em campo à parte | T306 | ID_BENEF |
nm_benef | Nome do Beneficiário | T306 | NM_BENEF |
nm_social_cartao | Nome Social - Cartão | T306 | NM_SOCCART |
cd_depe | Código da Dependência do Beneficiário | T306 | CD_DEPE |
id_Benef_tit | Identificação do titular na origem | T306 | ID_BENEFTI |
dt_incl_uni | Data de inclusão do Beneficiário na Unimed | T306 | DT_INI_UNI |
dt_excl_uni | Data de exclusão do Beneficiário na Unimed | T306 | DT_EXC_UNI |
id_sib | Indica se Beneficiário consta no SIB | T306 | ID_SIB |
nr_pla_port | Número do código do plano de origem(Portabilidade) | T306 | NR_PLA_POR |
id_remido | Indica se o Beneficiário é remido: usuário dependente de plano de saúde com continuidade do atendimento assistencial após a morte do titular com isenção de mensalidade | T306 | ID_REMIDO |
id_benef_coop | Indica se o Beneficiário é um cooperado | T306 | ID_BENECOP |
cd_crm | Número do CRM do médico cooperado | T306 | CD_CRM |
cd_uf_conselho | Código do CRM do médico cooperado | T306 | CD_UFCONSE |
cd_cnpj | Código do CNPJ da empresa contratante | T306 | CD_CNPJ |
cd_caepf | Código do CAEPF(Cadastro de Atividade Econômica de Pessoa Física da empresa contratante) | T306 | CD_CAEPF |
cd_Uni_Destino | Código da Unimed de Origem do Beneficiário | T307 | CD_UNI_DES |
cd_Uni_Origem | Código da Unimed de destino do Beneficiário | T307 | CD_UNI_ORI |
tp_com_risco | Tipo de compartilhamento de risco | T307 | TP_COM_RIS |
dt_comp_risco | Indicador de início do compartilhamento de risco | T307 | DT_COM_RIS |
dt_fim_comp_risco | Data do fim do compartilhamento de risco | T307 | DTFIMCOMRI |
cd_uni_des_com | Código da carteira na Unimed Destino do compartilhamento de risco | T307 | CDUNIDESCO |
id_Benef_des | Código de identificação na Carteira do Beneficiário na Unimed Destino, incluindo o dígito verificador, sendo o código da Unimed colocado em campo à parte | T307 | ID_BENEDES |
via_cartao | Via do Cartão | T307 | VIA_CARTAO |
dt_val_carteira | Data de validade da Carteira | T307 | DT_VALCART |
nm_contr | Nome do Contratante | T308 | NM_CONTR |
dt_inicio_vigencia | Data de início de vigência do plano Unimed com o beneficiário | T308 | DT_INI_VIG |
dt_fim_vigencia | Data de fim de vigência do plano Unimed com o beneficiário | T308 | DT_FIM_VIG |
tp_abrangencia | Abrangência do plano | T308 | TP_ABRANGE |
tp_contratacao | Tipo de contratação | T308 | TPCONTRATA |
tp_acomodacao | Tipo de acomodação | T308 | TP_ACOMODA |
id_reg_plano_ans | Indicador do Registro do Plano na ANS | T308 | IDREGPLANS |
reg_plano_ans | Número do Registro do Plano na ANS ou Código de Identificação no Sistema de Cadastro de Planos Comercializados Anteriormente à data de vigência da Lei Nº 9.656, de 1998 | T308 | REGPLA_ANS |
seg_plano | Segmentação do Plano | T308 | SEG_PLANO |
cd_rede | Código da rede referenciada | T308 | CD_REDE |
nm_rede | Descrição da Rede | T308 | NM_REDE |
via_cartao | Via do Cartão | T308 | VIA_CARTAO |
dt_val_carteira | Data de validade da Carteira | T308 | DT_VALCART |
cd_lcat | Código do Local de Atendimento | T308 | CD_LCAT |
id_cpt | Indicação de existência de Cobertura Parcial Temporária | T308 | ID_CPT |
dt_fim_cpt | Data Final da Cobertura Parcial Temporária | T308 | DT_FIM_CPT |
tp_contrato | Tipo de Contrato | T308 | TP_CONTRAT |
cd_cnpj_adm_benef | Código do CNPJ da Administradora de Benefícios na ANS | T308 | CNPJADMBEN |
raz_soc_adm_benef | Razão social da administradora de benefícios | T308 | RZSOCADMBE |
nm_adm_benef | Nome fantasia da administradora de benefícios | T308 | NMADMBENEF |
nm_produto | Nome do Produto (Plano) | T308 | NM_PRODUTO |
nr_contrato | Número do contrato/apólice | T308 | NR_CONTRAT |
dt_contr_plano | Data da contratação do plano de saúde | T308 | DTCONTRPLA |
tipo_rede_min | Tipo de Rede conforme Manual do Intercâmbio Nacional | T308 | TP_REDEMIN |
cd_munic | Código do Município que faz parte do Grupo de Munícipios, conforme codificação do IBGE | T309 | CD_MUNIC |
cd_uf | Código da Unidade Federativa | T309 | CD_UF |
tp_cobertura | Tipo da Cobertura | T310 | TP_COBERTU |
dt_fim_carencia | Data final da carência para a cobertura | T310 | DT_FIMCARE |
cd_cnpj | Código do CNPJ | T302 | CD_CPNJ |
cd_caepf | Código do CAEPF (Cadastro de Atividade Econômica de Pessoa Física) | T302 | CD_CAEPF |
cd_insc_est | Código da inscrição estadual | T302 | CD_INS_EST |
nm_empr_comp | Nome completo da Empresa (Razão Social) | T302 | NM_EMP_COM |
nm_fantasia_empr | Nome fantasia da Empresa | T302 | NM_FAN_EMP |
nm_empr_abre | Nome da Empresa Abreviado | T302 | NM_EMP_ABR |
ind_resid | Indica se a residência é no Brasil ou Exterior | T305 | IND_RESID |
tp_end | Tipo de Endereço | T305 | TP_END |
tp_logradouro | Tipo de logradouro | T305 | TP_LOGRAD |
ds_lograd | Logradouro | T305 | DS_LOGRAD |
nr_lograd | Número do Logradouro | T305 | NR_LOGRAD |
compl_lograd | Complemento do Logradouro | T305 | COMP_LOGRD |
ds_bairro | Descrição do bairro | T305 | DS_BAIRRO |
cd_munic | Código do Município, conforme codificação do IBGE | T305 | CD_MUNIC |
nr_cep | Número do CEP | T305 | NR_CEP |
tp_fone | Tipo de Telefone | T311 | TP_FONE |
nr_ddd | Número do DDD | T311 | NR_DDD |
nr_fone | Número do telefone | T311 | NR_FONE |
tp_email | Tipo de E-mail | T311 | TP_EMAIL |
end_email | Endereço de e-mail | T311 | END_EMAIL |
cd_Unimed | Código da Unimed | T317 | CD_UNIMED |
id_Benef | Código de Identificação do Beneficiário, incluindo o dígito verificador, sendo o código da Unimed colocado em campo à parte. | T317 | ID_BENEF |
nm_benef | Nome do Beneficiário | T317 | NM_BENEF |
dt_nasc | Data de Nascimento do Beneficiário | T317 | DT_NASC |
tp_sexo | Sexo do Beneficiário | T317 | TP_SEXO |
cd_cns | Número do Cartão Nacional de Saúde do Beneficiário | T317 | CD_CNS |
cd_cnpj | Código do CNPJ | T317 | CD_CNPJ |
cd_aut_gest_ans | Código da Autogestão junto a ANS | T317 | CAUTGESANS |
cd_cpf | Código do CPF | T317 | CD_CPF |
dt_incl | Data de Inclusão no Plano Destino (Intercâmbio) | T317 | DT_INCL |
dt_excl | Data de exclusão do prestador na UNIMED | T317 | DT_EXCL |
#Include "PROTHEUS.CH" User Function PL1300XML() Local cTabTemporaria := PARAMIXB[1] // Tabela temporária Local nRecnoTab := PARAMIXB[2] // Recno da tabela Local nRecnoBenef := PARAMISB[3] // Recno do Beneficiário Local aAreaBA1 := BA1->(GetArea()) // Tratamento para manipular conteúdo das tags Do Case Case cTabTemporaria == "T301" If nRecnoBenef > 0 BA1->(DbGoTo(nRecnoBenef)) T301->(RecLock("T301", .F.)) T301->DT_GERACAO := DToS(dDataBase) ... T301->(MsUnlock()) EndIf Case cTabTemporaria == "T302" If nRecnoBenef > 0 BA1->(DbGoTo(nRecnoBenef)) T302->(RecLock("T302", .F.)) T302->NM_EMP_ABR:= "Nome Abreviado da Empresa" ... T302->(MsUnlock()) EndIf Case cTabTemporaria == "T303" ... Case cTabTemporaria == "T305" ... Case cTabTemporaria == "T306" ... Case cTabTemporaria == "T307" ... Case cTabTemporaria == "T308" ... Case cTabTemporaria == "T309" ... Case cTabTemporaria == "T310" ... Case cTabTemporaria == "T311" ... Case cTabTemporaria == "T316" ... Case cTabTemporaria == "T317" ... EndCase RestArea(aAreaBA1) Return
Quando o ponto de entrada ser chamado para alteração na tabela temporária T301, o Recno do Beneficiário não será passado por parâmetro por se tratar de tags do arquivo A1300. Caso seja utilizado um Seek em alguma tabela dentro do ponto de entrada, deverá ser utilizado GetArea e RestArea da tabela.Importante!
05. ASSUNTOS RELACIONADOS
Não se aplica.