薬名類似度とは?

医薬品の薬名には、お互いに類似したものも少なくありません。 このため、医療従事者が類似した薬名と勘違いしたり、 処方オーダリングシステムやレセプトコンピュータなどへの端末入力時に入力や選択を誤ったりといった取り違えが生じ、 医療事故の要因の一つとなっています。

これまでに、2つの医薬品の薬名が「どの程度類似しているか」を評価するための指標としては、 「cos1」「dlen」 「edit」「htco」 などが提唱されてきました。

しかし、これらの指標は、薬名の類似度を的確に評価するには不十分でした。 そこで、東京大学大学院薬学研究科 育薬学講座(澤田康文研究室)と 九州大学システム情報科学研究院 情報理学部門 基礎情報学講座(竹田正幸研究室)では、 医薬品の薬名がどの程度似ているかを定量的に評価するための指標として、 「htfrag」「vwhtfrag」 「awhtfrag」を開発しました[参考 1)]。 さらにその後、東京大学大学院薬学研究科 育薬学講座において、 「vwhtfrag」を改良した指標である「m2-vwhtfrag」を開発しました[参考 2),3)]。 これらの指標は従来の指標と比較して、 実際に取り違えが生じた組み合わせを的確に判断できることが確認されています。

これらの研究成果を受け、 NPO法人医薬品ライフタイムマネジメントセンター(DLMセンター)では、株式会社コクリーボ(※)の協力のもと、 薬名類似度に関する情報を提供するために本サイトを開設いたしました。

※医薬品適正使用・育薬に関する教育研究分野と調剤薬局事業との協業を目的とした会社であり、 DLMセンターの付属薬局である「永生薬局」(東京都台東区)を共同運営しています。

薬名類似度とは?

以下に、それぞれの指標の特徴について解説します。 パラメータ値などの説明など、詳細については、既報の論文(薬学雑誌 126(5): 349-356, 2006 )をご覧ください。

htfrag (head and tail-weighted fragmentary pattern based measure)
断片パターン指標と呼ばれる、文字列の順番(連続性)を考慮した指標に、先頭部分および末尾部分の一致に関して一定の重みづけをおいた指標です。計算パラメータとしてa,bを要求しますが、システムでは、(a=0.35/b=0.30)を表示します。
vwhtfrag (visually weighted htfrag)
htfragをもとにした指標ですが、濁音、半濁音の有無は無視して(一致したものとして)計算します。さらに文字の形が類似している場合の一定の考慮(半一致)を加えています。
これにより、htfragより良好な判別を与えることができます。計算パラメータとしてa,b,cを要求しますが、システムでは、vwhtfrag(a=0.45/b=0.15/c=0.00)を表示します。
実際に取り違えた医薬品名の組み合わせとランダムに作成した組み合わせを用いた検討により、vwhtfrag値が0.28よりも大きいと取り違えが生じる可能性が高いと予測できます。
awhtfrag (auditorily weighted htfrag)
文字列をローマ字に置換して断片パターン指標による計算を施しています。このため、文字が完全一致していなくても、文字の音感(母音または子音)が類似している場合に一定の考慮を加えています。具体的には、計算パラメータとして、a,b,cを要求しますが、当サイトでは、(a=0.60/b=0.20/c=0.60)を表示します。
m2-vwhtfrag (modified vwhtfrag)
vwhtfragをもとにした指標ですが、末尾一致に対して先頭一致の寄与を高し、文字列長の差の寄与を考慮しています。これにより、vwhtfragより良好な判別を与えることができます。計算パラメータとしてa,b,c,d,eを要求しますが、当サイトでは(a=0.70/b=0.05/c=0.00/d=2.5/e=0.15)を表示します。
実際に取り違えた医薬品名の組み合わせとランダムに作成した組み合わせを用いた検討により、m2-vwhtfrag値が0.456よりも大きいと取り違えが生じる可能性が高いと予測できます。
edit
編集距離と呼ばれます。片方の文字列に対して、任意の文字列の削除、置換または挿入を最低何回繰り返せば他方の文字列と同一になるかを表します。ワープロにおける入力ミスの訂正や、塩基配列相同性判断などに用いられている指標です。値が小さいほど類似度が高くなりますので、本システムでは負の値とすることで、値が類似度が高くなるようにして表示しています。
cos1 (cosine 1)
薬名を構成する文字の組み合わせの近さを示す指標です。完全一致の場合に1.0、完全不一致の場合に0.0を与え、値が大きいほど高いことを意味します。構成する文字列の順番は全く考慮されないという欠点があります。