DEIM Forum 2017 I1-1

典型的医療指示シーケンスの共通部分検出とその可視化
本田

祐一†

串間

宗夫††

山崎 友義††

荒木 賢二††

横田治夫†††† 東京工業大学 情報工学科 〒 152-8565 東京都目黒区大岡山 2-12-1†† 宮崎大学 医学部附属病院 医療情報部 〒 889–1601 宮崎県宮崎市清武町木原 5200††† 東京工業大学 情報理工学院 〒 152-8565 東京都目黒区大岡山 2-12-1
E-mail: †honda.y.ai@m.titech.ac.jp
あらまし

電子カルテの二次利用として, 蓄積された医療情報の解析による有効活用が期待されている. 我々は, 医療

指示の履歴にシーケンシャルパターンマイニングを適用することで, 医療指示の典型シーケンス抽出による医療従事者に対する支援を試みてきた. 本研究では, 先行研究によって得られる典型シーケンスの共通部分検出を行い, 医療指示の変形パターン (バリアント) を検出し, バリアントパターンという形でグラフ表現する. さらに文字列による出力結果
から視認性の高い,Web アプリケーションによる可視化のツールの作成を行う.
キーワード

シーケンシャルパターンマイニング, 電子カルテ, クリニカルパスバリアント, クリニカルパス可視化

1. は じ め に
1. 1 研 究 背 景

佐々木ら [3] は, これら二つの問題点の解決のために, 飽和オー
ダー列と呼ばれる概念 [4] の導入で出力の情報量を損なわずに出力数を削減し, タイムインターバル SPM[5](以下,TI-SPM) を

近年, 病院での電子カルテの導入が進んでいる. 電子カルテをPrefixSpan[6] に用いることによって, 二つのアイテム間の時間利用することによって, 対象となる患者の検索やオーダーと呼間隔が考慮された抽出を行った. しかし,TI-SPM はタイムイン

ばれる医療指示の履歴閲覧の高速化を可能とし, 医療指示全体

ターバル (以下,TI) を人為的に定めるために, 定めた時間間隔の標準化・改善に貢献している. また, 電子カルテは診療記録とによって結果が異なってしまうという問題点があり, 最適な時して用いるだけでなく, 二次利用としての情報活用が期待され間間隔を定めなけらばならなかった. また, これらの研究では注ている.

射のように薬剤情報を含むような医療指示において, どの薬剤

二次利用の例としては, ある病気の患者に対してクリニカルを投与するのかの情報が含まれない, という問題もあった.

パスと呼ばれる医療指示 (オーダー) 列の典型例を抽出すること

浦垣ら [7] は, これらの問題の解決のために, アイテムを (大別が挙げられる. 従来の典型クリニカルパスは, 医療従事者の医学Type , 詳しい説明 Explain , 薬効コード Code , 薬剤名 Name)

的経験に基づいて作成されていたが, 人が作成するのは容易での四つ組によって構成することで, 薬剤情報を取り入れた抽出はなかった. このような背景より, 電子カルテをデータ工学の観を行った. また, 薬剤の効果を表す薬効コードに基づくマイニン点において分析し医療指示の改善の支援を目的とした研究が行グを行うことで, 薬剤名でのマイニングでは得られなかった結

われている. 電子カルテのデータを分析する研究により, 医療指果を抽出可能であると示した. さらに, 時間間隔の設定の問題に示履歴から従来の典型クリニカルパスの妥当性の判断をするこ

対しては, 予め TI セットを決めるのではなく, 統計処理によっとは有用であり, また新たな医療指示履歴の変形パターン「クて定めることで問題解決を図った. 保坂ら [8] は, 三つのスコア

リニカルパスバリアント」の検出は医療指示改善への支援となリング手法を導入し, そのスコアの結果によって最適な TI セッることが見込まれる.

トを決定することで, 最適な TI セットを事前に決定し, 頻出な

1. 2 先 行 研 究

クリニカルパスの抽出を行った.

牧原らの研究 [1] では, 電子カルテの履歴から, ある患者に対しかし, これらの先行研究の共通な問題点としてはクリニカして行った医療指示をアイテム, 医療指示の履歴をシーケンス,

ルパスバリアントに対しての処理がなされていない点が挙げら全ての患者の医療指示の流れをデータベースと捉えることで,れる. クリニカルパスの変形パターンであるバリアントの検出

アプリオリアルゴリズム [2] を元にしたシーケンシャルパター

により, 従来の典型的なクリニカルパスの改善へ支援ができる

ンマイニング (以下,SPM) を適用し, 頻出なクリニカルパスの可能性がある. さらに, 先行研究の出力はどれも頻出なシーケン抽出を行った. 牧原らは, 手術といった重要な医療指示を基準とスの文字列であるために, クリニカルパスバリアントを含む場

して, その前後の部分シーケンスでそれぞれにマイニングを行っ合の視認性が悪く, バリアント検出をするためには, 複数の抽出た. これにより, 基準の医療指示の前後で行うべき医療指示を抽したシーケンス同士の差異を目視による確認が必要で分析には出出来ることを示した. しかし, この手法には基準となる医療指時間を要することが挙げられる.

示後の部分でのマイニング結果の出力数が膨大になってしまう
ことと, 医療指示間の時間間隔が考慮されていないという二つの問題点があった.

1. 3 本研究の目的
本研究は, 電子カルテシステムに記載されたある症例に対する医療指示から頻出シーケンシャルパターンを抽出し, 飽和の概念を導入して, 出力シーケンスの削減を行ったものに対して,シーケンス同士の共通部分を医療指示が出される日の情報を考

アイテム集合 I,TI-セット V が与えられたとき, 以下の B ををグラフ表現をし, 医療従事者への視認性の高い可視化ツール

TI-シーケンスと定義する.
< b1 >
B≡
< b , & , b , & , …, b − 1, & − 1, b >
1
1 2
2
k
k
k

の提供を目指す.

ただし,∀i = 1, 2, …, k について bi ∈ I とし,∀v = 1, 2, …, k − 1

慮して検出していくことにより, クリニカルパスバリアントの検出をすることを目的とする. また, クリニカルパスバリアント

1. 4 本稿の構成
本稿は以下の通り構成される.2. 章では本研究に関連する概念を背景知識として説明する.3. 章ではシーケンス同士の共通部分を検出する手法の導入とその可視化の手法を提案手法とし(k = 1)(k >= 2)

について &v ∈ V とする.
定義 3. TI-サブシーケンス
シーケンス A =< (a1 , t1 ), (a2 , t2 ), …, (an , tn ) > と TI-シーて述べる.4. 章では,3. 章の手法を用いて, 実症例に対する医療指ケンス B =< b1 , &1 , b2 , &2 , …, bm−1 , &m , bm > に対して以下

示データを解析し, 得られたクリニカルパスバリアントを確認

を満たす 1 <= j1 < j2 < …jm <= n となる整数列 {jm } が存在と, 実験で得られた結果を用いた可視化ツールの紹介を行う. 最するとき,B は A の TI-サブシーケンスといい,B⊂=A と表す.

後に 5. 章でまとめと今後の課題について述べる.

2. 背 景 知 識
2. 1 SPM
Agrawal らによって提案された SPM はシーケンシャルデー
タベース (以下,SDB) から以下によって定義がされる頻出シー
ケンシャルパタンを抽出する手法である [2]. アイテムの順列をシーケンス,SDB はあるシーケンス集合に属するシーケンスと,そのシーケンスを一意に決定する識別子を組みとする要素からなる.

2. 2 TI-SPM
当初 Agrawal らが提案手法 [2] では, アイテム間の時間間隔は考慮しない頻出シーケンシャルパターンの抽出であった. 例えば,2017 年 1 月 1 日に処方を行い, その翌日に手術を行うようなシーケンスと 2017 年 1 月 1 日に処方を行い, その 1 カ月後に手(1) b1 = aj1 ,b2 = aj2 ,…,b= ajm(2) tji − tji−1 ∈ &i−1

(i = 2, 3, …, m)

定義 4. 射影シーケンス
シーケンス A =< (a1 , t1 ), (a2 , t2 ), …, (an , tn ) > と A の TIサブシーケンスである TI-シーケンス B =< b1 , &1 , b2 , &2 , …

, bm−1 , &m , bm > が m <= n かつ aik = bk (1 <= k <= m) を満たすとき, A のサブシーケンス A =< (a′1 , t′1 ), (a′2 , t′2 ), …

, (a′n , t′n ) > が次を満たすとき A’ は A の B に関する射影シー
ケンスと定義する.

(1) n′ = n + m − im を満たす im 0 <= im <= n が存在する(2) B は A’ の TI-サブシーケンス(3) A’ の後方 n − im 個のアイテムと A の後方 n − im 個のアイテムが一致
定義 5. TI-ポストフィックス術を行うシーケンスを同一のシーケンスとみなしていた. 医療

シーケンス A =< (a1 , t1 ), (a2 , t2 ), …, (an , tn ) > の TI シー

指示のような順番だけでなく, アイテム間の時間間隔も重要な

ケンス B =< b1 , &1 , b2 , &2 , …, bm−1 , &m , bm > に関する射影情報となるシーケンスに対するマイニングの手法として,Chen

シーケンスを A =< (a′1 , t′1 ), (a′2 , t′2 ), …, (a′n , t′n ) > とする. こらは TI-SPM と呼ばれる手法を提案した [5]. この手法により,のとき,A′B =< (a′m+1 , t′m+1 ), (a′m+2 , t′m+2 ), …, (a′n , t′n ) > を

上記の二つのシーケンスを異なるシーケンスと捉えることが可B に関する A の TI-ポストフィックスとする.

能となる.

TI-SPM は, 時間間隔を含んだ SDB である D, 最小支持度
M inSup(0 <= M inSup <= 1),TI-セットを入力として与えることで,TI-シーケンスから TI-頻出シーケンシャルパターンを得る.

2. 3 T-PrefixSpan
TI-SPM である I-PrefixSpan[5] はアイテム間の時間間隔が固定となりやすいデータに対して用いられるアルゴリズムであり,TI-セットとして事前に設定した入力が必要となる. このため

定義 1. TI

r − 1 個の定数 T1 , T2 , …, Tr−1 を元に,TI Ik (k = 0, 1, …
, r − 1, r) は以下により定義される



{0}
(k = 0)
{t | 0<t< T1 }(k = 1)=Ik ≡{t | Tk−1 <t<= Tk } (k = 2, 3, …, r − 1){t | Tr−1 <t}(k = r)
そして,r − 1 個の定数 T1 , T2 , …, Tr−1 によって構成される

r+1 個の TI の集合を TI-セット V とする.

アイテム間の時間間隔は定めた TI-セットによって変化してしまい, 正確なものにならないという問題点が存在した. 浦垣らは

TI-SPM の問題点を解決するべく,T-PrefixSpan[7] を導入した.
T-PrefixSpan は 2 アイテム間の時間間隔を外れ値処理を含む統計情報を用いて表現を行った. これにより,TI-セットを事前に決定する必要なく, 時間間隔情報を含んだパターンの抽出を可能とした. 以下に T-PrefixSpan に関する概念の定義と,T-PrefixSpan の説明を行う
定義 6. タイムアイテム (i, t)
アイテム集合 I が与えられ, アイテム i ∈ I の発生時刻が t であるとき,i と t の組 (i, t) をタイムアイテムと定義する.

定義 2. TI-シーケンス

定義 7. タイムシーケンス s
タイムアイテムからなる順列 s をタイムシーケンスと定義し以下のように表す.

定義 11. 飽和タイム頻出シーケンシャルパターン
タイム SDB である D から抽出したタイム頻出シーケンシャ
ルパターン集合 Σ に属する A に対し, 以下の条件を満たす

s =< (i1 , t1 ), (i2 , t2 ), …, (in , tn ) >B ∈ Σ \ A が存在しないとき, A を飽和タイム頻出シーケンシャ

タイムシーケンス s の長さを length(s) を length(s) ≡ n とルパターンと定義する.

し, シーケンス Os =< i1 , i2 , …, in > を s のオリジナルシーケ
ンスと呼ぶ
定義 8. 時間間隔 T Ik

(1)A,B のオリジナルパターンをそれぞれ A’,B’ としたと′き,A′ ⊂=B が成り立つ(2) 条件 (1) が成り立つとき,
A =< a1 , T1 , a2 , T2 , …, an−1 , Tn−1 , an >,B =< b1 , T1′ , b2 , T2′ , …

て, 時間間隔 T Ik は次で定義される T Ik ≡ tk+1 −tk (k = 1, 2, …

′
, bm−1 , Tm−1
, bm > としたとき, ak = bjk , ak+1 = bjk+1 となる
k = 1, 2, …, n − 1,1 <= j 1 < j 2 < … < jn <= m が存在する. こ, n − 2, n − 1)のとき, 全ての Tk = (mink , modk , avek , medk , maxk ), Tj′k =定義 9. タイム SDB D(min′jk , mod′jk , ave′jk , med′jk , max′jk ) に 対 し て, mink′
min′j かつ maxk <= maxj を成立する.

タイムシーケンス s =< (i1 , t1 ), (i2 , t2 ), …, (in , tn ) > においkタイムシーケンス集合 S が与えられたとき, タイム SDB は以下で定義される.

D ≡ {(sid, s) | sid は識別子, s ∈ S}
ただし,D の任意の 2 要素の識別子 sid は異なる値を持つ.

>=

k(3) Sup(A) <= Sup(B)
ここでタイム頻出シーケンシャルパターンのサポート値

Sup(A) を Sup(A) ≡| {s | s⊂=S, (sid, S) ∈ D, sid は S の識別子 } | と定義される.

タイム SDB に含まれる全てのタイムシーケンスから構成さT-PrefixSpan は SDBD, 最低支持度 M inSup を入力とする.

れるオリジナルシーケンスからなる SDB をオリジナル SDB

初めに D 中のタイム頻出シーケンシャルパターン (α) を求め,と定義したとき, タイム SDB から抽出されるタイム頻出シーケ

それを元に射影 SDB を構成. その後,α により構成された射影

ンシャルパターン及びを飽和タイム頻出シーケンシャルパター

SDB において,Sup(β) >= Size(D) × M inSup なるタイム頻出

ンを以下のように定義する.

シーケンシャルパターン (β) を求め, オリジナル SDB から α,β間の X を求め,< α, X, β > をタイム頻出シーケンシャルパター

定義 10. タイム頻出シーケンシャルパターン P<= M inSup <= 1), タ イ
ム SDB D が 与 え ら れ た と き, P =< i1 , X1 , i2 , …
最 小 支 持 度 M inSup (0, in−1 , Xn−1 , in > (∀j ij はアイテム, ∀k Xk は 5 つの値の組 (mink , modk , avek , medk , maxk )) に つ い て, シ ー ケ ン ス

OP =< i1 , i2 , …, in−1 , in > を考えた時,OP が D のオリジ
ナル SDB の最小支持度 M inSuup において頻出シーケンシャ
ルパターンであれば, タイム頻出シーケンシャルパターンとする
た だ し,mink , modk , avek , medk , maxk は 以 下 に 示 す も のと す る. オ リ ジ ナ ル シ ー ケ ン ス を 構 成 し た と き,OP を サ ブ
シーケンスとするような D に存在する全てのタイムシー

ンとして出力する. その後,< α, X, β > で射影を行う. という操作を繰り返していき, タイム頻出シーケンシャルパターンを求めるというアルゴリズムになる.

2. 4 エピソードマイニング
Mannila らによって提案されたエピソードマイニグ (以下,EM)は, 単一の長いシーケンスデータから頻出な反順序集合を抽出する手法 [9] である. 出力されるパターンはエピソードと呼ばれる. エピソードは順序が一意に決定はされず, シーケンシャル
パターンよりも汎用性が高いものとなる. エピソードは三種類に分けて考えられる (図 1-a,b,c).(a) のシリアルエピソードは,イベント間の順序が一意に決定されるもの.(b) のパラレルエピ

ケ ン ス S =< i′1 , t1 , i′2 , t2 , …, i′m−1 , tm−1 , i′m > に お い て,

ソードは, イベント間の順序が全てないもの.(c) のジェネラル

ik = i′jk , ik+1 = i′jk+1 を 満 た す,k = 1, 2, …, n − 1,1 <=j1 < j2 < … < jn−1 < jn <
m
を
考
え
た
と
き
,
時
=

アルエピソードとパラレルエピソードはジェネラルエピソード

間 間 隔 T Ik = t′jk+1 − t′jk の 集 合 を SetT Ik を 構 成 で きる.

こ の と き,Xk = (mink , modk , avek , medk , maxk ) に お

い て, mink = min SetT Ik ,modk を SetT Ik に お け る 最 頻
値,avek を SetT Ik における平均値, medk を SetT Ik における中央値,modk = max SetT Ik とする. ここで, 時間間隔

Xj = (minj , modj , avej , medj , maxj ) (1 <= j < n) に対しエピソードは, イベント間に反順序関係があるものである. シリの特殊な場合であり, また, シリアルエピソードはシーケンシャ
ルパターンと等価である.
本研究で扱う分岐パターンは,SPM によって得られた頻出シーケンシャルパターンに対して, 共通部分検出を行うもののため一般に用いられる EM とは異なる.

3. 提 案 手 法て,minj = maxj が成り立つとき, アイテム ij 及び ij+1 の時
間間隔は一定となる. 特に minj = maxj = 0 の場合は, 同日に発生することを示す.
また,OP を P のオリジナルパターンとする.

本章では従来研究にはなかったクリニカルパスバリアントの検出手法とデータの可視化のためにエピソードの表現方法を参考にしたクリニカルパスバリアントの表現手法について説明する.

示数は「-1 日目 : 1 / 0 日目 : 1 / 1 日目 : 2」と異なるのに対し, パターン B の各相対処置の医療指示数は「-1 日目 : 1 / 0
日目 : 2 / 1 日目 : 2」とパターン X と同様であるため, パター
ン X はパターン B と共通部分検出を行う.

図1

エピソードの例

3. 1 時間情報を含むシーケンシャルパターンの共通部分検出
3. 1. 1 医療指示の取り扱い
本研究では [7] 同様に, マイニングにおいてアイテムをアイテ
ムを (大別 Type , 詳しい説明 Explain , 薬効コード Code , 薬

図 2 バリアントパターン例

剤名 Name) の四つ組によって構成する. 薬剤情報を含まない
医療指示においては Code,Name は「null」となる. 例えば薬剤情報を含む「注射」の「静脈内注射」において, 薬効コードが「331」の薬剤「ラクテック注」を投与した際は,(注射, 静脈内注
射,331, ラクテック注) となり, 薬剤情報を含まない「看護タスク」の「全身清拭」は (看護タスク, 全身清拭,null,null) となる.
ここで, 薬効コードが「331」の場合の薬効は「血液代用剤」である.

Type が「処方」もしくは「注射」を含まない医療指示で扱っている薬剤は医学的には有用ではないとして,Code,Name は「null」とする.

3. 1. 2 従来研究の未達成点
従来研究において得られていた, 頻出シーケンシャルパターン
は各パターンにおいて順序が一意に決定されていたが, パター
ン同士の関係性については不明であり, 分析には人の手により行わなければならなかった. しかし, マイニングの最小支持度によっては出力数は膨大となり, 人の手による細かな分析は困難である.
本研究では,T-PrefixSpan[7] を用いて抽出した, タイム頻出
シーケンシャルパターンの共通部分検出を行うことにより, タ

これはクリニカルパスバリアント内における差異が小さいバ
リアント, 例えば同じ注射の医療指示であり注射する薬剤の効果が同じであるが注射される薬剤名が異なるものを抽出するためである.

3. 2. 2 検 出 方 法
本研究では, 前章で説明した, 従来研究の未達成点を補うべく,
クリニカルパスバリアントを検出する方法として, タイム頻出
シーケンシャルパターンの共通部分検出の導入を行う. まずは
じめに, 共通部分検出に関連する概念の定義を行い, 共通部分検出の説明を行う. 以下のように, タイムアイテムブロック, バリ
アントパターンを定義する.
定義 12. タイムアイテムブロック B

n 個のタイムアイテム (i1 , t1 ), (i2 , t2 ), …, (in , tn ) が,t1 = t2 =… = tn の場合, タイムアイテムの集合 B をタイムアイテムブ
ロックと定義し, その発生時刻を tB とする. このときの n 個のタイムアイテムに順序関係は存在しない.
定義 13. バリアントパターン e

イム頻出シーケンシャルパターン同士の関係性の導出を行う.

3. 2 クリニカルパスバリアントの検出
3. 2. 1 検出実行の判断基準
クリニカルパスバリアントとは, 複数のクリニカルパスを比較した際に現れる, 同一時刻における別医療指示のことを指す.
クリニカルパスバリアントを分析することによって, 従来医療指示の改善支援を行うことが出来る.
本研究では, 飽和タイム頻出シーケンシャルパターンのうち,相対処置日毎の医療指示数が同じもの同士の共通部分検出を行う. ただし, 医療指示として手術を行った日を相対処置日の基準日 (0 日) とし, 手術日と同日に行った医療指示の相対処置日
は「0 日目」, 手術前日に行った医療指示の相対処置日は「-1 日目」となる.
図 2 は, 図中左側のパターン X を図中右側のパターン A, パ
ターン B のどちらと共通部分検出を行うかの例である. パター
ン X の各相対処置の医療指示数は「-1 日目 : 1 / 0 日目 : 2 /1 日目 : 2」である. この時パターン A の各相対処置の医療指k 個のタイムアイテムブロックの順列 < B1 , B2 , …, Bk > で任意の 0 <=l<m<
= k なる l, m に対して tBl <= tBm が成り立っているものをバリアントパターン e と定義する. バリアン
トパターンの集合を E と表す. このとき, タイム頻出シーケン
シャルパターンは e 内の全ての B の要素数が 1 であるものである.
本研究では, タイム SDB に T-PrefixSpan を適用して得られた飽和タイム頻出シーケンシャルパターンの集合に対して, 共通部分検出によるクリニカルパスバリアント作成のアルゴリズ
ムを導入した. またこのときの, 飽和タイム頻出シーケンシャル
パターンの集合はパターン長の昇順に整列されているものとす
る. アルゴリズムは以下の Algorithm 1 の通りである.

Algorithm 1 共通部分検出によるクリニカルパスバリアント

3. 3 クリニカルパスバリアントの可視化

作成

3. 3. 1 文字列による表現の問題点と可視化の意義

Input: 飽和タイム頻出シーケンシャルパターンの集合 P ′先行研究では, 結果である頻出シーケンシャルパターンを文Output: バリアントパターンの集合 E

字列によって表現していた. しかしこの出力形式は頻出シーケ

1: e ← {p | p ∈ P ′ }ンシャルパターンよりもさらに複雑な構造を含むバリアントパ

2: for p ∈ P ′ \ e do

ターンを表現する場合には, 視認性が低く得られた結果に対し

3:

k, j = 1

4:

while k < length(e) かつ j < length(p) doて直感的な理解が難しいという欠点がある. そのため, データ利用者の能力によって得られる情報量が異なってしまうという問

5:

Be = {Bi ∈ e}6:

Bp = {Bj ∈ p}

題がある. データを可視化することでバリアントを含む情報の7:

if tBe == tBp then

読み取りを正しく円滑に行えるようになり, 分析の支援となる.

for {i | i ∈ Be } do

8:

また結果を利用するのは主に医療従事者のため, それに合った

if iBp が iBe のどれとも一致しない then9:(iBp , tBp ) を Be に加える

10:

3. 3. 2 可視化アルゴリズム

end if

11:
12:

end for13:

k = k + 1, j = j + 1

14:else if tBe > tBp then

図 2 のような表示を行うためには, バリアントパターンのノード集合とエッジ集合を得る必要があり, そのアルゴリズムは以下の Algorithm 2 の通りである.

15:

Be の直前に Bp を挿入する

16:

k = k + 1, j = j + 1

Algorithm 2 バリアントパターンのノード, エッジ集合の導出
Input: バリアントパターン e

else

17:

Output: e のノード集合 V, エッジ集合 E

k =k+118:形式が求められる.

1: k = 1

19:

end if20:

end while

2: count = 1

21:

while j < length(p) do

3: for k < length(e) do
4:

startBk = count5:

for {i | i ∈ Bk } do

24: end for6:

icount = i

25: E ← e7:8:V ← icount> 2 かつ startB
for k =

9:E ← (ij , icount )Bj , Bj+1 , …, Blength(p) を e の末尾に加える

22:
23:

end while

3. 2. 3 バリアントパターンの記述

10:

前節で求めたバリアントパターンの記述方法について述べる.

11:

従来研究で得られる出力は, 順序が一意に決まっていること

12:

end forが前提だったため, 本研究での出力となるバリアントパターン

13:

endBk = count − 1の出力特に, タイムアイテムブロック内の要素が複数の場合に14:

k =k+1k−1<=j<= endBk−1 doend forcount = count + 1

15: end forは対応しておらず, 表現出来ない場合が存在した.
そこで, 本研究では EM で用いられるエピソードの表現方法を参考にした入れ子構造によって, バリアントパターンを表現

ノード集合には, バリアントパターンに存在する全てのタイすることにする. 例えば,A, B, C, D, E がタイムアイテムとした

ムアイテムが属し, エッジ集合には, タイムブロック Bk−1 に属とき, バリアントパターン e = [[A], [B], [C, D], [E]] は図 3 のよする全てのタイムアイテムから Bk に属する全てのタイムアイ

うなグラフになる.

テムへのエッジが属する. 可視化の際には,Algorithm 2 で得られたノード集合とエッジ集合からグラフを作成する.







4. 実



験

これまでに本研究で用いるタイムシーケンシャルパターンの共通部分検出, その出力形式について説明した. 本章では, 宮崎大学医学部附属病院から提供される電子カルテデータに対して,


図 3 バリアントパターン例

提案手法を適用してどのような結果が得られるのかを観察する.

4. 1 実 験 目 的
実際の症例に対する医療指示から抽出した頻出シーケンシャ
ルパターンから, 正しくクリニカルパスバリアントが検出されているのかを確認する. またクリニカルパスバリアントを可視化ツールにより正しく表現されているのかを確認する.

4. 2 実 験 内 容

表3

頻出クリニカルパス

事前実験により求めた最小支持度を用いて, 薬剤名称を用い

最小支持度

0.1

てのマイニングを行い, その結果に対してタイムシーケンシャ

入院期間

7 日間

クリニカルパス数147

ルパターンの共通部分検出を行う. さらに, 実験結果をバリアントの表現を考慮した形式での可視化も行う. マイニングにおい最大クリニカルパス長21

平均クリニカルパス長17.755ては T-PrefixSpan を用いてタイム頻出シーケンシャルパター
ンを求め, その後に飽和タイム頻出シーケンシャルパターンの

4. 5 実 験 結 果

みを求めて, それを共通部分検出の入力とした.
実験では, マイニングによって得られたタイム頻出シーケン
シャルパターンから, バリアントパターンを構成出来ているこ

実験の結果, 前節で得られた 147 のクリニカルパスから 74 のバリアントを考慮したグラフを検出することが出来た.1 グラフを構成するのに使用されたクリニカルパス数の情報を表 4 にとを確認する. 実行環境を表 1 に示す.

示す.
表1

CPU

3 GHz Intel Core i7

Memory
OS

実行環境

8 GB
OS X Yosemite ver.10.10.5 64bit

Java.verJava 1.8.0 45

表 4 1 バリアントパターンを構成するクリニカルパス数
1 グラフを構成する
1
2 3 4 5 6 7 8 全グラフ
クリニカルパス数
グラフ数

38

20

7

3

2

3

0

1

74

得られた頻出クリニカルパスとそれを元に作成されたバリア

4. 3 実験対象のデータ
本研究では宮崎大学医学部附属病院の電子カルテシステムに1991 年 11 月 19 日から 2015 年 10 月 4 日までに記録された, 実際に使われているクリニカルパスを元に行った医療指示データを対象とする. この医療支持データは宮崎大学医学部附属病院で使用されている電子カルテシステム WATATUMI[10](49GB)
によって取得されており, 個人情報保護の観点より患者を一意に特定できるような情報を含まない. ある患者に対して行った
医療指示を抽出する際には, 連結不可能な匿名化患者 ID を用いている. なお, 本研究で宮崎大学医学部附属病院の電子カルテ
データを医療従事者支援に用いることは宮崎大学の HP[11] に記載がされており, 宮崎大学の倫理審査委員会及び東京工業大学の人を対象とする研究倫理審査委員会の承認を得ている.
電子カルテシステムに記録された TUR Bt という医療指示を含む医療指示データを対象のデータセットとして,3 章で説明したシーケンシャルパターンの共通部分検出を行う.TUR Bt は術後の医療指示の流れがあまり定まっていないものであるため,
クリニカルパスバリアントの検出が行いやすいのではないかと

ントパターンの一部をそれぞれ図 4, 図 5 に示す. バリアントパ
ターンは図 4 の頻出クリニカルパス < a, b, c, d, e > の共通部
分検出によって生成されたものを出力している.
<頻出クリニカルパス a >…,[{"order̲type" : "手術" , "order̲explain" : "膀胱悪性腫瘍手術" , "order̲name" : "" , "code" : "" , "day" : "0"}] ,[{"order̲type" : "注射" , "order̲explain" : "静脈内注射" , "order̲name" : "ラクテック注" , "code" : "331" , "day" : "0"}] ,[{"order̲type" : "注射" , "order̲explain" : "静脈内注射" , "order̲name" : "セファゾリンＮａ点滴静注用" , "code" : "613" , "day" : "0"}] ,[{"order̲type" : "病理診断" , "order̲explain" : "Ｔ?Ｍ" , "order̲name" : "" , "code" : "" , "day" : "0"}] ,[{"order̲type" : "緊急検査" , "order̲explain" : "ＷＢＣ" , "order̲name" : "" , "code" : "" , "day" : "0"}] ,…
<頻出クリニカルパス b >…,[{"order̲type" : "手術" , "order̲explain" : "膀胱悪性腫瘍手術" , "order̲name" : "" , "code" : "" , "day" : "0"}] ,[{"order̲type" : "注射" , "order̲explain" : "点滴注射" , "order̲name" : "ヴィーンＤ注" , "code" : "331" , "day" : "0"}] ,[{"order̲type" : "注射" , "order̲explain" : "静脈内注射" , "order̲name" : "ラクテック注" , "code" : "331" , "day" : "0"}] ,[{"order̲type" : "注射" , "order̲explain" : "静脈内注射" , "order̲name" : "セファゾリンＮａ点滴静注用" , "code" : "613" , "day" : "0"}] ,[{"order̲type" : "緊急検査" , "order̲explain" : "ＷＢＣ" , "order̲name" : "" , "code" : "" , "day" : "0"}] ,…
<頻出クリニカルパス c >…,[{"order̲type" : "手術" , "order̲explain" : "膀胱悪性腫瘍手術" , "order̲name" : "" , "code" : "" , "day" : "0"}] ,[{"order̲type" : "手術麻酔" , "order̲explain" : "閉鎖循環式全身麻酔" , "order̲name" : "" , "code" : "" , "day" : "0"}] ,[{"order̲type" : "注射" , "order̲explain" : "静脈内注射" , "order̲name" : "ラクテック注" , "code" : "331" , "day" : "0"}] ,[{"order̲type" : "注射" , "order̲explain" : "静脈内注射" , "order̲name" : "セファゾリンＮａ点滴静注用" , "code" : "613" , "day" : "0"}] ,[{"order̲type" : "緊急検査" , "order̲explain" : "ＷＢＣ" , "order̲name" : "" , "code" : "" , "day" : "0"}] ,…
<頻出クリニカルパス d >…,[{"order̲type" : "手術" , "order̲explain" : "膀胱悪性腫瘍手術" , "order̲name" : "" , "code" : "" , "day" : "0"}] ,[{"order̲type" : "手術麻酔" , "order̲explain" : "閉鎖循環式全身麻酔" , "order̲name" : "" , "code" : "" , "day" : "0"}] ,[{"order̲type" : "注射" , "order̲explain" : "静脈内注射" , "order̲name" : "ラクテック注" , "code" : "331" , "day" : "0"}] ,[{"order̲type" : "注射" , "order̲explain" : "静脈内注射" , "order̲name" : "セファゾリンＮａ点滴静注用" , "code" : "613" , "day" : "0"}] ,[{"order̲type" : "緊急検査" , "order̲explain" : "ＷＢＣ" , "order̲name" : "" , "code" : "" , "day" : "0"}] ,…
<頻出クリニカルパス e >…,[{"order̲type" : "手術" , "order̲explain" : "膀胱悪性腫瘍手術" , "order̲name" : "" , "code" : "" , "day" : "0"}] ,[{"order̲type" : "手術麻酔" , "order̲explain" : "閉鎖循環式全身麻酔" , "order̲name" : "" , "code" : "" , "day" : "0"}] ,[{"order̲type" : "注射" , "order̲explain" : "静脈内注射" , "order̲name" : "ラクテック注" , "code" : "331" , "day" : "0"}] ,[{"order̲type" : "注射" , "order̲explain" : "静脈内注射" , "order̲name" : "セファゾリンＮａ点滴静注用" , "code" : "613" , "day" : "0"}] ,[{"order̲type" : "緊急検査" , "order̲explain" : "ＷＢＣ" , "order̲name" : "" , "code" : "" , "day" : "0"}] ,…

図 4 頻出クリニカルパス例 (一部抜粋)

予測しデータセットとして選んだ.

4. 4 クリニカルパスバリアントの検出
対象データセットの TUR Bt に関する医療指示数の詳細情…[{“order̲type" : "処方" , "order̲explain" : "外用薬剤" , "order̲name" : "グリセリン浣腸「オヲタ」" , "code" : "235" , "day" : "0"} ],[{“order̲type” : "手術" , "order̲explain" : "膀胱悪性腫瘍手術" , "order̲name" : "" , "code" : "" , "day" : "0"} ],報を表 2 に示す.

[{"order̲type" : "注射" , "order̲explain" : "静脈内注射" , "order̲name" : "ラクテック注" , "code" : "331" , "day" : "0"} ,表 2 対象データセット{"order̲type" : "注射" , "order̲explain" : "点滴注射" , "order̲name" : "ヴィーンＤ注" , "code" : "331" , "day" : "0"} ,のべ対象患者数

381{"order̲type" : "手術麻酔" , "order̲explain" : "閉鎖循環式全身麻酔" , "order̲name" : "" , "code" : "" , "day" : "0"} ],患者一人に対する医療指示の最大数

1999[{"order̲type" : "注射" , "order̲explain" : "静脈内注射" , "order̲name" : "セファゾリンＮａ点滴静注用" , "code" : "613" , "day" : "0"} ,患者一人に対する医療指示の平均数

85.67{"order̲type" : "注射" , "order̲explain" : "静脈内注射" , "order̲name" : "ラクテック注" , "code" : "331" , "day" : "0"} ],[{"order̲type" : "病理診断" , "order̲explain" : "Ｔ?Ｍ" , "order̲name" : "" , "code" : "" , "day" : "0"} ,今回の実験では入院期間が 7 日間であるもののみを用いて実験を行い, 抽出する頻出クリニカルパス長は 17 以上でかつ飽和なパターンのみとした薬名分類を行った. これにより得られた{"order̲type" : "注射" , "order̲explain" : "静脈内注射" , "order̲name" : "セファゾリンＮａ点滴静注用" , "code" : "613" , "day" : "0"} ],[{"order̲type" : "緊急検査" , "order̲explain" : "ＷＢＣ" , "order̲name" : "" , "code" : "" , "day" : "0"} ],…

図 5 バリアントパターン例 (一部抜粋)

頻出クリニカルパスの情報を表 3 に示す.
この頻出クリニカルパスに対して, 共通部分検出によるクリニカルパスバリアントの作成を行う.

図 5 の色字部分がそれぞれのバリアントとなっており, 同一

のタイムアイテムブロックに属していて, 医療大別が異なる, もしくは医療大別と薬効が同じであるが注射されている薬剤名が異なっていることが確認出来る.

5. まとめと今後の課題
5. 1 ま と め
本研究では, 医療指示履歴のデータ SDB から T-PrefixSpan

4. 6 可視化実験
図 4 の得られたクリニカルパスバリアントの一部を可視化によって得られた典型シーケンスに対して共通部分検出を行う

ツールによって表現したものが図 6(全体図), 図 7(拡大図) でことにより, 医療指示の変形パターンであるバリアントを, バ

ある. ツールの作成に関しては D3.js[12] を用いて,Web アプリ

リアントパターンというグラフ表現をする手法を説明した. 提ケーションとして開発している. 各医療指示をグラフのノード

案手法を用いた実験の結果,TUR Bt 術においての典型クリニとし, シーケンスに従ってノードを矢印で表現することで可視

カルパス同士の対応関係が把握出来るようになったことが確認化を実現している. ツールには図 4 で示した, バリアントパター

できた. また, 従来の文字列による出力よりも視認性を高めるた

ンの文字列による記述方法の入力を与えている.

め, 可視化ツールの作成を行い, 実験によって得られたデータの表示を行った.

5. 2 今後の課題
本提案手法では,SPM で抽出されなかったバリアントパター
ンも結果として出力としてしまう場合がある. そのため,SPM で抽出された頻出クリニカルパス上に存在しないようなエッジに対する扱いをどのようにするのか検討の必要がある. また, 本手法はバリアントパターンとなっている医療指示間の優先度 (支持度) の情報を含んでいない. 実際のクリニカルパスの分析のためには, 重要な情報であるため, 考慮するような方法の検討が必要である.
今回の実験で行った共通部分検出を行う頻出クリニカルパス
図 6 可視化例 (全体概要)の基準では, どの他のクリニカルパスとも共通部分検出を行わないものが多く得られてしまう結果となってしまったために,本研究に合うようなクリニカルパス同士の比較基準を考える必
要がある.
今回は確認を行ったのは TUR Bt のみのため, 他のクリニカ
ルパスに対しても同様の実験を行う必要がある.
そして, このクリニカルパスバリアントの情報を含む出力がどの程度医学的に有益なのか医療従事者と確認し, 提案手法の評価を行う必要がある.

謝

辞本研究の一部は, 日本学術振興会科学研究費補助金基盤研究の助成により行われた. また, 本研究で宮崎大学医学部附属病院
図7

可視化例 (拡大図)の電子カルテデータを医療指示支援に用いることは宮崎大学のHP[11] に記載されており, 宮崎大学の倫理審査委員会及び東京
医療指示の (大別 type) は全体の流れを把握する上で必要な情報となるため, 大別毎にノードに色の設定を行い色分けをし,工業大学の人を対象とする研究倫理審査委員会の承認を得ている. 関係者各位の協力に感謝する.

視認性を高めた. 同様に,(処置日 day) も全体を把握するために必要な情報であるため, ノード上部に大別と共に常に表示するようにしている. さらに, 各医療指示の細かな分析のために必要と思われる補足情報として, ノード上部の四角の枠内に (詳しい説明 Explain , 薬剤名 Name) が記載されている. この部分はクリック等のマウス操作により表示と非表示の切り替えが可能である. これにより, ノードと矢印を追っていくことでの全体の流れの把握, 及び医療指示の補足情報を表示することでの医療指示単位の情報の把握が可能であり, 従来の文字列による出力(図 4) よりも理解がしやすく, 扱いやすい形式となった.

文

献[1] 牧原健太郎, 荒堀喜貴, 渡辺陽介, 串間宗夫, 荒木賢二, 横田治夫
“電子カルテシステムの操作ログデータ時系列分析による頻出シーケンスの抽出” DEIM Forum 2014, F6-2, 2014.
[2] Rakesh Agrawal and Ramakrishnan Srikant “Fast algorithms for mining association rules in large databases” Proceeding of the 20th International Conference on Very Large
Data Bases, pp. 487-499, 1994.
[3] 佐々木夢, 荒堀喜貴, 串間宗夫, 荒木賢二, 横田治夫, “電子カルテシステムのオーダログデータ解析による医療行為の支援” DEIM
Forum 2015, G5-1, 2015.
[4] X. Yan, J. Han and R.Afshar., “CloSpan: Mining closed
se- quential patterns in large databases.” Proc.SIAM Int 1

Conf. Data Mining (SDM 03), pp. 166-177, May 2003.
[5] Yen-Liang Chen, Mei-Ching Chiang and Ming-Tat Ko.,
“Discovering time-interval sequential patterns in sequence
databases.” Expert Systems with Applications 25, pp. 343354, 2003.
[6] Jian Pei, Jiawei Han, Behzad Mortazavi-Asl, Helen Pinto,
Qiming Chen, Umeshwar Dayal, Mei-Chun Hsu., “PrefixSpan: Mining Sequential Patterns Eﬃciently by Prefix- Projected Pattern Growth.” Proceeding of 2001 International
Conference on Data Engineering, pp. 215-224, 2001.
[7] 浦垣啓志郎, 保坂智之, 荒堀喜貴, 串間宗夫, 山崎友義, 荒木賢 二,
横田治夫., “電子カルテの投薬履歴における薬効に着目した 医療行為パターンの抽出” DEIM Forum 2016, G7-5 2016.
[8] 保坂智之, 浦垣啓志郎, 荒堀喜貴, 串間宗夫, 山崎友義, 荒木賢 二,
横田治夫., “医療履歴の時系列解析におけるシーケンス間類似度評価による時間間隔調整の導入” DEIM Forum 2016, G7-5
2016.
[9] Heikki Mannila, Hannu Toivonen, and A. Inkeri Verkamo.,“Discovery of frequent episodes in event sequences” Data
Mining and Knowledge Discovery, Vol. 1, pp. 259-289, 1997.
[10] 電子カルテシステム WATATUMI., http://www.corecreate.com/02
01 izanami.html[11] 宮崎大学医学部附属病院医療情報部., http://www.med.miyazakiu.ac.jp/home/jyoho/[12] D3.js., https://d3js.org