Sempre que vou realizar demonstrações sobre os módulos relacionados ao faturamento de AIH/APAC, tenho problema na geração de números válidos para criar exemplos. Diante disso, pesquisei nos manuais do SUS e na própria internet para entender como é gerado o dígito verificador dos números AIH/APAC e, dessa forma, conseguir eliminar este problema.
Para aqueles que têm dúvida ou estão desenvolvendo algum software que precise dessa rotina, vou explicar abaixo como proceder:
O número AIH/APAC é um código estruturado de 13 dígitos: Os dois primeiros dígitos referem-se ao código da UF (Unidade da Federação), de acordo com a tabela do IBGE (Instituto Brasileiro de Geografia Estatística). Esta tabela pode ser consultada pelo site: http://www2.datasus.gov.br/DATASUS/index.php?area=040206&item=3
Além da UF, as AIHs podem ser iniciadas com o código 99, que são AIHs específicas da CNRAC (central de Regulação de Alta Complexidade).
O terceiro e quarto dígitos são para identificar o ano da AIH. Exemplo: se ano da AIH =2010, então nesta posição teremos o número 10.
O quinto dígito é para identificar o tipo de código, que pode ser uma AIH, APAC, AIH para procedimentos de longa permanência. Este campo pode ter valores entre 1 e 5. O 1 identifica uma AIH normal, o 2 é para APACs, 3 é utilizado para códigos de procedimentos específicos da CNRAC, o 4 para APACs da CNRAC, e o 5 utilizado em alguns procedimentos de longa permanência na AIH.
As próximas sete posições devem ser um número seqüencial que pode ir de 0000001 a 9999999.
O último número é um dígito verificador, que vai de 0 a 9. Este dígito pode ser obtido com o seguinte processo:
Pegue o número da AIH e divida por 11, desprezando os valores depois da vírgula (divisão inteira).
Agora subtraia o número da AIH pelo número obtido na operação anterior (divisão).
Desse número, considere apenas o último dígito. Este será o dígito verificador.
Exemplo:
Número AIH: 350810000001
Dividindo por 11 = 31891818181
Subtraindo o número AIH do resultado da divisão (350810000001-31891818181) =318918181820
Considerando apenas o último dígito da operação anterior= 0
Sendo assim, o dígito verificador é 0. O número completo dessa AIH é 3508100000010
Vale lembrar que existem outras consistências a serem verificadas antes de procurar o dígito verificador:
Se número da AIH (sem o dígito) tem 12 caracteres;
Se código da Unidade da federação que está sendo utilizado é valido, de acordo com a tabela do IBGE;
Se o ano está entre 1 e 12;
Se o tipo está entre 1 e 5, considerando que a rotina valide também números de APAC
Para quem quiser verificar se o número realmente é válido, basta acessar o programa SISAIH01 ou APAC, disponível no site do DATASUS e verificar se o programa gera alguma inconsistência.
Por enquanto é só a explicação. Nos próximos posts vou disponibilizar um programa que calcula ou valida um número de AIH/APAC.
Abaixo minhas fontes de pesquisa:
http://www.saude.sp.gov.br/resources/gestor/acesso_rapido/auditoria/sih.ppt
http://w3.datasus.gov.br/sihd/Manuais/Manual_SIH_Maio_2010.pdf
Até a próxima!