Leitos psiquiátricos em hospitais gerais por mil habitantes

De Wiki
Ir para navegação Ir para pesquisar

Introdução

A nota técnica de indicador descreve o trabalho de processamento e apresentação de dados de Leitos psiquiátricos e/ou saúde mental em hospitais gerais (transtornos, transtorno e dependência química e dependência química, adultos e adolescentes) 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 https://wiki.conass.org.br/index.php?title=Leitos_psiqui%C3%A1tricos_e/ou_sa%C3%BAde_mental_em_hospitais_gerais_(transtornos,_transtorno_e_depend%C3%AAncia_qu%C3%ADmica_e_depend%C3%AAncia_qu%C3%ADmica,_adultos_e_adolescentes).

Objetivo

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

Ficha do indicador para o sanitarista

Conceituação

Número de leitos hospitalares existentes, por mil habitantes residentes, em determinado espaço geográfico, no ano considerado.

Interpretação

  • Mede a relação entre a oferta de leitos hospitalares conveniados ou contratados pelo SUS e a população residente na mesma área geográfica. Não inclui os leitos privados sem vínculo com o SUS.
  • É influenciado por fatores socioeconômicos, epidemiológicos e demográficos, tais como nível de renda, composição etária, desenvolvimento tecnológico, oferta de profissionais de saúde, políticas públicas assistenciais e preventivas, a exemplo das de incentivo a cirurgias ambulatoriais, desospitalização na saúde mental e programas de internação domiciliar. Em geral, a concentração de leitos está associada ao maior poder aquisitivo da população e à demanda por serviços especializados, condições que atraem investimentos do setor privado de saúde.

Usos

  • Analisar variações geográficas e temporais da oferta de leitos hospitalares pelo SUS, segundo a esfera administrativa, 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 assistência médico-hospitalar de responsabilidade do SUS.

Limitações

  • Exclui os leitos existentes em hospitais privados sem vínculo com o SUS, embora o indicador se refira à população total.
  • Inclui a demanda hospitalar por parte de pessoas não residentes, alterando a relação de proporcionalidade dos leitos disponíveis para a população residente.
  • Inexistem padrões nacionais ou internacionais validados para análises comparativas, pois o indicador expressa uma combinação de fatores inerentes a realidades regionais ou locais distintas.
  • Até 2003, o indicador tinha como fonte os hospitais participantes do Sistema de Informações Hospitalares do SUS (SIH/SUS); a partir de 2005, passa a ser utilizado o Cadastro Nacional de Estabelecimentos de Saúde (CNES). Esta mudança de fonte pode ter introduzido descontinuidades nos valores dos indicadores.
  • Critérios administrativos, como a manutenção efetuada em 2002, eliminando do cadastro hospitais que não mais apresentavam Autorizações de Internações Hospitalares (AIH), podem provocar quebras na série histórica do indicador.
  • Até 2003, os hospitais com atividades de ensino e pesquisa eram classificados como “universitários”, independentemente de sua vinculação ou não a universidades, não discriminando se públicos ou privados. Com a implantação do CNES, esta categoria foi extinta, sendo os hospitais universitários reclassificados como públicos ou privados, também gerando descontinuidade no indicador.

Fontes

Ministério da Saúde. Secretaria de Atenção à Saúde (SAS): Sistema de Informações Hospitalares do SUS – SIH/SUS (até 2003), Cadastro Nacional de Estabelecimentos de Saúde – CNES (a partir de 2005) e base demográfica do IBGE.

Métodos de Cálculo

[Média anual do número mensal de leitos hospitalares existentes]÷[População total residente]×1000

Categorias Sugeridas para Análise

Unidade geográfica: Brasil, grandes regiões, estados, Distrito Federal, regiões metropolitanas e municípios das capitais. Tipo de leito: existentes SUS, existentes não-SUS, total. Esfera administrativa: federal, estadual, municipal e privado. Tipo de prestador: público, privado e filantrópico.

Dados Estatísticos e Comentários

Número médio de leitos hospitalares por região do Brasil
nu_ano 1 N 2 NE 3 SE 4 S 5 CO Brasil
2.015 10.963 35.183,8 37.208 16.522,3 8.738,3 108.615,4
2.016 10.942,6 34.816,1 36.414,6 16.032,4 8.604,7 106.810,3
2.017 10.854,5 34.471,9 35.714,3 15.596,5 8.550 105.187,3
2.018 10.836,1 33.708,1 34.775,7 15.119,7 9.126,5 103.566
2.019 10.666,8 32.876,8 34.136,2 14.776,8 8.953 101.409,4
2.020 10.364,3 32.454,4 33.536,3 14.114,2 8.819,3 99.288,4
2.021 10.287,6 32.211,4 32.846,9 13.418,4 8.694,8 97.459,2

A média do número absoluto de leitos hospitalares apresenta tendência de queda em todas as regiões do Brasil.

Leitos por mil habitantes por região do Brasil
nu_ano 1 N 2 NE 3 SE 4 S 5 CO Brasil
2.015 0,63 0,63 0,43 0,57 0,57 0,53
2.016 0,62 0,62 0,42 0,55 0,55 0,52
2.017 0,61 0,61 0,41 0,53 0,54 0,51
2.018 0,6 0,59 0,4 0,51 0,57 0,5
2.019 0,58 0,58 0,39 0,49 0,55 0,48
2.020 0,56 0,57 0,38 0,47 0,53 0,47
2.021 0,54 0,56 0,37 0,44 0,52 0,46

O número de leitos por habitantes é inferior à média nacional da região Sudeste ao logo da série histórica observada.

Literatura relacionada

A busca "Beds"[Mesh] no sítio PubMed resultou, em 12/1/2022, em 4.588 resultados.

Ficha do indicador para o cientista de dados

Método de processamento de dados

cnes terceiro tp_leito codleito qt_exist qt_contr qt_sus qt_nsus cod_arquivo codufmun competen
2312115 1 6 2 0 0 2 151912 150380 201912 201.912
434 1 3 61 12 0 0 12 260804 261160 200804
2081083 1 2 46 2 0 1 1 351106 350400 201106
2490935 2 1 3 2 0 2 0 421312 421830 201312
2206528 2 33 26 0 12 14 311705 316720 201705 201.705
2753960 2 2 33 13 0 12 1 411204 412100 201204
3340503 2 4 10 5 0 0 5 320810 320130 200810
2328380 1 6 3 0 3 0 231702 231140 201702 201.702
2701626 2 1 6 1 0 0 1 511205 510760 201205
6003494 2 2 31 2 0 0 2 281005 280030 201005
2297795 2 42 4 0 4 0 331606 330580 201606 201.606
2589532 2 6 47 80 0 64 16 521107 520140 201107
2436949 2 1 3 4 0 4 0 520801 520915 200801
2282097 3 94 11 0 0 11 332008 330350 202008 202.008
6674585 1 3 6 0 0 6 351102 350950 201102 201.102
2117568 5 45 6 0 6 0 311611 312390 201611 201.611
3827836 2 2 33 14 0 14 0 411208 410690 201208
2515369 2 1 13 5 0 0 5 110809 110020 200809
2362821 1 1 14 1 0 1 0 250707 250400 200707
4004787 2 6 49 3 0 3 0 131506 130380 201506
2352516 1 15 5 0 0 5 262006 261160 202006 202.006
477 2 7 7 8 0 8 0 261006 261160 201006
2702843 1 3 3 0 3 0 262207 261570 202207 202.207
3405702 2 33 30 0 0 30 322004 320520 202004 202.004
2265060 2 1 15 23 0 23 0 431311 431490 201311
2397056 1 3 66 1 0 1 0 511401 510060 201401
7766777 1 11 2 0 0 2 532106 530010 202106 202.106
2560771 1 13 11 0 6 5 422103 420900 202103 202.103
9103147 7 73 17 0 0 17 352108 355030 202108 202.108
2442612 2 32 8 0 6 2 521909 520510 201909 201.909


Os atributos da tabela cnes.st são listados a seguir: cnes, codufmun, cod_cep, cpf_cnpj, pf_pj, niv_dep, cnpj_man, cod_ir, vinc_sus, tpgestao, esfera_a, retencao, atividad, natureza, clientel, tp_unid, turno_at, niv_hier, tp_prest, co_banco, co_agenc, c_corren, contratm, dt_publm, contrate, dt_puble, alvara, dt_exped, orgexped, av_acred, clasaval, dt_acred, av_pnass, dt_pnass, gesprg1e, gesprg1m, gesprg2e, gesprg2m, gesprg4e, gesprg4m, nivate_a, gesprg3e, gesprg3m, gesprg5e, gesprg5m, gesprg6e, gesprg6m, nivate_h, qtleitp1, qtleitp2, qtleitp3, leithosp, qtinst01, qtinst02, qtinst03, qtinst04, qtinst05, qtinst06, qtinst07, qtinst08, qtinst09, qtinst10, qtinst11, qtinst12, qtinst13, qtinst14, urgemerg, qtinst15, qtinst16, qtinst17, qtinst18, qtinst19, qtinst20, qtinst21, qtinst22, qtinst23, qtinst24, qtinst25, qtinst26, qtinst27, qtinst28, qtinst29, qtinst30, atendamb, qtinst31, qtinst32, qtinst33, centrcir, qtinst34, qtinst35, qtinst36, qtinst37, centrobs, qtleit05, qtleit06, qtleit07, qtleit08, qtleit09, qtleit19, qtleit20, qtleit21, qtleit22, qtleit23, qtleit32, qtleit34, qtleit38, qtleit39, qtleit40, centrneo, atendhos, serap01p, serap01t, serap02p, serap02t, serap03p, serap03t, serap04p, serap04t, serap05p, serap05t, serap06p, serap06t, serap07p, serap07t, serap08p, serap08t, serap09p, serap09t, serap10p, serap10t, serap11p, serap11t, serapoio, res_biol, res_quim, res_radi, res_comu, coletres, comiss01, comiss02, comiss03, comiss04, comiss05, comiss06, comiss07, comiss08, comiss09, comiss10, comiss11, comiss12, comissao, ap01cv01, ap01cv02, ap01cv05, ap01cv06, ap01cv03, ap01cv04, ap02cv01, ap02cv02, ap02cv05, ap02cv06, ap02cv03, ap02cv04, ap03cv01, ap03cv02, ap03cv05, ap03cv06, ap03cv03, ap03cv04, ap04cv01, ap04cv02, ap04cv05, ap04cv06, ap04cv03, ap04cv04, ap05cv01, ap05cv02, ap05cv05, ap05cv06, ap05cv03, ap05cv04, ap06cv01, ap06cv02, ap06cv05, ap06cv06, ap06cv03, ap06cv04, ap07cv01, ap07cv02, ap07cv05, ap07cv06, ap07cv03, ap07cv04, atend_pr, dt_atual, competen, nat_jur, cod_arquivo, ap01cv07, ap02cv07, ap03cv07, ap04cv07, ap05cv07, ap06cv07, ap07cv07.


O significado dos atributos e tabelas de disseminação das tabelas ST e LT encontra-se no dicionário de dados do CNES.


Código posgreSQL de criação da tabela mv_codufmun_competen_tp_unid:

CREATE MATERIALIZED VIEW cartesiano.mv_codufmun_competen_tp_unid
AS SELECT vcc.co_municipio_ibge,
    vcc.competen,
    tctu.co_tpunid
   FROM territoriais.vw_codufmun_competen vcc
     CROSS JOIN cnv.td_cnes_tp_unid tctu;

-- View indexes:
CREATE INDEX mv_codufmun_competen_tp_unid_co_municipio_ibge_idx 
ON cartesiano.mv_codufmun_competen_tp_unid USING btree 
(co_municipio_ibge, competen);

Método de processamento analítico

Código posgreSQL de criação da tabela mv_leitos_psiquiatricos:

CREATE MATERIALIZED VIEW pri.mv_leitos_psiquiatricos_mun
AS SELECT CURRENT_DATE AS dt_atualizacao,
    to_date(s.competen::text, 'YYYYMM'::text) AS dt_competen,
    s.codufmun AS co_municipio_ibge,
    s.tp_unid,
    sum(l.qt_sus) AS qt_leitos,
    true AS st_sus
   FROM cnes.st s
     JOIN cnes.lt l ON s.competen = l.competen AND s.cnes = l.cnes
  WHERE s.competen > 201412 
    AND l.codleito = 47 
    AND (s.tp_unid = ANY (ARRAY[5, 7]))
  GROUP BY (CURRENT_DATE), 
           (to_date(s.competen::text, 'YYYYMM'::text)), s.codufmun, s.tp_unid
UNION
 SELECT CURRENT_DATE AS dt_atualizacao,
    to_date(s.competen::text, 'YYYYMM'::text) AS dt_competen,
    s.codufmun AS co_municipio_ibge,
    s.tp_unid,
    sum(l.qt_nsus) AS qt_leitos,
    false AS st_sus
   FROM cnes.st s
     JOIN cnes.lt l ON s.competen = l.competen AND s.cnes = l.cnes
  WHERE s.competen > 201412 
    AND l.codleito = 47 
    AND (s.tp_unid = ANY (ARRAY[5, 7]))
  GROUP BY (CURRENT_DATE), 
           (to_date(s.competen::text, 'YYYYMM'::text)), 
           s.codufmun, 
           s.tp_unid;

Código posgreSQL de criação da tabela mv_leitos_psiquiatricos_mun_cartesiano:

CREATE MATERIALIZED VIEW pri.mv_leitos_psiquiatricos_mun_cartesiano
AS SELECT
        CASE
            WHEN cctu.co_tpunid = 5 THEN 6
            ELSE 7
        END AS indicador_id,
    cctu.co_municipio_ibge,
    cctu.competen,
    cctu.co_tpunid,
    COALESCE(lpm.qt_leitos, 0::bigint) AS qt_leitos,
    lpm.st_sus
   FROM cartesiano.mv_codufmun_competen_tp_unid cctu
     LEFT JOIN pri.mv_leitos_psiquiatricos_mun lpm 
       ON cctu.co_municipio_ibge = lpm.co_municipio_ibge 
      AND cctu.competen = lpm.dt_competen 
      AND cctu.co_tpunid = lpm.tp_unid
  WHERE cctu.co_tpunid = ANY (ARRAY[5, 7])
  ORDER BY cctu.co_municipio_ibge, cctu.competen;


CREATE INDEX mv_leitos_psiquiatricos_mun_cartesiano_co_municipio_ibge_idx 
    ON pri.mv_leitos_psiquiatricos_mun_cartesiano USING btree 
       (co_municipio_ibge, competen);
Amostra da tabela mv_leitos_psiquiatricos_mun_cartesiano.
indicador_id co_municipio_ibge competen co_tpunid qt_leitos st_sus
6 432160 2022-01-01 5 1 true
6 420890 2018-10-01 5 1 true
6 431680 2020-11-01 5 2 false
6 211110 2020-06-01 5 4 true
6 430370 2021-03-01 5 10 true
7 355280 2020-07-01 7 108 false
6 431610 2020-05-01 5 32 true
6 521020 2017-11-01 5 4 true
6 510785 2018-02-01 5 4 true
6 150304 2020-01-01 5 1 true
7 250400 2021-09-01 7 143 true
6 420350 2018-11-01 5 1 false
6 432240 2020-02-01 5 10 true
6 230590 2018-07-01 5 1 true
7 352530 2020-07-01 7 20 false

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

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

Média de leitos em doze meses:

 select 
       extract(year from competen) nu_ano,
       round(sum(case when left(co_municipio_ibge::text,1)::int=1 
                      THEN qt_leitos ELSE 0 END)::numeric/12
      ,1) "1 N",
       round(sum(case when left(co_municipio_ibge::text,1)::int=2
                      THEN qt_leitos ELSE 0 END)::numeric/12
      ,1) "2 NE",
       round(sum(case when left(co_municipio_ibge::text,1)::int=3
                      THEN qt_leitos ELSE 0 END)::numeric/12
      ,1) "3 SE",
       round(sum(case when left(co_municipio_ibge::text,1)::int=4
                      THEN qt_leitos ELSE 0 END)::numeric/12
      ,1) "4 S",
       round(sum(case when left(co_municipio_ibge::text,1)::int=5 
                      THEN qt_leitos ELSE 0 END)::numeric/12
      ,1) "5 CO",
      ROUND(SUM(qt_leitos)::numeric/12,1) "Brasil"
  from pri.mv_leitos_tipo_mun_cartesiano
 where extract(year from competen) between 2015 and 2021
   and co_tpleito in (3, 4, 5, 7)
 group by 1
 order by 1

Leitos por habitante:

select nu_ano,
       max(case when regiao = 1 then leitos_hab end) "1 N",
       max(case when regiao = 2 then leitos_hab end) "2 NE",
       max(case when regiao = 3 then leitos_hab end) "3 SE",
       max(case when regiao = 4 then leitos_hab end) "4 S",
       max(case when regiao = 5 then leitos_hab end) "5 CO",
       max(case when regiao = 0 then leitos_hab end) "Brasil"
from (       
select A.nu_ano,
       A.regiao,
       round((A.qt_leitos::numeric/12)) qt_leitos,
       B.qt_populacao,
       round((A.qt_leitos::numeric/12)/B.qt_populacao*1000,2) leitos_hab
from (
select extract(year from competen) nu_ano,
       left(A.co_municipio_ibge::text,1)::int regiao,
       sum(qt_leitos) qt_leitos
  from pri.mv_leitos_tipo_mun_cartesiano A
 where extract(year from competen) between 2015 and 2021
   and co_tpleito in (3, 4, 5, 7)
   group by 1,2
union
select extract(year from competen) nu_ano,
       0 regiao,
       round(sum(qt_leitos)::numeric) qt_leitos
  from pri.mv_leitos_tipo_mun_cartesiano A
 where extract(year from competen) between 2015 and 2021
   and co_tpleito in (3, 4, 5, 7)
   group by 1,2
) A
  left join 
  (select nu_ano,
          left(co_municipio_ibge::text,1)::int regiao,
          sum(qt_populacao) qt_populacao
     from bd_geral.tf_populacao_municipio_idade_sexo
     group by 1,2
    union
   select nu_ano,
          0 regiao,
          sum(qt_populacao) qt_populacao
     from bd_geral.tf_populacao_municipio_idade_sexo
     group by 1,2 
   ) B
    on A.regiao = B.regiao 
    and A.nu_ano = B.nu_ano 
   order by 1,2
) x
group by 1
order by 1

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 6
Código RIPSA E.3.1
Nome RIPSA Nº de leitos psiquiátricos em hospitais gerais
URL RIPSA
tabela CIEGES bd_pri.mv_leitos_psiquiatricos_mun_cartesiano