Gerador XML com Calculo Hash
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'>](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
Discussão (1)
Carregando comentários...