Questão: | Como deve ser o calculo do HASH para a entrega da DIOPS? |
Resposta: | A Resolução Normativa RN nº 173, de 10 de julho de 2008, instituiu o DIOPS-XML , sendo ele um sistema de recepção das informações cadastrais e financeiras enviadas regularmente pelas operadoras de planos privados de saúde. A ANS disponibiliza apenas os serviços de recepção dos DIOPS-XML (Web Services), sendo de responsabilidade da operadora a geração e envio do XML. De acordo com a página da DIOPS, para a geração do XML é necessário seguir os seguintes passos: 1- Acesse os schemas: diopsComplexTypes.xsd e diopsSimpleTypes.xsd 2 -Consulte o Controle de Versões para verificar as atualizações; 3- Analise os elementos que serão utilizados e os campos obrigatórios de cada um deles; 4- Produza o documento XML do tipo específico (Cadastral ou Financeiro); 5- Faça o cálculo do hash. 6- Valide seu XML através de websites que forneçam esse serviço online E para o envio do arquivo XML da DIOPS, é necessário os seguintes passos: 1- Extraia o certificado digital do DIOPS-XML: cacerts; 2- Crie a variável de ambiente ANS_CERT: Valor da variável: arquivo cacerts (ex: C:\ANS\cacerts) 3- Baixe o cliente do Serviço Receptor, fornecido pela ANS:DIOPSClient.jar 4- Adicione-o como biblioteca da sua aplicação; 5- Sua aplicação deve instanciar o objeto da classe JNIMain e chamar o método String send (String path, String file, String tipo, String senha) onde: O retorno deste método é o erro ocorrido, se o retorno for nulo, o envio foi bem sucedido, o cliente fará a conexão com os Web Services do DIOPS-XML e qualquer transmissão do DIOPS-XML que não utilize este padrão será recusada pelo servidor. Para o correto envio e validação do arquivo da DIOPS, é necessário realizar o cálculo do hash de forma correta, e conforme a página oficial da ANS ( Agência Nacional de Saúde), o cálculo deve ser realizado da seguinte forma: Todos os valores dos nós da estrutura da mensagem a ser enviada devem ser concatenados, formando a cadeia de caracteres base (ISO-8859-1) onde será aplicado o algoritmo MD5, que deverá retornar o valor hexadecimal de 32 caracteres, que é o hash válido. O algoritmo utilizado deve estar preparado para este set de caracteres (ISO-8859-1), a menos que não sejam utilizados caracteres acentuados na estrutura. Os tipos definidos nos arquivos xsd como string ou data deverão ter seus valores em branco e/ou caracteres de controle suprimidos à esquerda e à direita (Trim). Os tipos definidos nos arquivos xsd como long (ex: elemento qtdeAcoesQuotas de ct_empresaContrColig), terão valor inicial 0 (zero) caso não informados, e devem ser sempre inteiros (formato 9999). Os tipos definidos nos arquivos xsd como double ou float (ex: elemento quantidade de ct_ativoInvest), terão valor inicial 0.0 (zero) caso não informados, e devem exibir, na parte decimal, somente dígitos significativos a partir da segunda posição, tendo obrigatoriamente ao menos um dígito. |
Chamado/Ticket: | PSCONSEG-7808 |
Fonte: |