1 Sumário executivo

2 Introdução

A disseminação via tabwin/tabnet é a mais bem sucedida estratégia para apoio à gestão do SUS e ao controle social. A evolução constante da solução possibilitou a geração de centenas de tabuadores que cobrem virtualmente mais de 80% das demandas por dados que constituirão planos de saúde e relatórios de gestão.

A Comissão Nacional de Incorporação de Tecnologias no SUS (Conitec) consolida sistematicamente os dados disponíveis em ftp://ftp.datasus.gov.br/dissemin/publicos/SIASUS/200801_/. Porém, boa parte das análises podem ser supridas de modo mais simples e institucional ampliando-se o tabulador “PRODUÇÃO AMBULATORIAL DO SUS - BRASIL - POR LOCAL DE ATENDIMENTO” disponível em http://tabnet.datasus.gov.br/cgi/tabcgi.exe?sia/cnv/qauf.def, ou gerando novos a partir deste, acrescentando-se o atributo diagnóstico primário e a métrica quantidade de usuários.

2.1 Objetivos

Apoiar o desenvolvimento de novas tabulações via tabnet realizada pela equipe do Departamento de Monitoramento, Avaliação e Disseminação de Dados e Informações Estratégicas em Saúde (DEMAS) para suprir demandas de Avaliação de Tecnologias em Saúde (ATS)

2.1.1 Objetivos específicos

  • Validar quantitativos em função do diagnóstico primário.
  • Validar quantitativos em função do número de usuários do SUS.

3 Método

Trata-se de uma prova de conceito pontuando o percurso metodológico de ciência de dados para estudo descritivo do quantitativo de usuários do SUS e quantidade aprovada em relação aos dados do Acre de janeiro/2021 dos arquivos AM laudo de medicamentos e PA corpo da Autorização de Procedimentos Ambulatoriais de Alta Complexidade/Custo – APAC.

Foram carregados os arquivos AMAC2101c.dbf, AMAC2101.dbf, CMAC2101.dbf, PAAC2101.dbf e PMAC2101.dbf no postgreSQL por meio do cliente de banco de dados DBeaver.

O comando bash dbview foi usado no algoritmo abaixo para transformação a CSV precedente à carga.

# BASH
# obtem o nome dos atributos a partir estrutura
for fdbf in $(ls *.dbf);do 
  dbview -e -o $fdbf | 
    awk -F'\t' '{ gsub(/[ \t]+$/,"",$1);gsub(" ","_",$1); print tolower($1)","$2","$3}' | 
    sed 1d | sed 's/ //g' | nl | awk '{print $1","$2}' | 
    awk -F',' '{print $2}' | sed ':a;N;$!ba;s/\n/,/g' > $fdbf.csv
  done
 
# obtem os dados  
  ls *.dbf | awk '{print "dbview -b -d\",\" -t " $1 " >> "$0".csv"}'  | sh

Salienta-se que todos os atributos foram carregados em formato texto sem transformação.

4 Resultado

4.1 Caracterização dos arquivos DBF fornecidos

O arquivo DBF incorporado no SGBD amac2101c contém 3.608 registros, 3.608 autorizações ap_autoriz, 111 procedimentos ap_pripal e 3.482 usuários ap_cnspcn.

O arquivo DBF incorporado no SGBD cmac2101 contém 3.608 registros, 3.608 autorizações ap_autoriz, 111 procedimentos ap_pripal e 3.482 usuários ap_cnspcn.

O arquivo DBF incorporado no SGBD paac2101 contém 50.903 registros, 5.098 autorizações pa_autoriz e 778 procedimentos pa_proc_id com 824.285 autorizações pa_qtdapr. Ao filtrar procedimentos 06 com quantidade aprovada, o paac2101 contém 3.422 registros, 3.134 autorizações pa_autoriz e 106 procedimentos pa_proc_id com 142.547 quantidade aprovada pa_qtdapr.

O arquivo DBF incorporado no SGBD pmac2101 contém 3.422 registros, 3.134 autorizações pa_autoriz, 106 procedimentos pa_proc_id com 142.547 de quantidade aprovada pa_qtdapr e 3.011 usuários contauser. Ao filtrar procedimentos 06 com quantidade aprovada, o pmac2101 contém 3.422 registros, 3.134 autorizações pa_autoriz, 106 procedimentos pa_proc_id com 142.547 de quantidade aprovada pa_qtdapr e 3.011 usuários contauser.

As quantidades aprovadas correspondem ao publicado no tabnet, conforme figura 4.1;

Etapas realizadas na Sala Aberta de Inteligência em Saúde - SABEIS no processamento dos dados abertos do DataSUS.

Figure 4.1: Etapas realizadas na Sala Aberta de Inteligência em Saúde - SABEIS no processamento dos dados abertos do DataSUS.

Conjectura 1 - Deve-se avaliar a recuperação do contauser frente
aos respectivos códigos de autorização da APAC.

A consulta SQL a seguir ilustra a junção das quatro tabelas pelo código de autorização.

# SQL
select distinct autoriz,
       A.ap_autoriz amac2101c,
       B.ap_autoriz cmac2101, 
       C.pa_autoriz paac2101,
       D.pa_autoriz pmac2101
  from (
select ap_autoriz autoriz from bd_sabeis.amac2101c union
select ap_autoriz from bd_sabeis.cmac2101 union
select pa_autoriz  from bd_sabeis.paac2101 union
select pa_autoriz from bd_sabeis.pmac2101
) x
left join bd_sabeis.amac2101c A on x.autoriz = A.ap_autoriz  
left join bd_sabeis.cmac2101 B on x.autoriz = B.ap_autoriz 
left join bd_sabeis.paac2101 C on x.autoriz = C.pa_autoriz 
left join bd_sabeis.pmac2101 D on x.autoriz = D.pa_autoriz 
limit 30
Table 4.1: Demonstração da presença de autorizações nas tabelas DBF fornecidas
autoriz amac2101c cmac2101 paac2101 pmac2101
0 nulo nulo 0 nulo
1 nulo nulo 1 nulo
10 nulo nulo 10 nulo
11 nulo nulo 11 nulo
12 nulo nulo 12 nulo
1220200101747 nulo nulo 1220200101747 nulo
1220200101791 nulo nulo 1220200101791 nulo
1220200101857 nulo nulo 1220200101857 nulo
1220200101868 nulo nulo 1220200101868 nulo
1220200101879 nulo nulo 1220200101879 nulo
1220200108171 1220200108171 1220200108171 1220200108171 1220200108171
1220200109128 1220200109128 1220200109128 1220200109128 1220200109128
1220200109590 1220200109590 1220200109590 1220200109590 nulo
1220200110195 1220200110195 1220200110195 1220200110195 1220200110195
1220200114067 1220200114067 1220200114067 1220200114067 nulo
1220200119590 1220200119590 1220200119590 1220200119590 1220200119590
1220200119886 1220200119886 1220200119886 1220200119886 nulo
1220200120524 1220200120524 1220200120524 1220200120524 nulo
1220200122614 1220200122614 1220200122614 1220200122614 1220200122614
1220200122977 1220200122977 1220200122977 1220200122977 1220200122977
1220200123659 1220200123659 1220200123659 1220200123659 nulo
1220200123835 1220200123835 1220200123835 1220200123835 nulo
1220200123880 1220200123880 1220200123880 1220200123880 1220200123880
1220200124044 1220200124044 1220200124044 1220200124044 nulo
1220200124132 1220200124132 1220200124132 1220200124132 1220200124132
1220200125090 1220200125090 1220200125090 1220200125090 1220200125090
1220200126068 1220200126068 1220200126068 1220200126068 1220200126068
1220200130941 1220200130941 1220200130941 1220200130941 1220200130941
1220200131359 1220200131359 1220200131359 1220200131359 1220200131359
1220200131601 1220200131601 1220200131601 1220200131601 nulo

A consulta SQL a seguir ilustra a junção das quatro tabelas pelo código de autorização contendo apenas procedimento 06.

# SQL
select distinct autoriz,
       A.ap_autoriz amac2101c,
       B.ap_autoriz cmac2101, 
       C.pa_autoriz paac2101,
       D.pa_autoriz pmac2101
  from (
select ap_autoriz autoriz 
  from bd_sabeis.amac2101c 
 where left(ap_pripal,1)='6' union
select ap_autoriz 
  from bd_sabeis.cmac2101 
 where left(ap_pripal,1)='6' union
select pa_autoriz  
  from bd_sabeis.paac2101 
 where left(pa_proc_id,1)='6' union
select pa_autoriz 
  from bd_sabeis.pmac2101 
 where left(pa_proc_id,1)='6'
) x
left join bd_sabeis.amac2101c A on x.autoriz = A.ap_autoriz  
left join bd_sabeis.cmac2101 B on x.autoriz = B.ap_autoriz 
left join bd_sabeis.paac2101 C on x.autoriz = C.pa_autoriz 
left join bd_sabeis.pmac2101 D on x.autoriz = D.pa_autoriz 
limit 30
Table 4.2: Demonstração da presença de autorizações nas tabelas DBF fornecidas relativo a medicamentos (grupo 06)
autoriz amac2101c cmac2101 paac2101 pmac2101
1220200159354 1220200159354 1220200159354 1220200159354 nulo
1221200008600 1221200008600 1221200008600 1221200008600 1221200008600
1221200011933 1221200011933 1221200011933 1221200011933 1221200011933
1220200164040 1220200164040 1220200164040 1220200164040 1220200164040
1220200162203 1220200162203 1220200162203 1220200162203 1220200162203
1221200004189 1221200004189 1221200004189 1221200004189 1221200004189
1220200132987 1220200132987 1220200132987 1220200132987 1220200132987
1221200000537 1221200000537 1221200000537 1221200000537 1221200000537
1221200013946 1221200013946 1221200013946 1221200013946 1221200013946
1221200001868 1221200001868 1221200001868 1221200001868 1221200001868
1220200177889 1220200177889 1220200177889 1220200177889 1220200177889
1220200153326 1220200153326 1220200153326 1220200153326 1220200153326
1221200012351 1221200012351 1221200012351 1221200012351 1221200012351
1221200000504 1221200000504 1221200000504 1221200000504 nulo
1220200172004 1220200172004 1220200172004 1220200172004 1220200172004
1220200165888 1220200165888 1220200165888 1220200165888 1220200165888
1220200167978 1220200167978 1220200167978 1220200167978 1220200167978
1220200173467 1220200173467 1220200173467 1220200173467 nulo
1221200000031 1221200000031 1221200000031 1221200000031 1221200000031
1220200172323 1220200172323 1220200172323 1220200172323 nulo
1221200006224 1221200006224 1221200006224 1221200006224 1221200006224
1221200003287 1221200003287 1221200003287 1221200003287 1221200003287
1221200002418 1221200002418 1221200002418 1221200002418 nulo
1220200162258 1220200162258 1220200162258 1220200162258 1220200162258
1220200171751 1220200171751 1220200171751 1220200171751 1220200171751
1220200176020 1220200176020 1220200176020 1220200176020 1220200176020
1220200138070 1220200138070 1220200138070 1220200138070 1220200138070
1220200165844 1220200165844 1220200165844 1220200165844 1220200165844
1221200008314 1221200008314 1221200008314 1221200008314 1221200008314
1221200013760 1221200013760 1221200013760 1221200013760 1221200013760

A consulta SQL a seguir mostra a incompletude do arquivo pmac2101 segundo a junção das quatro tabelas pelo código de autorização contendo apenas procedimento 06.

# SQL
select count(*) autorizações,
       sum(amac2101c) as amac2101c,
       sum(cmac2101) as cmac2101,
       sum(paac2101) as paac2101,
       sum(pmac2101) as pmac2101
  from (
select distinct autoriz,
       case when A.ap_autoriz is not null then 1 else 0 end amac2101c,
       case when B.ap_autoriz is not null then 1 else 0 end cmac2101, 
       case when C.pa_autoriz is not null then 1 else 0 end paac2101,
       case when D.pa_autoriz is not null then 1 else 0 end pmac2101
  from (
select ap_autoriz autoriz 
  from bd_sabeis.amac2101c 
 where left(ap_pripal,1)='6' union
select ap_autoriz 
  from bd_sabeis.cmac2101 
 where left(ap_pripal,1)='6' union
select pa_autoriz  
  from bd_sabeis.paac2101 
 where left(pa_proc_id,1)='6' union
select pa_autoriz 
  from bd_sabeis.pmac2101 
 where left(pa_proc_id,1)='6'
) x
left join bd_sabeis.amac2101c A on x.autoriz = A.ap_autoriz  
left join bd_sabeis.cmac2101 B on x.autoriz = B.ap_autoriz 
left join bd_sabeis.paac2101 C on x.autoriz = C.pa_autoriz 
left join bd_sabeis.pmac2101 D on x.autoriz = D.pa_autoriz 
) y
Table 4.3: Totais distintos de autorizações autorizações nas tabelas DBF fornecidas
autorizações amac2101c cmac2101 paac2101 pmac2101
3608 3608 3608 3608 3134

4.2 Comparação sabeis vs DBF disponibilizado

Cada arquivo DBC disponível no FTP é extraído, transformado e carregado na SABEIS com processos descritos no documento https://rpubs.com/sabeis/etl.

O arquivo DBC incorporado no SGBD siasus_pa_ac.paac2101 contém 50.903 registros, 5.097 autorizações nu_apac, 778 procedimentos co_procedimento com 824.285 de quantidade aprovada qt_aprovada e 4.323 usuários nu_cnspcn. Ao filtrar procedimentos 06 com quantidade aprovada, o siasus_pa_ac.paac2101 contém 3.422 registros, 3.134 autorizações nu_apac, 106 procedimentos co_procedimento com 142.547 de quantidade aprovada qt_aprovada e 3.023 usuários nu_cnspcn.

No postgreSQL local, contendo os dados completos da apac, foram extraídos apenas medicamentos cujo código inicia com 06.

# SQL
create table IF NOT EXISTS tm_paac2101 as
select * 
  from siasus_pa_ac.paac2101 p 
 where left(co_procedimento::text,1) like '6'; 

A tabela criada tm_paac2101 contém 4.191 registros, 3.608 autorizações nu_apac, 121 procedimentos co_procedimento com 142.547 de quantidade aprovada qt_aprovada e 3.482 usuários nu_cnspcn. Ao filtrar procedimentos 06 com quantidade aprovada, o tm_paac2101 contém 3.422 registros, 3.134 autorizações nu_apac, 106 procedimentos co_procedimento com 142.547 de quantidade aprovada qt_aprovada e 3.023 usuários nu_cnspcn.

Demonstração da recuperação do CNS entre PA e AM no tm_paac2101.

-- SQL
alter table tm_paac2101 add nu_cnscpn int8 default 0;

update tm_paac2101 A
   set nu_cnscpn = B.nu_cnspcn
  from siasus_am_ac.amac2101 B
  where A.nu_apac = B.nu_apac ;

 -- adiciona o CNS
alter table tm_paac2101 add ap_cnsprfr int8 default 0;

update tm_paac2101 A
   set ap_cnsprfr = nullif(trim(B.ap_cnsprfr),'')::int8
  from bd_sabeis.amac2101c B
  where A.nu_apac = B.ap_autoriz  ;

Acrescentou-se atributos para comparação entre tm_paac2101 e cmac2101.

-- SQL
-- adicioa numero de apac
alter table tm_paac2101 add ap_autoriz int8 default 0; 

update tm_paac2101 A
   set ap_autoriz = pa_autoriz::int8
  from bd_sabeis.paac2101 B
  where A.nu_apac = B.pa_autoriz  ;

 -- adiciona o CNS
alter table tm_paac2101 add ap_cnspcn int8 default 0;

update tm_paac2101 A
   set ap_cnspcn = nullif(trim(B.ap_cnspcn),'')::int8
  from bd_sabeis.cmac2101 B
  where A.nu_apac = B.ap_autoriz  ;

Acrescentou-se atributo contauser para comparação entre tm_paac2101 e cmac2101.

-- SQL
alter table tm_paac2101 add contauser int2 default 0;

update tm_paac2101 A
   set contauser = B.contauser::int2
  from bd_sabeis.pmac2101 B
  where A.nu_apac = B.pa_autoriz  ;

A consulta SQL a seguir mostra a comparação dos valores sabeis e dos arquivos disponibilizados.

# SQL
 select count(distinct nu_apac) "autorizações sabeis",
        count(distinct ap_autoriz) "autorizações cmac2101",
        count(distinct nu_cnspcn) "usuários sabeis",
        count(distinct ap_cnspcn) "usuários cmac2101",
        SUM(contauser) "contauser pmac2101"
   from tm_paac2101
Table 4.4: Comparação entre a extração SABEIS em relação aos DBF disponibilizados
autorizações sabeis autorizações cmac2101 usuários sabeis usuários cmac2101 contauser pmac2101
3608 3608 3482 3482 3112
Conjectura 2 - Uma vez que as autorizações estão presentes em ambas as extrações,
devem ser avaliados quais contauser não estão sendo computados.

5 Avaliação do contauser

# SQL
select count(distinct AM.ap_cnspcn) ap_cnspcn, 
       count(distinct PA.pa_autoriz) pa_autoriz
  from bd_sabeis.paac2101 PA
  left join bd_Sabeis.amac2101c AM
    on PA.pa_autoriz = AM.ap_autoriz
  left join bd_Sabeis.pmac2101 PM
    on PA.pa_autoriz = PM.pa_autoriz
 where PM.contauser = '0'
   and AM.ap_cnspcn is not null
   and PA.pa_autoriz not in (
         select distinct pa_autoriz
           from bd_Sabeis.pmac2101
          where contauser = '1'
  )
  and PA.pa_qtdapr::int8 > 0
Table 5.1: Quantidade de usuários e autorizações não recuperadas via estratégia contauser.
ap cnspcn pa autoriz
123 123

As autorizações APAC não são mostradas na tabela a seguir:

# SQL
select 
       PA.pa_gestao,
       PA.pa_ufmun,
       left(PA.pa_autoriz,6) prefixo,
       string_agg(distinct substr(PA.pa_autoriz,7,14), ', ') pa_autoriz,
       count(distinct AM.ap_cnspcn) ap_cnspcn
  from bd_sabeis.paac2101 PA
  left join bd_Sabeis.amac2101c AM
    on PA.pa_autoriz = AM.ap_autoriz
  left join bd_Sabeis.pmac2101 PM
    on PA.pa_autoriz = PM.pa_autoriz
 where PM.contauser = '0'
   and AM.ap_cnspcn is not null
   and PA.pa_autoriz not in (
         select distinct pa_autoriz
           from bd_Sabeis.pmac2101
          where contauser = '1'
  )
  and PA.pa_qtdapr::int8 > 0
  group by 1,2,3
Table 5.2: Detalhamento da quantidade de usuários e autorizações não recuperadas via estratégia contauser.
pa gestao pa ufmun prefixo pa autoriz ap cnspcn
120000 120020 122020 0160256, 0165965, 0173753, 0173896 4
120000 120020 122120 0002550, 0002583 2
120000 120040 122020 0108171, 0139466, 0147364, 0149498, 0151423, 0153326, 0154085, 0154349, 0154932, 0155482, 0158397, 0158485, 0158584, 0158640, 0159255, 0159739, 0160080, 0160432, 0160619, 0160707, 0160861, 0160993, 0161323, 0161686, 0161720, 0161840, 0161940, 0162093, 0162478, 0162544, 0162566, 0162599, 0163545, 0164073, 0164095, 0164205, 0164898, 0165206, 0165338, 0165591, 0166086, 0166911, 0167010, 0167879, 0168110, 0170343, 0170508, 0170651, 0170750, 0171476, 0172610, 0174479, 0174545, 0174754, 0175172, 0175238, 0175546, 0175601, 0176415, 0176613, 0176734, 0176756, 0177174, 0177482, 0178032, 0178351 66
120000 120040 122120 0000163, 0000713, 0001021, 0001472, 0001604, 0002231, 0002594, 0002803, 0003595, 0003749, 0003958, 0004090, 0004475, 0004827, 0005399, 0005674, 0005696, 0005883, 0006906, 0006928, 0006940, 0007302, 0007490, 0007577, 0008006, 0008149, 0008314, 0008590, 0008952, 0009084, 0009128, 0009282, 0009722, 0011020, 0011207, 0011295, 0011977, 0012032, 0012967, 0013231, 0013363, 0013396, 0013495, 0013627, 0013781, 0015057, 0015068, 0015145, 0015156, 0015376, 0017224 51

Salienta-se que, ao mês, não é suficiente contar o número de autorizações pois o mesmo usuário pode ter mais de uma autorização para mais de um procedimento com e sem quantidade aprovada.

# SQL
select dense_rank() OVER (ORDER BY ap_cnspcn) AS nu_usuario,
       pa_autoriz,
       pa_proc_id
from (
select AM.ap_cnspcn, 
       PA.pa_autoriz,
       string_agg(distinct PA.pa_proc_id || ' (' || PA.pa_qtdapr || ')',', ') pa_proc_id
    from bd_sabeis.paac2101 PA
  left join bd_Sabeis.amac2101c AM
    on PA.pa_autoriz = AM.ap_autoriz
where AM.ap_cnspcn in (
      select ap_cnspcn 
        from bd_Sabeis.amac2101c AM 
       group by 1 having count(distinct ap_autoriz)>1
) group by 1,2
) x
Table 5.3: Exemplos de usuários com mais de uma APAC e respectivos procedimentos
nu usuario pa autoriz pa proc id
1 1221200007577 604320078 (0), 604340060 (120), 604340079 (0)
1 1221200007588 604460023 (30)
2 1220200161917 604460023 (30), 604460058 (0)
2 1220200161940 604320078 (0), 604340060 (120), 604340079 (0)
3 1220200166581 604460023 (30)
3 1220200166592 604690010 (6)
4 1220200147287 604320078 (0), 604340060 (120)
4 1220200147298 604460023 (30)
5 1221200001340 604040040 (60)
5 1221200010756 604690010 (6)
6 1221200002540 604460023 (30)
6 1221200002550 604340060 (240), 604340079 (0)
7 1220200155273 604230010 (30), 604230028 (30)
7 1221200016069 604470045 (13)
8 1220200176800 604470045 (0)
8 1221200015630 604320019 (0), 604320027 (0)
9 1221200015728 604690010 (7)
9 1221200015739 604360029 (30)
10 1220200154173 604460023 (30)
10 1220200154195 604530013 (30)
11 1220200164293 604530013 (30)
11 1221200005509 604360029 (30)
12 1220200167175 604320159 (60)
12 1220200172037 604360029 (30)
13 1221200007434 604610017 (0)
13 1221200015376 604610017 (30)
14 1220200165052 604610017 (2)
14 1220200165063 604100019 (2)
15 1220200170651 604340060 (180), 604340079 (0)
15 1221200008644 604460023 (60)
Conjectura 3 - Observando as APAC com mais de um registro de autorização,
verificou-se que cada registro é respectivo a um procedimento. 
Logo a formação do arquivo `PM`, isto é, `PA` + `ap_cnspcn` deve ocorrer juntado
o número do usuário, uma vez que a marcação 0 ou 1 pode não corresponder a
apac SOMENTE, mas ao procedimento também (se agregado por procedimento).

6 Considerações

Como retornar uma proxy de quantitativo de usuário para a APAC sem possibiliar a identificação do mesmo ou gerar um arquivo derivado do PA com a mesma premissa? Em outras palavras, como fazer uma soma numa coluna de marcação do tipo flag com domínio \(D=\{0,1\}\) no tabnet se o usuário pode apresentar mais de um procedimento?

Vamos separar a solução em duas partes: usuários ao mês e usuários ao ano.

O quantitativo de usuários ao mês é o número de autorizações distintas para dado procedimento. Ou seja, se o usuário for obrigado a escolher um procedimento, a frequência simples dos distintos de pa_autoriz para cada pa_proc_id será correspondente ao número de usuários, desde que sejam excluídas APAC com quantidade aprovada = 0, uma vez que outra APAC pode ser gerada para o mesmo usuário. Por exemplo, um dado usuário apresentou duas APAC 1221200007434 e 1221200015376 para o procedimento 604610017, porém, a primeira não apresentou quantidade aprovada, enquanto a segunda 30. O mesmo ocorreu também nas autorizações 1220200153656 e 1221200012791, ambas para 604380046, porém, a primeira zerada e a segunda com 3 quantidades aprovadas.

Observe o usuário 13 somado duas vezes abaixo:

Table 6.1: Exemplos de usuários com contauser gerado via SQL
nu usuario pa autoriz pa proc id pa qtdapr contauser
1 1221200007577 604340060 120 1
1 1221200007588 604460023 30 0
2 1220200161940 604340060 120 1
2 1220200161917 604460023 30 0
3 1220200166581 604460023 30 1
3 1220200166592 604690010 6 0
4 1220200147287 604340060 120 1
4 1220200147298 604460023 30 0
5 1221200001340 604040040 60 1
5 1221200010756 604690010 6 0
6 1221200002550 604340060 240 1
6 1221200002540 604460023 30 0
7 1220200155273 604230010 30 1
7 1220200155273 604230028 30 0
7 1221200016069 604470045 13 0
8 1221200015739 604360029 30 1
8 1221200015728 604690010 7 0
9 1220200154173 604460023 30 1
9 1220200154195 604530013 30 0
10 1221200005509 604360029 30 1
10 1220200164293 604530013 30 0
11 1220200167175 604320159 60 1
11 1220200172037 604360029 30 0
12 1221200015376 604610017 30 1
13 1220200165063 604100019 2 1
13 1220200165052 604610017 2 0
14 1220200170651 604340060 180 1
14 1221200008644 604460023 60 0
15 1221200004300 604380089 1 1
15 1220200165635 604460023 30 0

Portanto, o arquivo gerado da PA deve obrigatoriamente apresentar $ qtdapr <> 0 autoriz <> 0$.

7 References