Pesquisar este blog

terça-feira, 1 de março de 2011

Visualizar Hash do XML/TISS usando TissNet

Até hoje ainda existem dificuldades no entendimento do padrão TISS, é absolutamente normal, pois ainda estamos(prestadores, operadoras, ANS, desenvolvedores) em fase de aperfeiçoamento, porém, dúvidas antigas ainda persistem. É o caso do cálculo do hash de um arquivo XML.

Para tentar facilitar o trabalho de muitos "sofredores" assim como eu, implementei uma pequena mudança no aplicativo TissNet em sua versão 5.0.
Esta ferramenta desenvolvida em Java por Francisco Piragibe tem sido útil à comunidade de desenvolvedores por facilitar o entendimento do padrão TISS. É disponibilizada gratuitamente no site da ANS.

A ideia é bem simples, consiste em mudar a exceção tissHashException() para tissSchemaException() do método setArquivoXML() da classe MensagemTiss para poder visualizar o hash. Em sua versão atual, tal recurso não existe o que complica a vida de quem está começando a trabalhar com a TISS. O resultado deverá ser como na figura abaixo:


public void setArquivoXml (String arquivoXml)
    throws  IOException,
            ParserConfigurationException,
            TissHashException,
            TissSchemaException,
            TissNodoException,
            URISyntaxException
    {
        String oldArquivoXml    = this.arquivoXml;
        this.arquivoXml         = arquivoXml;
        AgenteDomTiss o_ad      = null;
        try {
            o_ad                    = AgenteDomTiss.getInstance();
            this.documentoMensagem  = o_ad.carregaArquivo( this.arquivoXml );
            if ( ! this.isHashOk() )
                //throw new TissHashException(); <-- Trocar TissHashException por TissSchemaException
                throw new TissSchemaException( "Hash inválido! - \n Hash calculado => " + this.getHashCalculado() );
            propertySupport.firePropertyChange ("arquivoXml", oldArquivoXml, arquivoXml);
        }

Dessa forma, fica mais fácil verificar se o arquivo XML foi bem montado. Claro que existem outras formas que dão o mesmo resultado, então aproveito a oportunidade para os que implementaram algum novo recurso nessa ferramenta que disponibilizassem e assim todos possam enfim avançar no desenvolvimento do padrão TISS.

Nenhum comentário:

Postar um comentário

Todo comentário é bem-vindo, seja crítica ou elogio. O importante é sua manifestação. Só peço que se identifique para que posteriormente se for o caso eu entrar em contato.