Equipes (versão preliminar): mudanças entre as edições

De Wiki
Ir para navegação Ir para pesquisar
 
(11 revisões intermediárias pelo mesmo usuário não estão sendo mostradas)
Linha 21: Linha 21:
Quantidade absoluta de equipes de saúde ativas ao mês segundo estratificação.
Quantidade absoluta de equipes de saúde ativas 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)''":
Foram agrupadas as equipes conforme estabelecido na [https://www.in.gov.br/en/web/dou/-/portaria-n-37-de-18-de-janeiro-de-2021-299987615 portaria SAES/MS nº 37 de 18 de janeiro de 2021], a qual entra em vigor na data da publicação.


* ACS - Agente comunitário de saúde
A portaria
* EAD - Equipe de Cuidados Domiciliares
 
* EAP - Equipe de Atenção Primária
* redefine registro das Equipes de Atenção Primária e Saúde Mental no Cadastro Nacional de Estabelecimentos de Saúde (CNES), de forma que a classificação de Tipo de Equipe de Saúde passe a vigorar conforme as definições do Anexo I desta Portaria;
* EAP e ESB - Equipe de Atenção Primária e Saúde Bucal
* redefine o modelo de informação do Módulo Equipes do CNES conforme Anexo II desta Portaria;
* EAPP - Equipe de Atenção Primária Prisional
* redefine a classificação de Serviços Especializados da Atenção Primária passa a vigorar conforme as definições do Anexo III desta Portaria;
* ECR - Equipe dos Consultórios na Rua
* inclui os tipos de equipes: 70 - eSF - Equipe de Saúde da Família, 71 - eSB - Equipe de Saúde Bucal, 72 - eNASF-AB - Equipe do Núcleo Ampliado de Saúde da Família e Atenção Primária, 73 --eCR - Equipe dos Consultórios na Rua, 74 - eABP - Equipe de Atenção Primária Prisional, 75 - eMAESM - Equipe Multiprofissional de Atenção Especializada em Saúde Mental e 76 - eAP - Equipe de Atenção Primária e
* EMAD Equipe Multidisciplinar de Atenção Domiciliar
* exclui os seguintes tipos de equipes: 01 - ESF, 02 - ESFSBM1, 03 - ESFSBMII, 04 - EACS, 05 - EPEN, 06 - NASF1, 07 - NASF2, 10 - EACSSBM1, 11 - EACSSBM2, 12 - ESFR, 13 - ESFRSBMI, 14 - ESFF, 15 - ESFFSB, 16 - EAB1, 17 - EAB2, 18 - EAB3, 19 - EAB1SB, 20 - EAB2SB, 21 - EAB3SB, 24 - ESF1, 25 - ESF1SBM1, 26 - ESF1SBM2, 27 - ESF2, 28 - ESF2SBM1, 29 - ESF2SBM2, 30 - ESF3, 31 - ESF3SBM1, 32 - ESF3SBM2, 33 - ESF4, 34 - ESF4SBM1, 35 - ESF4SBM2, 36 - ESFTRANS, 37 - ESFTRANSSBM1, 38 - ESFTRANSSBM2, 39 - ESFRSBMII, 43 - ESBMI, 44 - ESBMII, 45 - NASF3, 40 - ECRMI, 41 - ECRMII, 42 - ECRMIII, 49 - EAP, 50 - EABP1, 51 - EABP1SM, 52 - EABP2, 53 - EABP2SM, 54 - EABP3, 58 - EMAESM1, 59 - EMAESM2, 60 - EMAESM3.
* EMAESM - Equipe Multiprofissional de Atenção Especializada em Saúde Mental
 
* EMAP - Equipe Multidisciplinar de Apoio
 
* EMSI - Equipe Multidisciplinar de Saúde Indígena
A tabela a seguir indica como foram agrupados os tipos de equipe para compor cada indicador.
* ENASF-AP - Equipe do Núcleo Ampliado de Saúde da Família e Atenção Primária
{| class="wikitable"
* ESB - Equipe de Saúde Bucal
|'''id'''
* ESF Equipe de Saúde da Família
|'''Indicador'''
|'''Tipo da Equipe anterior'''
|'''Tipo da Equipe atual'''
|-
|48
|EAPP - Equipe de Atenção Primária Prisional
|05 EPEN - Equipe de Atenção à Saúde do Sistema Penitenciário, 49 EAP - Equipe de Avaliação e Acompanhamento de Medidas Terapêuticas Aplicáveis à Pessoa com Transtorno Mental em Conflito com a Lei, 50 EABP1 - Equipe de Atenção Básica Prisional tipo I, 51 EABP1SM - Equipe de Atenção Básica Prisional tipo I com Saúde Mental, 52 EABP2 - Equipes de Atenção Básica Prisional tipo II, 53 EABP2SM - Equipe de Atenção Básica Prisional tipo II com saúde mental e 54 EABP3 - Equipe de Atenção Básica Prisional tipo III
|74 - EAPP - Equipe de Atenção Primária Prisional
|-
|55
|ECR - Equipe dos Consultórios na Rua
|40 ECR MI - Equipe dos Consultórios na Rua Modalidade I, 41 ECR MII - Equipe dos Consultórios na Rua Modalidade II e 42 ECR MIII - Equipe dos Consultórios na Rua Modalidade III
|73 - ECR - Equipe dos Consultórios na Rua
|-
|53
|EMAD Equipe Multidisciplinar de Atenção Domiciliar
|22 - EMAD tipo I - Equipe Multidisciplinar de Atenção Domiciliar Tipo I, 46 - EMAD tipo II - Equipe Multidisciplinar de Atenção Domiciliar Tipo II
|22 - EMAD tipo I - Equipe Multidisciplinar de Atenção Domiciliar Tipo I e 46 - EMAD tipo II - Equipe Multidisciplinar de Atenção Domiciliar Tipo II
|-
|58
|EMAESM - Equipe Multiprofissional de Atenção Especializada em Saúde Mental
|58 EMAESM1 - Equipe multiprofissional de Atenção Especializada em Saúde Mental MI, 59 EMAESM2 - Equipe multiprofissional de Atenção Especializada em Saúde Mental MII e 60 - EMAESM3 - Equipe multiprofissional de Atenção Especializada em Saúde Mental MIII
|75 - EMAESM - Equipe Multiprofissional de Atenção Especializada em Saúde Mental
|-
|54
|EMAP - Equipe Multidisciplinar de Apoio
|23 - EMAP - Equipe Multidisciplinar de Apoio
|23 - EMAP - Equipe Multidisciplinar de Apoio
|-
|49
|ENASF-AP - Equipe do Núcleo Ampliado de Saúde da Família e Atenção Primária
|06 - NASF1 - Núcleo de Apoio a Saúde da Família modalidade 1, 07 - NASF2 - Núcleo de Apoio à Saúde da Família modalidade 2 e 45 - NASF3 - Núcleo de Apoio à Saúde da Família modalidade 3
|72 ENASF-AP - Equipe do Núcleo Ampliado de Saúde da Família e Atenção Primária
|-
|33
|ESF Equipe de Saúde da Família
|01 ESF - Equipe de Saúde da Família, 04 EACS - Equipe de Agentes Comunitários de Saúde, 12 ESFR - Equipe de Saúde da Família Ribeirinha, 14 ESFF - Equipe de Saúde da Família Fluvial, 24 ESF1 - Estratégia de Saúde da Família tipo I, 27 ESF2 - Estratégia de Saúde da Família tipo II, 30 ESF3 - Estratégia de Saúde da Família tipo III, 33 ESF4 - Estratégia de Saúde da Família tipo IV e 36 ESFTRANS - ESF Transitória
|70 ESF - Equipe de Saúde da Família
|-
|52
|EAP e ESB - Equipe de Atenção Primária e Saúde Bucal
|19 - EAB1SB - Equipe de Atenção Básica tipo I com Saúde Bucal, 20 - EAB2SB - Equipe de Atenção Básica tipo II com Saúde Bucal e 21 - EAB3SB - Equipe de Atenção Básica tipo III com Saúde Bucal
|76 EAP - Equipe de Atenção Primária e 71 ESB - Equipe de Saúde Bucal*
|-
|56
|ESB - Equipe de Saúde Bucal
|43 - ESB MI - Equipe de Saúde Bucal modalidade I* e 44 - ESB MII - Equipe de Saúde Bucal modalidade II*
|71 ESB - Equipe de Saúde Bucal*
|-
|17
|ESF e ESB Equipe de Saúde da Família e Saúde Bucal
|01 ESF - EQUIPE DE SAÚDE DA FAMÍLIA, 02 ESFSB M1 - ESF COM SAUDE BUCAL - M I, 03 ESFSB M2 - ESF COM SAÚDE BUCAL - M II, 10 EACSSB M1 - EQ AGENTES COMUNITÁRIOS COM SAÚDE BUCAL - MI, 11 EACSSB M2 - EQ AGENTES COMUNITÁRIOS COM SAÚDE BUCAL - MII, 12 ESFR - EQUIPE DE SAÚDE DA FAMÍLIA RIBEIRINHA, 13 ESFRSB MI - ESF RIBEIRINHA COM SAÚDE BUCAL MI, 14 ESFF - EQUIPE DE SAUDE DA FAMILIA FLUVIAL, 15 ESFFSB - ESF FLUVIAL COM SAUDE BUCAL, 24 ESF1 - ESTRATEGIA DE SAÚDE DA FAMÍLIA 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 SAÚDE DA FAMÍLIA TIPO II, 28 ESF2SB M1 - ESF TIPO II COM SAUDE BUCAL MODALIDADE I, 30 ESF3 - ESTRATEGIA DE SAÚDE DA FAMÍLIA TIPO III, 31 ESF3SB M1 - ESF TIPO III COM SAÚDE BUCAL MODALIDADE I, 33 ESF4 - ESTRATEGIA DE SAÚDE DA FAMÍLIA TIPO IV, 34 ESF4SB M1 - ESF TIPO IV COM SAÚDE BUCAL MODALIDADE I, 35 ESF4SB M2 - ESF TIPO IV COM SAÚDE BUCAL MODALIDADE II, 36 ESFTRANS - ESF TRANSITÓRIA, 37 ESFTRANSSB M1 - ESF TRANSITÓRIA COM SAUDE BUCAL MI, 38 ESFTRANSSB M2 - ESF TRANSITÓRIA COM SAUDÊ BUCAL MII, 39 ESFRSB MII - ESF RIBEIRINHA COM SAÚDE BUCAL MII, 70 ESF - EQUIPE DE SAÚDE DA FAMÍLIA, 71 ESB - EQUIPE DE SAUDÊ BUCAL
|70 ESF - Equipe de Saúde da Família e 71 ESB - Equipe de Saúde Bucal*
|-
|50
|EMSI - Equipe Multidisciplinar de Saúde Indígena
|
|08 - EMSI - Equipe Multidisciplinar de Saúde Indígena
|-
|57
|EAD - Equipe de Cuidados Domiciliares
|
|47 - EAD - Equipe de Cuidados Domiciliares
|-
|51
|EAP - Equipe de Atenção Primária
|16 - EAB1 - Equipe de Atenção Básica tipo I, 17 - EAB2 - Equipe de Atenção Básica tipo II, 18 - EAB3 - Equipe de Atenção Básica tipo III
|76 EAP - Equipe de Atenção Primária
|}


<blockquote>'''Atenção:'''   
<blockquote>'''Atenção:'''   
Linha 72: Linha 140:
A cobertura das equipes adotada advém do PROADESS [https://www.proadess.icict.fiocruz.br/index.php?pag=fic_r&cod=A26&tab=1 Cobertura pela Estratégia Saúde da Família]:
A cobertura das equipes adotada advém do PROADESS [https://www.proadess.icict.fiocruz.br/index.php?pag=fic_r&cod=A26&tab=1 Cobertura pela Estratégia Saúde da Família]:


[nº de equipes de Saúde da Família] x 3.450 ÷ [população total residente] x 100.<blockquote>'''Atenção:'''
[nº de equipes] x 3.450 ÷ [população total residente] x 100.<blockquote>'''Atenção:'''


A cobertura é estabelecida apenas para os indicadores assinalados a seguir:
A cobertura é estabelecida apenas para os indicadores assinalados a seguir:


* ESB - Equipe de Saúde Bucal
Embora a cobertura das demais equipes tenha sido realizada com o mesmo mérito de calculo, a interpretação deve ser realizada considerando as especifidades das políticas, devendo-se ajustar o fator em avaliações subsequentes.</blockquote>Em virtude da indisponibilidade de informações com coleta sistemática viável dos parâmetros de cálculo não foi aplicada a [https://egestorab.saude.gov.br/image/?file=20221214_O_NT301-NotaMetodologicaCoberturaAPS_894545258772170154.pdf Nota Técnica Nº 301/2022-CGESF/DESF/SAPS/MS].
* ESF Equipe de Saúde da Família
 
Embora a cobertura das demais equipes tenha sido realizada com o mesmo mérito de calculo, a interpretação deve ser realizada considerando as especifidades das políticas, devendo-se ajustar o fator em avaliações subsequentes.</blockquote>Em virtude da indisponibilidade de informações com coleta sistemática viável dos parâmetros de cálculo não foi aplicada a Nota Técnica Nº 301/2022-CGESF/DESF/SAPS/MS.


== Categorias Sugeridas para Análise ==
== Categorias Sugeridas para Análise ==
Linha 134: Linha 199:
== Literatura relacionada ==
== Literatura relacionada ==


A busca <code>&quot;Sudden Infant Death&quot;[Mesh]</code> no sítio [https://pubmed.ncbi.nlm.nih.gov/?sort=date&term=%22Sudden+Infant+Death%22%5BMesh%5D PubMed] resultou, em 9/1/2022, em 7.810 resultados.
A busca <code>"Patient Care Team"[Mesh]</code> no sítio [https://pubmed.ncbi.nlm.nih.gov/?sort=date&term=%22Sudden+Infant+Death%22%5BMesh%5D PubMed] resultou, em 28/5/2023, em 72.731 resultados.
= Ficha do indicador para o cientista de dados =
= Ficha do indicador para o cientista de dados =


== Método de processamento de dados ==
== Método de processamento de dados ==
Codificação adotada baseada na portaria SAES/MS nº 37/2021:
Codificação adotada baseada na [https://www.in.gov.br/en/web/dou/-/portaria-n-37-de-18-de-janeiro-de-2021-299987615 portaria SAES/MS nº 37 de janeiro de 2021], cujo vigor ocorre na data da publicação, a qual:
 
* Redefine registro das Equipes de Atenção Primária e Saúde Mental no Cadastro Nacional de Estabelecimentos de Saúde (CNES), de forma que a classificação de Tipo de Equipe de Saúde passe a vigorar conforme as definições do Anexo I desta Portaria.
* Redefine o modelo de informação do Módulo Equipes do CNES conforme Anexo II desta Portaria.
* Redefine a classificação de Serviços Especializados da Atenção Primária passa a vigorar conforme as definições do Anexo III desta Portaria.
* Inclui os tipos de equipes: 70 - eSF - Equipe de Saúde da Família, 71 - eSB - Equipe de Saúde Bucal, 72 - eNASF-AB - Equipe do Núcleo Ampliado de Saúde da Família e Atenção Primária, 73 --eCR - Equipe dos Consultórios na Rua, 74 - eABP - Equipe de Atenção Primária Prisional, 75 - eMAESM - Equipe Multiprofissional de Atenção Especializada em Saúde Mental e 76 - eAP - Equipe de Atenção Primária.
* Exclui os seguintes tipos de equipes: 01 - ESF, 02 - ESFSBM1, 03 - ESFSBMII, 04 - EACS, 05 - EPEN, 06 - NASF1, 07 - NASF2, 10 - EACSSBM1, 11 - EACSSBM2, 12 - ESFR, 13 - ESFRSBMI, 14 - ESFF, 15 - ESFFSB, 16 - EAB1, 17 - EAB2, 18 - EAB3, 19 - EAB1SB, 20 - EAB2SB, 21 - EAB3SB, 24 - ESF1, 25 - ESF1SBM1, 26 - ESF1SBM2, 27 - ESF2, 28 - ESF2SBM1, 29 - ESF2SBM2, 30 - ESF3, 31 - ESF3SBM1, 32 - ESF3SBM2, 33 - ESF4, 34 - ESF4SBM1, 35 - ESF4SBM2, 36 - ESFTRANS, 37 - ESFTRANSSBM1, 38 - ESFTRANSSBM2, 39 - ESFRSBMII, 43 - ESBMI, 44 - ESBMII, 45 - NASF3, 40 - ECRMI, 41 - ECRMII, 42 - ECRMIII, 49 - EAP, 50 - EABP1, 51 - EABP1SM, 52 - EABP2, 53 - EABP2SM, 54 - EABP3, 58 - EMAESM1, 59 - EMAESM2, 60 - EMAESM3.


{| class="wikitable"
{| class="wikitable"
Linha 284: Linha 355:
|
|
|71 ESB - EQUIPE DE SAUDE BUCAL
|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,
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,
43 ESB MI - EQUIPE DE SAUDE BUCAL MODALIDADE I,
44 ESB MII - EQUIPE DE SAUDE BUCAL MODALIDADE II,
71 ESB - EQUIPE DE SAUDE BUCAL
|-
|-
|
|
Linha 363: Linha 452:
== Método de processamento analítico ==
== Método de processamento analítico ==
<syntaxhighlight lang="sql">
<syntaxhighlight lang="sql">
-- 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);
</syntaxhighlight><syntaxhighlight lang="sql">
-- pri.mv_source_cnes_ep_sf source
CREATE MATERIALIZED VIEW pri.mv_source_cnes_ep_sf
TABLESPACE pg_default
AS SELECT ep.codufmun,
    ep.cnes,
    ep.competen,
    count(*) AS nu_equipes
  FROM cnes.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.cnes, ep.competen
WITH DATA;
-- View indexes:
CREATE INDEX mv_source_cnes_ep_sf_cnes_idx ON pri.mv_source_cnes_ep_sf USING btree (cnes);
</syntaxhighlight><syntaxhighlight lang="sql">
-- pri.mv_source_cnes_ep_sb source
CREATE MATERIALIZED VIEW pri.mv_source_cnes_ep_sb
TABLESPACE pg_default
AS SELECT ep.codufmun,
    ep.cnes,
    ep.competen,
    count(*) AS nu_equipes
  FROM cnes.ep
  WHERE (ep.tipo_eqp = ANY (ARRAY[43, 44, 71])) AND ep.tp_desat = 0 AND ep.competen >= 201501
  GROUP BY ep.codufmun, ep.cnes, ep.competen
WITH DATA;
</syntaxhighlight><syntaxhighlight lang="sql">
-- pri.mv_source_cnes_ep source
CREATE MATERIALIZED VIEW pri.mv_source_cnes_ep
CREATE MATERIALIZED VIEW pri.mv_source_cnes_ep
TABLESPACE pg_default
TABLESPACE pg_default
Linha 373: Linha 516:
           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
           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
           GROUP BY ep.codufmun, ep.competen
         ), esb_mi_mii_17 AS (
         ), i_17_source AS (
        SELECT 17 AS indicador_id,
            sf.codufmun,
            sf.cnes,
            sf.competen,
            sf.nu_equipes
          FROM pri.mv_source_cnes_ep_sf sf
        UNION ALL
         SELECT 17 AS indicador_id,
         SELECT 17 AS indicador_id,
             ep.codufmun AS co_municipio_ibge,
             sb.codufmun,
             ep.competen,
             sb.cnes,
             count(*) AS nu_equipes
            sb.competen,
           FROM cnes.ep ep
             sb.nu_equipes
          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
           FROM pri.mv_source_cnes_ep_sb sb
           GROUP BY ep.codufmun, ep.competen
            LEFT JOIN pri.mv_source_cnes_ep_sf sf ON sb.cnes = sf.cnes AND sb.competen = sf.competen
           WHERE sf.cnes IS NULL
         ), eap_prisional_48 AS (
         ), eap_prisional_48 AS (
         SELECT 48 AS indicador_id,
         SELECT 48 AS indicador_id,
Linha 476: Linha 627:
   FROM esf_33
   FROM esf_33
UNION ALL
UNION ALL
  SELECT esb_mi_mii_17.indicador_id,
  SELECT i_17_source.indicador_id,
     esb_mi_mii_17.co_municipio_ibge,
     i_17_source.codufmun AS co_municipio_ibge,
     esb_mi_mii_17.competen,
     i_17_source.competen,
     esb_mi_mii_17.nu_equipes
     sum(i_17_source.nu_equipes) AS nu_equipes
   FROM esb_mi_mii_17
   FROM i_17_source
  GROUP BY i_17_source.indicador_id, i_17_source.codufmun, i_17_source.competen
UNION ALL
UNION ALL
  SELECT eap_prisional_48.indicador_id,
  SELECT eap_prisional_48.indicador_id,
Linha 552: Linha 704:
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_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);
CREATE INDEX mv_source_cnes_ep_indicador_id_idx ON pri.mv_source_cnes_ep USING btree (indicador_id);
</syntaxhighlight><syntaxhighlight lang="sql">
-- pri.mv_e_ep_cartesiano source


</syntaxhighlight><syntaxhighlight lang="sql">
CREATE MATERIALIZED VIEW pri.mv_e_ep_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 560: Linha 713:
             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,
    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))
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,
  SELECT 17 AS indicador_id,
     mc.co_municipio_ibge,
     mc.co_municipio_ibge,
     mc.competen,
     mc.competen,
     COALESCE(ep.nu_equipes, 0::bigint) AS nu_resultado
     COALESCE(ep.nu_equipes, 0::bigint::numeric)::bigint AS nu_resultado
   FROM territoriais.vw_codufmun_competen mc
   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
     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
Linha 729: Linha 727:
     mc.co_municipio_ibge,
     mc.co_municipio_ibge,
     mc.competen,
     mc.competen,
     COALESCE(ep.nu_equipes, 0::bigint) AS nu_resultado
     COALESCE(ep.nu_equipes, 0::bigint::numeric)::bigint AS nu_resultado
   FROM territoriais.vw_codufmun_competen mc
   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
     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
Linha 735: Linha 733:
           FROM max_cmpt
           FROM max_cmpt
           WHERE max_cmpt.max_indicador_id = 33))
           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
UNION
  SELECT 48 AS indicador_id,
  SELECT 48 AS indicador_id,
     mc.co_municipio_ibge,
     mc.co_municipio_ibge,
     mc.competen,
     mc.competen,
     COALESCE(ep.nu_equipes, 0::bigint) AS nu_resultado
     COALESCE(ep.nu_equipes, 0::bigint::numeric)::bigint AS nu_resultado
   FROM territoriais.vw_codufmun_competen mc
   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
     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
Linha 859: Linha 747:
     mc.co_municipio_ibge,
     mc.co_municipio_ibge,
     mc.competen,
     mc.competen,
     COALESCE(ep.nu_equipes, 0::bigint) AS nu_resultado
     COALESCE(ep.nu_equipes, 0::bigint::numeric)::bigint AS nu_resultado
   FROM territoriais.vw_codufmun_competen mc
   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
     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
Linha 869: Linha 757:
     mc.co_municipio_ibge,
     mc.co_municipio_ibge,
     mc.competen,
     mc.competen,
     COALESCE(ep.nu_equipes, 0::bigint) AS nu_resultado
     COALESCE(ep.nu_equipes, 0::bigint::numeric)::bigint AS nu_resultado
   FROM territoriais.vw_codufmun_competen mc
   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
     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
Linha 879: Linha 767:
     mc.co_municipio_ibge,
     mc.co_municipio_ibge,
     mc.competen,
     mc.competen,
     COALESCE(ep.nu_equipes, 0::bigint) AS nu_resultado
     COALESCE(ep.nu_equipes, 0::bigint::numeric)::bigint AS nu_resultado
   FROM territoriais.vw_codufmun_competen mc
   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
     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
Linha 889: Linha 777:
     mc.co_municipio_ibge,
     mc.co_municipio_ibge,
     mc.competen,
     mc.competen,
     COALESCE(ep.nu_equipes, 0::bigint) AS nu_resultado
     COALESCE(ep.nu_equipes, 0::bigint::numeric)::bigint AS nu_resultado
   FROM territoriais.vw_codufmun_competen mc
   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
     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
Linha 899: Linha 787:
     mc.co_municipio_ibge,
     mc.co_municipio_ibge,
     mc.competen,
     mc.competen,
     COALESCE(ep.nu_equipes, 0::bigint) AS nu_resultado
     COALESCE(ep.nu_equipes, 0::bigint::numeric)::bigint AS nu_resultado
   FROM territoriais.vw_codufmun_competen mc
   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
     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
Linha 909: Linha 797:
     mc.co_municipio_ibge,
     mc.co_municipio_ibge,
     mc.competen,
     mc.competen,
     COALESCE(ep.nu_equipes, 0::bigint) AS nu_resultado
     COALESCE(ep.nu_equipes, 0::bigint::numeric)::bigint AS nu_resultado
   FROM territoriais.vw_codufmun_competen mc
   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
     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
Linha 919: Linha 807:
     mc.co_municipio_ibge,
     mc.co_municipio_ibge,
     mc.competen,
     mc.competen,
     COALESCE(ep.nu_equipes, 0::bigint) AS nu_resultado
     COALESCE(ep.nu_equipes, 0::bigint::numeric)::bigint AS nu_resultado
   FROM territoriais.vw_codufmun_competen mc
   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
     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
Linha 929: Linha 817:
     mc.co_municipio_ibge,
     mc.co_municipio_ibge,
     mc.competen,
     mc.competen,
     COALESCE(ep.nu_equipes, 0::bigint) AS nu_resultado
     COALESCE(ep.nu_equipes, 0::bigint::numeric)::bigint AS nu_resultado
   FROM territoriais.vw_codufmun_competen mc
   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
     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
Linha 939: Linha 827:
     mc.co_municipio_ibge,
     mc.co_municipio_ibge,
     mc.competen,
     mc.competen,
     COALESCE(ep.nu_equipes, 0::bigint) AS nu_resultado
     COALESCE(ep.nu_equipes, 0::bigint::numeric)::bigint AS nu_resultado
   FROM territoriais.vw_codufmun_competen mc
   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
     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
Linha 949: Linha 837:
     mc.co_municipio_ibge,
     mc.co_municipio_ibge,
     mc.competen,
     mc.competen,
     COALESCE(ep.nu_equipes, 0::bigint) AS nu_resultado
     COALESCE(ep.nu_equipes, 0::bigint::numeric)::bigint AS nu_resultado
   FROM territoriais.vw_codufmun_competen mc
   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
     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

Edição atual tal como às 21h28min 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 Equipes e decorrente estratificação. 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

Quantidade absoluta de equipes de saúde ativas ao mês segundo estratificação.

Foram agrupadas as equipes conforme estabelecido na portaria SAES/MS nº 37 de 18 de janeiro de 2021, a qual entra em vigor na data da publicação.

A portaria

  • redefine registro das Equipes de Atenção Primária e Saúde Mental no Cadastro Nacional de Estabelecimentos de Saúde (CNES), de forma que a classificação de Tipo de Equipe de Saúde passe a vigorar conforme as definições do Anexo I desta Portaria;
  • redefine o modelo de informação do Módulo Equipes do CNES conforme Anexo II desta Portaria;
  • redefine a classificação de Serviços Especializados da Atenção Primária passa a vigorar conforme as definições do Anexo III desta Portaria;
  • inclui os tipos de equipes: 70 - eSF - Equipe de Saúde da Família, 71 - eSB - Equipe de Saúde Bucal, 72 - eNASF-AB - Equipe do Núcleo Ampliado de Saúde da Família e Atenção Primária, 73 --eCR - Equipe dos Consultórios na Rua, 74 - eABP - Equipe de Atenção Primária Prisional, 75 - eMAESM - Equipe Multiprofissional de Atenção Especializada em Saúde Mental e 76 - eAP - Equipe de Atenção Primária e
  • exclui os seguintes tipos de equipes: 01 - ESF, 02 - ESFSBM1, 03 - ESFSBMII, 04 - EACS, 05 - EPEN, 06 - NASF1, 07 - NASF2, 10 - EACSSBM1, 11 - EACSSBM2, 12 - ESFR, 13 - ESFRSBMI, 14 - ESFF, 15 - ESFFSB, 16 - EAB1, 17 - EAB2, 18 - EAB3, 19 - EAB1SB, 20 - EAB2SB, 21 - EAB3SB, 24 - ESF1, 25 - ESF1SBM1, 26 - ESF1SBM2, 27 - ESF2, 28 - ESF2SBM1, 29 - ESF2SBM2, 30 - ESF3, 31 - ESF3SBM1, 32 - ESF3SBM2, 33 - ESF4, 34 - ESF4SBM1, 35 - ESF4SBM2, 36 - ESFTRANS, 37 - ESFTRANSSBM1, 38 - ESFTRANSSBM2, 39 - ESFRSBMII, 43 - ESBMI, 44 - ESBMII, 45 - NASF3, 40 - ECRMI, 41 - ECRMII, 42 - ECRMIII, 49 - EAP, 50 - EABP1, 51 - EABP1SM, 52 - EABP2, 53 - EABP2SM, 54 - EABP3, 58 - EMAESM1, 59 - EMAESM2, 60 - EMAESM3.


A tabela a seguir indica como foram agrupados os tipos de equipe para compor cada indicador.

id Indicador Tipo da Equipe anterior Tipo da Equipe atual
48 EAPP - Equipe de Atenção Primária Prisional 05 EPEN - Equipe de Atenção à Saúde do Sistema Penitenciário, 49 EAP - Equipe de Avaliação e Acompanhamento de Medidas Terapêuticas Aplicáveis à Pessoa com Transtorno Mental em Conflito com a Lei, 50 EABP1 - Equipe de Atenção Básica Prisional tipo I, 51 EABP1SM - Equipe de Atenção Básica Prisional tipo I com Saúde Mental, 52 EABP2 - Equipes de Atenção Básica Prisional tipo II, 53 EABP2SM - Equipe de Atenção Básica Prisional tipo II com saúde mental e 54 EABP3 - Equipe de Atenção Básica Prisional tipo III 74 - EAPP - Equipe de Atenção Primária Prisional
55 ECR - Equipe dos Consultórios na Rua 40 ECR MI - Equipe dos Consultórios na Rua Modalidade I, 41 ECR MII - Equipe dos Consultórios na Rua Modalidade II e 42 ECR MIII - Equipe dos Consultórios na Rua Modalidade III 73 - ECR - Equipe dos Consultórios na Rua
53 EMAD Equipe Multidisciplinar de Atenção Domiciliar 22 - EMAD tipo I - Equipe Multidisciplinar de Atenção Domiciliar Tipo I, 46 - EMAD tipo II - Equipe Multidisciplinar de Atenção Domiciliar Tipo II 22 - EMAD tipo I - Equipe Multidisciplinar de Atenção Domiciliar Tipo I e 46 - EMAD tipo II - Equipe Multidisciplinar de Atenção Domiciliar Tipo II
58 EMAESM - Equipe Multiprofissional de Atenção Especializada em Saúde Mental 58 EMAESM1 - Equipe multiprofissional de Atenção Especializada em Saúde Mental MI, 59 EMAESM2 - Equipe multiprofissional de Atenção Especializada em Saúde Mental MII e 60 - EMAESM3 - Equipe multiprofissional de Atenção Especializada em Saúde Mental MIII 75 - EMAESM - Equipe Multiprofissional de Atenção Especializada em Saúde Mental
54 EMAP - Equipe Multidisciplinar de Apoio 23 - EMAP - Equipe Multidisciplinar de Apoio 23 - EMAP - Equipe Multidisciplinar de Apoio
49 ENASF-AP - Equipe do Núcleo Ampliado de Saúde da Família e Atenção Primária 06 - NASF1 - Núcleo de Apoio a Saúde da Família modalidade 1, 07 - NASF2 - Núcleo de Apoio à Saúde da Família modalidade 2 e 45 - NASF3 - Núcleo de Apoio à Saúde da Família modalidade 3 72 ENASF-AP - Equipe do Núcleo Ampliado de Saúde da Família e Atenção Primária
33 ESF Equipe de Saúde da Família 01 ESF - Equipe de Saúde da Família, 04 EACS - Equipe de Agentes Comunitários de Saúde, 12 ESFR - Equipe de Saúde da Família Ribeirinha, 14 ESFF - Equipe de Saúde da Família Fluvial, 24 ESF1 - Estratégia de Saúde da Família tipo I, 27 ESF2 - Estratégia de Saúde da Família tipo II, 30 ESF3 - Estratégia de Saúde da Família tipo III, 33 ESF4 - Estratégia de Saúde da Família tipo IV e 36 ESFTRANS - ESF Transitória 70 ESF - Equipe de Saúde da Família
52 EAP e ESB - Equipe de Atenção Primária e Saúde Bucal 19 - EAB1SB - Equipe de Atenção Básica tipo I com Saúde Bucal, 20 - EAB2SB - Equipe de Atenção Básica tipo II com Saúde Bucal e 21 - EAB3SB - Equipe de Atenção Básica tipo III com Saúde Bucal 76 EAP - Equipe de Atenção Primária e 71 ESB - Equipe de Saúde Bucal*
56 ESB - Equipe de Saúde Bucal 43 - ESB MI - Equipe de Saúde Bucal modalidade I* e 44 - ESB MII - Equipe de Saúde Bucal modalidade II* 71 ESB - Equipe de Saúde Bucal*
17 ESF e ESB Equipe de Saúde da Família e Saúde Bucal 01 ESF - EQUIPE DE SAÚDE DA FAMÍLIA, 02 ESFSB M1 - ESF COM SAUDE BUCAL - M I, 03 ESFSB M2 - ESF COM SAÚDE BUCAL - M II, 10 EACSSB M1 - EQ AGENTES COMUNITÁRIOS COM SAÚDE BUCAL - MI, 11 EACSSB M2 - EQ AGENTES COMUNITÁRIOS COM SAÚDE BUCAL - MII, 12 ESFR - EQUIPE DE SAÚDE DA FAMÍLIA RIBEIRINHA, 13 ESFRSB MI - ESF RIBEIRINHA COM SAÚDE BUCAL MI, 14 ESFF - EQUIPE DE SAUDE DA FAMILIA FLUVIAL, 15 ESFFSB - ESF FLUVIAL COM SAUDE BUCAL, 24 ESF1 - ESTRATEGIA DE SAÚDE DA FAMÍLIA 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 SAÚDE DA FAMÍLIA TIPO II, 28 ESF2SB M1 - ESF TIPO II COM SAUDE BUCAL MODALIDADE I, 30 ESF3 - ESTRATEGIA DE SAÚDE DA FAMÍLIA TIPO III, 31 ESF3SB M1 - ESF TIPO III COM SAÚDE BUCAL MODALIDADE I, 33 ESF4 - ESTRATEGIA DE SAÚDE DA FAMÍLIA TIPO IV, 34 ESF4SB M1 - ESF TIPO IV COM SAÚDE BUCAL MODALIDADE I, 35 ESF4SB M2 - ESF TIPO IV COM SAÚDE BUCAL MODALIDADE II, 36 ESFTRANS - ESF TRANSITÓRIA, 37 ESFTRANSSB M1 - ESF TRANSITÓRIA COM SAUDE BUCAL MI, 38 ESFTRANSSB M2 - ESF TRANSITÓRIA COM SAUDÊ BUCAL MII, 39 ESFRSB MII - ESF RIBEIRINHA COM SAÚDE BUCAL MII, 70 ESF - EQUIPE DE SAÚDE DA FAMÍLIA, 71 ESB - EQUIPE DE SAUDÊ BUCAL 70 ESF - Equipe de Saúde da Família e 71 ESB - Equipe de Saúde Bucal*
50 EMSI - Equipe Multidisciplinar de Saúde Indígena 08 - EMSI - Equipe Multidisciplinar de Saúde Indígena
57 EAD - Equipe de Cuidados Domiciliares 47 - EAD - Equipe de Cuidados Domiciliares
51 EAP - Equipe de Atenção Primária 16 - EAB1 - Equipe de Atenção Básica tipo I, 17 - EAB2 - Equipe de Atenção Básica tipo II, 18 - EAB3 - Equipe de Atenção Básica tipo III 76 EAP - Equipe de Atenção Primária

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.

Interpretação

  • Mede quantitativo de equipes, 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 equipes 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, conduzidos pelos conselhos.

Fontes

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

Métodos de Cálculo

Número absoluto de equipes de saúde da família ao mês.

A cobertura das equipes adotada advém do PROADESS Cobertura pela Estratégia Saúde da Família:

[nº de equipes] x 3.450 ÷ [população total residente] x 100.

Atenção:

A cobertura é estabelecida apenas para os indicadores assinalados a seguir:

Embora a cobertura das demais equipes tenha sido realizada com o mesmo mérito de calculo, a interpretação deve ser realizada considerando as especifidades das políticas, devendo-se ajustar o fator em avaliações subsequentes.

Em virtude da indisponibilidade de informações com coleta sistemática viável dos parâmetros de cálculo não foi aplicada a Nota Técnica Nº 301/2022-CGESF/DESF/SAPS/MS.

Categorias Sugeridas para Análise

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

Dados Estatísticos e Comentários

Quantidade de equipes, segundo o tipo, em dezembro de 2020.
Equipe Quantidade
EAD - Equipe de Cuidados Domiciliares 4
EAP e ESB - Equipe de Atenção Primária e Saúde Bucal 36.042
EAP - Equipe de Atenção Primária 3.194
EAPP - Equipe de Atenção Primária Prisional 620
ECR - Equipe dos Consultórios na Rua 193
EMAD Equipe Multidisciplinar de Atenção Domiciliar 1.014
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

Literatura relacionada

A busca "Patient Care Team"[Mesh] no sítio PubMed resultou, em 28/5/2023, em 72.731 resultados.

Ficha do indicador para o cientista de dados

Método de processamento de dados

Codificação adotada baseada na portaria SAES/MS nº 37 de janeiro de 2021, cujo vigor ocorre na data da publicação, a qual:

  • Redefine registro das Equipes de Atenção Primária e Saúde Mental no Cadastro Nacional de Estabelecimentos de Saúde (CNES), de forma que a classificação de Tipo de Equipe de Saúde passe a vigorar conforme as definições do Anexo I desta Portaria.
  • Redefine o modelo de informação do Módulo Equipes do CNES conforme Anexo II desta Portaria.
  • Redefine a classificação de Serviços Especializados da Atenção Primária passa a vigorar conforme as definições do Anexo III desta Portaria.
  • Inclui os tipos de equipes: 70 - eSF - Equipe de Saúde da Família, 71 - eSB - Equipe de Saúde Bucal, 72 - eNASF-AB - Equipe do Núcleo Ampliado de Saúde da Família e Atenção Primária, 73 --eCR - Equipe dos Consultórios na Rua, 74 - eABP - Equipe de Atenção Primária Prisional, 75 - eMAESM - Equipe Multiprofissional de Atenção Especializada em Saúde Mental e 76 - eAP - Equipe de Atenção Primária.
  • Exclui os seguintes tipos de equipes: 01 - ESF, 02 - ESFSBM1, 03 - ESFSBMII, 04 - EACS, 05 - EPEN, 06 - NASF1, 07 - NASF2, 10 - EACSSBM1, 11 - EACSSBM2, 12 - ESFR, 13 - ESFRSBMI, 14 - ESFF, 15 - ESFFSB, 16 - EAB1, 17 - EAB2, 18 - EAB3, 19 - EAB1SB, 20 - EAB2SB, 21 - EAB3SB, 24 - ESF1, 25 - ESF1SBM1, 26 - ESF1SBM2, 27 - ESF2, 28 - ESF2SBM1, 29 - ESF2SBM2, 30 - ESF3, 31 - ESF3SBM1, 32 - ESF3SBM2, 33 - ESF4, 34 - ESF4SBM1, 35 - ESF4SBM2, 36 - ESFTRANS, 37 - ESFTRANSSBM1, 38 - ESFTRANSSBM2, 39 - ESFRSBMII, 43 - ESBMI, 44 - ESBMII, 45 - NASF3, 40 - ECRMI, 41 - ECRMII, 42 - ECRMIII, 49 - EAP, 50 - EABP1, 51 - EABP1SM, 52 - EABP2, 53 - EABP2SM, 54 - EABP3, 58 - EMAESM1, 59 - EMAESM2, 60 - EMAESM3.
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, 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, 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 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

-- 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);
-- pri.mv_source_cnes_ep_sf source

CREATE MATERIALIZED VIEW pri.mv_source_cnes_ep_sf
TABLESPACE pg_default
AS SELECT ep.codufmun,
    ep.cnes,
    ep.competen,
    count(*) AS nu_equipes
   FROM cnes.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.cnes, ep.competen
WITH DATA;

-- View indexes:
CREATE INDEX mv_source_cnes_ep_sf_cnes_idx ON pri.mv_source_cnes_ep_sf USING btree (cnes);
-- pri.mv_source_cnes_ep_sb source

CREATE MATERIALIZED VIEW pri.mv_source_cnes_ep_sb
TABLESPACE pg_default
AS SELECT ep.codufmun,
    ep.cnes,
    ep.competen,
    count(*) AS nu_equipes
   FROM cnes.ep
  WHERE (ep.tipo_eqp = ANY (ARRAY[43, 44, 71])) AND ep.tp_desat = 0 AND ep.competen >= 201501
  GROUP BY ep.codufmun, ep.cnes, ep.competen
WITH DATA;
-- pri.mv_source_cnes_ep source

CREATE MATERIALIZED VIEW pri.mv_source_cnes_ep
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
        ), i_17_source AS (
         SELECT 17 AS indicador_id,
            sf.codufmun,
            sf.cnes,
            sf.competen,
            sf.nu_equipes
           FROM pri.mv_source_cnes_ep_sf sf
        UNION ALL
         SELECT 17 AS indicador_id,
            sb.codufmun,
            sb.cnes,
            sb.competen,
            sb.nu_equipes
           FROM pri.mv_source_cnes_ep_sb sb
             LEFT JOIN pri.mv_source_cnes_ep_sf sf ON sb.cnes = sf.cnes AND sb.competen = sf.competen
          WHERE sf.cnes IS NULL
        ), 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 i_17_source.indicador_id,
    i_17_source.codufmun AS co_municipio_ibge,
    i_17_source.competen,
    sum(i_17_source.nu_equipes) AS nu_equipes
   FROM i_17_source
  GROUP BY i_17_source.indicador_id, i_17_source.codufmun, i_17_source.competen
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);
-- pri.mv_e_ep_cartesiano source

CREATE MATERIALIZED VIEW pri.mv_e_ep_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 17 AS indicador_id,
    mc.co_municipio_ibge,
    mc.competen,
    COALESCE(ep.nu_equipes, 0::bigint::numeric)::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::numeric)::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 48 AS indicador_id,
    mc.co_municipio_ibge,
    mc.competen,
    COALESCE(ep.nu_equipes, 0::bigint::numeric)::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::numeric)::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::numeric)::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::numeric)::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::numeric)::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::numeric)::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::numeric)::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::numeric)::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::numeric)::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::numeric)::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::numeric)::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;

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 33
Código RIPSA E_EP1
Nome RIPSA
URL RIPSA
tabela CIEGES bd_pri.mv_e_cartesiano