Analýza úhrad zdravotnických prostředků v ČR

Autor

Romana Pejcalová

Publikováno

19. května 2026

1 Stručný deskriptivní popis datové sady

Analyzovaná datová sada „Zdravotnické prostředky – kód, měsíc, IČZ“ pochází z Národního registru hrazených zdravotních služeb (NRHZS), který spravuje Ústav zdravotnických informací a statistiky ČR (ÚZIS). Datová sada poskytuje informace o objemu zdravotnických prostředků hrazených z veřejného zdravotního pojištění vykázaných jednotlivými poskytovateli zdravotních služeb za posledních pět let.

Primárním cílem datové sady je umožnit hodnocení objemu vykázaných zdravotnických prostředků a souvisejících úhrad zdravotních pojišťoven na úrovni jednotlivých poskytovatelů zdravotních služeb. Data jsou agregována podle roku a měsíce vykázání, kódu zdravotnického prostředku, skupiny zdravotnického prostředku, poskytovatele zdravotních služeb (IČZ), okresu předepisujícího pracoviště a odbornosti předepisujícího pracoviště.

Datová sada obsahuje přibližně 11,9 milionu záznamů, má 9 atributů a její velikost činí přibližně 713 MB. Data jsou zveřejněna ve formátu CSV a aktualizována jednou ročně za uzavřený kalendářní rok.

Analýza byla dále doplněna také o datovou sadu „Zdravotnické prostředky – kód, měsíc, zdravotní pojišťovna“, která umožňuje sledovat strukturu úhrad podle jednotlivých zdravotních pojišťoven. Díky tomu bylo možné analyzovat podíly jednotlivých pojišťoven na celkových úhradách zdravotnických prostředků a jejich vývoj v čase.

Mezi hlavní sledované proměnné patří:

  • rok – rok vykázání zdravotnického prostředku,
  • mesic – měsíc vykázání,
  • kod – kód zdravotnického prostředku,
  • pzt_typ – skupina zdravotnického prostředku,
  • icz – identifikační číslo poskytovatele zdravotních služeb,
  • okres_predepsani – okres předepisujícího pracoviště,
  • odbornost_predepisujici – odbornost pracoviště, které zdravotnický prostředek předepsalo,
  • pojistovna – zdravotní pojišťovna, která zdravotnický prostředek hradila,
  • pocet_baleni – počet vykázaných balení,
  • uhrada_zp – celková úhrada od zdravotních pojišťoven v Kč.

V rámci analýzy byla datová sada podle číselníků VZP dále rozšířena o:

  • skupiny odborností předepisujících pracovišť,
  • typ péče (ambulantní, lůžková, neuvedeno),
  • a slovní názvy skupin zdravotnických prostředků.

Datová sada zahrnuje pouze zdravotní služby hrazené z veřejného zdravotního pojištění. Neobsahuje údaje o samoplátcích, připojištění ani péči nevykazované zdravotním pojišťovnám.

Před vlastní analýzou byla data očištěna od prázdných hodnot a doplněna o několik externích číselníků. Pomocí číselníků ÚZIS a VZP byly jednotlivým záznamům přiřazeny názvy skupin zdravotnických prostředků, typ poskytovatele zdravotních služeb a příslušnost ke kraji.

Zobrazit kód
# --- Načtení a příprava číslelníků -----------------------------------------

# Značení skupin zdravotnického prostředku
pzt_ciselnik <- readRDS("pzt_ciselnik.rds")

# Značení pojišťoven
pojistovny_ciselnik <- tibble::tribble(
  ~kod, ~nazev, ~zkratka,
  111, "Všeobecná zdravotní pojišťovna (VZP)", "VZP",
  201, "Vojenská zdravotní pojišťovna (VoZP)", "VoZP",
  205, "Česká průmyslová zdravotní pojišťovna (ČPZP)", "ČPZP",
  207, "Oborová zdravotní pojišťovna (OZP)", "OZP",
  209, "Zaměstnanecká pojišťovna Škoda (ZPŠ)", "ZPŠ",
  211, "Zdravotní pojišťovna ministerstva vnitra ČR (ZPMV)", "ZPMV",
  213, "RBP, zdravotní pojišťovna", "RBP"
)
  
# Značení krajů
kraj_ciselnik <- readRDS("kraje_ciselnik.rds")

# Značení druhu poskytovatele
ciselnik_druh_poskytovatele <- tribble(
  ~nrpzs_druh_poskytovatele_kod, ~nrpzs_druh_poskytovatele_nazev,
  "010", "Sdružení zdravotnických zařízení",
  "101", "Fakultní nemocnice",
  "102", "Nemocnice",
  "103", "Specializovaná nemocnice",
  "104", "Psychiatrická nemocnice",
  "105", "Nemocnice následné péče",
  "110", "Léčebna pro dlouhodobě nemocné (LDN)",
  "111", "Léčebna tuberkulózy a respiračních nemocí (TRN)",
  "112", "Psychiatrická léčebna",
  "113", "Rehabilitační ústav",
  "119", "Ostatní odborné léčebné ústavy",
  "122", "Dětská psychiatrická léčebna",
  "129", "Ostatní dětské odborné léčebné ústavy",
  "130", "Lázeňská léčebna",
  "141", "Dětská ozdravovna",
  "180", "Hospic",
  "190", "Další lůžkové zařízení",
  "300", "Sdružení ambulantních zařízení",
  "301", "Poskytovatel ambulantních služeb (nad 5 oborů)",
  "302", "Poskytovatel ambulantních služeb (pod 5 oborů)",
  "305", "Centrum asistované reprodukce",
  "310", "Zdravotnické středisko",
  "312", "Zařízení závodní preventivní péče",
  "320", "Samostatná ordinace všeobecného praktického lékaře",
  "321", "Samostatná ordinace praktického lékaře pro děti a dorost",
  "322", "Samostatná ordinace PL - stomatologa",
  "323", "Samostatná ordinace PL - gynekologa",
  "324", "Samostatná ordinace lékaře specialisty",
  "340", "Samostatné zařízení psychologa",
  "341", "Samostatné zařízení logopeda",
  "350", "Domácí zdravotní péče",
  "351", "Samostatné zařízení fyzioterapeuta",
  "352", "Samostatné zařízení nelékaře - návš.služ.sestry",
  "354", "Zdravotní péče v ústavech sociální p.",
  "359", "Samostatné zařízení nelékaře - jiné",
  "360", "Samostatná stomatologická laboratoř",
  "361", "Samostatná odborná laboratoř",
  "362", "Odběrová místnost",
  "363", "Odběr krevní plasmy",
  "370", "Samostatná transfuzní stanice",
  "380", "Zařízení LPS",
  "389", "Koroner",
  "390", "Hemodialyzační středisko",
  "398", "Zařízení pro léčbu závislostí",
  "399", "Ostatní ambulantní zařízení",
  "400", "Sdružení dětských zařízení",
  "410", "Kojenecký ústav",
  "420", "Dětský domov pro děti do 3 let",
  "430", "Dětské centrum",
  "431", "Dětský stacionář",
  "440", "Jesle",
  "450", "Další dětské zařízení",
  "460", "Stacionář",
  "461", "Psychoterapeutický stacionář",
  "465", "Krizové centrum",
  "466", "Centrum duševního zdraví",
  "476", "Záchytná stanice",
  "480", "Zdravotnická dopravní služba",
  "481", "Zdravotnická záchranná služba",
  "483", "Výjezdová skupina záchranné služby",
  "484", "Další zařízení záchranné služby",
  "485", "Přeprava pacientů neodkladné péče",
  "499", "Ostatní zvláštní zdravotnická zařízení",
  "501", "Sdružení lékáren",
  "510", "Lékárna",
  "521", "Výdejna zdravotnických prostředků",
  "523", "Oční optika",
  "530", "Státní ústav pro kontrolu léčiv",
  "600", "Státní zdravotní ústav",
  "601", "Krajská hygienická stanice",
  "605", "Zdravotní ústav",
  "609", "Další zařízení hygienické služby",
  "831", "IPVZ",
  "832", "NCONZO",
  "900", "Ostatní organizace MZ",
  "950", "Ostatní zdravotnická zařízení",
  "961", "Zdravotnické zařízení v likvidaci",
  "962", "Hospodářská org. neposkyt. zdrav. péči",
  "963", "Servisní organizace"
)

# Stažení číselníku IČZ (NR-04-64) – jednou, použito pro druh i název poskytovatele
nr0464 <- read_delim(
  "https://data.mzcr.cz/data/distribuce/456/Otevrena-data-NR-04-64-ciselnik-icz-pojistovny-historicke.csv",
  delim = ",",
  locale = locale(decimal_mark = "."),
  show_col_types = FALSE
) |>
  rename_with(tolower)

# Značení druhu poskytovatele
druh_poskytovatele <- nr0464 |>
  mutate(nrpzs_druh_poskytovatele_kod =
           as.character(nrpzs_druh_poskytovatele_kod)) |>
  left_join(ciselnik_druh_poskytovatele, by = "nrpzs_druh_poskytovatele_kod") |>
  select(icz,
         nrpzs_druh_poskytovatele_kod,
         nrpzs_druh_poskytovatele_nazev) |>
  rename(druh_poskytovatele_kod = 'nrpzs_druh_poskytovatele_kod',
         druh_poskytovatele_nazev = 'nrpzs_druh_poskytovatele_nazev') |>
  filter(!is.na(druh_poskytovatele_nazev)) |>
  distinct(icz, druh_poskytovatele_nazev) |>
  group_by(icz) |>
  summarise(
    druh_poskytovatele_nazev = first(druh_poskytovatele_nazev),
    .groups = "drop"
  )

# Značení názvů poskytovatelů
nazev_poskytovatele <- nr0464 |>
  select(icz, icz_nazev, ico_nazev) |>
  mutate(
    across(
      c(icz_nazev, ico_nazev),
      ~ .x |>
        stringr::str_squish() |>
        stringr::str_to_lower(locale = "cs") |>
        stringi::stri_trans_general("Latin-ASCII")
    )
  ) |>
  group_by(icz) |>
  summarise(
    icz_nazev = paste(unique(na.omit(icz_nazev)), collapse = "\n"),
    ico_nazev = paste(unique(na.omit(ico_nazev)), collapse = "\n"),
    .groups = "drop"
  )

rm(nr0464)
Zobrazit kód
# --- Stažení datových setů -------------------------------------------------

# Stažení datového souboru pojišťoven
pojistovny <-
  read_delim(
  "https://data.mzcr.cz/data/distribuce/419/Otevrena-data-NR-04-30-zdravotnicke-prostredky-kod-mesic-pojistovna.csv",
  delim = ",",
  locale = locale(decimal_mark = "."),
  show_col_types = FALSE
) |>
  rename_with(tolower)

# Stažení datového souboru poskytovatelů
poskytovatele <-
  read_delim(
  "https://data.mzcr.cz/data/distribuce/422/Otevrena-data-NR-04-31-zdravotnicke-prostredky-kod-mesic-icz.csv",
  delim = ",",
  locale = locale(decimal_mark = "."),
  show_col_types = FALSE
) |>
  rename_with(tolower)

Z odbornosti předepisujícího pracoviště byly dále odvozeny proměnné typ péče (ambulantní vs. lůžková péče) a agregované skupiny odborností, které umožňují interpretovat výsledky na vyšší úrovni detailu. Numerické proměnné byly převedeny na odpovídající datové typy.

Zobrazit kód
# --- Příprava dat poskytovatelů: -------------------------------------------
# - výběr období 2020–2024
# - doplnění krajů a skupin zdravotnických prostředků
# - vytvoření kategorií typu péče a odborností
# - převod proměnných na správné datové typy
data <- poskytovatele |>
  filter(rok %in% 2020:2024) |>
  mutate(across(where(is.character), ~na_if(.x, "")),
         icz = as.character(icz),
         pzt_typ = as.numeric(pzt_typ)) |> # špatně převedený NAs u stringu
  left_join(kraj_ciselnik, by = c('okres_predepsani' = 'kod_okres')) |>
  left_join(pzt_ciselnik, by = c('pzt_typ' = 'kod')) |>
  rename(pzt_label = 'label') |>
  mutate(rok = lubridate::year(as.Date.character(rok, format = "%Y")),
         nazev_kraj = factor(nazev_kraj),
         kod_kraj = factor(kod_kraj),
         typ_pece = 
           case_when(str_detect(odbornost_predepisujici, "^\\d{3}$") ~ 
                       "ambulantní péče",
                     str_detect(odbornost_predepisujici, "^\\d[A-Z]\\d$") ~ 
                       "lůžková péče",
                     TRUE ~ NA),
         skupiny_odbornosti =
           case_when(str_detect(odbornost_predepisujici, "^0\\d{2}$") ~ 
                       "0 - praktické a zubní lékařství",
                    str_detect(odbornost_predepisujici, "^1") ~ 
                      "1 - interní obory",
                    str_detect(odbornost_predepisujici, "^2") ~ 
                      "2 - rehabilitace, hematologie, neurologie aj.",
                    str_detect(odbornost_predepisujici, "^3") ~ 
                      "3 - pediatrie a psychiatrie",
                    str_detect(odbornost_predepisujici, "^4") ~ 
                      "4 - onkologie, dermatologie, radioterapie aj.",
                    str_detect(odbornost_predepisujici, "^5") ~ 
                      "5 - chirurgické obory",
                    str_detect(odbornost_predepisujici, "^6") ~ 
                      "6 - gynekologie, ortopedie, plastická chirurgie aj.",
                    str_detect(odbornost_predepisujici, "^7") ~ 
                      "7 - ORL, oftalmologie, urologie, ARO aj.",
                    str_detect(odbornost_predepisujici, "^8") ~ 
                      "8 - laboratoře a diagnostika",
                    str_detect(odbornost_predepisujici, "^9") ~ 
                      "9 - nelékařské a ostatní zdravotnické obory",
                    str_detect(odbornost_predepisujici, "^1[A-Z]\\d$") ~ 
                      "1 - interní obory",
                    str_detect(odbornost_predepisujici, "^2[A-Z]\\d$") ~ 
                      "2 - rehabilitace, neurologie, hematologie aj.",
                    str_detect(odbornost_predepisujici, "^3[A-Z]\\d$") ~ 
                      "3 - pediatrie a psychiatrie",
                    str_detect(odbornost_predepisujici, "^4[A-Z]\\d$") ~ 
                      "4 - onkologie, dermatologie, radioterapie aj.",
                    str_detect(odbornost_predepisujici, "^5[A-Z]\\d$") ~ 
                      "5 - chirurgie",
                    str_detect(odbornost_predepisujici, "^6[A-Z]\\d$") ~ 
                      "6 - gynekologie, ortopedie, plastická chirurgie aj.",
                    str_detect(odbornost_predepisujici, "^7[A-Z]\\d$") ~ 
                      "7 - ORL, oftalmologie, urologie, ARO aj.",
                    str_detect(odbornost_predepisujici, "^9[A-Z]\\d$") ~ 
                      "9 - následná a ošetřovatelská péče",
                    TRUE ~ NA),
         mesic_label = factor(mesic, 
                         labels = c("leden", "únor", "březen", "duben", "květen",
                                    "červen", "červenec", "srpen", "září", 
                                    "říjen", "listopad", "prosinec")),
         icz = as.character(icz),
         pocet_baleni = as.numeric(pocet_baleni),
         uhrada_zp = as.numeric(uhrada_zp)
      )

# --- Příprava dat zdravotních pojišťoven:-----------------------------------
# - nahrazení prázdných hodnot
# - doplnění názvů a zkratek pojišťoven
# - převod numerických proměnných
pojistovny <- pojistovny |>
  mutate(across(where(is.character), ~na_if(.x, ""))) |> # špatně převedený NAs u stringu
  left_join(pojistovny_ciselnik, by = c('pojistovna' = 'kod')) |>
  rename(pojistovna_label = 'nazev', pojistovna_zkratka = 'zkratka') |>
  mutate(pocet_baleni = as.numeric(pocet_baleni),
         uhrada_zp = as.numeric(uhrada_zp))
Tabulka 1: Přehled základních charakteristik datového souboru poskytovatelů.
Unique Missing Pct. Mean SD Min Median Max Histogram
rok 5 0 2022,1 1,4 2020,0 2022,0 2024,0
mesic 12 0 6,5 3,4 1,0 6,0 12,0
pocet_baleni 4882 0 10,9 59,8 0,0 4,0 112558,0
uhrada_zp 796896 0 10730,5 69441,8 0,0 1543,2 18503976,0

Datová sada je z hlediska kvality velmi dobře připravená, protože u hlavních sledovaných proměnných nejsou přítomny chybějící hodnoty. Obsahuje data za 5 let a všech 12 měsíců v roce.

Většina záznamů se týká nižších počtů balení a menších úhrad, zatímco jen malá část případů dosahuje velmi vysokých hodnot. Typický záznam obsahuje přibližně 4 balení zdravotnických prostředků a úhradu okolo 1,5 tis. Kč. Současně se však v datech objevují i extrémní hodnoty – například více než 112 tisíc balení nebo úhrady přesahující 18,5 mil. Kč.

To naznačuje, že zdravotnické prostředky jsou hrazeny velmi nerovnoměrně: velké množství běžných a levnějších prostředků doplňuje menší počet velmi nákladných zdravotnických prostředků, které výrazně zvyšují celkové výdaje zdravotních pojišťoven.

Datová sada nevykazuje závažné problémy s kvalitou dat. Geografické údaje (okres_predepisujici) neobsahují chybějící hodnoty. Pouze u proměnné odbornost_predepisujici se vyskytuje přibližně 2,2 % chybějících hodnot, což představuje relativně nízký podíl dat.

2 Metodologie

Analýza kombinuje deskriptivní statistiku, grafické metody a vybrané statistické postupy zaměřené na hodnocení růstu, koncentrace a struktury úhrad zdravotnických prostředků. Vedle základních souhrnných ukazatelů jsou využity metody pro rozklad růstu úhrad na cenovou a objemovou složku, měření koncentrace prostředků mezi poskytovateli a plátci, hodnocení vztahů mezi kategoriálními proměnnými a analýzu rozdílů mezi skupinami poskytovatelů.

Následující podkapitoly stručně představují použité metody a ukazatele, které jsou následně aplikovány při interpretaci výsledků.

Poznámka

Data představují úplnou populaci vykázaných úhrad, nikoli náhodný výběr. Klasické p-hodnoty proto mají omezenou interpretaci – při milionech záznamů je prakticky každý rozdíl „statisticky významný”. Důraz je proto kladen na velikosti účinku (Giniho koeficient, HHI, Cramérovo V, epsilon², rank-biseriální korelace), které kvantifikují sílu jevu, nikoli pouze jeho přítomnost.

2.1 Dekompozice růstu úhrad

Celkové úhrady lze chápat jako součin počtu vykázaných balení a průměrné ceny za balení:

\[ V = Q \cdot P, \]

kde \(V\) označuje celkové úhrady, \(Q\) počet balení a \(P\) průměrnou cenu za balení.

Změna úhrad mezi dvěma obdobími je rozložena pomocí metody LMDI na příspěvek objemu a ceny:

\[ \Delta V = \Delta V_Q + \Delta V_P. \]

Váha dekompozice je dána logaritmickým průměrem: \(L(V_1,V_0) = \frac{V_1 - V_0}{\ln V_1 - \ln V_0}.\)

Příspěvek změny objemu je \(\Delta V_Q = L(V_1,V_0) \cdot \ln\left(\frac{Q_1}{Q_0}\right)\)

a příspěvek změny ceny \(\Delta V_P = L(V_1,V_0) \cdot \ln\left(\frac{P_1}{P_0}\right).\)

Tento postup umožňuje přesně rozdělit celkový nárůst úhrad na část způsobenou vyšším objemem vykázaných prostředků a část způsobenou růstem průměrné ceny.

# --- Logaritmický průměr (váha v LMDI dekompozici) -------------------------
# Pro a == b vrací a (limitní hodnota), jinak (a - b) / (log a - log b).
log_mean <- function(a, b) {
  ifelse(a == b, a, (a - b) / (log(a) - log(b)))
}

# --- LMDI dekompozice dvoufaktorového součinu V = Q * P --------------------
# Rozkládá změnu hodnoty V mezi dvěma obdobími na příspěvek objemu (Q)
# a příspěvek ceny (P). Příspěvky jsou aditivní: d_total = d_volume + d_price.
#   V0, V1 – hodnota (úhrada) na začátku a na konci období
#   Q0, Q1 – objem (počet balení)
#   P0, P1 – cena na jednotku (úhrada / balení)
lmdi_2f <- function(V0, V1, Q0, Q1, P0, P1) {
  L <- log_mean(V1, V0)
  list(
    d_total  = V1 - V0,
    d_volume = L * log(Q1 / Q0),
    d_price  = L * log(P1 / P0)
  )
}

2.2 Koncentrace úhrad

Koncentrace úhrad mezi poskytovateli je hodnocena pomocí Giniho koeficientu. Ten nabývá hodnot od 0 do 1, kde 0 znamená zcela rovnoměrné rozdělení a 1 maximální koncentraci.

\[ G = \frac{ \sum_{i=1}^{n}\sum_{j=1}^{n} |x_i - x_j| }{ 2n^2\bar{x} }, \]

kde \(x_i\) představuje úhradu poskytovatele \(i\), \(n\) počet poskytovatelů a \(\bar{x}\) průměrnou úhradu.

# --- Giniho koeficient -----------------------------------------------------
# Míra nerovnoměrnosti rozdělení (0 = dokonalá rovnost, 1 = maximální
# koncentrace). Vstupem je vektor nezáporných hodnot.
gini <- function(x) {
  x <- sort(x[!is.na(x)])
  n <- length(x)
  if (n == 0 || sum(x) == 0) return(NA_real_)
  i <- seq_len(n)
  (2 * sum(i * x)) / (n * sum(x)) - (n + 1) / n
}

# --- Bootstrapový interval spolehlivosti pro Giniho koeficient -------------
# Neparametrický percentilový interval z R bootstrapových výběrů.
gini_bootstrap_ci <- function(x, R = 1000, conf = 0.95, seed = 42) {
  x <- x[!is.na(x)]
  if (length(x) < 2) return(c(lwr = NA_real_, upr = NA_real_))
  set.seed(seed)
  boot <- replicate(R, gini(sample(x, replace = TRUE)))
  alpha <- (1 - conf) / 2
  out <- stats::quantile(boot, c(alpha, 1 - alpha), na.rm = TRUE)
  c(lwr = unname(out[1]), upr = unname(out[2]))
}

Koncentrace podle vybraných skupin je doplněna Herfindahlovým–Hirschmanovým indexem:

\[ HHI = \sum_{i=1}^{n} s_i^2, \]

kde \(s_i\) je podíl subjektu \(i\) na celkových úhradách; čím vyšší je jeho hodnota, tím více jsou úhrady soustředěny do menšího počtu subjektů. Z HHI lze odvodit efektivní počet těchto velkých subjektů : \(N_{\text{eff}} = \frac{1}{HHI}\)

# --- Herfindahlův–Hirschmanův index (HHI) ----------------------------------
# Míra koncentrace trhu. Vstupem jsou podíly nebo absolutní hodnoty
# (ty se na podíly přepočítají). Vrací HHI na škále 0–1 a efektivní
# počet subjektů (1 / HHI).
#   x             – vektor hodnot nebo podílů
#   already_shares – TRUE, pokud x už jsou podíly (součet 1)
hhi <- function(x, already_shares = FALSE) {
  x <- x[!is.na(x)]
  shares <- if (already_shares) x else x / sum(x)
  h <- sum(shares^2)
  c(hhi = h, eff_n = 1 / h)
}

2.3 Neparametrické testování rozdílů mezi skupinami

Pro porovnání dvou skupin, například ambulantní a lůžkové péče, je použit Mannův–Whitneyho test. Test porovnává rozdělení hodnot mezi dvěma nezávislými skupinami. Pokud mají skupiny podobný tvar rozdělení, lze jej interpretovat jako test rozdílu mediánů. Síla rozdílu je vyjádřena pomocí rank-biseriální korelací: \(r_{rb} = 1 - \frac{2U}{n_1 n_2},\) kde \(U\) je Mann–Whitneyho statistika a \(n_1,\) \(n_2\) jsou počty pozorování v jednotlivých skupinách.

# --- Mannův–Whitneyho test a rank-biseriální korelace ----------------------

# Porovnání rozdělení úhrad mezi ambulantní a lůžkovou péčí
wilcox.test(uhrada ~ typ_pece, data = data)

# Velikost efektu vyjádřená rank-biseriální korelací
rank_biserial(data$uhrada, data$typ_pece)

Rozdíly v úhradách mezi více skupinami poskytovatelů jsou testovány Kruskalovým–Wallisovým testem, který představuje zobecnění Mannova–Whitneyho testu pro více než dvě nezávislé skupiny. Velikost účinku je vyjádřena pomocí epsilon kvadrátu \(\varepsilon^2 = \frac{H - k + 1}{n - k},\) kde \(H\) je testová statistika, \(k\) počet skupin a \(n\) počet pozorování.

# --- Kruskalův–Wallisův test rozdílů mezi skupinami odborností -------------

# Porovnání rozdělení úhrad mezi různé skupiny odborností
kw <- kruskal.test(uhrada ~ skupiny_odbornosti, data = data)

# Velikost efektu vyjádřená epsilon kvadrátem
epsilon_squared(as.numeric(kw$statistic), nrow(data))

2.4 Trend v čase

Monotónní trend úhrad v čase je ověřen Mann–Kendallovým testem. Ten hodnotí, zda mají hodnoty v časové řadě systematicky rostoucí nebo klesající tendenci. Test je založen na Kendallově korelaci pořadí:

\[ \tau = \frac{C - D}{\frac{1}{2}n(n-1)}, \]

kde \(C\) je počet souhlasných dvojic, \(D\) počet nesouhlasných dvojic a \(n\) počet pozorování. Tento test je vhodný zejména pro situace, kdy není nutné předpokládat normalitu dat a kdy nás zajímá směr dlouhodobého trendu.

# --- Ověření monotónního trendu pomocí Kendallovy pořadové korelace --------
# (neparametrická alternativa vhodná pro časové řady s odlehlými hodnotami)
cor.test(x, y, method = "kendall")

3 Dlouhodobý růst úhrad zdravotnických prostředků

3.1 Úhrady dlouhodobě rostou navzdory sezónním výkyvům

Obrázek 1: Měsíční vývoj úhrad od zdravotních pojišťoven v letech 2020–2024.

Ve všech sledovaných letech je patrný podobný sezónní průběh, kdy nejnižší úhrady bývají zpravidla v letních měsících, zejména v červenci a srpnu, zatímco vyšší hodnoty se objevují na podzim, především v říjnu a listopadu. Zároveň je patrný postupný meziroční růst úhrad, přičemž rok 2024 dosahuje téměř ve všech měsících nejvyšších hodnot ze všech sledovaných let. Pandemie COVID-19 přitom výrazně nenarušila celkový trend vývoje úhrad zdravotnických prostředků, protože napříč sledovanými lety pokračuje postupný každoroční růst celkových úhrad.

Celkové úhrady zdravotních pojišťoven meziročně rostly přibližně o 8–16 % ročně, přičemž nejvyšší růst byl zaznamenán v roce 2022. Současně se každoročně zvyšoval i počet vydaných balení zdravotnických prostředků, a to přibližně o 4–6 % ročně. To naznačuje, že lidé postupně využívají více zdravotnických prostředků a zároveň rostou i náklady na jejich úhradu.

Tento vývoj může souviset jak se sezónností zdravotní péče, tak s dlouhodobým růstem objemu poskytovaných zdravotnických prostředků a jejich cen. Pro přesnější interpretaci by však bylo vhodné doplnit analýzu také o vliv inflace, protože část pozorovaného růstu může být způsobena růstem cen zdravotnických prostředků a obecnou cenovou hladinou, nikoli pouze zvýšením objemu poskytované péče.

# --- Trend v čase (Mann-Kendall, měsíční řada) -----------------------------

# Agregace celkových měsíčních úhrad do časové řady
ts_mesic <- data |>
  group_by(rok, mesic) |>
  summarise(uhrada = sum(uhrada_zp, na.rm = TRUE), .groups = "drop") |>
  arrange(rok, mesic) |>
  
  # vytvoření časového indexu
  mutate(t = row_number())

# Ověření monotónního trendu úhrad v čase pomocí
# Kendallovy pořadové korelace mezi časem a úhradami
mk <- suppressWarnings(
  cor.test(ts_mesic$t, ts_mesic$uhrada, method = "kendall")
)

Dlouhodobý růst úhrad potvrzuje Mann–Kendallův test monotónního trendu, aplikovaný na měsíční řadu celkových úhrad (60 měsíců). Test prokazuje silný rostoucí trend (Kendallovo τ = 0,58, p < 0,001), což odpovídá vizuálně patrnému meziročnímu nárůstu i přes výraznou sezónnost.

3.2 Růst úhrad je tažen především vyšším objemem

Celkové úhrady zdravotnických prostředků mohou růst ze dvou hlavních důvodů: zvyšuje se počet vykázaných balení (objem), nebo roste úhrada za jedno balení (cena). Pro oddělení vlivu těchto dvou faktorů byla použita logaritmická dekompozice indexů (LMDI, viz metodologie Sekce 2.1), která umožňuje přesně vyčíslit příspěvek každé složky k celkové změně úhrad.

# --- Dekompozice objem vs. cena --------------------------------------------

# Roční agregace úhrad a počtu balení
rocni <- data |>
  group_by(rok) |>
  summarise(
    uhrada = sum(uhrada_zp, na.rm = TRUE),
    baleni = sum(pocet_baleni, na.rm = TRUE),
    .groups = "drop"
  ) |>
  arrange(rok) |>
  
  # Průměrná úhrada na jedno balení
  mutate(cena = uhrada / baleni)

# Meziroční LMDI dekompozice příspěvku objemu a ceny
rocni_lmdi <- rocni |>
  mutate(
    
    # Hodnoty z předchozího roku
    V0 = lag(uhrada), Q0 = lag(baleni), P0 = lag(cena),
    
    # Logaritmický průměr jako váha LMDI rozkladu
    L_w      = log_mean(uhrada, V0),
    
    # Absolutní příspěvek změny objemu a ceny
    d_volume = L_w * log(baleni / Q0),
    d_price  = L_w * log(cena / P0),
    
    # Celková absolutní meziroční změna úhrad
    d_total  = uhrada - V0,
    
    # Relativní meziroční příspěvky v %
    # Úhrada = balení × cena, proto se log-změny přesně sčítají)
    pct_volume = log(baleni / Q0) * 100,
    pct_price  = log(cena / P0) * 100,
    pct_total  = log(uhrada / V0) * 100
  ) |>
      
  # První rok nemá předchozí hodnotu pro srovnání
  filter(!is.na(V0))
Obrázek 2: Meziroční tempo růstu úhrad rozložené na příspěvek objemu (počtu balení) a ceny za balení. Tečka = celková meziroční změna úhrad.
Zobrazit kód
# CPI index (ČSÚ – průměrná roční míra inflace), 2020 = 100
cpi <- tibble::tibble(
  rok       = 2020:2024,
  cpi_index = c(100, 103.8, 119.5, 132.3, 136.0)
)

# Celková LMDI dekompozice změny mezi prvním a posledním rokem
r0  <- rocni |> filter(rok == min(rok))
r1  <- rocni |> filter(rok == max(rok))

# Rozklad celkové změny úhrad na objemovou a cenovou složku dle vlastní funkce
dec <- lmdi_2f(r0$uhrada, r1$uhrada, 
               r0$baleni, r1$baleni, 
               r0$cena, r1$cena)

# Podíl objemové a cenové složky na celkové změně úhrad
share_volume <- dec$d_volume / dec$d_total
share_price  <- dec$d_price  / dec$d_total

# Nominální vs. reálná cena za balení
cpi_end  <- cpi$cpi_index[cpi$rok == max(rocni$rok)] / 100

# Nominální růst ceny za balení mezi prvním a posledním rokem
g_nom    <- r1$cena / r0$cena - 1

# Reálný růst ceny po očištění o kumulovanou inflaci
g_real   <- (r1$cena / cpi_end) / r0$cena - 1

# Kumulovaná inflace mezi základním a posledním rokem
inflace_kum <- cpi_end - 1

Z celkového nárůstu úhrad o 10,8 mld. Kč mezi roky 2020 a 2024 lze přibližně 46,4 %připsat na růst objemu vykázaných balení a 53,6 % růstu ceny za jedno balení. Graf ukazuje postupné zpomalování růstu úhrad – klesají jak absolutní, tak relativní přírůstky z téměř 15 % v roce 2022 na přibližně 7,5 % v roce 2024. Zároveň dochází k přesunu od cenově taženého růstu k růstu založenému především na vyšším objemu vykázaných balení.

Vliv inflace

Průměrná nominální úhrada na jedno balení vzrostla mezi lety 2020 a 2024 o 25,7 %. Ve stejném období však kumulativní dosáhla přibližně 36,0 % podle údajů ČSÚ. Po přepočtu do stálých cen tak reálná úhrada na balení ve skutečnosti poklesla o -7,6 %. Výsledky naznačují, že růst celkových úhrad byl tažen především vyšším počtem vykázaných balení, zatímco růst nominálních cen z velké části odrážel obecný inflační vývoj v ekonomice.

4 Koncentrace úhrad do velkých regionálních center

Zobrazit kód
library(sf)
# library(rnaturalearth)
# library(rnaturalearthdata)

# Součet úhrad podle krajů
mapa_data <- data |>
  filter(!is.na(kod_kraj)) |>
  group_by(kod_kraj) |>
  summarise(
    uhrada_zp = sum(uhrada_zp, na.rm = TRUE),
    .groups = "drop"
  ) |>
  mutate(
    podil_CR = uhrada_zp / sum(uhrada_zp),
    podil_label = scales::percent(
      podil_CR,
      accuracy = 0.1,
      decimal.mark = ","
    )
  )

# Mapa ČR
kraje_sf <- RCzechia::kraje()

# Spojení mapy a dat
mapa_sf <- kraje_sf |>
  left_join(
    mapa_data,
    by = c("KOD_CZNUTS3" = "kod_kraj")
  ) |>
  sf::st_transform(5514)

# Interaktivní graf
ggplot(mapa_sf) +
  geom_sf(aes(fill = podil_CR), color = "white") +
  geom_sf_text(
    aes(label = podil_label),
    size = 3
  ) +
  scale_fill_gradient(
    low = "#dbe9f6",
    high = "#007B3DFF",
    labels = scales::label_percent(
      accuracy = 0.1,
      decimal.mark = ","
    )
  ) +
  labs(
    title = "",
    fill = "Podíl na ČR"
  ) +
  theme_minimal() +
  theme(
    axis.text = element_blank(),
    axis.ticks = element_blank(),
    axis.title = element_blank(),
    panel.grid = element_blank()
  )
Obrázek 3: Regionální podíl na celkových úhradách zdravotních pojišťoven.

Nejvyšší podíl na celkových úhradách zdravotnických prostředků připadá na Prahu (30,6 %), která výrazně převyšuje ostatní kraje. Vyšší podíl vykazují také Jihomoravský kraj (12,4 %)Moravskoslezský kraj (10,5 %). Naopak nejnižší podíly mají Karlovarský kraj (1,7 %), Pardubický kraj (2,7 %) a kraj Vysočina (2,8 %).

Rozložení úhrad pravděpodobně souvisí zejména s velikostí populace a koncentrací velkých nemocnic, specializovaných zdravotnických pracovišť ve velkých krajských centrech a lékařských fakult ve velkých krajských centrech.

5 Většina prostředků končí u relativně malého počtu poskytovatelů

Data umožňují sledovat úhrady na úrovni jednotlivých poskytovatelů zdravotních služeb identifikovaných prostřednictvím IČZ. V datové sadě figuruje celkem 19 923 poskytovatelů s nenulovou úhradou.

Úhrady jsou přitom výrazně koncentrované. Polovinu všech výdajů čerpá pouze 19 poskytovatelů, tedy zhruba (0,1%) ze všech poskytovatelů. Pro dosažení 80 % úhrad stačí 198 poskytovatelů a 95 % úhrad pokrývá 3 208 poskytovatelů. Žebříčku největších příjemců dominuje Všeobecná zdravotní pojišťovna. Zbývající místa jsou obsazena převážně fakultními a krajskými nemocnicemi, doplněnými o IKEM (Institut klinické a experimentální medicíny).

Obrázek 4: Koncentrační křivka úhrad zdravotnických prostředků podle poskytovatelů (2020–2024).

Koncentrační křivka výrazně odchyluje od diagonály, což potvrzuje silnou nerovnoměrnost v rozdělení úhrad. Malá část poskytovatelů – zejména velké nemocnice (viz Sekce 6.2) – váže drtivou většinu prostředků ze zdravotního pojištění.

Koncentrační křivku doplňuje Giniho koeficient (viz metodologie Sekce 2.2), který je pro každý rok vypočten z celkových ročních úhrad agregovaných na úroveň poskytovatele (IČZ). Hodnota 0 odpovídá zcela rovnoměrnému rozdělení úhrad mezi poskytovatele, hodnota 1 naopak maximální koncentraci prostředků u jediného subjektu.

Pro posouzení nejistoty odhadu je ke každému Giniho koeficientu dopočten 95% bootstrapový interval spolehlivosti založený na 300 bootstrapových replikacích. Výsledkem je časová řada ročních hodnot koncentrace úhrad.

# --- Giniho koeficient koncentrace úhrad mezi poskytovateli (IČZ) ----------

# Výpočet koncentrace úhrad mezi poskytovateli (IČZ) po jednotlivých letech
gini_rok <- data |>
  filter(!is.na(icz)) |>

  # výpočet Giniho koeficientu pro každý rok zvlášť
  group_by(rok, icz) |>
  summarise(uhrada = sum(uhrada_zp, na.rm = TRUE), .groups = "drop") |>
  group_by(rok) |>
  summarise(
    # míra koncentrace úhrad mezi poskytovateli
    gini = gini(uhrada),
    
     # 95% bootstrapový interval spolehlivosti (300 replikací)
    ci   = list(gini_bootstrap_ci(uhrada, R = 300)),
    .groups = "drop"
  ) |>
  
  # rozbalení dolní a horní meze intervalu do samostatných sloupců
  mutate(
    lwr = vapply(ci, function(z) z[["lwr"]], numeric(1)),
    upr = vapply(ci, function(z) z[["upr"]], numeric(1))
  ) |>
  select(-ci)

Případný trend koncentrace v čase je následně ověřen pomocí Kendallova testu monotónního trendu (viz metofologie Sekce 2.4), který hodnotí, zda Giniho koeficient v průběhu let systematicky roste nebo klesá. Test je založen na Kendallově korelačním koeficientu \(\tau\) a nevyžaduje předpoklad normality dat.

Zobrazit kód
# Ověření, zda se koncentrace úhrad v čase mění.
# ---Kendallův test hodnotí monotónní trend Giniho koeficientu mezi roky ----
gini_trend <- suppressWarnings(
  cor.test(gini_rok$rok, gini_rok$gini, method = "kendall")
)
Tabulka 2: Giniho koeficient koncentrace úhrad mezi poskytovateli podle roku (95% bootstrapový interval).
Rok Giniho koeficient 95% interval spolehlivosti
2020 0,935 0,915 – 0,947
2021 0,938 0,920 – 0,949
2022 0,942 0,927 – 0,953
2023 0,941 0,923 – 0,951
2024 0,943 0,928 – 0,954

Giniho koeficient se pohybuje kolem 0,94, což potvrzuje extrémně vysokou koncentraci úhrad do malého počtu poskytovatelů. Míra této koncentrace zůstává mezi lety 2020–2024 prakticky beze změny. Kendallův trendový test nenaznačuje výraznou změnu koncentrace v čase (\(\tau\) = 0,80, \(p\)-hodnota = 0,083).

6 Relativně stabilní struktura úhrad v čase

6.1 Úhrady rostou, ale bez zásadní změny struktury péče

Obrázek 5: Vývoj úhrad od zdravotních pojišťoven podle typu péče v letech 2020–2024.

Ve všech sledovaných letech tvoří největší část úhrad ambulantní péče, jejíž podíl se pohybuje okolo 60 %, zatímco lůžková péče představuje přibližně 38–40 % celkových úhrad. Kategorie „neuvedeno“ je zanedbatelná a po roce 2021 se prakticky nevyskytuje. Současně je, jak už bylo řečeno výše, patrný výrazný meziroční růst celkových úhrad zdravotnických prostředků, které vzrostly o 53 %, tj. z přibližně 20 mld. Kč v roce 2020 na více než 31 mld. Kč v roce 2024. Struktura úhrad podle typu péče přitom zůstává relativně stabilní, což naznačuje, že růst výdajů probíhá obdobně v ambulantní i lůžkové péči.

Zobrazit kód
# Otestování rozdílů v úhradách mezi ambulantní a lůžkovou péčí
agg_tp <- data |>
  filter(!is.na(icz), !is.na(typ_pece)) |>
  group_by(icz, rok, typ_pece) |>
  summarise(
    uhrada = sum(uhrada_zp, na.rm = TRUE),
    .groups = "drop"
  )

# Mannův–Whitneyho test a rank-biseriální korelace
mw  <- suppressWarnings(wilcox.test(uhrada ~ typ_pece, data = agg_tp))
rbc <- rank_biserial(agg_tp$uhrada, agg_tp$typ_pece)

# Medián úhrad podle typu péče
med_tp <- agg_tp |>
  group_by(typ_pece) |>
  summarise(
    med = median(uhrada, na.rm = TRUE),
    .groups = "drop"
  )

Protože rozdělení úhrad je silně pravostranně zešikmené, jsou rozdíly mezi skupinami testovány neparametricky na úrovni agregace poskytovatel–rok.

Mannův–Whitneyho test potvrdil statisticky významný rozdíl mezi ambulantní a lůžkovou péčí (\(p\)-hodnota < 0,001). Velikost efektu je však podle rank-biseriální korelace (\(r_{rb}\) = 0,12) spíše malá. Medián úhrady na poskytovatele a rok dosahuje 0,12 mil. Kč v ambulantní péči a 0,21 mil. Kč v lůžkové péči, což naznačuje vyšší úhrady u poskytovatelů lůžkové péče.

6.2 Více než polovina úhrad míří do nemocniční péče

Obrázek 6: Vývoj úhrad zdravotnických prostředků podle druhu poskytovatele v letech 2020–2024.

Úhrady zdravotnických prostředků dlouhodobě směřují především do nemocniční péče. Fakultní a ostatní nemocnice společně čerpají přibližně 55 % všech prostředků. Významnou položku tvoří také poskytovatelé bez jednoznačně identifikovaného typu zařízení, jejichž podíl se stabilně pohybuje kolem 22 %. Ambulantní specialisté a praktičtí lékaři dohromady získávají přibližně pětinu úhrad, zatímco lékárenská péče představuje méně než 1 % a spadá do kategorie “ostatní”. Struktura příjemců úhrad se mezi lety 2020–2024 mění jen minimálně; patrný je pouze pozvolný růst podílu nemocniční péče a mírný pokles podílu primární péče.

6.3 Koncentrace úhrad do hlavních medicínských odborností

V ambulantní péči dlouhodobě tvoří největší část úhrad interní obory, jejichž podíl se ve všech letech pohybuje okolo 37–39 %. Druhou nejvýznamnější skupinou je praktické a zubní lékařství, jehož podíl však postupně klesá. Naopak chirurgické obory v čase mírně posilují a v roce 2024 dosahují již více než 12 % ambulantních úhrad. Významný a relativně stabilní podíl mají také odbornosti spojené s ORL, oftalmologií, urologií a ARO.

Lůžková péče je ve všech sledovaných letech výrazně koncentrovaná do tří hlavních skupin odborností – chirurgických oborů, oborů spojených s gynekologií, ortopedií a plastickou chirurgií a interních oborů. Tyto tři skupiny každoročně tvoří přibližně 90 % všech úhrad v lůžkové péči. Jejich pořadí se mezi lety mírně mění, ale jejich dominance zůstává stabilní.

Protože rozdělení úhrad je silně pravostranně zešikmené, jsou rozdíly mezi skupinami testovány neparametricky na úrovni agregace poskytovatel–rok.

# --- Rozdíly v úhradách mezi skupinami odborností ------------------------

# Agregace úhrad na úroveň poskytovatel × rok × skupina odbornosti
agg_pi <- data |>
  filter(!is.na(icz), !is.na(skupiny_odbornosti)) |>
  group_by(icz, rok, skupiny_odbornosti) |>
  summarise(
    uhrada = sum(uhrada_zp, na.rm = TRUE),
    .groups = "drop"
  )

# Kruskalův–Wallisův test a velikost efektu
kw <- kruskal.test(uhrada ~ skupiny_odbornosti, data = agg_pi)
kw_eps2 <- epsilon_squared(as.numeric(kw$statistic), nrow(agg_pi))

Kruskalův–Wallisův test Kpotvrdil statisticky významné rozdíly v úhradách mezi skupinami odborností (χ²(9) = 4 436, \(p\)-hodnota < 0,001). Velikost účinku však byla spíše malá (\(\varepsilon^2\) = 0,054), což naznačuje, že skupina odbornosti vysvětluje pouze omezenou část variability úhrad.

6.4 Největší část úhrad směřuje do kardiologie

Nejvyšší podíl na celkových úhradách zdravotnických prostředků dlouhodobě tvoří skupina 77 – prostředky pro intenzivní a invazivní kardiologii, jejíž podíl v průběhu let postupně roste z 10,3 % v roce 2020 na 11,4 % v roce 2024. Významné zastoupení mají také prostředky pro inkontinentní pacienty (skupina 2), které však naopak mírně klesají z přibližně 11,9 % na 9,2 %.

Stabilně vysoký podíl vykazují rovněž kardiostimulátory, defibrilátory a chlopně (skupina 53) a zdravotnické prostředky pro pacienty s diabetem a poruchami metabolismu (skupina 5), jejichž podíl se pohybuje okolo 7–9 %. Významnou skupinu představují také prostředky pro pacienty se stomií (skupina 3), případně v roce 2024 nově výrazněji zastoupený obvazový materiál a náplasti (skupina 1).

Celkově je patrné, že struktura úhrad podle skupin zdravotnických prostředků zůstává v čase relativně stabilní, přesto však některé specializované a technologicky náročné skupiny, zejména v oblasti kardiologie, postupně posilují svůj podíl na celkových výdajích.

6.5 Dominance VZP v úhradách zdravotnických prostředků

Obrázek 7: Vývoj úhrad od zdravotních pojišťoven podle zdravotních pojišťoven v letech 2020–2024.

Podíl jednotlivých zdravotních pojišťoven na celkových úhradách zdravotnických prostředků zůstává v čase velmi stabilní. Dominantní postavení dlouhodobě zaujímá Všeobecná zdravotní pojišťovna (VZP), která hradí přibližně 59–61 % všech úhrad. S výrazným odstupem následuje Zdravotní pojišťovna ministerstva vnitra ČR (ZPMV) s podílem okolo 11,5–12,3 %Česká průmyslová zdravotní pojišťovna (ČPZP) s podílem přibližně 10,5–11,1 %.

Menší, ale stabilní podíl mají také Vojenská zdravotní pojišťovna (VoZP)Oborová zdravotní pojišťovna (OZP), jejichž podíl se pohybuje kolem 6 %. Celkově je patrné, že struktura úhrad podle zdravotních pojišťoven se mezi lety mění jen minimálně a odráží především dlouhodobé rozložení pojištěnců mezi jednotlivými zdravotními pojišťovnami.

7 Statistické ověření koncentrace úhrad

Již z předchozích grafů bylo patrné, že značná část úhrad směřuje k omezenému počtu zdravotních pojišťoven a poskytovatelů. Následující analýza tento vizuální dojem kvantifikuje pomocí Herfindahlova–Hirschmanova indexu (HHI) (viz metodologie Sekce 2.2) a z něj odvozeného efektivního počtu subjektů, které umožňují objektivně posoudit míru koncentrace úhrad.

Tabulka 3: Herfindahlův–Hirschmanův index koncentrace úhrad podle zdravotních pojišťoven a krajů.
Kraje
Druh poskytovatele
Skupiny odborností
Skupiny ZP
Zdravotní pojišťovny
Rok HHI Efektivní počet HHI Efektivní počet HHI Efektivní počet HHI Efektivní počet HHI Efektivní počet
2020 0,121 8,2 0,281 3,6 0,203 4,9 0,056 17,7 0,405 2,5
2021 0,125 8,0 0,279 3,6 0,207 4,8 0,055 18,1 0,398 2,5
2022 0,123 8,1 0,291 3,4 0,206 4,8 0,053 18,9 0,392 2,6
2023 0,123 8,1 0,291 3,4 0,209 4,8 0,052 19,2 0,387 2,6
2024 0,123 8,2 0,290 3,4 0,209 4,8 0,052 19,3 0,385 2,6
Celkový počet skupin 14 56 10 46 7
Podíl efekt. počtu 58,10 % 6,23 % 48,33 % 40,53 % 36,33 %

Trh zdravotních pojišťoven je silně koncentrovaný (HHI kolem 0,39, tj. efektivně jen 3 plátci). Zvýšená koncentrace je patrná také podle druhu poskytovatele (HHI kolem 0,29, tj. efektivně jen 3 skupin poskytovatelů a 61 jednotlivých poskytovatelů). Zatímco rozdělení úhrad mezi kraje, skupiny odborností a skupiny zdravotnických prostředků je relativně diverzifikované, což odpovídá tomu, že výdaje se rozkládají do více kategorií prostředků s několika dominantními skupinami napříč kraji. Všechny hodnoty zůstávají v čase stabilní.

8 Závěr

Úhrady zdravotnických prostředků v letech 2020–2024 dlouhodobě rostly navzdory sezónním výkyvům, přičemž po vrcholu v roce 2022 se jejich růstová dynamika postupně zpomalovala. Rozklad růstu ukázal, že nárůst výdajů je způsoben kombinací vyššího počtu vydaných balení a růstu úhrad na balení, přičemž v posledních letech převažuje vliv rostoucího objemu.

Struktura úhrad podle typů poskytovatelů zůstává relativně stabilní. Největší část prostředků směřuje do nemocniční péče, zejména fakultních a dalších nemocnic. Analýza zároveň potvrdila výraznou koncentraci úhrad: značná část prostředků je soustředěna do jedné zdravotní pojišťovny (VZP) a relativně malého počtu poskytovatelů, především krajských a fakultních nemocnic a specializovaných pracovišť (IKEM). Regionální koncentrace úhrad tak pravděpodobně odráží nejen rozmístění obyvatelstva, ale také centralizaci velkých nemocnic, vysoce specializované zdravotní péče a lékařských fakult do několika mála lokalit.

Celkově výsledky naznačují, že růst výdajů na zdravotnické prostředky je tažen především rostoucím objemem poskytované péče, zatímco základní struktura systému zůstává v čase relativně stabilní.

Pro přesnější interpretaci trendů by bylo vhodné zohlednit inflaci a cenový vývoj, aby bylo možné oddělit růst způsobený vyšším objemem péče od růstu cen.