新型ウイルスに関して皆さんが戸惑っていることの1つに「感染しても発症しないケースがある」点が挙げられると思います。これは「元気なのにウイルス保有者になり,いつの間にか他人を感染させてしまう」ということであり「自分が加害者になる」という怖さを感じていることと思います。加害者はウイルスであり,人間は単なる媒介であるということを思い起こすべきですが,媒介になりたくないという気持ちもよくわかります。

 いたずらに不安がっていても仕方ないので,未感染 ⇒ 感染中(ウイルス保有) ⇒ 感染済(抗体形成) という状況の変化を冷静に捉えてみようと思い,ITシステム/ソフトウェア開発の設計図の1つである「状態遷移図」で表現してみました。軽い気持ちで書き始めましたが,書いてみるといろんなことが見えてきたので,紹介したいと思います。視点によって設計図の内容が変わるところや,設計図を書き進める際の思考過程も垣間見える内容になっていると思います。

 本件の前提として「ウイルス感染後は抗体が形成され,再感染することはない」ものとします。新型ウイルスが途中で変容し,再感染する可能性も考えられますが,ここではその可能性は考慮しません。

 まず,最初に書いた状態遷移図を見てください。

ncvsmd1

 この状態遷移図は,UML (Unified Modeling Language) のステートマシン図(状態機械図)の記法に則っています。記法の詳細は説明せずとも,だいたいご理解いただけると思います。●のシンボルが開始点となり,矢印をたどって状態(角丸長方形のシンボル,ブログ文中では【 】で記述)が変わっていき,●を○で囲んだ "的" のようなシンボルで終了します。図(1)は,

  • 人は皆,始めは【未感染】
  • 感染すると【感染中】になり,その中では,症状が出ない人,出る人,重症化したり死に至ってしまう人もいる
  • 感染期間が経過すると【感染済】になる

という,感染の経過を表しています。【感染中】という状態の中に,症状の状態を表す【無症状】【軽症】【重症】が含まれていて,これは状態の中にさらに細分化された状態があるという,状態の入れ子(階層化)を意味します。つまり,図(1)は「感染」の状態「症状」の状態の両方を含んでいて,誰もが真っ先に浮かぶ構図が表現されていると思います。

 【感染中】赤枠で記述しています。これは【感染中】の人がウイルスの媒介になるので行動に特に注意を要する,ということを強調するためです。この強調記述は図(1)~(4)に共通しています。

 図(1)に,未検査/陰性/陽性といった検査状況の観点を加えたのが,次の図です。

ncvsmd2

 検査の種類として,新型ウイルスで主流となっている PCR 検査を取り上げます。PCR 検査はウイルス検査の一種なので,検査時点でウイルスを保有している人が陽性保有していない人が陰性と判定されます。ここでは,ひとまず「PCR 検査は100%正しい」という前提を置きます。すると,【未感染】の状態で検査すれば必ず陰性なので,検査結果を得た状態を【検査陰性】とします。一方,【感染中】の状態で検査すれば必ず陽性なので,【感染中】の人の検査の状態は「未検査」(図中では「感染不明」)か「陽性」(同「感染判明」)のどちらかになります。そこで,図(1)の3つの症状を検査の状態でさらに分割して,図(2)では6つの状態で表現しました。

 しかし,よく考えると【検査陰性】は意味がない状態だとわかりました。検査が陰性ならばちょっとホッとしますが,それは "検査の時点で" 陰性だっただけで,その後もずっと陰性が保証されるものではありません。数日後に感染している可能性もあるわけですから,「感染していないが,いつ感染しても不思議ではない」と考えれば【未感染】と同じ状態だという解釈が成り立ちます。「検査で陰性の判定が出ても,未感染と立場は何も変わらない」ことが,状態遷移図を書いてみてわかったことの1つです。【検査陰性】は状態遷移図から削除するのが正しいですが,悪例として図に残しました。このことは,図(2)にコメント(右上の角が欠けた長方形のシンボル,UML ではノートと呼ぶ)として付記しました。

 一方,【感染中】の内部を見ると,感染者には「感染が判明した」人と「感染したかわからない」人がいることがよくわかります。「実際の感染者は,公表されている数値よりも多いはずだ」という現実が,言葉や文章よりもこのような図によって,はっきりと理解できます。図(2)は「感染」「症状」「検査状況」という3つの状態を含んでおり,ウイルス感染の状況の変化をうまく表現しているように思えます。

  • 感染 … 未感染/感染中/感染済
  • 症状 … 無症状/軽症/重症
  • 検査状況 … 未検査/陰性/陽性
    (後述の図では,状態の名前を変えています)

 ただ,図(2)を見ても「なるほど…それで?」という感想を持った方もいると思います。この図を見ても,自分が採るべきアクションや注意点といったものが,どうも見えてこないのです。そう思う理由の1つは,図(2)では感染の状態(【未感染】⇒【感染中】⇒【感染済】)に主眼が置かれていますが,感染の状態は人が制御できるものではないので,図(2)を見てもどう対処してよいか困ってしまう,ということなのかもしれません。状態遷移図をなんとなく書いてしまうと,このように「書いてはみたものの,図からその意図が読み取れない」という状況に陥ってしまいます。これは,ITシステム/ソフトウェア開発においても,時々発生することだったりします。

 今回の新型ウイルスでは,感染に気づかない可能性がある「感染」の状態よりも「検査状況」の方が人は明確に認識できます。そこで「検査状況」の状態を主眼にした状態遷移図を書いてみました。

ncvsmd3

 未感染 ⇒ 感染中 ⇒ 感染済 という流れを横方向に書く流儀を図(1)(2)から踏襲したことで,上位の状態である【検査陽性歴なし】【検査陽性歴あり】が横長になりやや見づらいですが,ご容赦願います。図(2)で考察したように,検査状況の「未検査」と「陰性」は状態として区別する必要がないので「陽性になったか,なっていないか」という2つの状態を【検査陽性歴なし】【検査陽性歴あり】と表現しました。

 図(1)(2)に記述していた「症状」の状態を,図(3)では除去しています。実は「症状」の状態が「検査状況」や「感染」の状態に影響しない(独立である)ことに,図(2)を書いていて気づいたのです。図(2)の【感染中】の内部には【無症状】⇔【軽症】⇔【重症】という同じ状態遷移が2系統出てきます。これは【感染不明】(未検査)でも【感染判明】(検査陽性)でも症状に関する状態遷移が同じであることの表れです。また,【未感染】や【感染済】には症状の状態遷移が記述されていませんが,これは未感染者や感染終了者の症状の変化に(図(2)を記述する上では)関心が無かっただけで,実際には未感染者にも感染終了者にも発症者や重症者は存在します。未感染者の発症者は,新型ウイルス以外に起因する発症ではありますが,症状の状態としてあり得ることは確かです。つまり,【無症状】⇔【軽症】⇔【重症】という「症状」の状態遷移は,「検査状況」や「感染」の状態に関係なく発生しており,これが「検査状況」や「感染」の状態に影響しないことを示しているのです。

 「症状」の状態が「検査状況」や「感染」の状態に影響しない,というのは一見納得しにくいと思います。人は「症状が出て,検査をし,感染したかどうかを認識する」ので,関連性があるように思えるからです。無症状の人は検査を受けない(受けさせてもらえない)可能性が高い一方,発症した人は検査を受ける可能性が高まります。しかし,これはあくまで可能性や動機の軽重の問題であって,無症状だろうと発症していようと,検査を受ける人と受けない人がいるし,感染している人としていない人がいます。典型的なウイルスは,未感染≒無症状,感染≒発症 なので症状の状態が独立であるとは考えにくいでしょう。ということは,今回の新型ウイルスが持つ「発症しない感染者がいる」という特質が影響していると言えそうです。

 図(3)は「症状」の状態遷移を除去したことにより,遷移図がスッキリした一方で,【感染済】の状態が2つに分かれました(【無自覚感染済】という状態が追加)。検査で陽性が出ない限り,人は感染していることや感染期間が終わったことを認識できないので,これを【無自覚感染中】【無自覚感染済】と名付けました。発症していて「これは新型ウイルスに違いない」と思っていても,検査で陽性が出ない限り感染判明者ではありませんので,そういう人もこの状態遷移図においては【無自覚感染中/感染済】に含まれます。

 状態遷移の「終了」(図中の的に似たシンボル)が上位の状態の内部にあるのは,記法としては正確さを欠いていますが,「人が行き着く最後の状態は【感染済】【無自覚感染済】か,【未感染】で運良く感染せずにウイルス流行が収束する」という終了の意味はわかると思うので,この記述のままにしておきます。

 同じ【感染中】【感染済】でも,検査で陽性が出た人とそうでない人の状態を分けて記述したことで,いくつかわかることがあります。【感染中】に遷移するには,【無自覚感染中】に検査で陽性と判定されるというルートしかないことは,図(3)から一目瞭然です。このことから「検査で陽性になるのは,感染中に検査を受けた場合に限られる」という,文章にすると当たり前すぎる事実がくっきりと浮かび上がります。感染期間は平均5日,最大14日と言われていますので,この期間に検査を受けずに【無自覚感染済】になってしまうと,もう検査で陽性になることはありません。感染判明者が日本では少ないと言われていますが,検査体制が充実していたとしても,自覚症状がないまま(たった5日間の)感染期間が過ぎれば陽性になる機会を得られないので,陽性になる(感染が判明する)人は思いのほか少ないのでは?ということが図(3)から読み取れます。

 続いては,【検査陽性歴なし】の内部に記述した感染状態の遷移が人の意思では制御できないことから,「検査で陽性が出なければ,感染していないのか,感染中なのか,感染済なのかわからない」という,これまた当たり前の事実が図(3)を見るとよくわかります。自分が感染しているかもしれないと考えて積極的な行動自粛(いわゆる「セルフロックダウン」)をされている方がいらっしゃいますが,無症状だったり軽症だったりすると,いつ感染したかわからないので,いつまで自粛を継続すべきか判断できません。【無自覚感染済】だとわかれば自粛を解除できますが,(ウイルス保有者を検出する)PCR 検査で陰性の判定だと【未感染】と【無自覚感染済】のどちらなのかがわからないからです。積極的な行動自粛という模範的な行動をされている方が,いつそれを終わらせてよいかわからずに苦悩する,というやりきれない状況が今後懸念されます。

 かといって,それらしい症状にかかったことで,ウイルスに感染したと自己判断するのは危ういです。もしその症状がウイルス起因でない場合,感染済と思い込んでいて実は【未感染】なわけですから,行動制限を弱め,感染や媒介のリスクを高めてしまいます。自己流の判断は避けなければなりません。

 図(3)は以上の考察をもたらしてくれたという意味で,良い状態遷移図だと思います。ただ「PCR 検査は100%正しい」という前提にそもそも無理があります。新型ウイルスの PCR 検査の精度について正確な情報が手元にありませんが,感覚的には7割程度という専門家の意見もあるくらいです。そこで,PCR 検査に誤りがあるケースを加味した状態遷移図を書いてみました。

ncvsmd4

 図(3)よりもずっと複雑な図になりました。何が読み取れるかはもちろんのこと,状態遷移図の記述内容そのものも実に興味深いです。検査の誤りには,未感染者なのに陽性と判定してしまう「偽陽性」と,感染者なのに陰性と判定してしまう「偽陰性」があります。【未感染】の人は検査で陰性になるはずですが,誤って陽性(偽陽性)と判定されると,その人は感染していないのに感染したと思い込むことになりますので,それを【感染思い込み】【感染済思い込み】と表現しました。感染の状況としては【未感染】と同じですが,陽性と(誤って)判定されたことにより「自分はもう感染したから大丈夫」と考えて行動制限を弱めてしまう可能性が高い,という点で【未感染】とは別の状態として記述することに意味があります。

 その後【感染済思い込み】の人が本当に感染すると「感染済だと思い込んでいるのに,実際は感染中である」という面倒な状況になります。これを【無自覚感染中(感染済思い込み)】と表現しています。新型ウイルスっぽい症状が出た場合は「既に感染したはずなのに,症状が出るってどういうことだ?」とかなり混乱するでしょう。ただ,感染期間が終われば認識と感染状況の矛盾が解消するので【感染済】になります。この状態なら行動制限を弱めても何ら問題ないでしょう。

 【無自覚感染中】に検査を受け,誤って陰性(偽陰性)と判定されると,本人や周囲はホッとするでしょうが,実際には感染しているのにそれに気づく機会を逃すことになるので,結局【無自覚感染中】が継続され,やがて【無自覚感染済】に移ります。検査したにもかかわらず感染したことに気づけず,もしかしたら感染するかも,とビクビクし続けることになるという状況は,やや気の毒な感じがします。

 【無自覚感染済】の人が検査を受けると陰性になるはずですが,誤って陽性(偽陽性)と判定されると,その人は既に感染済なのに,検査した時点で初めて感染したと思い込むという状況になります。これを【感染思い込み(感染済)】と表現しました。ただ,この状況は,感染済の人が感染中だと思い込んでいるだけなので,本人が一定期間,無意味に隔離されるだけで済みます。なので,【未感染】の人が偽陽性になるよりはずっとマシな状況です。

 図(4)が図(3)と決定的に違う所は,【未感染】の人が検査で偽陽性になり【感染思い込み】⇒【感染済思い込み】⇒【無自覚感染中(感染済思い込み)】という状態遷移が発生する箇所です。未感染なのに感染済と勘違いしてしまうわけですから,この状態が存在することはかなり厄介です。ここから得られる知見は「陽性と判定されたからといって,自分はもう大丈夫と考えて行動制限を弱めてよいわけではない」ということです。明らかな新型ウイルスの症状が出たならまだよいでしょうが,無症状や風邪と同等程度であれば,陽性の判定が出たとしても偽陽性の可能性を考えて,慎重に行動することが求められるということなのです。このことは図(4)を書いてみて初めて気づきました。

 この箇所だけを切り取れば「偽陽性の判定によって,感染済と思い込んで出歩く未感染者が出てくるのか」と怖さを感じる方もいると思います。これは状態遷移図を見るときの落とし穴の1つだと思うのですが,状態遷移図は可能性や頻度を表現しません。状態として定義(設計)が必要なものは,可能性がわずかであっても記述します。この箇所は「偽陽性の判定によって,感染済と思い込む未感染者が発生する "可能性がある"」と解釈すればよいでしょう。その可能性の度合いを考えてみると,【感染思い込み】に至るためには,①未感染者が何らかの理由(感染者の濃厚接触者である等)で検査を受け,②偽陽性の判定を受けるという状況が必要ですが,①の人数も②の確率もあまり大きくないでしょう。あくまで可能性の話として受け止めておけばよいと思います。

 PCR 検査は,発症者の検査としては有効と思いますが,無症状者や軽症者に対する検査としては限界があると感じます。検査が陰性でも,それはある時点の【未感染】を示すだけなので,陰性だからといって安心できるのはほんの一瞬に過ぎず,機会あるごとに何度も検査する必要があります。また,もし知らない間に【無自覚感染済】になっていても,それに気づくことができないため,陰性しか出ない検査をそうとは知らずにずっと続ける羽目になります。

 これを解決するには,ウイルス検査ではなく「抗体検査」を行う必要があります。抗体検査は,抗体を持っているかどうかを検査するので,【未感染】だと陰性【無自覚感染済】だと陽性になり,これらを区別することができるのです。自分が抗体を持っている(感染済である)ことがわかれば,感染や媒介を心配する必要がなくなり,行動自粛を解除することができます。抗体検査は,無症状でも感染や媒介が生じる今回のようなウイルスへの対策として,とても有効だと思います。抗体検査の必要性は,図(3)(4)を書いてみて気がついたことでした。おそらく今後,PCR 検査と抗体検査をセットで実施するような施策が進むのではないかと予想します。

 以上,状態遷移図という設計図を用いて,ウイルス感染に関する考察を行いました。同じ事象を表現するにしても見方によって結果が異なることや,状態遷移図が(ITシステム/ソフトウェアの設計以外にも)一般的な事象を記述できることなどをご理解いただけたかと思います。また,記述内容の面では,無症状での感染や媒介が状況を難しくしていることがうかがえたかと思います。これをお読みいただいた皆さんにとって,何らかの気づきになれば幸いです。

 時事ネタにITネタを絡めたいという不純な動機だけで書き始め,状態遷移図をきちんと書くのも久々だったのですが,ウイルス感染という事象と状態遷移図,それら両方の奥深さに触れることができ,私自身たいへん勉強になりました。