Definições do Arquivo
Serão disponibilizados os arquivos schema XSD para as operadoras, a partir dos quais deverá ser gerada a estrutura XML, sendo o mesmo utilizado para validação desta, durante o processo de recepção dos dados pela ANS.
Existem 2 maneiras da operadora fazer o teste para verificar se o schema está de acordo com o padrão ANS, a primeira é baixar os schemas do site da ANS e executar a validação localmente e a segunda é apontar o aplicativo que vai verificar o schema diretamente para o endereço dos schemas no site da ANS.
No exemplo do manual estamos utilizando a primeira alternativa e para funcionar o schema deve estar localmente na máquina de teste com os arquivos na mesma pasta.
Caso a operadora queira fazer o teste apontando para o site da ANS deverá usar a linha abaixo:
<mensagemSIP xsi:noNamespaceSchemaLocation="http://www.ans.gov.br/padroes/sip/schemas/sipV1_02.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
Ambas as formas estão corretas, o desenvolvedor do aplicativo fica livre para escolher qual usar.
Obs: A versão do schema deverá ser a versão mais atual disponível no site da ANS.
Os seguintes arquivos XSD serão publicados no site da ANS:
- sip
- sipSimpleType
- sipComplexType
Os arquivos XML devem ter a página de caracteres padronizada usando o encoding ISO-8859-1.
Os nomes dos arquivos a serem encaminhado à ANS com as informações do SIP devem possuir a seguinte nomenclatura:
<Reg. ANS>_<ata trimestre de reconhecimento>_<TimeStamp da geração>. xsip
Onde:
Registro ANS – Número unívoco identificador das operadoras de planos privados de assistência à saúde.
Data trimestre de reconhecimento – deve ter a formatação ddmmaaaa.
TimeStamp de geração – Campo com a informação da data e hora de geração. Deve ter a formatação ddmmaaaahhmmss.
Exemplo:
124567_01012010_01012010150459.xsip
A estrutura XML é dividida em três grandes estruturas: Cabeçalho, Mensagem e Epílogo.
Clique na imagem para ampliá-la.- Bloco Cabeçalho
O bloco cabeçalho define a estrutura das mensagens do SIP. Neste bloco estão identificados:
Clique na imagem para ampliá-la.identificacaoTransacao
- tipoTransacao: Identifica o tipo de transação selecionada. Ex: ENVIO_SIP.
- sequencialTransacao: Número fornecido pelo emitente (quem está enviando o arquivo XML) para identificação do arquivo. Este número é de controle do emitente.
- dataHoraRegistroTransacao: Campo para registrar a data e hora do envio da transação.
falhaNegocio
Campo preenchido pela ANS caso ocorra alguma falha no arquivo.
- codigoFalha: Código identificador da falha.
- descricaoFalha: Descrição da falha encontrada.
origem
Identificação da origem do envio do arquivo.
- cnpj: Campo preenchido com o CNPJ da ANS caso ela esteja enviando o arquivo.
- registroAns: Campo preenchido com o registro da operadora caso ela esteja enviando o arquivo.
destino
Identificação do destino do envio do arquivo.
- cnpj: Campo preenchido com o CNPJ da ANS caso ela seja o destino do arquivo.
- registroAns: Campo preenchido com o registro da operadora caso ela seja o destino do arquivo.
Obs: A ANS se identificará com seu CNPJ e a operadora com seu registro na ANS.
versaoPadrao
Versão do XSD usada para geração do XML.
identificacaoSoftwareGerador
Identificação do software usado para gerar o XML.
- nomeAplicativo: Nome do aplicativo gerador.
- versaoAplicativo: Versão do aplicativo gerador.
- fabricanteAplicativo: Fabricante do aplicativo gerador.
- Bloco Mensagem
O bloco Mensagem conterá a estrutura e regras para o envio das informações do SIP.
Clique na imagem para ampliá-la.A mensagem da operadora para ANS, precisamente a mensagem envioSip, será formada pela data de trimestre de reconhecimento e a forma de contratação.
Clique na imagem para ampliá-la.Atenção
- É obrigatório preencher no mínimo uma forma de contratação, com exceção das operadoras com cadastro ativo e que ainda não estão comercializando planos. Essas deverão enviar a estrutura XML contendo apenas a identificação da operadora.
- Para cada forma de contratação, é obrigatório preencher no mínimo uma segmentação.
- Operadoras com cobertura hospitalar e obstétrica deverão enviar as informações sobre os itens hospitalares no quadro hospitalarObstetricia. Dentro de uma mesma forma de contratação não podem ser declaradas as segmentaçãohospitalar e hospitalarObstetricia juntas. Quando existir uma, a outra não pode existir.Veja o exemplo abaixo com as possíveis segmentações da forma de contratação individualFamiliar.
Clique na imagem para ampliá-la.A seguir é apresentado um exemplo da seleção da segmentação odontológica. Podemos verificar que dentro da segmentação escolhida deve-se criar um quadro para cada trimestre de ocorrência e UF.
Clique na imagem para ampliá-la.Nesse caso teríamos tantos quadros quanto os trimestres e UFs que se deseja informar.
Observe que as informações assistenciais referentes a “Beneficiário da operadora fora do período de carência” não estão relacionadas à UF. Portanto, dentro de uma mesma segmentação, essa informação será a mesma para todas as UFs declaradas dentro do mesmo trimestre de ocorrência.
Na figura abaixo segue uma parte dos itens contidos no grupo ProcOdonto.
Clique na imagem para ampliá-la.Atenção
Deve-se informar no mínimo uma segmentação com seu(s) respectivo(s) quadro(s).
- Mapeamento dos itens assistenciais no XML
No XSD serão encontrados os nomes de cada elemento para a declaração das informações do SIP.
A tabela abaixo apresenta o mapeamento do nome dos itens assistenciais no arquivo.
Nome do item Nome do item no XML grupoconsultasMedicas A. CONSULTAS MÉDICAS consultasMedicas 1. Consultas médicas ambulatoriais consultasMedicasAmb 1.1 Alergia e Imunologia alergiaImunologia 1.2 Angiologia angiologia 1.3 Cardiologia cardiologia 1.4 Cirurgia geral cirurgiaGeral 1.5 Clínica médica clinicaMedica 1.6 Dermatologia dermatologia 1.7 Endocrinologia endocrinologia 1.8 Gastroenterologia gastroenterologia 1.9 Geriatria geriatria 1.10 Ginecologia e Obstetrícia GinecologiaObstetricia 1.11 Hematologia hematologia 1.12 Mastologia mastologia 1.13 Nefrologia nefrologia 1.14 Neurocirurgia neurocirurgia 1.15 Neurologia neurologia 1.16 Oftalmologia oftalmologia 1.17 Oncologia oncologia 1.18 Otorrinolaringologia otorrinolaringologia 1.19 Pediatria pediatria 1.20 Proctologia proctologia 1.21 Psiquiatria psiquiatria 1.22 Reumatologia reumatologia 1.23 Tisiopneumologia tisiopneumologia 1.24 Traumatologia-ortopedia traumatologiaOrtopedica 1.25 Urologia urologia 2. Consultas médicas em Pronto Socorro consultaMedProntSoc grupoOutrosAtendAmbu B. OUTROS ATENDIMENTOS AMBULATORIAIS outrosAtendAmb 1. Consultas/sessões com Fisioterapeuta consultaSessaoFisio 2. Consultas/sessões com Fonoaudiólogo consultaSessaoFono 3. Consultas/sessões com Nutricionista consultaSessaoNutri 4. Consultas/sessões com Terapeuta Ocupacional consultaSessaoTerap 5. Consultas/sessões com Psicólogo consultaSessaoPsico grupoExames C. EXAMES exames 1. Ressonância magnética ressonanciaMagnet 2. Tomografia computadorizada tomografiaComputa 3. Procedimento diagnóstico em citopatologia cérvico-vaginal oncótica em mulheres de 25 a 59 anos procedDiagnCitopat 4. Densitometria óssea – qualquer segmento densitometriaOssea 5. Ecodopplercardiograma transtorácico ecodopplerTranstora 6. Broncoscopia com ou sem biopsia broncoscopiabiopsia 7. Endoscopia digestiva alta endoscopiaDigestiva 8. Colonoscopia colonoscopia 9. Holter de 24 horas holter24h 10. Mamografia convencional e digital mamografiaConvDig 10.1 Mamografia em mulheres de 50 a 69 anos mamografia50a69 11. Cintilografia miocárdica cintilografiaMiocard 12. Cintilografia renal dinâmica cintilografiaRenal 13. Hemoglobina glicada hemoglobinaGlicada 14. Pesquisa de sangue oculto nas fezes em pessoas de 50 a 69 anos pesqSangueOculto 15. Radiografia radiografia 16. Teste ergométrico testeErgometrico 17. Ultra-sonografia diagnóstica de abdome total ultraSonAbdoTotal 18. Ultra-sonografia diagnóstica de abdome inferior ultraSonAbdoInfer 19. Ultra-sonografia diagnóstica de abdome superior ultraSonAbdoSuper 20. Ultra-sonografia obstétrica morfológica ultraSonObstMorfo &bnsp; grupoTerapias D. TERAPIAS terapias 1. Transfusão ambulatorial transfusaoAmbulatorial 2. Quimioterapia sistêmica quimioSistemica 3. Radioterapia megavoltagem radioterapiaMegavolt 4. Hemodiálise aguda hemodialiseAguda 5. Hemodiálise crônica hemodialiseCronica 6. Implante de dispositivo intrauterino – DIU implanteDispIntrauterino &nsbp; grupoInternacoes E. INTERNAÇÕES internacoes Tipo de Internação tipoInternacao 1. Clínica clinica 2. Cirúrgica cirurgica 2.1 Cirurgia bariátrica cirurgiaBariatrica 2.2 Laqueadura tubária laqueaduraTubaria 2.3 Vasectomia vasectomia 2.4 Fratura de fêmur (60 anos ou mais) fraturaFemur60 2.5 Revisão de artroplastia revisaoArtroplastia 2.6 Implante de CDI (cardio desfibrilador implantável) implanteCdi 2.7 Implantação de marcapasso implantacaoMarcap 4. Pediátrica pediatrica 4.1. Internação de 0 a 5 anos de idade por doenças respiratórias internacaoRespira 4.2 Internação em UTI no período neonatal internacaoUtiNeo 4.2.1 Internações em UTI no período neonatal por até 48 horas internacoesUtiNeo48 5. Psiquiátrica psiquiatrica Regime de internação regimeInternacao 1. Hospitalar hospitalar 2. Hospital-dia hospitalDia 2.1 Hospital-dia para saúde mental hospitalSaudeMental 3. Domiciliar domiciliar ESTE GRUPO PERTENCE A INTERNAÇÕES grupoInterObstetricas 3. Obstétrica obstetrica ESTE GRUPO PERTENCE A INTERNAÇÕES grupoParto 3.1 Parto normal partoNormal 3.2 Parto cesáreo partoCesareo grupoCausaInterna F. CAUSAS SELECIONADAS DE INTERNAÇÃO causaSelecInterna 1. Neoplasias neoplasias 1.1 Câncer de mama feminino cancerMamaFem 1.1.1 Tratamento cirúrgico de câncer de mama feminino tratCirurgCancerMam 1.2 Câncer de colo de útero cancerColoUtero 1.2.1 Tratamento cirúrgico de câncer de colo de útero tratCirurgCancerColo 1.3 Câncer de cólon e reto cancerColonReto 1.3.1 Tratamento cirúrgico de câncer de cólon e reto tratCirurgCancerColoReto 1.4 Câncer de próstata cancerProstata 1.4.1 Tratamento cirúrgico de câncer de próstata tratCirurgCancerProst 2. Diabetes mellitus diabetesMellitus 3. Doenças do aparelho circulatório doencasAparelhoCirc 3.1 Infarto agudo do miocárdio infartoAgudoMiocardio 3.2 Doenças hipertensivas doencasHipertensivas 3.3 Insuficiência cardíaca congestiva insuficienciaCardCong 3.4 Doenças cerebrovasculares doencasCerebrovasc 3.4.1 Acidente vascular cerebral acidenteVascularCere 4. Doenças do aparelho respiratório doencasAparelhoResp 4.1 Doença pulmonar obstrutiva crônica doencaPulmoObstrCron 5. Causas externas causasExternas grupoNascidoVivo G. NASCIDO VIVO nascidoVivo grupoDemDespMedHosp H. DEMAIS DESPESAS MÉDICO- HOSPITALARES demaisDespMedHosp grupoProcOdonto I. PROCEDIMENTOS ODONTOLÓGICOS procedimentosOdonto 1. Consultas odontológicas iniciais consultasOdontoInic 2. Exames radiográficos examesRadiograficos 3. Procedimentos preventivos procedimentosPrevent 3.1 Atividade educativa individual atividadeEduIndividual 3.2 Aplicação tópica profissional de flúor por hemi-arcada aplicTopProfFluorHemi 3.3 Selante por elemento dentário (menores de 12 anos) selanteElemDentario 4. Raspagem supra-gengival por hemi-arcada (12 anos ou mais) raspSupraGengHemi 5. Restauração em dentes decíduos por elemento (menores de 12 anos) restauraDenteDeciduo 6. Restauração em dentes permanentes por elemento (12 anos ou mais) restauraDentePerma 7. Exodontias simples de permanentes (12 anos ou mais) exodontiasSimplesPer 8. Tratamento endodôntico concluído em dentes decíduos por elemento (menores de 12 anos) trataEndoConclDentesD 9. Tratamento endodôntico concluído em dentes permanentes por elemento (12 anos ou mais) trataEndoConclDentesP 10. Próteses odontológicas protesesOdontologicas 11. Próteses odontológicas unitárias (Coroa Total e Restauração Metálica Fundida) protesesOdontoUnitarias
- Bloco Epílogo – Geração do Hash
O MD5 (Message-Digest algorithm 5) é um algoritmo de hash de 128 bits unidirecional desenvolvido pela RSA Data Security, Inc., descrito na RFC 1321, e muito utilizado por softwares com protocolo ponto-a-ponto (P2P ou Peer-to-Peer) na verificação de integridade de arquivos.
O hash é um algoritmo matemático que possibilita a constatação se ocorreu alguma alteração após a mensagem ter sido montada.
Cálculo do Hash
Os valores dos elementos a ser enviados devem ser concatenados, formando a cadeia de caracteres base (ISO-8859-1) onde será aplicado o algoritmo MD5, que deverá retornar o valor hexadecimal.
No arquivo XML que deve ser enviado para ANS, o bloco epílogo da mensagem contém a estrutura que torna a mensagem íntegra, segura e garante o não-repúdio. Nesta parte utilizamos o campo hash para verificar a integridade da mensagem eletrônica. Deve ser utilizado o formato MD5 para hash, considerado seguro e de baixa complexidade de implementação.
Clique na imagem para ampliá-la.Para o correto cálculo do hash MD5 e sua validação, é essencial que haja padronização da página de caracteres a ser utilizada. Caso contrário, dois arquivos idênticos, no caso de encoding diferentes, irão apresentar hash diferentes, sendo assim não validados. Portanto é obrigatória a utilização do encoding ISO-8859-1.
Deve-se gerar o hash dos elementos “cabeçalho” e “mensagem” com todos seus subelementos, incluindo o nome das tags que abrem e fecham do respectivo nome cabeçalho e mensagem.
Clique na imagem para ampliá-la.A seguir um exemplo do conteúdo de um arquivo XML, com o destaque em azul e negrito, das partes do arquivo que devem ser usadas para gerar o hash.
Clique na imagem para ampliá-la.Atenção Os sites disponíveis na internet e utilizados como referência para geração do código hash podem gerar valores de hash diferentes devido a retirarem certos caracteres especiais e espaços para geração do hash. O calculo para validação na ANS utiliza TODOS OS CARACTERES CONTIDOS NO ARQUIVO, inclusive os ocultos, espaços e caracteres especiais.Abaixo segue um exemplo XML e a seguir exibimos o código hash gearado pelo trecho destacado em azul:
Clique na imagem para ampliá-la.O hash MD5 gerado pelo exemplo acima é 5efb7b1965f31a950f506fcd4b46888c
Os hashes MD5 de 128-bit (16-byte) são normalmente representados por uma sequência de 32 caracteres hexadecimais. A seguir uma string ASCII e o hash correspondente:
MD5("Gerar arquivo XML para ANS") = 5529cf66cf2cfb52d0acaa41cc024b88