Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Fabio Henrique Rangel

Gerador XML com Calculo Hash

Recommended Posts

Ola Pessoal

 

To precisando de uma ajuda.

 

Fiz um Código Gerador XML TISS da padrão ANS de planos de Saude, o código me gera perfeitamente o xml

mais não estou conseguindo concatenar os dados entre as tags e gerar o calculo HASH

Alguem poderia me ajudar como fazer isso

A Baixo segue o script

<?php

//------------------------------------------Cabeçalho------------------------------------------------>



$xml  = "<xml version='1.0' encoding='UTF-8'>\n";
$xml  = "<!--Gerado MPITECH - Data: 25/09/2014 04:35 - Rev. 1.3-->\n";
//$xml .= "<ansTISS:mensagemTISS xmlns:ansTISS='http://www.ans.gov.br/padroes/tiss/schemas'>\n";
$xml .= "<ans:mensagemTISS xmlns:ans='http://www.ans.gov.br/padroes/tiss/schemas' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.ans.gov.br/padroes/tiss/schemas http://www.ans.gov.br/padroes/tiss/schemas/tissV3_01_00.xsd'>";
//-----------------------------------Cabeçalho-------------------------------------------------------->

function gera_hash()
{
        global $objDom;
        $mensagemTISS = '';
        $output = array();
        $els = $objDom->getElementsByTagName('*');
        for($i=0;$i<$els->length;$i++) {
                if(! $els->item($i)->hasChildNodes() ) {
                } elseif ($els->item($i)->firstChild->nodeType == 3 ) {
                        $tmp = $els->item($i)->textContent;
                        #echo '<hr>'.$tmp.'<hr>';
                        if ( eregi("\n", $tmp) ) {
                                #echo ("\n<hr><pre>WARNING: Node
                                #'{$els->item($i)->nodeName}' contém uma
                                #QUEBRA DE LINHA!</PRE>\n");
                                $tmp = ereg_replace ("\n", "", $tmp);
                        }
                        $mensagemTISS = $mensagemTISS . ($tmp);
                }
        }




$xml .= "<ans:cabecalho>\n";
$xml .= "    <ans:identificacaoTransacao>\n";
$xml .= "      <ans:tipoTransacao>ENVIO_LOTE_GUIAS</ans:tipoTransacao>\n";
$xml .= "      <ans:sequencialTransacao>52325</ans:sequencialTransacao>\n";
$xml .= "      <ans:dataRegistroTransacao>2014-06-09</ans:dataRegistroTransacao>\n";
$xml .= "      <ans:horaRegistroTransacao>16:43:04</ans:horaRegistroTransacao>\n";
$xml .= "    </ans:identificacaoTransacao>\n";
$xml .= "    <ans:origem>\n";
$xml .= "      <ans:identificacaoPrestador>\n";
$xml .= "        <ans:codigoPrestadorNaOperadora>99999999999999</ans:codigoPrestadorNaOperadora>\n";
$xml .= "      </ans:identificacaoPrestador>\n";
$xml .= "    </ans:origem>\n";
$xml .= "    <ans:destino>\n";
$xml .= "      <ans:registroANS>999211</ans:registroANS>\n";
$xml .= "    </ans:destino>\n";
$xml .= "    <ans:versaoPadrao>3.02.00</ans:versaoPadrao>\n";
$xml .= " </ans:cabecalho>";


$xml .="  <ans:prestadorParaOperadora>\n";
$xml .="    <ans:loteGuias>\n";
$xml .="      <ans:numeroLote>146</ans:numeroLote>\n";
$xml .="      <ans:guiasTISS>\n";

	
	while($reg = mysql_fetch_object($query)){
           //$xml .= "\t<sapato>\n";
           //$xml .= "\t\t<id>$reg->id</id>\n";
           //$xml .= "\t\t<imagem>$reg->imagem</imagem>\n";
           //$xml .= "\t\t<descricao>$reg->descricao</descricao> \n";
           //$xml .= "\t\t<preco>$reg->preco</preco> \n";
           //$xml .= "\t</sapato>\n";
     
            $xml .= "<ans:guiaSP-SADT>\n";
            $xml .= "<ans:cabecalhoGuia>\n";
            $xml .= "<ans:registroANS>417311</ans:registroANS>\n";
            $xml .= "<ans:numeroGuiaPrestador>12345678</ans:numeroGuiaPrestador>\n";
            $xml .= "<ans:guiaPrincipal>12345678</ans:guiaPrincipal>\n";
            $xml .= "</ans:cabecalhoGuia>\n";
            $xml .= "<ans:dadosAutorizacao>\n";
            $xml .= "<ans:numeroGuiaOperadora>12345678</ans:numeroGuiaOperadora>\n";
            $xml .= "<ans:dataAutorizacao>2014-06-09</ans:dataAutorizacao>\n";
            $xml .= "<ans:senha>12345678</ans:senha>\n";
            $xml .= "<ans:dataValidadeSenha>2014-06-09</ans:dataValidadeSenha>\n";
            $xml .= "</ans:dadosAutorizacao>\n";
            $xml .= "<ans:dadosBeneficiario>\n";
            $xml .= "<ans:numeroCarteira>12345678</ans:numeroCarteira>\n";
            $xml .= "<ans:atendimentoRN>N</ans:atendimentoRN>\n";
            $xml .= "<ans:nomeBeneficiario>XXXXX XXXXXXXXX</ans:nomeBeneficiario>\n";
            $xml .= "<ans:numeroCNS>98765544</ans:numeroCNS>\n";
            $xml .= "<ans:identificadorBeneficiario>98765544</ans:identificadorBeneficiario>\n";
            $xml .= "</ans:dadosBeneficiario>\n";
            $xml .= "<ans:dadosSolicitante>\n";
            $xml .= "<ans:contratadoSolicitante>\n";
            $xml .= "<ans:codigoPrestadorNaOperadora>12345678</ans:codigoPrestadorNaOperadora>\n";
            $xml .= "<ans:nomeContratado>MATER DEI</ans:nomeContratado>\n";
            $xml .= " </ans:contratadoSolicitante>\n";
            $xml .= "<ans:profissionalSolicitante>\n";
            $xml .= "<ans:nomeProfissional>XXXXXXX LLLLLLLLLL</ans:nomeProfissional>\n";
            $xml .= "<ans:conselhoProfissional>6</ans:conselhoProfissional>\n";
            $xml .= "<ans:numeroConselhoProfissional>99888</ans:numeroConselhoProfissional>\n";
            $xml .= "<ans:UF>53</ans:UF>\n";
            $xml .= "<ans:CBOS>225148</ans:CBOS>\n";
            $xml .= "</ans:profissionalSolicitante>\n";
            $xml .= "</ans:dadosSolicitante>\n";
            $xml .= "<ans:dadosSolicitacao>\n";
            $xml .= "<ans:dataSolicitacao>2014-06-09</ans:dataSolicitacao>\n";
            $xml .= "<ans:caraterAtendimento>1</ans:caraterAtendimento>\n";
            $xml .= "<ans:indicacaoClinica>1</ans:indicacaoClinica>\n";
            $xml .= "</ans:dadosSolicitacao>\n";
            $xml .= "<ans:dadosExecutante>\n";
            $xml .= "<ans:contratadoExecutante>\n";
            $xml .= "<ans:cnpjContratado>58846533000179</ans:cnpjContratado>\n";
            $xml .= "<ans:nomeContratado>XXXXXXXXXXXX XXXXXXXXXXX</ans:nomeContratado>\n";
            $xml .= "  </ans:contratadoExecutante>\n";
            $xml .= "<ans:CNES>1123323</ans:CNES>\n";
            $xml .= "</ans:dadosExecutante>\n";
            $xml .= "<ans:dadosAtendimento>\n";
            $xml .= "<ans:tipoAtendimento>01</ans:tipoAtendimento>\n";
            $xml .= "<ans:indicacaoAcidente>2</ans:indicacaoAcidente>\n";
            $xml .= "<ans:tipoConsulta>1</ans:tipoConsulta>\n";
            $xml .= "<ans:motivoEncerramento>41</ans:motivoEncerramento>\n";
            $xml .= " </ans:dadosAtendimento>\n";
            $xml .= "<ans:procedimentosExecutados>\n";
            $xml .= "<ans:procedimentoExecutado>\n";
            $xml .= "<ans:dataExecucao>2014-06-09</ans:dataExecucao>\n";
            $xml .= "<ans:horaInicial>00:00:00</ans:horaInicial>\n";
            $xml .= "<ans:horaFinal>00:00:00</ans:horaFinal>\n";
            $xml .= "<ans:procedimento>\n";
            $xml .= "<ans:codigoTabela>18</ans:codigoTabela>\n";
            $xml .= "<ans:codigoProcedimento>99999999</ans:codigoProcedimento>\n";
            $xml .= "<ans:descricaoProcedimento>SXXXXXXXXXXXXXX</ans:descricaoProcedimento>\n";
            $xml .= "</ans:procedimento>\n";
            $xml .= "<ans:quantidadeExecutada>1</ans:quantidadeExecutada>\n";
            $xml .= "<ans:viaAcesso>1</ans:viaAcesso>\n";
            $xml .= "<ans:tecnicaUtilizada>1</ans:tecnicaUtilizada>\n";
            $xml .= "<ans:reducaoAcrescimo>1.00</ans:reducaoAcrescimo>\n";
            $xml .= "<ans:valorUnitario>1.00</ans:valorUnitario>\n";
            $xml .= "<ans:valorTotal>1.00</ans:valorTotal>\n";
            $xml .= "<ans:equipeSadt>\n";
            $xml .= "<ans:grauPart>01</ans:grauPart>\n";
            $xml .= "<ans:codProfissional>\n";
            $xml .= "<ans:codigoPrestadorNaOperadora>250</ans:codigoPrestadorNaOperadora>\n";
            $xml .= "</ans:codProfissional>\n";
            $xml .= "<ans:nomeProf>XXXXXXXXXX XXXXXXXXXXXXX</ans:nomeProf>\n";
            $xml .= "<ans:conselho>2</ans:conselho>\n";
            $xml .= "<ans:numeroConselhoProfissional>12345</ans:numeroConselhoProfissional>\n";
            $xml .= "<ans:UF>53</ans:UF>\n";
            $xml .= "<ans:CBOS>225148</ans:CBOS>\n";
            $xml .= "</ans:equipeSadt>\n";
            $xml .= "<ans:equipeSadt>\n";
            $xml .= "<ans:grauPart>01</ans:grauPart>\n";
            $xml .= "<ans:codProfissional>\n";
            $xml .= "<ans:codigoPrestadorNaOperadora>250</ans:codigoPrestadorNaOperadora>\n";
            $xml .= "</ans:codProfissional>\n";
            $xml .= "<ans:nomeProf>XXXXXXXXXX XXXXXXXXXXXXX</ans:nomeProf>\n";
            $xml .= "<ans:conselho>2</ans:conselho>\n";
            $xml .= "<ans:numeroConselhoProfissional>12345</ans:numeroConselhoProfissional>\n";
            $xml .= "<ans:UF>53</ans:UF>\n";
            $xml .= "<ans:CBOS>225148</ans:CBOS>\n";
            $xml .= "  </ans:equipeSadt>\n";
            $xml .= "<ans:equipeSadt>\n";
            $xml .= "<ans:grauPart>01</ans:grauPart>\n";
            $xml .= "<ans:codProfissional>\n";
            $xml .= "<ans:codigoPrestadorNaOperadora>250</ans:codigoPrestadorNaOperadora>\n";
            $xml .= "</ans:codProfissional>\n";
            $xml .= "<ans:nomeProf>XXXXXXXXXX XXXXXXXXXXXXX</ans:nomeProf>\n";
            $xml .= "<ans:conselho>2</ans:conselho>\n";
            $xml .= "<ans:numeroConselhoProfissional>12345</ans:numeroConselhoProfissional>\n";
            $xml .= "<ans:UF>53</ans:UF>\n";
            $xml .= "<ans:CBOS>225148</ans:CBOS>\n";
            $xml .= "</ans:equipeSadt>\n";
            $xml .= "<ans:equipeSadt>\n";
            $xml .= "<ans:grauPart>01</ans:grauPart>\n";
            $xml .= "<ans:codProfissional>\n";
            $xml .= "<ans:codigoPrestadorNaOperadora>250</ans:codigoPrestadorNaOperadora>\n";
            $xml .= "</ans:codProfissional>\n";
            $xml .= "<ans:nomeProf>XXXXXXXXXX XXXXXXXXXXXXX</ans:nomeProf>\n";
            $xml .= "<ans:conselho>2</ans:conselho>\n";
            $xml .= "<ans:numeroConselhoProfissional>12345</ans:numeroConselhoProfissional>\n";
            $xml .= "<ans:UF>53</ans:UF>\n";
            $xml .= "<ans:CBOS>225148</ans:CBOS>\n";
            $xml .= "</ans:equipeSadt>\n";
            $xml .= "<ans:equipeSadt>\n";
            $xml .= "<ans:grauPart>01</ans:grauPart>\n";
            $xml .= "<ans:codProfissional>\n";
            $xml .= "<ans:codigoPrestadorNaOperadora>250</ans:codigoPrestadorNaOperadora>\n";
            $xml .= " </ans:codProfissional>\n";
            $xml .= "<ans:nomeProf>XXXXXXXXXX XXXXXXXXXXXXX</ans:nomeProf>\n";
            $xml .= "<ans:conselho>2</ans:conselho>\n";
            $xml .= "<ans:numeroConselhoProfissional>12345</ans:numeroConselhoProfissional>\n";
            $xml .= "<ans:UF>53</ans:UF>\n";
            $xml .= "<ans:CBOS>225148</ans:CBOS>\n";
            $xml .= "</ans:equipeSadt>\n";
            $xml .= "</ans:procedimentoExecutado>\n";
            $xml .= "</ans:procedimentosExecutados>\n";
            $xml .= "<ans:outrasDespesas>\n";
            $xml .= "<ans:despesa>\n";
            $xml .= "<ans:codigoDespesa>01</ans:codigoDespesa>\n";
            $xml .= "<ans:servicosExecutados>\n";
            $xml .= "<ans:dataExecucao>2014-06-09</ans:dataExecucao>\n";
            $xml .= "<ans:horaInicial>00:00:00</ans:horaInicial>\n";
            $xml .= "<ans:horaFinal>00:00:00</ans:horaFinal>\n";
            $xml .= "<ans:codigoTabela>18</ans:codigoTabela>\n";
            $xml .= "<ans:codigoProcedimento>99999999</ans:codigoProcedimento>\n";
            $xml .= "<ans:quantidadeExecutada>1</ans:quantidadeExecutada>\n";
            $xml .= "<ans:unidadeMedida>001</ans:unidadeMedida>\n";
            $xml .= "<ans:reducaoAcrescimo>0</ans:reducaoAcrescimo>\n";
            $xml .= "<ans:valorUnitario>0.00</ans:valorUnitario>\n";
            $xml .= "<ans:valorTotal>0.00</ans:valorTotal>\n";
            $xml .= "<ans:descricaoProcedimento>XXXXXXXXXXXXX XXXXXXXXXXXXXXX</ans:descricaoProcedimento>\n";
            $xml .= "<ans:registroANVISA>250</ans:registroANVISA>\n";
            $xml .= "<ans:codigoRefFabricante>1133</ans:codigoRefFabricante>\n";
            $xml .= "<ans:autorizacaoFuncionamento>X</ans:autorizacaoFuncionamento>\n";
            $xml .= "</ans:servicosExecutados>\n";
            $xml .= "</ans:despesa>\n";
            $xml .= "</ans:outrasDespesas>\n";
            $xml .= "<ans:observacao>X</ans:observacao>\n";
            $xml .= "<ans:valorTotal>\n";
            $xml .= "<ans:valorProcedimentos>5</ans:valorProcedimentos>\n";
            $xml .= "<ans:valorDiarias>0.00</ans:valorDiarias>\n";
            $xml .= "<ans:valorTaxasAlugueis>0.00</ans:valorTaxasAlugueis>\n";
            $xml .= "<ans:valorMateriais>0.00</ans:valorMateriais>\n";
            $xml .= "<ans:valorMedicamentos>0.00</ans:valorMedicamentos>\n";
            $xml .= "<ans:valorOPME>0.00</ans:valorOPME>\n";
            $xml .= "<ans:valorGasesMedicinais>0.00</ans:valorGasesMedicinais>\n";
            $xml .= "<ans:valorTotalGeral>5</ans:valorTotalGeral>\n";
            $xml .= "</ans:valorTotal>\n";
            $xml .= "</ans:guiaSP-SADT>\n";
        
     
     
       }
	
	

           $xml .= " </ans:guiasTISS>\n";
           $xml .= "</ans:loteGuias>\n";
           $xml .= "</ans:prestadorParaOperadora>\n";
           $xml .= "<ans:epilogo>\n";
           $xml .= "<ans:hash>$mensagemTISS</ans:hash>\n";
           $xml .= "</ans:epilogo>\n";
           $xml .= "</ans:mensagemTISS>\n";
}
		$ponteiro = fopen('up.xml', 'w'); //cria um arquivo com o nome backup.xml
		fwrite($ponteiro, $xml); // salva conteúdo da variável $xml dentro do arquivo backup.xml
       
       
       
 
		$ponteiro = fclose($ponteiro); //fecha o arquivo

 
echo "$mensagemTISS";

//echo "<meta HTTP-EQUIV='Refresh' CONTENT='0;URL=up.xml'>";
?>

O XML e Gerado perfeitamente mais esse echo $mensagemTISS não me retorno nada. Teria que me retorna os dados concatenados

 

Desde Já agradeço a Todos

Compartilhar este post


Link para o post
Compartilhar em outros sites

$mensagemTISS está vinde onde? Pelo que pude ver você tem uma função que gera o hash, mas em nenhum lugar você chama ela, além do que, mesmo se chamar a sua função não tem nenhum retorno.. logo o correto seria você colocar o return $mensagemTISS; dentro da função e chamá-la pra criar a variável $mensagemTISS para usar no script:

$mensagemTISS = gera_hash();

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.