22 de junho de 2026

Reinternamento a 30 dias após insuficiência cardíaca, por hospital — SNS 2019–2024

por Zé Maria Gonçalves Pereira

Análise do reinternamento hospitalar a 30 dias após episódio índice de insuficiência cardíaca (diagnóstico principal I50.*) nos hospitais do SNS entre 2019 e 2024. A taxa nacional média situa-se em 18,8%, com uma amplitude muito elevada entre hospitais — de 12,6% na ULS Tâmega e Sousa a 32,2% na ULS Cova da Beira. Identificam-se casos de agravamento recente e abrupto que merecem investigação específica.

Contexto

O reinternamento hospitalar não planeado a 30 dias após insuficiência cardíaca (IC) é um indicador de qualidade amplamente utilizado — reflecte a eficácia da gestão da alta, a continuidade de cuidados e a adequação do seguimento pós-internamento. Este relatório analisa esse indicador para os hospitais do SNS no período 2019–2024, com base na Base de Dados de Morbilidade Hospitalar (BDMH/ACSS).

54 563
Episódios índice (2019–2024)
Internamentos com diagnóstico principal de IC, alta viva, utente identificado
10 252
Reinternamentos a 30 dias
Qualquer causa, qualquer hospital SNS
18,8%
Taxa nacional média
Amplitude: 12,6% (ULS Tâmega e Sousa) a 32,2% (ULS Cova da Beira)

Taxa de reinternamento por hospital — agregado 2019–2024

O gráfico seguinte apresenta a taxa de reinternamento a 30 dias para cada hospital com 100 ou mais episódios índice no período, ordenada de forma descendente. A linha a tracejado assinala a média nacional (18,8%).

Taxa de reinternamento a 30 dias por hospital (2019–2024)

Apenas hospitais com ≥100 episódios índice no período. Taxa bruta, não ajustada para case-mix. Média nacional: 18,8%.

Evolução anual — hospitais com maior volume (≥500 episódios índice no período)

Evolução da taxa de reinternamento a 30 dias — hospitais de maior volume (2019–2024)

Apenas hospitais com ≥500 episódios índice no total do período e ≥30 episódios por ano. Taxa bruta.

Série anual completa por hospital

Tabela de referência com n.º de episódios índice, reinternamentos e taxa anual bruta. Hospitais com menos de 30 episódios índice num dado ano não são apresentados nesse ano.

Taxa de reinternamento a 30 dias por hospital e ano (2019–2024)
HospitalAnoEpisódios índiceReinternadosTaxa (%)
Hospital de Cascais2020481020,8
Hospital de Cascais2021821214,6
Hospital de Cascais2022671420,9
Hospital de Cascais202347919,1
Hospital de Cascais202437616,2
ULS Arrábida20191111917,1
ULS Arrábida2020831113,3
ULS Arrábida2021891314,6
ULS Arrábida20221122118,8
ULS Arrábida20231422215,5
ULS Arrábida20241131715
ULS Cova da Beira20192123817,9
ULS Cova da Beira20201713721,6
ULS Cova da Beira20212198940,6
ULS Cova da Beira20221736738,7
ULS Cova da Beira20231797139,7
ULS Cova da Beira20241194336,1
ULS Guarda20191472416,3
ULS Guarda20201401712,1
ULS Guarda2021102109,8
ULS Guarda20221091513,8
ULS Guarda20231432316,1
ULS Guarda20241041514,4
ULS Lezíria201945210122,3
ULS Lezíria20203076922,5
ULS Lezíria20213399427,7
ULS Lezíria20221763821,6
ULS Lezíria20231052422,9
ULS Lezíria202467913,4
ULS Póvoa de Varzim / V. do Conde20211012019,8
ULS Póvoa de Varzim / V. do Conde202244613,6
ULS Póvoa de Varzim / V. do Conde202331516,1
ULS Póvoa de Varzim / V. do Conde202434823,5
ULS Região de Aveiro20192835318,7
ULS Região de Aveiro20202214018,1
ULS Região de Aveiro20213195617,6
ULS Região de Aveiro20224117718,7
ULS Região de Aveiro20234268018,8
ULS Região de Aveiro20245308516
ULS Região de Leiria201975214218,9
ULS Região de Leiria20203956616,7
ULS Região de Leiria20212665319,9
ULS Região de Leiria20223885714,7
ULS Região de Leiria20233586518,2
ULS Região de Leiria20241271915
ULS Almada / Seixal20194377918,1
ULS Almada / Seixal20204988016,1
ULS Almada / Seixal20213996616,5
ULS Almada / Seixal20223925514
ULS Almada / Seixal20234417316,6
ULS Almada / Seixal20243604913,6
ULS Amadora / Sintra20191282015,6
ULS Amadora / Sintra20201743922,4
ULS Amadora / Sintra20212134621,6
ULS Amadora / Sintra2022961717,7
ULS Amadora / Sintra20231164236,2
ULS Amadora / Sintra20242137937,1
ULS Barcelos / Esposende20192504116,4
ULS Barcelos / Esposende20201473624,5
ULS Barcelos / Esposende202140615
ULS Barcelos / Esposende2022461123,9
ULS Barcelos / Esposende2023391128,2
ULS Barcelos / Esposende2024501122
ULS Braga201960812720,9
ULS Braga202048810120,7
ULS Braga202162111819
ULS Braga202264213821,5
ULS Braga20233596818,9
ULS Braga20243037424,4
ULS Castelo Branco20191052120
ULS Castelo Branco20201031514,6
ULS Castelo Branco20211342518,7
ULS Castelo Branco2022138107,2
ULS Castelo Branco202368913,2
ULS Castelo Branco20241171412
ULS Coimbra2019115124421,2
ULS Coimbra202088316118,2
ULS Coimbra2021115618916,3
ULS Coimbra2022124620716,6
ULS Coimbra2023110417415,8
ULS Coimbra202491214215,6
ULS Entre Douro e Vouga20193808722,9
ULS Entre Douro e Vouga20203306720,3
ULS Entre Douro e Vouga20213856817,7
ULS Entre Douro e Vouga20224107017,1
ULS Entre Douro e Vouga20234608618,7
ULS Entre Douro e Vouga20244488218,3
ULS Gaia / Espinho20195047615,1
ULS Gaia / Espinho20204426013,6
ULS Gaia / Espinho20214017117,7
ULS Gaia / Espinho20223314513,6
ULS Gaia / Espinho20234265412,7
ULS Gaia / Espinho20244885912,1
ULS Lisboa Ocidental20192475221,1
ULS Lisboa Ocidental20202534919,4
ULS Lisboa Ocidental20211753520
ULS Lisboa Ocidental20221602616,3
ULS Lisboa Ocidental20231642112,8
ULS Lisboa Ocidental2024941718,1
ULS Loures / Odivelas20192205725,9
ULS Loures / Odivelas20201442718,8
ULS Loures / Odivelas20211302317,7
ULS Loures / Odivelas20221151916,5
ULS Loures / Odivelas202369913
ULS Loures / Odivelas20241061615,1
ULS Matosinhos20191111311,7
ULS Matosinhos20201382719,6
ULS Matosinhos20211723118
ULS Matosinhos20221633521,5
ULS Matosinhos20231362115,4
ULS Matosinhos2024611524,6
ULS Santa Maria20192597428,6
ULS Santa Maria20202395523
ULS Santa Maria20213277823,9
ULS Santa Maria20222817526,7
ULS Santa Maria20232333213,7
ULS Santa Maria2024186189,7
ULS Santo António20191853317,8
ULS Santo António20201972613,2
ULS Santo António20211501812
ULS Santo António20221593018,9
ULS Santo António20231232217,9
ULS Santo António20241201915,8
ULS São José20193517320,8
ULS São José202053711721,8
ULS São José20213889324
ULS São José20221453020,7
ULS São José2023761317,1
ULS São José202462812,9
ULS São João201958412321,1
ULS São João20203376419
ULS São João20213607119,7
ULS São João20222804716,8
ULS São João20232896121,1
ULS São João20242094622
ULS Trás-os-Montes e Alto Douro20192656725,3
ULS Trás-os-Montes e Alto Douro20201381813
ULS Trás-os-Montes e Alto Douro20211993316,6
ULS Trás-os-Montes e Alto Douro20221493221,5
ULS Trás-os-Montes e Alto Douro20232555019,6
ULS Trás-os-Montes e Alto Douro20241907841,1
ULS Viseu Dão-Lafões20193185316,7
ULS Viseu Dão-Lafões20202094019,1
ULS Viseu Dão-Lafões20211832714,8
ULS Viseu Dão-Lafões20221082321,3
ULS Viseu Dão-Lafões20231121917
ULS Viseu Dão-Lafões2024961414,6
ULS Alentejo Central2019651015,4
ULS Alentejo Central2020691014,5
ULS Alentejo Central202236822,2
ULS Alentejo Central2023521223,1
ULS Algarve20195189518,3
ULS Algarve20203846516,9
ULS Algarve20214016315,7
ULS Algarve20223236520,1
ULS Algarve20233135617,9
ULS Algarve20243174815,1
ULS Alto Alentejo20192305925,7
ULS Alto Alentejo20202345925,2
ULS Alto Alentejo20211323828,8
ULS Alto Alentejo20221292922,5
ULS Alto Alentejo20231443322,9
ULS Alto Alentejo2024831720,5
ULS Alto Ave201957012622,1
ULS Alto Ave20204697516
ULS Alto Ave202157111620,3
ULS Alto Ave202260611919,6
ULS Alto Ave20234469421,1
ULS Alto Ave20243585114,2
ULS Alto Minho20191102724,5
ULS Alto Minho202170811,4
ULS Alto Minho2022721419,4
ULS Alto Minho202372811,1
ULS Alto Minho202463914,3
ULS Arco Ribeirinho201931516,1
ULS Arco Ribeirinho202035514,3
ULS Arco Ribeirinho2022341029,4
ULS Arco Ribeirinho202342511,9
ULS Arco Ribeirinho202445715,6
ULS Baixo Alentejo20191952814,4
ULS Baixo Alentejo20201461913
ULS Baixo Alentejo20211842312,5
ULS Baixo Alentejo20221542314,9
ULS Baixo Alentejo20231141311,4
ULS Baixo Alentejo2024951212,6
ULS Baixo Mondego20191634024,5
ULS Baixo Mondego20201363324,3
ULS Baixo Mondego20211252217,6
ULS Baixo Mondego20221062018,9
ULS Baixo Mondego20231524127
ULS Baixo Mondego20241162622,4
ULS Estuário do Tejo2019772026
ULS Estuário do Tejo2020631117,5
ULS Estuário do Tejo202153611,3
ULS Estuário do Tejo2022711622,5
ULS Estuário do Tejo2023692029
ULS Estuário do Tejo2024631320,6
ULS Médio Ave2019831720,5
ULS Médio Ave20201062725,5
ULS Médio Ave20211112623,4
ULS Médio Ave20221722715,7
ULS Médio Ave20231964221,4
ULS Médio Ave2024871112,6
ULS Médio Tejo20193277623,2
ULS Médio Tejo20201992914,6
ULS Médio Tejo20211693118,3
ULS Médio Tejo20221141916,7
ULS Médio Tejo20232084421,2
ULS Médio Tejo20242194621
ULS Nordeste20193576016,8
ULS Nordeste20203066119,9
ULS Nordeste20213707319,7
ULS Nordeste20222705118,9
ULS Nordeste20233196921,6
ULS Nordeste20242624918,7
ULS Oeste20191963517,9
ULS Oeste20201683923,2
ULS Oeste20211814223,2
ULS Oeste20221182823,7
ULS Oeste20231643622
ULS Oeste20242042914,2
ULS Tâmega e Sousa20191762413,6
ULS Tâmega e Sousa20201351813,3
ULS Tâmega e Sousa20212272410,6
ULS Tâmega e Sousa20222063014,6
ULS Tâmega e Sousa20232493815,3
ULS Tâmega e Sousa20243313310

Excluídos anos com <30 episódios índice no hospital. Taxa bruta, não ajustada para case-mix.

Alertas e destaques

Hospitais com taxas preocupantes

  • ULS Cova da Beira — salto abrupto de 17,9% em 2019 para 40,6% em 2021, mantendo-se acima de 36% até 2024. Esta anomalia merece investigação específica: alteração de percurso clínico? mudança de práticas de codificação? captação de reinternamentos de outros hospitais da região?
  • ULS Trás-os-Montes e Alto Douro — taxa de 41,1% em 2024, o valor mais elevado de todo o período para qualquer hospital. Agravamento progressivo com pico no último ano disponível.
  • ULS Amadora / Sintra — deterioração recente acentuada: 15,6% em 2019, subindo para 36,2% em 2023 e 37,1% em 2024.
  • ULS Alto Alentejo — mantém-se estruturalmente elevada, acima de 20% em todos os anos.

Hospitais com bom desempenho sustentado

  • ULS Tâmega e Sousa — taxa mais baixa do país no período agregado (12,6%), com tendência descendente: 13,6% (2019) → 10,0% (2024).
  • ULS Gaia / Espinho — trajectória consistentemente descendente: 15,1% (2019) → 12,1% (2024).
  • ULS Baixo Alentejo — abaixo de 15% em todos os anos do período.
  • ULS Coimbra — o maior volume do país (6 452 episódios) com trajectória de melhoria: 21,2% (2019) → 15,6% (2024).

Nota sobre COVID-19

O ano de 2020 regista uma quebra de actividade hospitalar na generalidade dos hospitais, com redução do número de episódios índice. As taxas desse ano podem estar distorcidas por efeitos de selecção (internamentos mais graves, menor seguimento). As comparações devem privilegiar a série 2019 e 2021–2024.

Metodologia

Fonte: Base de Dados de Morbilidade Hospitalar (BDMH), ACSS, 2019–2024.

Episódio índice: internamento (tipo_port_apr31 = 'Int') com diagnóstico principal de insuficiência cardíaca (ICD-10-CM: I50.*), com alta viva (excluídos óbitos [dsp=20] e transferências para outra instituição [dsp=2]), e utente identificado (n_ficticio_utente não nulo, excluídos identificadores sentinela).

Reinternamento: qualquer episódio de internamento subsequente do mesmo utente (n_ficticio_utente), em qualquer hospital do SNS, com data_entrada entre o dia imediatamente a seguir à data de alta e os 30 dias seguintes (inclusive). Não há restrição de diagnóstico no reinternamento (qualquer causa).

Contagem: o reinternamento é imputado ao hospital do episódio índice. Um episódio índice conta no máximo um reinternamento (presença/ausência). A taxa é calculada como n.º de episódios índice seguidos de reinternamento a 30 dias / total de episódios índice elegíveis × 100.

Exclusões: hospitais com menos de 30 episódios índice num dado ano (série anual) ou menos de 100 no total do período (ranking agregado).

ICD: período 2019–2024 integralmente codificado em ICD-10-CM/PCS (icd_versao='10'). Não há necessidade de harmonização ICD-9/10 neste período.

Ajustamento: as taxas são brutas, não ajustadas para case-mix, severidade clínica, comorbilidades ou perfil etário da população admitida. A interpretação das diferenças entre hospitais deve ter em conta estas limitações.

Nomes de hospitais: reflectem a estrutura organizacional de 2025 (fusões ULS aplicadas retroactivamente pela ACSS).

Reprodutibilidade: consultas SQL utilizadas (3)

Volume de episódios de IC por versão ICD, 2019-2024

SELECT icd_versao, COUNT(*) as n FROM episodes WHERE ano BETWEEN 2019 AND 2024 AND tipo_port_apr31 = 'Int' AND (d1 LIKE '4280%' OR d1 LIKE 'I50%') GROUP BY icd_versao ORDER BY icd_versao

Taxa de reinternamento a 30 dias por hospital e ano, IC principal, 2019-2024

WITH indice AS (
  SELECT n_ficticio_utente, hospital, data_entrada, data_saida, ano
  FROM episodes
  WHERE ano BETWEEN 2019 AND 2024
    AND tipo_port_apr31 = 'Int'
    AND d1 LIKE 'I50%'
    AND dsp NOT IN (2, 20)
    AND n_ficticio_utente IS NOT NULL
    AND n_ficticio_utente NOT IN (SELECT n_ficticio_utente FROM sentinel_patient_ids)
    AND data_saida IS NOT NULL
),
reinternamentos AS (
  SELECT DISTINCT i.n_ficticio_utente, i.hospital, i.data_entrada AS entrada_indice, i.data_saida AS saida_indice, i.ano
  FROM indice i
  INNER JOIN episodes e
    ON e.n_ficticio_utente = i.n_ficticio_utente
    AND e.tipo_port_apr31 = 'Int'
    AND e.data_entrada > i.data_saida
    AND e.data_entrada <= i.data_saida + INTERVAL 30 DAY
    AND e.n_ficticio_utente NOT IN (SELECT n_ficticio_utente FROM sentinel_patient_ids)
)
SELECT i.hospital, i.ano,
  COUNT(*) AS n_indice,
  COUNT(r.entrada_indice) AS n_reinternados,
  ROUND(COUNT(r.entrada_indice)*100.0/COUNT(*), 1) AS taxa_reinternamento
FROM indice i
LEFT JOIN reinternamentos r
  ON r.n_ficticio_utente = i.n_ficticio_utente
  AND r.hospital = i.hospital
  AND r.entrada_indice = i.data_entrada
  AND r.saida_indice = i.data_saida
  AND r.ano = i.ano
GROUP BY i.hospital, i.ano
HAVING COUNT(*) >= 30
ORDER BY i.hospital, i.ano

Totais agregados por hospital 2019-2024 e média nacional

WITH indice AS (
  SELECT n_ficticio_utente, hospital, data_entrada, data_saida
  FROM episodes
  WHERE ano BETWEEN 2019 AND 2024
    AND tipo_port_apr31 = 'Int'
    AND d1 LIKE 'I50%'
    AND dsp NOT IN (2, 20)
    AND n_ficticio_utente IS NOT NULL
    AND n_ficticio_utente NOT IN (SELECT n_ficticio_utente FROM sentinel_patient_ids)
    AND data_saida IS NOT NULL
),
reinternamentos AS (
  SELECT DISTINCT i.n_ficticio_utente, i.hospital, i.data_entrada AS entrada_indice, i.data_saida AS saida_indice
  FROM indice i
  INNER JOIN episodes e
    ON e.n_ficticio_utente = i.n_ficticio_utente
    AND e.tipo_port_apr31 = 'Int'
    AND e.data_entrada > i.data_saida
    AND e.data_entrada <= i.data_saida + INTERVAL 30 DAY
    AND e.n_ficticio_utente NOT IN (SELECT n_ficticio_utente FROM sentinel_patient_ids)
)
SELECT i.hospital,
  COUNT(*) AS n_indice,
  COUNT(r.entrada_indice) AS n_reinternados,
  ROUND(COUNT(r.entrada_indice)*100.0/COUNT(*), 1) AS taxa_reinternamento
FROM indice i
LEFT JOIN reinternamentos r
  ON r.n_ficticio_utente = i.n_ficticio_utente
  AND r.hospital = i.hospital
  AND r.entrada_indice = i.data_entrada
  AND r.saida_indice = i.data_saida
GROUP BY i.hospital
HAVING COUNT(*) >= 100
ORDER BY taxa_reinternamento DESC

O jornalismo independente (só) depende dos leitores.

Não dependemos de grupos económicos nem do Estado. Não fazemos fretes. Fazemos jornalismo para os leitores, mas só sobreviveremos com o seu apoio financeiro.