Árvore de páginas


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


Exemplo de Uso
#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 


Importante!

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.


05. ASSUNTOS RELACIONADOS

Não se aplica.