医療費と心肺停止からの生存率の関係

MikuHatsune2015-08-22

医療費が低い都道府県では、心肺停止(CPA)してから生き残る確率が低いらしい。
BMJ Open 2015;5:e008374
著者の解説
 
という話を知り合いから仕入れたら、その知り合いは筆者と知り合いっぽいが、医療費と、心肺停止後から1ヶ月後に生存しているかの関係で下のような図が出ている。
これに回帰線を引く意味ってどれくらいあるの?という質問を受けたのだが、図を見るだけではあまり意味がなさそう。

 
論文中では医療費高い(High)、中(Medium)、低い(Low)にわけて、医療費と生存率には線形性があると仮定してGEE を行っている。線形性を仮定するのは勝手だと思うのでいいけど、この図をみて線形性でゴリ押しするのはなんだかなぁ…と思う(Discussion では線形性なかったね(・ω<) って言っている)。
 
3クラスターで分けて解析すると、100USD ごとに1ヶ月生存率が1.04倍増えると。また、中vs低、高vs低についてはどちらも生存率OR が1.3倍程度になる。これは年齢で層別化しても、神経学的予後についてもほぼ同じ傾向だった。
神経学的な予後とは、単純に言えば社会復帰と同義。1か月後は生きていました(たいていこれは6%くらいで、論文と一致)、ただし脳虚血時間や蘇生後脳症で寝たきりです、というのはよくある話である。これについては単に生存しているよりかは確率が低いのはなんとなく当たり前の話である。
 
というわけでサプリデータからデータを取ってくる。PDF とか誰が幸せになるのかまったく分からない。
GEE したらうまく行かなかったのでベタに線形回帰をして線を引いた。
USD と調整後1ヶ月生存率は相関 0.22程度である。R^2は0.05であり、説明しているかというとたったの5%である。これとかこれみたいに線の引き方は考えた方がいいのではないか思ったり思わなかったり。
 
また、回帰では医療費が上がるほど生存率に寄与すると言っている一方で、中vs低、高vs低 では有意差があるが高vs中はそんなに変わらなそうな気がするし、傾向性があるようなないような。
結論としては低い医療費ではCPA の生存率は低めであり、医療費を高めまくるよりかは中程度に上げれば生存率、ひいては医療の質もあがりそう、だと。
 
中程度に存在する沖縄や富山などがなぜ突出して生存率が高いのか、緯度や気温では説明がつかないし、ピラミッド型なのはどういうことなんだろうかと。
 
というのが数字だけいじった印象で、ドメイン知識的には、今回の対象は院外心肺停止、特に心疾患系であり外傷は除かれているので、寿命とかQOL とかそういう観点ではない。また、お金としての変数がおそらく一人あたりの年間医療費なので、CPA になったあとはほぼ確実に集中治療室(ICU) に行くわけだが、ICU での治療行為や医療費に対して解析が行われたわけではない。
あとはまあ1ヶ月というカットオフに対して実はいろいろあれなやつもあるけれども、お金をかけまくれば予後がいいというわけではなく、過ぎたるは及ばざるが如し、なのだろう。
この手の疫学調査は日本人ならいいけど、海外の人には地理的関係がまったくわからないので、原著にもなかったということもあり地図に載せてみた。
東日本は医療費が低くて生存率が低そう。なぜかは知らんが。

dat <- read.csv("life.txt", header=TRUE, stringsAsFactor=T, row.names=1)
m <- lm(s_a ~ USD, data=dat)
cols <- c(factor(dat$grade))+1
plot(dat$USD, dat$s_a, pch=16, cex=0.5, xlab="USD", ylab="Adjusted 1-month survival")
abline(h=mean(dat$s_a), v=mean(dat$USD), lty=3)
abline(m, col="pink")
text(dat$USD, dat$s_a, rownames(dat), col=cols, pos=1)
legend("topright", legend=unique(dat$grade), col=unique(cols), pch=16)

library(spsurvey)
jpn_GA <- read.shape("JPN_adm/JPN_adm1.shp")
# 日本全体の設定
xl <- c(129, 146)
yl <- c(30.8, 45)
dat <- read.delim("newspaper.txt", row.names=1) # 
cols <- rainbow(ncol(dat))
idx <- match(jpn_GA[[5]], rownames(dat)) # 都道府県並び替え

lmat <- matrix(1, 3, 3)
diag(lmat) <- c(2, 1, 1)
lmat <- cbind(lmat, lmat+max(lmat))
layout(lmat, widths=rep(c(8, 0.1, 10), 2))
par(mar=c(0,0,0,0))
plot(jpn_GA, xlim=xl, ylim=yl, col=cols[idx])
legend("bottomright", legend=unique(dat$grade), col=unique(cols), pch=16, cex=3)
# 沖縄の緯度と経度
xokinawa <- c(127.5, 128.2)
yokinawa <- c(26.0, 27)
par(mar=c(0, 3, 3, 0))
plot(jpn_GA, xlim=xokinawa, ylim=yokinawa, col=cols[idx])
pa <- par()$usr
segprop <- 0.8
segments(pa[1], pa[3], x1=pa[1]+diff(pa[1:2])*segprop)
segments(pa[2], pa[4], y1=pa[4]-diff(pa[3:4])*segprop)
segments(pa[1]+diff(pa[1:2])*segprop, pa[3], x1=pa[2], y1=pa[4]-diff(pa[3:4])*segprop)
mtext("医療費区分", 1, line=3, cex=2)

col1 <- cut(dat$s_a[idx], seq(3, 9, by=1), include.lowest=T)
col2 <- c("blue", "skyblue", "lightgreen", "yellow", "orange", "red")

par(mar=c(0,0,0,0))
plot(jpn_GA, xlim=xl, ylim=yl, col=col2[c(col1)])
legend("bottomright", legend=paste("~", 4:9), col=col2, pch=15, cex=2.5)
# 沖縄の緯度と経度
xokinawa <- c(127.5, 128.2)
yokinawa <- c(26.0, 27)
par(mar=c(0, 3, 3, 0))
plot(jpn_GA, xlim=xokinawa, ylim=yokinawa, col=col2[c(col1)])
pa <- par()$usr
segprop <- 0.8
segments(pa[1], pa[3], x1=pa[1]+diff(pa[1:2])*segprop)
segments(pa[2], pa[4], y1=pa[4]-diff(pa[3:4])*segprop)
segments(pa[1]+diff(pa[1:2])*segprop, pa[3], x1=pa[2], y1=pa[4]-diff(pa[3:4])*segprop)
mtext("調整後1ヶ月後生存率", 1, line=3, cex=2)
	s_n	s_a	n_n	n_a	JPN	USD	grade
Kochi	5.9	6.4	2.5	3	287925	2504	High
Tokushima	3.8	3.4	2.2	1.9	264169	2297	High
Kagoshima	4.7	4.8	2.3	2.4	264055	2296	High
Oita	5.3	5.1	2.2	2	259836	2259	High
Nagasaki	4.2	4.1	2.2	2.2	259250	2254	High
Kumamoto	5.3	5.3	2.5	2.6	257367	2238	High
Hokkaido	6.2	6	3	2.8	253361	2203	High
Fukuoka	7.7	7.4	3.8	3.7	252144	2193	High
Yamaguchi	4.5	4.4	2.2	2.2	248632	2162	High
Wakayama	5.2	5.5	2.5	2.8	247759	2154	High
Ehime	4.4	4.7	2	2.2	247342	2151	High
Okayama	4.8	5	2.2	2.4	243946	2121	High
Kagawa	3.9	4.2	2	2.1	243645	2119	High
Ishikawa	6.7	6.3	3.6	3.3	239565	2083	High
Hiroshima	5.1	4.8	2.5	2.4	238875	2077	High
Tottori	5.3	5.4	2.6	2.6	236214	2054	Medium
Shimane	5.8	6.2	3.1	3.5	235968	2052	Medium
Miyazaki	4.6	4.7	2.3	2.4	235709	2050	Medium
Saga	4.7	4.6	2.8	2.8	233157	2027	Medium
Fukui	3.5	3.9	1.7	2	232293	2020	Medium
Osaka	7.1	6.6	3.9	3.5	226081	1966	Medium
Toyama	8.3	8.4	2.8	2.8	224596	1953	Medium
Kyoto	6	5.8	2.8	2.6	223388	1943	Medium
Akita	4.2	4.7	2.5	2.8	219345	1907	Medium
Aomori	4.2	4.3	1.9	1.9	213084	1853	Medium
Yamagata	3.3	3.8	1.7	2	211407	1838	Medium
Gumma	4.4	4.5	2.1	2.2	208711	1815	Medium
Nara	4	4	2.2	2.1	207181	1802	Medium
Okinawa	9.1	8.1	3.4	2.8	206845	1799	Medium
Fukushima	3.5	3.5	1.8	1.8	204142	1775	Medium
Hyogo	6.2	5.8	2.8	2.6	202829	1764	Medium
Iwate	2.9	3.3	1.4	1.6	200099	1740	Low
Tochigi	3.4	3.4	1.8	1.8	196225	1706	Low
Nagano	3.8	4.2	1.7	2	194999	1696	Low
Tokyo	3.2	3.4	1.8	2	194947	1695	Low
Mie	4	4.1	1.8	1.8	194425	1691	Low
Nigata	4	4.2	2.3	2.5	192820	1677	Low
Yamanashi	4.3	4.6	2.1	2.3	191488	1665	Low
Miyagi	4.3	4.3	2.2	2.2	191412	1664	Low
Gifu	5.1	5.5	2.3	2.4	191359	1664	Low
Aichi	6.9	6.8	3.1	3	185712	1615	Low
Shizuoka	3.7	3.8	1.9	1.9	185693	1615	Low
Shiga	5.8	6.1	2.5	2.6	179995	1565	Low
Ibaraki	4.1	4	1.8	1.7	171339	1490	Low
Kanagawa	4.8	4.8	2.2	2.2	160195	1393	Low
Chiba	4.2	4.1	2	1.9	158745	1380	Low
Saitama	5.1	4.6	2.6	2.3	151272	1315	Low