ACS - Agente comunitário de saúde: mudanças entre as edições

De Wiki
Ir para navegação Ir para pesquisar
(Criou página com 'Categoria:Indicador de Saúde Categoria:RIPSA - E Recursos IC3-Estrutura = Introdução = A [https://git.conass.org.br/ferre/notas-tecnicas-pri-provisorio/-/blob/main/matriz.md nota técnica de indicador] descreve o trabalho de processamento e apresentação de dados de '''Equipes''' e decorrente estratificação. A metodologia aplicada pelo [https://cieges.conass.org.br/ Centro de Informações Estratégicas para a Gestão do SUS (C...')
 
 
(4 revisões intermediárias pelo mesmo usuário não estão sendo mostradas)
Linha 5: Linha 5:
= Introdução =
= Introdução =


A [https://git.conass.org.br/ferre/notas-tecnicas-pri-provisorio/-/blob/main/matriz.md nota técnica de indicador] descreve o trabalho de processamento e apresentação de dados de '''Equipes''' e decorrente estratificação. A metodologia aplicada pelo [https://cieges.conass.org.br/ Centro de Informações Estratégicas para a Gestão do SUS (Cieges)] constitui adaptação de fichas da [http://fichas.ripsa.org.br/2012/ Rede Interagencial de Informações para a Saúde (RIPSA)] e de ensejos anteriores da gestão estadual do SUS.
A [https://git.conass.org.br/ferre/notas-tecnicas-pri-provisorio/-/blob/main/matriz.md nota técnica de indicador] descreve o trabalho de processamento e apresentação de dados de '''ACS - Agente Comunitário de Saúde'''. A metodologia aplicada pelo [https://cieges.conass.org.br/ Centro de Informações Estratégicas para a Gestão do SUS (Cieges)] constitui adaptação de fichas da [http://fichas.ripsa.org.br/2012/ Rede Interagencial de Informações para a Saúde (RIPSA)] e de ensejos anteriores da gestão estadual do SUS.


== Endereço eletrônico ==
== Endereço eletrônico ==
Linha 19: Linha 19:
== Conceituação ==
== Conceituação ==


Quantidade absoluta de equipes de saúde ativas ao mês segundo estratificação.
Cobertura populacional estimada por Agentes Comunitários de Saúde ao mês segundo estratificação.
 
Foram agrupadas as equipes conforme estabelecida na Portaria SAES/MS nº 37, de 18 de janeiro de 2021 a qual "''Redefine registro das Equipes de Atenção Primária e Saúde Mental no Cadastro Nacional de Estabelecimentos de Saúde (CNES)''":
 
* ACS - Agente comunitário de saúde
* EAD - Equipe de Cuidados Domiciliares
* EAP - Equipe de Atenção Primária
* EAP e ESB - Equipe de Atenção Primária e Saúde Bucal
* EAPP - Equipe de Atenção Primária Prisional
* ECR - Equipe dos Consultórios na Rua
* EMAD Equipe Multidisciplinar de Atenção Domiciliar
* EMAESM - Equipe Multiprofissional de Atenção Especializada em Saúde Mental
* EMAP - Equipe Multidisciplinar de Apoio
* EMSI - Equipe Multidisciplinar de Saúde Indígena
* ENASF-AP - Equipe do Núcleo Ampliado de Saúde da Família e Atenção Primária
* ESB - Equipe de Saúde Bucal
* ESF e ESB Equipe de Saúde da Família e Saúde Bucal
* ESF Equipe de Saúde da Família
 
<blockquote>'''Atenção:''' 
 
No presente indicador foram consideradas apenas as equipes assinaladas com "0 Equipe ainda ativa" tipificadas na variável '''TP_DESAT''' dos arquivos '''EQ''' coletados via estratégia tabwin.
 
O tabnet, ao contrário, considera todas as equipes''':'''
 
* 3-9 Tipo de desativação  inválido
* 1 Temporária
* 2 Definitiva
* 0 Equipe ainda ativa
Logo, os valores serão equivalentes ou inferiores ao reportado no tabnet.</blockquote>


== Interpretação ==
== Interpretação ==


* Mede quantitativo de equipes, por categorias selecionadas, segundo a sua localização geográfica.
* Mede quantitativo de profissionais, por categorias selecionadas, segundo a sua localização geográfica.
* É influenciado pelas condições socioeconômicas regionais e, em menor escala, por políticas públicas de atenção à saúde e políticas de educação.
* É influenciado pelas condições socioeconômicas regionais e, em menor escala, por políticas públicas de atenção à saúde e políticas de educação.


== Usos ==
== Usos ==


* Analisar variações geográficas e temporais da distribuição de equipes de saúde da família, identificando situações de desigualdade e tendências que demandem ações e estudos específicos.
* Analisar variações geográficas e temporais da distribuição de profissionais de saúde da família, identificando situações de desigualdade e tendências que demandem ações e estudos específicos.
* Subsidiar processos de planejamento, gestão e avaliação de políticas públicas voltadas para a prestação de serviços de saúde, assim como para a formação de profissionais de saúde e sua inserção no mercado de trabalho.
* Subsidiar processos de planejamento, gestão e avaliação de políticas públicas voltadas para a prestação de serviços de saúde, assim como para a formação de profissionais de saúde e sua inserção no mercado de trabalho.


== Limitações ==
== Limitações ==


* Desconhece-se a existência de processos de verificação do exercício efetivo da atividade profissional, conduzidos pelos conselhos.
* Desconhece-se a existência de processos de verificação do exercício efetivo da atividade profissional.


== Fontes ==
== Fontes ==


Ministério da Saúde: Secretaria de Atenção Especializada à Saúde, CNES - Cadastro Nacional de Estabelecimentos de Saúde, Equipes.
Ministério da Saúde: Secretaria de Atenção Especializada à Saúde, CNES - Cadastro Nacional de Estabelecimentos de Saúde, profissionais.


== Métodos de Cálculo ==
== Métodos de Cálculo ==
Número absoluto de equipes de saúde da família ao mês
Cobertura populacional estimada por Agentes Comunitários de Saúde
 
(𝑛º 𝐴𝐶𝑆)×575 ÷ população residente × 100


== Categorias Sugeridas para Análise ==
== Categorias Sugeridas para Análise ==
Linha 76: Linha 49:


== Dados Estatísticos e Comentários ==
== Dados Estatísticos e Comentários ==
 
{| class="wikitable"
{| class="wikitable sortable"
| colspan="3" |
|+'''Quantidade de equipes, segundo o tipo, em dezembro de 2020.'''
= CNES - RECURSOS HUMANOS - PROFISSIONAIS - INDIVÍDUOS - SEGUNDO CBO 2002 - BRASIL =
|'''Equipe'''
'''Quantidade segundo Ocupações em geralOcupações em geral:''' AGENTE COMUNITÁRIO DE SAÚDE, Agente comunitário de saúde
|'''Quantidade'''
'''Período:''' Dez/2020
|-
|-
|EAD - Equipe de Cuidados Domiciliares
!Ocupações em geral
|4
!Quantidade
|-
|-
|EAP e ESB - Equipe de Atenção Primária e Saúde Bucal
| colspan="3" |Fonte: Ministério da Saúde - Cadastro Nacional dos Estabelecimentos de Saúde do Brasil - CNES
|36.042
 
Nota:
 
A partir do processamento de junho de 2012, houve mudança na classificação da natureza e esfera dos estabelecimentos. Com isso, temos que:
 
* Até maio de 2012 estas informações estão disponíveis como "Natureza" e "Esfera Administrativa".
* De junho de 2012 a outubro de 2015, estão disponíveis tanto como "Natureza" e "Esfera Administrativa", como "Natureza Jurídica" e "Esfera Jurídica".
* A partir de novembro de 2015, estão disponíveis como "Natureza Jurídica" e "Esfera Jurídica".
|-
|-
|EAP - Equipe de Atenção Primária
|TOTAL
|3.194
|283.579
|-
|-
|EAPP - Equipe de Atenção Primária Prisional
|PESSOAL DE SAÚDE - QUALIFICAÇÃO ELEMENTAR
|620
|283.579
|-
|-
|ECR - Equipe dos Consultórios na Rua
|AGENTE COMUNITÁRIO DE SAÚDE
|193
|283.579
|-
|-
|EMAD Equipe Multidisciplinar de Atenção Domiciliar
|Agente comunitário de saúde
|1.014
|283.579
|-
|EMAESM - Equipe Multiprofissional de Atenção Especializada em Saúde Mental
|149
|-
|EMAP - Equipe Multidisciplinar de Apoio
|590
|-
|EMSI - Equipe Multidisciplinar de Saúde Indígena
|249
|-
|ENASF-AP - Equipe do Núcleo Ampliado de Saúde da Família e Atenção Primária
|5.361
|-
|ESB - Equipe de Saúde Bucal
|32.848
|-
|ESF e ESB Equipe de Saúde da Família e Saúde Bucal
|81.846
|-
|ESF Equipe de Saúde da Família
|49.000
|}
|}
283.579 ACS × 575 ÷ 211.755.692 habitantes × 100 =  77,0%


== Literatura relacionada ==
== Literatura relacionada ==
Linha 128: Linha 88:


== Método de processamento de dados ==
== Método de processamento de dados ==
Codificação adotada baseada na portaria SAES/MS nº 37/2021:
{| class="wikitable"
|'''Equipe'''
|'''Tipos'''
|-
|EAD - Equipe de Cuidados Domiciliares
|47 ECD - EQUIPE DE CUIDADOS DOMICILIARES
|-
|
|
|-
|EAP e ESB - Equipe de Atenção Primária e Saúde Bucal
|19 EAB1SB - EQUIPE DE ATENCAO BASICA TIPO I COM SAUDE BUCAL
|-
|
|20 EAB2SB - EQUIPE DE ATENCAO BASICA TIPO II COM SAUDE BUCAL
|-
|
|21 EAB3SB - EQUIPE DE ATENCAO BASICA TIPO III COM SAUDE BUCAL
|-
|
|71 ESB - EQUIPE DE SAUDE BUCAL
|-
|
|76 EAP - EQUIPE DE ATENCAO PRIMARIA
|-
|
|
|-
|EAP - Equipe de Atenção Primária
|16 EAB1 - EQUIPE DE ATENCAO BASICA TIPO I
|-
|
|17 EAB2 - EQUIPE DE ATENCAO BASICA TIPO II
|-
|
|18 EAB3 - EQUIPE DE ATENCAO BASICA TIPO III
|-
|
|76 EAP - EQUIPE DE ATENCAO PRIMARIA
|-
|
|
|-
|EAPP - Equipe de Atenção Primária Prisional
|05 EPEN - EQUIPE DE AT. SAUDE SIST. PENITENCIARIO
|-
|
|49 EAP
|-
|
|50 EABP1 - EQ ATENCAO BASICA PRISIONAL TIPO I
|-
|
|51 EABP1SM - EQ ATENCAO BASICA PRISIONAL TIPO I C SAUDE MENTAL
|-
|
|52 EABP2 - EQ ATENCAO BASICA PRISIONAL TIPO II
|-
|
|53 EABP2SM - EQ ATENCAO BASICA PRISIONAL TIPO II C SAUDE MENTAL
|-
|
|54 EABP3 - EQ ATENCAO BASICA PRISIONAL TIPO III
|-
|
|74 EAPP - EQUIPE DE ATENCAO PRIMARIA PRISIONAL
|-
|
|
|-
|ECR - Equipe dos Consultórios na Rua
|40 eCR MI - EQUIPE DOS CONSULTORIOS NA RUA MODALIDADE I
|-
|
|41 eCR MII - EQUIPE DOS CONSULTORIOS NA RUA MODALIDADE II
|-
|
|42 eCR MIII - EQUIPE DOS CONSULTORIOS NA RUA MODALIDADE III
|-
|
|73 ECR - EQUIPE DOS CONSULTORIOS NA RUA
|-
|
|
|-
|EMAD Equipe Multidisciplinar de Atenção Domiciliar
|22 EMAD T1 - EQUIPE MULTIDISCIPLINAR DE AT. DOMICILIAR TIPO I
|-
|
|46 EMAD T2 - EQUIPE MULTIDISCIPLINAR DE AT. DOMICILIAR TIPO II
|-
|
|
|-
|EMAESM - Equipe Multiprofissional de Atenção Especializada em Saúde Mental
|58 eMAESM1 - EQ. MULTIPROF. ATENCAO ESPEC. SAUDE MENTAL M I
|-
|
|59 eMAESM2 - EQ. MULTIPROF. ATENCAO ESPEC. SAUDE MENTAL M II
|-
|
|60 eMAESM3 - EQ. MULTIPROF. ATENCAO ESPEC. SAUDE MENTAL M III
|-
|
|75 EMAESM - EQUIPE MULTIPROFISSIONAL AT. ESPEC. EM SAUDE MENTAL
|-
|
|
|-
|EMAP - Equipe Multidisciplinar de Apoio
|23 EMAP - EQUIPE MULTIDISCIPLINAR DE APOIO
|-
|
|
|-
|EMSI - Equipe Multidisciplinar de Saúde Indígena
|08 EMSI - EQUIPE MULTIDISCIPLINAR DE SAUDE INDIGENA
|-
|
|
|-
|ENASF-AP - Equipe do Núcleo Ampliado de Saúde da Família e Atenção Primária
|06 NASF1 - NUCLEO DE APOIO A SAUDE DA FAMILIA-NASF MODALIDADE 1
|-
|
|07 NASF2 - NUCLEO DE APOIO A SAUDE DA FAMILIA-NASF MODALIDADE 2
|-
|
|45 NASF3 - NUCLEO DE APOIO A SAUDE DA FAMILIA-NASF MODALIDADE 3
|-
|
|72 ENASFAP - EQ DO NUCLEO AMPLIADO SAUDE DA FAMILIA E AT PRIMA.
|-
|
|
|-
|ESB - Equipe de Saúde Bucal
|43 ESB MI - EQUIPE DE SAUDE BUCAL MODALIDADE I
|-
|
|44 ESB MII - EQUIPE DE SAUDE BUCAL MODALIDADE II
|-
|
|71 ESB - EQUIPE DE SAUDE BUCAL
|-
|
|
|-
|ESF e ESB Equipe de Saúde da Família e Saúde Bucal
|02 ESFSB_M1 - ESF COM SAUDE BUCAL - M I
|-
|
|03 ESFSB_M2 - ESF COM SAUDE BUCAL - M II
|-
|
|10 EACSSB_M1 - EQ AGENTES COMUNITÁRIOS COM SAUDE BUCAL - MI
|-
|
|11 EACSSB_M2 - EQ AGENTES COMUNITÁRIOS COM SAUDE BUCAL - MII
|-
|
|13 ESFRSB_MI - ESF RIBEIRINHA COM SAUDE BUCAL MI
|-
|
|15 ESFFSB - ESF FLUVIAL COM SAUDE BUCAL
|-
|
|25 ESF1SB_M1 - ESF TIPO I COM SAUDE BUCAL MODALIDADE I
|-
|
|26 ESF1SB_M2 - ESF TIPO I COM SAUDE BUCAL MODALIDADE II
|-
|
|28 ESF2SB_M1 - ESF TIPO II COM SAUDE BUCAL MODALIDADE I
|-
|
|29 ESF2SB_M2 - ESF TIPO II COM SAUDE BUCAL MODALIDADE II
|-
|
|31 ESF3SB_M1 - ESF TIPO III COM SAUDE BUCAL MODALIDADE I
|-
|
|32 ESF3SB_M2 - ESF TIPO III COM SAUDE BUCAL MODALIDADE II
|-
|
|34 ESF4SB_M1 - ESF TIPO IV COM SAUDE BUCAL MODALIDADE I
|-
|
|35 ESF4SB_M2 - ESF TIPO IV COM SAUDE BUCAL MODALIDADE II
|-
|
|37 ESFTRANSSB_M1 - ESF TRANSITORIA COM SAUDE BUCAL MI
|-
|
|38 ESFTRANSSB_M2 - ESF TRANSITORIA COM SAUDE BUCAL MII
|-
|
|39 ESFRSB_MII - ESF RIBEIRINHA COM SAUDE BUCAL MII
|-
|
|70 ESF - EQUIPE DE SAUDE DA FAMILIA
|-
|
|71 ESB - EQUIPE DE SAUDE BUCAL
|-
|
|
|-
|ESF Equipe de Saúde da Família
|01 ESF - EQUIPE DE SAUDE DA FAMILIA
|-
|
|02 ESFSB_M1 - ESF COM SAUDE BUCAL - M I
|-
|
|03 ESFSB_M2 - ESF COM SAUDE BUCAL - M II
|-
|
|12 ESFR - EQUIPE DE SAUDE DA FAMILIA RIBEIRINHA
|-
|
|13 ESFRSB_MI - ESF RIBEIRINHA COM SAUDE BUCAL MI
|-
|
|14 ESFF - EQUIPE DE SAUDE DA FAMILIA FLUVIAL
|-
|
|15 ESFFSB - ESF FLUVIAL COM SAUDE BUCAL
|-
|
|24 ESF1 - ESTRATEGIA DE SAUDE DA FAMILIA TIPO I
|-
|
|25 ESF1SB_M1 - ESF TIPO I COM SAUDE BUCAL MODALIDADE I
|-
|
|26 ESF1SB_M2 - ESF TIPO I COM SAUDE BUCAL MODALIDADE II
|-
|
|27 ESF2 - ESTRATEGIA DE SAUDE DA FAMILIA TIPO II
|-
|
|28 ESF2SB_M1 - ESF TIPO II COM SAUDE BUCAL MODALIDADE I
|-
|
|29 ESF2SB_M2 - ESF TIPO II COM SAUDE BUCAL MODALIDADE II
|-
|
|30 ESF3 - ESTRATEGIA DE SAUDE DA FAMILIA TIPO III
|-
|
|31 ESF3SB_M1 - ESF TIPO III COM SAUDE BUCAL MODALIDADE I
|-
|
|32 ESF3SB_M2 - ESF TIPO III COM SAUDE BUCAL MODALIDADE II
|-
|
|33 ESF4 - ESTRATEGIA DE SAUDE DA FAMILIA TIPO IV
|-
|
|34 ESF4SB_M1 - ESF TIPO IV COM SAUDE BUCAL MODALIDADE I
|-
|
|35 ESF4SB_M2 - ESF TIPO IV COM SAUDE BUCAL MODALIDADE II
|-
|
|36 ESFTRANS - ESF TRANSITORIA
|-
|
|37 ESFTRANSSB_M1 - ESF TRANSITORIA COM SAUDE BUCAL MI
|-
|
|38 ESFTRANSSB_M2 - ESF TRANSITORIA COM SAUDE BUCAL MII
|-
|
|39 ESFRSB_MII - ESF RIBEIRINHA COM SAUDE BUCAL MII
|-
|
|70 ESF - EQUIPE DE SAUDE DA FAMILIA
|}
== Método de processamento analítico ==
<syntaxhighlight lang="sql">
<syntaxhighlight lang="sql">
CREATE MATERIALIZED VIEW pri.mv_source_cnes_ep
-- pri.mv_e_pf_cartesiano source
TABLESPACE pg_default
AS WITH esf_33 AS (
        SELECT 33 AS indicador_id,
            ep.codufmun AS co_municipio_ibge,
            ep.competen,
            count(*) AS nu_equipes
          FROM cnes.ep ep
          WHERE (ep.tipo_eqp = ANY (ARRAY[1, 2, 3, 12, 13, 14, 15, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 70])) AND ep.tp_desat = 0 AND ep.competen >= 201501
          GROUP BY ep.codufmun, ep.competen
        ), esb_mi_mii_17 AS (
        SELECT 17 AS indicador_id,
            ep.codufmun AS co_municipio_ibge,
            ep.competen,
            count(*) AS nu_equipes
          FROM cnes.ep ep
          WHERE (ep.tipo_eqp = ANY (ARRAY[2, 3, 10, 11, 13, 15, 25, 26, 28, 29, 31, 32, 34, 35, 37, 38, 39, 70, 71])) AND ep.tp_desat = 0 AND ep.competen >= 201501
          GROUP BY ep.codufmun, ep.competen
        ), eap_prisional_48 AS (
        SELECT 48 AS indicador_id,
            ep.codufmun AS co_municipio_ibge,
            ep.competen,
            count(*) AS nu_equipes
          FROM cnes.ep ep
          WHERE (ep.tipo_eqp = ANY (ARRAY[5, 49, 50, 51, 52, 53, 54, 74])) AND ep.tp_desat = 0 AND ep.competen >= 201501
          GROUP BY ep.codufmun, ep.competen
        ), nasf_ap_49 AS (
        SELECT 49 AS indicador_id,
            ep.codufmun AS co_municipio_ibge,
            ep.competen,
            count(*) AS nu_equipes
          FROM cnes.ep ep
          WHERE (ep.tipo_eqp = ANY (ARRAY[6, 7, 45, 72])) AND ep.tp_desat = 0 AND ep.competen >= 201501
          GROUP BY ep.codufmun, ep.competen
        ), emsi_50 AS (
        SELECT 50 AS indicador_id,
            ep.codufmun AS co_municipio_ibge,
            ep.competen,
            count(*) AS nu_equipes
          FROM cnes.ep ep
          WHERE (ep.tipo_eqp = ANY (ARRAY[8])) AND ep.tp_desat = 0 AND ep.competen >= 201501
          GROUP BY ep.codufmun, ep.competen
        ), emsi_51 AS (
        SELECT 51 AS indicador_id,
            ep.codufmun AS co_municipio_ibge,
            ep.competen,
            count(*) AS nu_equipes
          FROM cnes.ep ep
          WHERE (ep.tipo_eqp = ANY (ARRAY[16, 17, 18, 76])) AND ep.tp_desat = 0 AND ep.competen >= 201501
          GROUP BY ep.codufmun, ep.competen
        ), eap_esb_52 AS (
        SELECT 52 AS indicador_id,
            ep.codufmun AS co_municipio_ibge,
            ep.competen,
            count(*) AS nu_equipes
          FROM cnes.ep ep
          WHERE (ep.tipo_eqp = ANY (ARRAY[19, 20, 21, 76, 71])) AND ep.tp_desat = 0 AND ep.competen >= 201501
          GROUP BY ep.codufmun, ep.competen
        ), equipe_53 AS (
        SELECT 53 AS indicador_id,
            ep.codufmun AS co_municipio_ibge,
            ep.competen,
            count(*) AS nu_equipes
          FROM cnes.ep ep
          WHERE (ep.tipo_eqp = ANY (ARRAY[22, 46])) AND ep.tp_desat = 0 AND ep.competen >= 201501
          GROUP BY ep.codufmun, ep.competen
        ), equipe_54 AS (
        SELECT 54 AS indicador_id,
            ep.codufmun AS co_municipio_ibge,
            ep.competen,
            count(*) AS nu_equipes
          FROM cnes.ep ep
          WHERE (ep.tipo_eqp = ANY (ARRAY[23])) AND ep.tp_desat = 0 AND ep.competen >= 201501
          GROUP BY ep.codufmun, ep.competen
        ), equipe_55 AS (
        SELECT 55 AS indicador_id,
            ep.codufmun AS co_municipio_ibge,
            ep.competen,
            count(*) AS nu_equipes
          FROM cnes.ep ep
          WHERE (ep.tipo_eqp = ANY (ARRAY[40, 41, 42, 73])) AND ep.tp_desat = 0 AND ep.competen >= 201501
          GROUP BY ep.codufmun, ep.competen
        ), equipe_56 AS (
        SELECT 56 AS indicador_id,
            ep.codufmun AS co_municipio_ibge,
            ep.competen,
            count(*) AS nu_equipes
          FROM cnes.ep ep
          WHERE (ep.tipo_eqp = ANY (ARRAY[43, 44, 71])) AND ep.tp_desat = 0 AND ep.competen >= 201501
          GROUP BY ep.codufmun, ep.competen
        ), equipe_57 AS (
        SELECT 57 AS indicador_id,
            ep.codufmun AS co_municipio_ibge,
            ep.competen,
            count(*) AS nu_equipes
          FROM cnes.ep ep
          WHERE (ep.tipo_eqp = ANY (ARRAY[47])) AND ep.tp_desat = 0 AND ep.competen >= 201501
          GROUP BY ep.codufmun, ep.competen
        ), equipe_58 AS (
        SELECT 58 AS indicador_id,
            ep.codufmun AS co_municipio_ibge,
            ep.competen,
            count(*) AS nu_equipes
          FROM cnes.ep ep
          WHERE (ep.tipo_eqp = ANY (ARRAY[58, 59, 60, 75])) AND ep.tp_desat = 0 AND ep.competen >= 201501
          GROUP BY ep.codufmun, ep.competen
        )
SELECT esf_33.indicador_id,
    esf_33.co_municipio_ibge,
    esf_33.competen,
    esf_33.nu_equipes
  FROM esf_33
UNION ALL
SELECT esb_mi_mii_17.indicador_id,
    esb_mi_mii_17.co_municipio_ibge,
    esb_mi_mii_17.competen,
    esb_mi_mii_17.nu_equipes
  FROM esb_mi_mii_17
UNION ALL
SELECT eap_prisional_48.indicador_id,
    eap_prisional_48.co_municipio_ibge,
    eap_prisional_48.competen,
    eap_prisional_48.nu_equipes
  FROM eap_prisional_48
UNION ALL
SELECT nasf_ap_49.indicador_id,
    nasf_ap_49.co_municipio_ibge,
    nasf_ap_49.competen,
    nasf_ap_49.nu_equipes
  FROM nasf_ap_49
UNION ALL
SELECT emsi_50.indicador_id,
    emsi_50.co_municipio_ibge,
    emsi_50.competen,
    emsi_50.nu_equipes
  FROM emsi_50
UNION ALL
SELECT emsi_51.indicador_id,
    emsi_51.co_municipio_ibge,
    emsi_51.competen,
    emsi_51.nu_equipes
  FROM emsi_51
UNION ALL
SELECT eap_esb_52.indicador_id,
    eap_esb_52.co_municipio_ibge,
    eap_esb_52.competen,
    eap_esb_52.nu_equipes
  FROM eap_esb_52
UNION ALL
SELECT equipe_53.indicador_id,
    equipe_53.co_municipio_ibge,
    equipe_53.competen,
    equipe_53.nu_equipes
  FROM equipe_53
UNION ALL
SELECT equipe_54.indicador_id,
    equipe_54.co_municipio_ibge,
    equipe_54.competen,
    equipe_54.nu_equipes
  FROM equipe_54
UNION ALL
SELECT equipe_55.indicador_id,
    equipe_55.co_municipio_ibge,
    equipe_55.competen,
    equipe_55.nu_equipes
  FROM equipe_55
UNION ALL
SELECT equipe_56.indicador_id,
    equipe_56.co_municipio_ibge,
    equipe_56.competen,
    equipe_56.nu_equipes
  FROM equipe_56
UNION ALL
SELECT equipe_57.indicador_id,
    equipe_57.co_municipio_ibge,
    equipe_57.competen,
    equipe_57.nu_equipes
  FROM equipe_57
UNION ALL
SELECT equipe_58.indicador_id,
    equipe_58.co_municipio_ibge,
    equipe_58.competen,
    equipe_58.nu_equipes
  FROM equipe_58
WITH DATA;
 
-- View indexes:
CREATE INDEX mv_source_cnes_ep_co_municipio_ibge_idx ON pri.mv_source_cnes_ep USING btree (co_municipio_ibge);
CREATE INDEX mv_source_cnes_ep_indicador_id_idx ON pri.mv_source_cnes_ep USING btree (indicador_id);


</syntaxhighlight><syntaxhighlight lang="sql">
CREATE MATERIALIZED VIEW pri.mv_e_pf_cartesiano
CREATE MATERIALIZED VIEW pri.mv_e_cartesiano
TABLESPACE pg_default
TABLESPACE pg_default
AS WITH max_cmpt AS (
AS WITH max_cmpt AS (
Linha 610: Linha 97:
             td_indicador.dt_competen AS dt_max
             td_indicador.dt_competen AS dt_max
           FROM bd_geral.td_indicador
           FROM bd_geral.td_indicador
        ), policlinicas AS (
        SELECT st.codufmun AS co_municipio_ibge,
            st.competen,
            count(*) AS nu_resultado
          FROM cnes.st st
          WHERE st.competen >= 201501 AND (st.tp_unid = ANY (ARRAY[4]))
          GROUP BY st.codufmun, st.competen
        ), unidades_moveis AS (
        SELECT st.codufmun AS co_municipio_ibge,
            st.competen,
            count(*) AS nu_resultado
          FROM cnes.st st
          WHERE st.competen >= 201501 AND (st.tp_unid = ANY (ARRAY[32, 40, 42, 61]))
          GROUP BY st.codufmun, st.competen
        ), reabilitacao AS (
        SELECT sr.codufmun AS co_municipio_ibge,
            sr.competen,
            count(*) AS nu_servicos
          FROM cnes.sr sr
          WHERE sr.competen >= 201501 AND (sr.serv_esp = ANY (ARRAY[126, 135, 164]))
          GROUP BY sr.codufmun, sr.competen
          ORDER BY sr.competen, sr.codufmun
        ), lab_protese_dentaria AS (
        SELECT sr.codufmun AS co_municipio_ibge,
            sr.competen,
            count(*) AS nu_servicos
          FROM cnes.sr sr
          WHERE sr.competen >= 201501 AND (sr.serv_esp = 123 AND sr.class_sr = 7 OR sr.serv_esp = 157 AND sr.class_sr = 1)
          GROUP BY sr.codufmun, sr.competen
        ), referencia_cardiologia AS (
        SELECT hb.codufmun AS co_municipio_ibge,
            hb.competen,
            count(*) AS nu_servicos
          FROM cnes.hb hb
          WHERE hb.competen >= 201501 AND hb.sgruphab >= 801 AND hb.sgruphab <= 807 AND hb.competen >= hb.cmpt_ini AND hb.competen <= hb.cmpt_fim
          GROUP BY hb.codufmun, hb.competen
        ), referencia_uci_neo AS (
        SELECT hb.codufmun AS co_municipio_ibge,
            hb.competen,
            count(*) AS nu_servicos
          FROM cnes.hb hb
          WHERE hb.competen >= 201501 AND hb.sgruphab >= 2801 AND hb.sgruphab <= 2803 AND hb.competen >= hb.cmpt_ini AND hb.competen <= hb.cmpt_fim
          GROUP BY hb.codufmun, hb.competen
        ), habilitacao_nefro AS (
        SELECT hb.codufmun AS co_municipio_ibge,
            hb.competen,
            count(*) AS nu_servicos
          FROM cnes.hb hb
          WHERE hb.competen >= 201501 AND hb.sgruphab >= 1501 AND hb.sgruphab <= 1502 AND hb.competen >= hb.cmpt_ini AND hb.competen <= hb.cmpt_fim
          GROUP BY hb.codufmun, hb.competen
        ), referencia_nefro AS (
        SELECT sr.codufmun AS co_municipio_ibge,
            sr.competen,
            count(*) AS nu_servicos
          FROM cnes.sr sr
          WHERE sr.competen >= 201501 AND sr.serv_esp = 130 AND (sr.class_sr = ANY (ARRAY[1, 3, 4, 5, 6]))
          GROUP BY sr.codufmun, sr.competen
        ), referencia_neuro AS (
        SELECT hb.codufmun AS co_municipio_ibge,
            hb.competen,
            count(*) AS nu_servicos
          FROM cnes.hb hb
          WHERE hb.competen >= 201501 AND hb.sgruphab >= 1601 AND hb.sgruphab <= 1602 AND hb.competen >= hb.cmpt_ini AND hb.competen <= hb.cmpt_fim
          GROUP BY hb.codufmun, hb.competen
        ), referencia_obesidade AS (
        SELECT hb.codufmun AS co_municipio_ibge,
            hb.competen,
            count(*) AS nu_servicos
          FROM cnes.hb hb
          WHERE hb.competen >= 201501 AND hb.sgruphab = 202 AND hb.competen >= hb.cmpt_ini AND hb.competen <= hb.cmpt_fim
          GROUP BY hb.codufmun, hb.competen
        ), referencia_onco AS (
        SELECT hb.codufmun AS co_municipio_ibge,
            hb.competen,
            count(*) AS nu_servicos
          FROM cnes.hb hb
          WHERE hb.competen >= 201501 AND hb.sgruphab >= 1701 AND hb.sgruphab <= 1714 AND hb.competen >= hb.cmpt_ini AND hb.competen <= hb.cmpt_fim
          GROUP BY hb.codufmun, hb.competen
        ), referencia_trauma_orto AS (
        SELECT hb.codufmun AS co_municipio_ibge,
            hb.competen,
            count(*) AS nu_servicos
          FROM cnes.hb hb
          WHERE hb.competen >= 201501 AND hb.sgruphab >= 2501 AND hb.sgruphab <= 2517 AND hb.competen >= hb.cmpt_ini AND hb.competen <= hb.cmpt_fim
          GROUP BY hb.codufmun, hb.competen
         )
         )
SELECT 15 AS indicador_id,
    mc.co_municipio_ibge,
    mc.competen,
    COALESCE(um.nu_resultado, 0::bigint) AS nu_resultado
  FROM territoriais.vw_codufmun_competen mc
    LEFT JOIN unidades_moveis um ON mc.co_municipio_ibge = um.co_municipio_ibge AND to_char(mc.competen::timestamp with time zone, 'YYYYMM'::text)::integer = um.competen
  WHERE mc.competen <= (( SELECT max_cmpt.dt_max
          FROM max_cmpt
          WHERE max_cmpt.max_indicador_id = 15))
UNION
SELECT 14 AS indicador_id,
    mc.co_municipio_ibge,
    mc.competen,
    COALESCE(cp.nu_resultado, 0::bigint) AS nu_resultado
  FROM territoriais.vw_codufmun_competen mc
    LEFT JOIN pri.mv_source_cnes_hb cp ON mc.co_municipio_ibge = cp.co_municipio_ibge AND to_char(mc.competen::timestamp with time zone, 'YYYYMM'::text)::integer = cp.competen AND cp.indicador_id = 14
  WHERE mc.competen <= (( SELECT max_cmpt.dt_max
          FROM max_cmpt
          WHERE max_cmpt.max_indicador_id = 14))
UNION
SELECT 34 AS indicador_id,
    mc.co_municipio_ibge,
    mc.competen,
    COALESCE(cp.nu_resultado, 0::bigint) AS nu_resultado
  FROM territoriais.vw_codufmun_competen mc
    LEFT JOIN pri.mv_source_cnes_hb cp ON mc.co_municipio_ibge = cp.co_municipio_ibge AND to_char(mc.competen::timestamp with time zone, 'YYYYMM'::text)::integer = cp.competen AND cp.indicador_id = 34
  WHERE mc.competen <= (( SELECT max_cmpt.dt_max
          FROM max_cmpt
          WHERE max_cmpt.max_indicador_id = 34))
UNION
SELECT 37 AS indicador_id,
    mc.co_municipio_ibge,
    mc.competen,
    COALESCE(cp.nu_resultado, 0::bigint) AS nu_resultado
  FROM territoriais.vw_codufmun_competen mc
    LEFT JOIN pri.mv_source_cnes_hb cp ON mc.co_municipio_ibge = cp.co_municipio_ibge AND to_char(mc.competen::timestamp with time zone, 'YYYYMM'::text)::integer = cp.competen AND cp.indicador_id = 37
  WHERE mc.competen <= (( SELECT max_cmpt.dt_max
          FROM max_cmpt
          WHERE max_cmpt.max_indicador_id = 37))
UNION
SELECT 39 AS indicador_id,
    mc.co_municipio_ibge,
    mc.competen,
    COALESCE(cp.nu_resultado, 0::bigint) AS nu_resultado
  FROM territoriais.vw_codufmun_competen mc
    LEFT JOIN pri.mv_source_cnes_hb cp ON mc.co_municipio_ibge = cp.co_municipio_ibge AND to_char(mc.competen::timestamp with time zone, 'YYYYMM'::text)::integer = cp.competen AND cp.indicador_id = 39
  WHERE mc.competen <= (( SELECT max_cmpt.dt_max
          FROM max_cmpt
          WHERE max_cmpt.max_indicador_id = 39))
UNION
  SELECT 41 AS indicador_id,
  SELECT 41 AS indicador_id,
     mc.co_municipio_ibge,
     mc.co_municipio_ibge,
Linha 755: Linha 107:
           FROM max_cmpt
           FROM max_cmpt
           WHERE max_cmpt.max_indicador_id = 41))
           WHERE max_cmpt.max_indicador_id = 41))
UNION
SELECT 16 AS indicador_id,
    mc.co_municipio_ibge,
    mc.competen,
    COALESCE(ra.nu_servicos, 0::bigint) AS nu_resultado
  FROM territoriais.vw_codufmun_competen mc
    LEFT JOIN reabilitacao ra ON mc.co_municipio_ibge = ra.co_municipio_ibge AND to_char(mc.competen::timestamp with time zone, 'YYYYMM'::text)::integer = ra.competen
  WHERE mc.competen <= (( SELECT max_cmpt.dt_max
          FROM max_cmpt
          WHERE max_cmpt.max_indicador_id = 16))
UNION
SELECT 17 AS indicador_id,
    mc.co_municipio_ibge,
    mc.competen,
    COALESCE(ep.nu_equipes, 0::bigint) AS nu_resultado
  FROM territoriais.vw_codufmun_competen mc
    LEFT JOIN pri.mv_source_cnes_ep ep ON mc.co_municipio_ibge = ep.co_municipio_ibge AND to_char(mc.competen::timestamp with time zone, 'YYYYMM'::text)::integer = ep.competen AND ep.indicador_id = 17
  WHERE mc.competen <= (( SELECT max_cmpt.dt_max
          FROM max_cmpt
          WHERE max_cmpt.max_indicador_id = 17))
UNION
SELECT 33 AS indicador_id,
    mc.co_municipio_ibge,
    mc.competen,
    COALESCE(ep.nu_equipes, 0::bigint) AS nu_resultado
  FROM territoriais.vw_codufmun_competen mc
    LEFT JOIN pri.mv_source_cnes_ep ep ON mc.co_municipio_ibge = ep.co_municipio_ibge AND to_char(mc.competen::timestamp with time zone, 'YYYYMM'::text)::integer = ep.competen AND ep.indicador_id = 33
  WHERE mc.competen <= (( SELECT max_cmpt.dt_max
          FROM max_cmpt
          WHERE max_cmpt.max_indicador_id = 33))
UNION
SELECT 38 AS indicador_id,
    mc.co_municipio_ibge,
    mc.competen,
    COALESCE(cp.nu_unidades, 0::bigint) AS nu_resultado
  FROM territoriais.vw_codufmun_competen mc
    LEFT JOIN pri.mv_source_cnes_st cp ON mc.co_municipio_ibge = cp.co_municipio_ibge AND to_char(mc.competen::timestamp with time zone, 'YYYYMM'::text)::integer = cp.competen AND cp.indicador_id = 38
  WHERE mc.competen <= (( SELECT max_cmpt.dt_max
          FROM max_cmpt
          WHERE max_cmpt.max_indicador_id = 38))
UNION
SELECT 18 AS indicador_id,
    mc.co_municipio_ibge,
    mc.competen,
    COALESCE(lab.nu_servicos, 0::bigint) AS nu_resultado
  FROM territoriais.vw_codufmun_competen mc
    LEFT JOIN lab_protese_dentaria lab ON mc.co_municipio_ibge = lab.co_municipio_ibge AND to_char(mc.competen::timestamp with time zone, 'YYYYMM'::text)::integer = lab.competen
  WHERE mc.competen <= (( SELECT max_cmpt.dt_max
          FROM max_cmpt
          WHERE max_cmpt.max_indicador_id = 18))
UNION
SELECT 24 AS indicador_id,
    mc.co_municipio_ibge,
    mc.competen,
    COALESCE(r.nu_servicos, 0::bigint) AS nu_resultado
  FROM territoriais.vw_codufmun_competen mc
    LEFT JOIN referencia_cardiologia r ON mc.co_municipio_ibge = r.co_municipio_ibge AND to_char(mc.competen::timestamp with time zone, 'YYYYMM'::text)::integer = r.competen
  WHERE mc.competen <= (( SELECT max_cmpt.dt_max
          FROM max_cmpt
          WHERE max_cmpt.max_indicador_id = 24))
UNION
SELECT 25 AS indicador_id,
    mc.co_municipio_ibge,
    mc.competen,
    COALESCE(r.nu_servicos, 0::bigint) AS nu_resultado
  FROM territoriais.vw_codufmun_competen mc
    LEFT JOIN referencia_uci_neo r ON mc.co_municipio_ibge = r.co_municipio_ibge AND to_char(mc.competen::timestamp with time zone, 'YYYYMM'::text)::integer = r.competen
  WHERE mc.competen <= (( SELECT max_cmpt.dt_max
          FROM max_cmpt
          WHERE max_cmpt.max_indicador_id = 25))
UNION
SELECT 26 AS indicador_id,
    mc.co_municipio_ibge,
    mc.competen,
    COALESCE(r.nu_servicos, 0::bigint) AS nu_resultado
  FROM territoriais.vw_codufmun_competen mc
    LEFT JOIN referencia_nefro r ON mc.co_municipio_ibge = r.co_municipio_ibge AND to_char(mc.competen::timestamp with time zone, 'YYYYMM'::text)::integer = r.competen
  WHERE mc.competen <= (( SELECT max_cmpt.dt_max
          FROM max_cmpt
          WHERE max_cmpt.max_indicador_id = 26))
UNION
SELECT 47 AS indicador_id,
    mc.co_municipio_ibge,
    mc.competen,
    COALESCE(r.nu_servicos, 0::bigint) AS nu_resultado
  FROM territoriais.vw_codufmun_competen mc
    LEFT JOIN habilitacao_nefro r ON mc.co_municipio_ibge = r.co_municipio_ibge AND to_char(mc.competen::timestamp with time zone, 'YYYYMM'::text)::integer = r.competen
  WHERE mc.competen <= (( SELECT max_cmpt.dt_max
          FROM max_cmpt
          WHERE max_cmpt.max_indicador_id = 47))
UNION
SELECT 27 AS indicador_id,
    mc.co_municipio_ibge,
    mc.competen,
    COALESCE(r.nu_servicos, 0::bigint) AS nu_resultado
  FROM territoriais.vw_codufmun_competen mc
    LEFT JOIN referencia_neuro r ON mc.co_municipio_ibge = r.co_municipio_ibge AND to_char(mc.competen::timestamp with time zone, 'YYYYMM'::text)::integer = r.competen
  WHERE mc.competen <= (( SELECT max_cmpt.dt_max
          FROM max_cmpt
          WHERE max_cmpt.max_indicador_id = 27))
UNION
SELECT 28 AS indicador_id,
    mc.co_municipio_ibge,
    mc.competen,
    COALESCE(r.nu_servicos, 0::bigint) AS nu_resultado
  FROM territoriais.vw_codufmun_competen mc
    LEFT JOIN referencia_obesidade r ON mc.co_municipio_ibge = r.co_municipio_ibge AND to_char(mc.competen::timestamp with time zone, 'YYYYMM'::text)::integer = r.competen
  WHERE mc.competen <= (( SELECT max_cmpt.dt_max
          FROM max_cmpt
          WHERE max_cmpt.max_indicador_id = 28))
UNION
SELECT 29 AS indicador_id,
    mc.co_municipio_ibge,
    mc.competen,
    COALESCE(r.nu_servicos, 0::bigint) AS nu_resultado
  FROM territoriais.vw_codufmun_competen mc
    LEFT JOIN referencia_onco r ON mc.co_municipio_ibge = r.co_municipio_ibge AND to_char(mc.competen::timestamp with time zone, 'YYYYMM'::text)::integer = r.competen
  WHERE mc.competen <= (( SELECT max_cmpt.dt_max
          FROM max_cmpt
          WHERE max_cmpt.max_indicador_id = 29))
UNION
SELECT 30 AS indicador_id,
    mc.co_municipio_ibge,
    mc.competen,
    COALESCE(r.nu_servicos, 0::bigint) AS nu_resultado
  FROM territoriais.vw_codufmun_competen mc
    LEFT JOIN referencia_trauma_orto r ON mc.co_municipio_ibge = r.co_municipio_ibge AND to_char(mc.competen::timestamp with time zone, 'YYYYMM'::text)::integer = r.competen
  WHERE mc.competen <= (( SELECT max_cmpt.dt_max
          FROM max_cmpt
          WHERE max_cmpt.max_indicador_id = 30))
UNION
SELECT 32 AS indicador_id,
    mc.co_municipio_ibge,
    mc.competen,
    COALESCE(r.nu_resultado, 0::bigint) AS nu_resultado
  FROM territoriais.vw_codufmun_competen mc
    LEFT JOIN policlinicas r ON mc.co_municipio_ibge = r.co_municipio_ibge AND to_char(mc.competen::timestamp with time zone, 'YYYYMM'::text)::integer = r.competen
  WHERE mc.competen <= (( SELECT max_cmpt.dt_max
          FROM max_cmpt
          WHERE max_cmpt.max_indicador_id = 32))
UNION
SELECT 48 AS indicador_id,
    mc.co_municipio_ibge,
    mc.competen,
    COALESCE(ep.nu_equipes, 0::bigint) AS nu_resultado
  FROM territoriais.vw_codufmun_competen mc
    LEFT JOIN pri.mv_source_cnes_ep ep ON mc.co_municipio_ibge = ep.co_municipio_ibge AND to_char(mc.competen::timestamp with time zone, 'YYYYMM'::text)::integer = ep.competen AND ep.indicador_id = 48
  WHERE mc.competen <= (( SELECT max_cmpt.dt_max
          FROM max_cmpt
          WHERE max_cmpt.max_indicador_id = 48))
UNION
SELECT 49 AS indicador_id,
    mc.co_municipio_ibge,
    mc.competen,
    COALESCE(ep.nu_equipes, 0::bigint) AS nu_resultado
  FROM territoriais.vw_codufmun_competen mc
    LEFT JOIN pri.mv_source_cnes_ep ep ON mc.co_municipio_ibge = ep.co_municipio_ibge AND to_char(mc.competen::timestamp with time zone, 'YYYYMM'::text)::integer = ep.competen AND ep.indicador_id = 49
  WHERE mc.competen <= (( SELECT max_cmpt.dt_max
          FROM max_cmpt
          WHERE max_cmpt.max_indicador_id = 49))
UNION
SELECT 50 AS indicador_id,
    mc.co_municipio_ibge,
    mc.competen,
    COALESCE(ep.nu_equipes, 0::bigint) AS nu_resultado
  FROM territoriais.vw_codufmun_competen mc
    LEFT JOIN pri.mv_source_cnes_ep ep ON mc.co_municipio_ibge = ep.co_municipio_ibge AND to_char(mc.competen::timestamp with time zone, 'YYYYMM'::text)::integer = ep.competen AND ep.indicador_id = 50
  WHERE mc.competen <= (( SELECT max_cmpt.dt_max
          FROM max_cmpt
          WHERE max_cmpt.max_indicador_id = 50))
UNION
SELECT 51 AS indicador_id,
    mc.co_municipio_ibge,
    mc.competen,
    COALESCE(ep.nu_equipes, 0::bigint) AS nu_resultado
  FROM territoriais.vw_codufmun_competen mc
    LEFT JOIN pri.mv_source_cnes_ep ep ON mc.co_municipio_ibge = ep.co_municipio_ibge AND to_char(mc.competen::timestamp with time zone, 'YYYYMM'::text)::integer = ep.competen AND ep.indicador_id = 51
  WHERE mc.competen <= (( SELECT max_cmpt.dt_max
          FROM max_cmpt
          WHERE max_cmpt.max_indicador_id = 51))
UNION
SELECT 52 AS indicador_id,
    mc.co_municipio_ibge,
    mc.competen,
    COALESCE(ep.nu_equipes, 0::bigint) AS nu_resultado
  FROM territoriais.vw_codufmun_competen mc
    LEFT JOIN pri.mv_source_cnes_ep ep ON mc.co_municipio_ibge = ep.co_municipio_ibge AND to_char(mc.competen::timestamp with time zone, 'YYYYMM'::text)::integer = ep.competen AND ep.indicador_id = 52
  WHERE mc.competen <= (( SELECT max_cmpt.dt_max
          FROM max_cmpt
          WHERE max_cmpt.max_indicador_id = 52))
UNION
SELECT 53 AS indicador_id,
    mc.co_municipio_ibge,
    mc.competen,
    COALESCE(ep.nu_equipes, 0::bigint) AS nu_resultado
  FROM territoriais.vw_codufmun_competen mc
    LEFT JOIN pri.mv_source_cnes_ep ep ON mc.co_municipio_ibge = ep.co_municipio_ibge AND to_char(mc.competen::timestamp with time zone, 'YYYYMM'::text)::integer = ep.competen AND ep.indicador_id = 53
  WHERE mc.competen <= (( SELECT max_cmpt.dt_max
          FROM max_cmpt
          WHERE max_cmpt.max_indicador_id = 53))
UNION
SELECT 54 AS indicador_id,
    mc.co_municipio_ibge,
    mc.competen,
    COALESCE(ep.nu_equipes, 0::bigint) AS nu_resultado
  FROM territoriais.vw_codufmun_competen mc
    LEFT JOIN pri.mv_source_cnes_ep ep ON mc.co_municipio_ibge = ep.co_municipio_ibge AND to_char(mc.competen::timestamp with time zone, 'YYYYMM'::text)::integer = ep.competen AND ep.indicador_id = 54
  WHERE mc.competen <= (( SELECT max_cmpt.dt_max
          FROM max_cmpt
          WHERE max_cmpt.max_indicador_id = 54))
UNION
SELECT 55 AS indicador_id,
    mc.co_municipio_ibge,
    mc.competen,
    COALESCE(ep.nu_equipes, 0::bigint) AS nu_resultado
  FROM territoriais.vw_codufmun_competen mc
    LEFT JOIN pri.mv_source_cnes_ep ep ON mc.co_municipio_ibge = ep.co_municipio_ibge AND to_char(mc.competen::timestamp with time zone, 'YYYYMM'::text)::integer = ep.competen AND ep.indicador_id = 55
  WHERE mc.competen <= (( SELECT max_cmpt.dt_max
          FROM max_cmpt
          WHERE max_cmpt.max_indicador_id = 55))
UNION
SELECT 56 AS indicador_id,
    mc.co_municipio_ibge,
    mc.competen,
    COALESCE(ep.nu_equipes, 0::bigint) AS nu_resultado
  FROM territoriais.vw_codufmun_competen mc
    LEFT JOIN pri.mv_source_cnes_ep ep ON mc.co_municipio_ibge = ep.co_municipio_ibge AND to_char(mc.competen::timestamp with time zone, 'YYYYMM'::text)::integer = ep.competen AND ep.indicador_id = 56
  WHERE mc.competen <= (( SELECT max_cmpt.dt_max
          FROM max_cmpt
          WHERE max_cmpt.max_indicador_id = 56))
UNION
SELECT 57 AS indicador_id,
    mc.co_municipio_ibge,
    mc.competen,
    COALESCE(ep.nu_equipes, 0::bigint) AS nu_resultado
  FROM territoriais.vw_codufmun_competen mc
    LEFT JOIN pri.mv_source_cnes_ep ep ON mc.co_municipio_ibge = ep.co_municipio_ibge AND to_char(mc.competen::timestamp with time zone, 'YYYYMM'::text)::integer = ep.competen AND ep.indicador_id = 57
  WHERE mc.competen <= (( SELECT max_cmpt.dt_max
          FROM max_cmpt
          WHERE max_cmpt.max_indicador_id = 57))
UNION
SELECT 58 AS indicador_id,
    mc.co_municipio_ibge,
    mc.competen,
    COALESCE(ep.nu_equipes, 0::bigint) AS nu_resultado
  FROM territoriais.vw_codufmun_competen mc
    LEFT JOIN pri.mv_source_cnes_ep ep ON mc.co_municipio_ibge = ep.co_municipio_ibge AND to_char(mc.competen::timestamp with time zone, 'YYYYMM'::text)::integer = ep.competen AND ep.indicador_id = 58
  WHERE mc.competen <= (( SELECT max_cmpt.dt_max
          FROM max_cmpt
          WHERE max_cmpt.max_indicador_id = 58))
WITH DATA;
WITH DATA;
-- View indexes:
CREATE INDEX mv_e_pf_cartesiano_indicador_id_idx ON pri.mv_e_pf_cartesiano USING btree (indicador_id, co_municipio_ibge);
</syntaxhighlight>
</syntaxhighlight>
== Método de processamento analítico ==


== Método de apresentação de dados ==
== Método de apresentação de dados ==
Linha 1 033: Linha 140:
* [http://fichas.ripsa.org.br/2012/ Fichas de Qualificação da RIPSA – 2012]
* [http://fichas.ripsa.org.br/2012/ Fichas de Qualificação da RIPSA – 2012]
* [https://cieges.conass.org.br/ Centro de Informações Estratégicas para a Gestão do SUS (Cieges)]
* [https://cieges.conass.org.br/ Centro de Informações Estratégicas para a Gestão do SUS (Cieges)]
* [https://egestorab.saude.gov.br/paginas/acessoPublico/relatorios/nota_tecnica/nota_metodologica_ACS.pdf Nota Metodológica Novo método de cálculo do indicador Cobertura populacional estimada por Agentes Comunitários de Saúde.]


== Rastreabilidade ==
== Rastreabilidade ==
Linha 1 040: Linha 148:
|-
|-
|Identificador
|Identificador
|33
|41
|-
|-
|Código RIPSA
|Código RIPSA
|E_EP1
|E_PF01
|-
|-
|Nome RIPSA
|Nome RIPSA
Linha 1 052: Linha 160:
|-
|-
|tabela CIEGES
|tabela CIEGES
|bd_pri.mv_e_cartesiano
|bd_pri.mv_e_pf_cartesiano
|}
|}

Edição atual tal como às 21h38min de 28 de maio de 2023


Introdução

A nota técnica de indicador descreve o trabalho de processamento e apresentação de dados de ACS - Agente Comunitário de Saúde. A metodologia aplicada pelo Centro de Informações Estratégicas para a Gestão do SUS (Cieges) constitui adaptação de fichas da Rede Interagencial de Informações para a Saúde (RIPSA) e de ensejos anteriores da gestão estadual do SUS.

Endereço eletrônico

Essa nota técnica é acessível pelo endereço

Objetivo

Apresentar parâmetros de interpretação, granularidade e reprodutibilidade do indicador.

Ficha do indicador para o profissional da saúde

Conceituação

Cobertura populacional estimada por Agentes Comunitários de Saúde ao mês segundo estratificação.

Interpretação

  • Mede quantitativo de profissionais, por categorias selecionadas, segundo a sua localização geográfica.
  • É influenciado pelas condições socioeconômicas regionais e, em menor escala, por políticas públicas de atenção à saúde e políticas de educação.

Usos

  • Analisar variações geográficas e temporais da distribuição de profissionais de saúde da família, identificando situações de desigualdade e tendências que demandem ações e estudos específicos.
  • Subsidiar processos de planejamento, gestão e avaliação de políticas públicas voltadas para a prestação de serviços de saúde, assim como para a formação de profissionais de saúde e sua inserção no mercado de trabalho.

Limitações

  • Desconhece-se a existência de processos de verificação do exercício efetivo da atividade profissional.

Fontes

Ministério da Saúde: Secretaria de Atenção Especializada à Saúde, CNES - Cadastro Nacional de Estabelecimentos de Saúde, profissionais.

Métodos de Cálculo

Cobertura populacional estimada por Agentes Comunitários de Saúde

(𝑛º 𝐴𝐶𝑆)×575 ÷ população residente × 100

Categorias Sugeridas para Análise

Unidade geográfica: Brasil, grandes regiões, estados e Distrito Federal.

Dados Estatísticos e Comentários

CNES - RECURSOS HUMANOS - PROFISSIONAIS - INDIVÍDUOS - SEGUNDO CBO 2002 - BRASIL

Quantidade segundo Ocupações em geralOcupações em geral: AGENTE COMUNITÁRIO DE SAÚDE, Agente comunitário de saúde Período: Dez/2020

Ocupações em geral Quantidade
Fonte: Ministério da Saúde - Cadastro Nacional dos Estabelecimentos de Saúde do Brasil - CNES

Nota:

A partir do processamento de junho de 2012, houve mudança na classificação da natureza e esfera dos estabelecimentos. Com isso, temos que:

  • Até maio de 2012 estas informações estão disponíveis como "Natureza" e "Esfera Administrativa".
  • De junho de 2012 a outubro de 2015, estão disponíveis tanto como "Natureza" e "Esfera Administrativa", como "Natureza Jurídica" e "Esfera Jurídica".
  • A partir de novembro de 2015, estão disponíveis como "Natureza Jurídica" e "Esfera Jurídica".
TOTAL 283.579
PESSOAL DE SAÚDE - QUALIFICAÇÃO ELEMENTAR 283.579
AGENTE COMUNITÁRIO DE SAÚDE 283.579
Agente comunitário de saúde 283.579

283.579 ACS × 575 ÷ 211.755.692 habitantes × 100 = 77,0%

Literatura relacionada

A busca "Sudden Infant Death"[Mesh] no sítio PubMed resultou, em 9/1/2022, em 7.810 resultados.

Ficha do indicador para o cientista de dados

Método de processamento de dados

-- pri.mv_e_pf_cartesiano source

CREATE MATERIALIZED VIEW pri.mv_e_pf_cartesiano
TABLESPACE pg_default
AS WITH max_cmpt AS (
         SELECT DISTINCT td_indicador.id AS max_indicador_id,
            td_indicador.dt_competen AS dt_max
           FROM bd_geral.td_indicador
        )
 SELECT 41 AS indicador_id,
    mc.co_municipio_ibge,
    mc.competen,
    COALESCE(pf.num_profissionais, 0::bigint) AS nu_resultado
   FROM territoriais.vw_codufmun_competen mc
     LEFT JOIN pri.mv_source_cnes_pf pf ON mc.co_municipio_ibge = pf.co_municipio_ibge AND to_char(mc.competen::timestamp with time zone, 'YYYYMM'::text)::integer = pf.competen AND pf.indicador_id = 41
  WHERE mc.competen <= (( SELECT max_cmpt.dt_max
           FROM max_cmpt
          WHERE max_cmpt.max_indicador_id = 41))
WITH DATA;

-- View indexes:
CREATE INDEX mv_e_pf_cartesiano_indicador_id_idx ON pri.mv_e_pf_cartesiano USING btree (indicador_id, co_municipio_ibge);

Método de processamento analítico

Método de apresentação de dados

O indicador constitui painel analítico na plataforma do CIEGES, empregando-se a ferramenta Tableau.

Método de análise matemática e estatística

A consultas postgreSQL abaixo ilustra como foi realizada a extração das tabelas apresentadas na seção Dados Estatísticos e Comentários.

Método de descoberta de conhecimento em bancos de dados (KDD)

Não foram aplicados modelos de mineração de dados no presente indicador.

Base de dados

O acesso aos dados processados está em desenvolvimento.

Apêndice

Ver também

Ligações externas

Rastreabilidade

atributo valor
Identificador 41
Código RIPSA E_PF01
Nome RIPSA
URL RIPSA
tabela CIEGES bd_pri.mv_e_pf_cartesiano