読んだ。
Proc Natl Acad Sci U S A. 2004 Sep 7;101(36):13285-90.
antimicrobial cycling という概念がある。細菌感染症に対して抗生物質を使うのだが、うまく治療していても耐性菌は生じることもあるし、適当に使ってしまえばさらに耐性菌のリスクがあがる。
ある抗生物質を使うことが耐性菌を生み出してしまうならば、ある一定期間抗生物質を使ったら、次の期間はごっそりと採用している抗生物質を入れ替えてしまえば、いままでいた耐性菌はいなくなるのではないか(代わりに新たに採用した抗生物質の耐性菌は出てくるけど)、という考えである。
数理モデルを使ったこの論文では、cycling による耐性菌の増加は防げない、ということになっている。
cycling そのものが効果があるかどうかはPLoS Pathog. 2014 Jun 26;10(6):e1004225. などがある。"adjustable cycling" なんて言っちゃって、結局いい感じに調整したものがいいと言っている。
cycling に対する方法として、mixing と言っている。mixing というのは、抗生物質がいくつかあって、そのうちのひとつを使って治療されるのがいいだろう、と言ってる。
数理モデルとして、病院内(院内感染)と病院外(市中肺炎)のふたつの領域があって、病院内に4つのコンポーネントがある。
:uncolonized. 感染していない人。
:colonized. 感染した人。
:resistant. 耐性菌。drug1 とdrug2 を考えており、同時耐性は考えていない( で表される。論文中では積分)。
抗生物質が2種類あって、4つのコンポーネントを考えるときの各コンポーネントの流出入(微分方程式)は以下のようになる。
ここで、パラメータは
:各コンポーネントの流出入係数
:患者のターンオーバー率。入院日数でいうと平均して 日いると考える。
:治療されないcolonized の人が 日はcolonized のまま。
:fitness cost といって、抗生物質がないときに細菌が勝手に耐性菌になる頻度。論文中では と書いてあるので両方0 にしてみる。
:uncolonized な人がcolonized になる比率。
:抗生物質 が使われる率。論文では としている。なので、drug 1 が使われるときは にする。抗生物質を使えば、耐性でない限り、確実に細菌は死ぬとする。
:supercolonization という、colonized された人が病院内で二次的に別の細菌でcolonized されたような感じの係数。スクリプトではdelta と空目してd になっている。
:医者が抗生物質を処方するコンプライアンス、というのは、ある期間では抗生物質1のみ、と言っていても、医者の裁量(わがまま?)で抗生物質2を処方するかもしれない。 だと100% 順守するけど、 だと半々の確率でしか抗生物質1 (期間1 のときに)をきちんと処方しない。これはつまり, に写像し直す必要がある。
90日間隔にすると論文のFig 2 が再現できる。ある程度時間が経つと、抗菌薬のどちらかに耐性である は0.65 くらいでプラトーに達する。
2週間くらいでcycle すれば耐性割合がプラトーに達する前に耐性菌割合を減らすことができる。しかし、day=0 のときの よりも基本的に多い割合で耐性菌が存在する。
mixing にすれば、 はほぼ0.4 のまま推移する。
2日単位でcycle すれば、 は0.4 よりもわずかに減る。しかし、2日単位でcycle するのはどう考えても現実的ではない。
mixing がなぜcycle より耐性菌割合を減らせるかは、Fig 5 にあるが新しい抗生剤に出会う頻度が増えるからだとか、あとはdiscussion のところにいろいろ書いてある。
意識低い系臨床医であれば、とりあえずスルバシリンで治療を始めて、困ったらメロペンバンコアネメトロでいいんじゃない? (適当
m <- 0.7 m1 <- 0.05 m2 <- 0.05 b <- 1 # beta c1 <- 0 c2 <- 0 g <- 0.03 # gamma tau <- 0.5 # sum of taus t1 <- 0.2 t2 <- 0.3 mu <- 0.1 d <- 0.25 # sigma a <- 0.8 # alpha switch_cycle <- 90 niter <- 350 X <- S <- R1 <- R2 <- rep(0, niter) X[1] <- 0.35 S[1] <- 0.25 R1[1] <- 0.2 R2[1] <- 0.2 for(i in 1:(niter-1)){ drug <- gtools::odd(i %/% switch_cycle) + 1 # drug used in time period t12 <- tau/2 * (1 + a*list(c(1, -1), c(-1, 1))[[drug]]) t1 <- t12[1]; t2 <- t12[2] # minute deviation dS <- (m-S[i])*mu - (t1+t2+g)*S[i] + b*S[i]*X[i] + d*b*(c1*R1[i]+c2*R2[i])*S[i] dR1 <- (m1-R1[i])*mu - (t2+g)*R1[i] + b*(1-c1)*R1[i]*X[i] - d*b*(c1*S[i]+(c1-c2)*R2[i])*R1[i] dR2 <- (m2-R2[i])*mu - (t1+g)*R2[i] + b*(1-c2)*R2[i]*X[i] - d*b*(c2*S[i]+(c2-c1)*R1[i])*R2[i] dX <- (1-m-m1-m2-X[i])*mu + (t1+t2+g)*S[i] + (t2+g)*R1[i] + (t1+g)*R2[i] - b*X[i]*(S[i]+(1-c1)*R1[i]+(1-c2)*R2[i]) # next step S[i+1] <- S[i] + dS R1[i+1] <- R1[i] + dR1 R2[i+1] <- R2[i] + dR2 X[i+1] <- X[i] + dX } Y <- cbind(X, S, R1, R2, R1+R2) colnames(Y) <- c("X", "S", "R1", "R2", "R1+R2") yl <- c(0, 1) matplot(Y, type="l", lty=1, lwd=3, ylim=yl, xlab="Day", ylab="Proportion", main=paste0("Antimicrobial cycling: ", switch_cycle, " days")) abline(v=seq(niter %/% switch_cycle)*switch_cycle, lty=3, lwd=3) legend("topright", legend=colnames(Y), col=seq(nrow(Y)), lty=1, lwd=3, bg="white")