(57)【特許請求の範囲】
【請求項１】
レセプトに記載された傷病名データを格納したレセプト記載傷病名データベースと、
標準的な傷病名であるマスタ傷病名及びそのマスタ傷病名に対応した傷病コードを格納した傷病名マスタと、
前記レセプト記載傷病名データベースから前記レセプトに記載された傷病名を取得し、レセプト記載傷病名文字列を、前記傷病名マスタに照合して、レセプト記載傷病名文字列の全体もしくは一部と一致するマスタ傷病名を検出し、検出されたマスタ傷病名である検出傷病名、傷病コード、前記レセプト記載傷病名文字列における検出傷病名の開始位置及び終了位置を照合テーブルにひとつもしくは複数格納する傷病名マスタ照合手段と、
前記傷病名マスタ照合手段によって抽出された検出傷病名の中から、前記レセプトに記載されたレセプト記載傷病名に最も該当しているものを抽出する傷病名生成手段と、
前記傷病名生成手段によって抽出された生成傷病名と傷病コードとを出力する出力手段と、
前記出力手段によって出力された生成傷病名を蓄積するレセプト情報データベースとを有し、
前記傷病名生成手段は、
前記照合テーブルから、前記検出傷病名、傷病コード、開始位置及び終了位置を取得し、
取得された前記検出傷病名が１つか又は複数か判断し、
前記検出傷病名が複数の場合は、取得された検出傷病名文字列の開始位置及び終了位置から、一方の文字列が他方の文字列に対して内含関係にある場合には、他方に内含される検出傷病名を削除し、
前記検出傷病名が無い場合には、検出属性を未検出とし、
前記検出傷病名の残数が複数の場合には、検出属性を複数検出とし、
前記検出傷病名の残数が１つの場合には、前記傷病名マスタ照合手段から検出された検出傷病名と前記レセプトに記載されたレセプト記載傷病名とが一致した場合には、検出属性を完全一致とし、また、前記傷病名マスタ照合手段から検出された検出傷病名と前記レセプトに記載されたレセプト記載傷病名とが一致しない場合には、検出属性を部分一致とし、
前記照合テーブルに、生成傷病名、傷病コード、検出属性を格納することを特徴とするレセプト処理システム。
【請求項２】
請求項１に記載のレセプト処理システムにおいて、さらに、修飾語句とその修飾語句の属する修飾属性が格納された修飾語マスタと、修飾語マスタ照合手段とを有し、
前記傷病名生成手段は、レセプト傷病名文字列から検出傷病名レセプトに記載されたレセプト傷病名文字列を取得して、生成傷病名文字列として検出された文字列以外の文字列を、残文字列として生成し、
前記修飾語マスタ照合手段は、前記照合テーブルに格納された前記残文字列を取得し、前記修飾語マスタから検出された検出修飾語句と対応する修飾属性を前記照会テーブルに格納し、前記出力手段は、前記検出修飾語句と対応する修飾属性を出力して、前記レセプト情報データベースに蓄積するレセプト処理システム。
【請求項３】
請求項１に記載のレセプト処理システムにおいて、レセプトに記載される変換対象文字列と、前記変換対象文字列を変換する変換後文字列とを登録した文字列変換マスタを有し、前記文字列変換手段は、取得された前記レセプトに記載された傷病名の文字列の全部もしくは一部を、前記文字列変換マスタに照合して、前記変換後文字列に変換してから前記傷病名マスタに照合することを特徴とするレセプト処理システム。
【請求項４】
請求項３に記載のレセプト処理システムにおいて、さらに、検出属性と修飾属性を選択させる手段を有し、前記傷病名生成手段によって抽出された生成傷病名であって選択された属性に属する傷病名及びその関連情報を、レセプトに記載されたレセプト記載傷病名文字列と共に表示し、修正を受け付けて前記レセプト情報データベースに蓄積する照合結果評価修正手段を有することを特徴とするレセプト処理システム。
【請求項５】
請求項４に記載のレセプト処理システムにおいて、前記修飾属性は、部位、病因、経過表現、状態表現、患者帰属、接尾語のいずれか１つ以上であることを特徴とするレセプト処理システム。
【請求項６】
請求項４に記載のレセプト処理システムにおいて、前記照合結果評価修正手段によって受け付けられた修正を、変換対象文字列と変換後文字列として前記文字列変換マスタに登録する文字列変換マスタ編集手段を有することを特徴とするレセプト処理システム。
【請求項７】
請求項１に記載のレセプト処理システムにおいて、前記傷病名生成手段は、前記検出傷病名が複数の場合、前記レセプト記載傷病名の文字列に対する検出傷病名の文字列の位置について、複数の前記検出傷病名を比較し、両端位置の内含関係、前方又は後方揃いの内含関係、ずれ位置、独立した位置、同一位置のいずれかの位置関係を判断し、前記両端位置の内含関係の場合には内含されている検出傷病名を削除し、前方又は後方揃いの内含関係の場合には短い方の検出傷病名を削除し、独立した位置の場合には前記複数の検出傷病名を削除せず、同一位置の場合にはいずれか一つ以上を検出傷病名として残すことを特徴とするレセプト処理システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、表記に揺らぎのある文字列をコード管理する際に、文字列を標準的な文字列に収束させてコード化を容易にする技術、特に保険者や審査支払機関が、医療機関の発行した診療報酬明細書に記載された傷病名をコード化して統計処理を行うレセプト処理システムに関する。
【０００２】
【従来の技術】
健康保険組合等の保険者は、効果的な保険事業展開等の目的で疾病動向の統計処理等を行うために各医療機関より発行された診療報酬明細書（以下、レセプトと言う）の傷病名欄に記載されている病名を用いて集計を行っている。
従来これらの作業は、レセプトに記載された傷病名を知識・経験のある作業者が読み取り、対応する傷病コードを手作業で変換、集計していたが、保険者によっては月に数十万〜数百万件ものレセプトが届くため、毎月の集計を行うには時間的にもコスト的にも負担が重く、機械化されることが望まれている。
従来の技術によってこの傷病名読み取りの機械化を実現するには、たとえばＯＣＲ装置（文字読取装置）により傷病名欄を文字認識した文字列と、標準的な傷病名およびその傷病コードが蓄積された記録媒体である傷病名マスタを照合して該当傷病名をコード化する方法がある。しかしレセプトの傷病名欄は医師や、医療機関がより的確に記載するために補足事項を書き加えたり、標準的な病名ではないが慣用的に用いられている病名を記載したり、仮名遣いが異なるなど、表記上のばらつきがあり、レセプト記載傷病名と傷病名マスタとを照合して傷病コードを得ることは必ずしも容易ではない。そのため、病名マスタとは別にユーザ登録辞書を設け、検出されなかったレセプト記載傷病名はその傷病名と対応する傷病コードを登録しておく必要がある。
しかし未知のレセプト記載傷病名が発見されるたびに、ユーザ辞書に登録するのは大変な労力であり、中にはユーザにとって必ずしも重要ではない情報が付加された文字列であることによって傷病名マスタと完全に一致しない場合も多々ある。そこで、傷病名における様々な異表記を標準的な表記に自動変換し、未知のレセプト記載傷病名が検出された場合、それがユーザにとって目視確認の必要性があるのかどうか前もって見当がつけられる手段が提供できれば、作業効率は各段に向上する。
【０００３】
【発明が解決しようとする課題】
従来の技術では多くのレセプト記載傷病名を自動的にコード化するためには、より多くの表記揺らぎ傷病名をユーザ辞書に登録しておく必要があった。また従来の技術では照合時に未検出であったすべての傷病名を目視により確認し、必要に応じてユーザ辞書に追加する必要があった。
本発明の目的は、少ない負担でより多くの表記揺らぎを傷病名マスタに照合しやすい、標準的な病名に変換することにある。また本発明のもうひとつの目的は、照合の結果、完全に一致するマスタ傷病名がなかった場合でも、その内容を分析して、ユーザに分析結果を提示することにより、ユーザがニーズに応じて修正するか否かを選択できる環境を提供することにある。
【０００４】
【課題を解決するための手段】
本発明に係るレセプト処理システムは、上記目的を達成するために、レセプトに記載された傷病名に対応する文字列を傷病名マスタと照合する前に、文字列変換手段と文字列変換マスタとを用いてレセプト記載傷病名文字列上で起こり得る様々な異表記をマスタ傷病名の表記文字列に変換する。これにより、マスタ傷病名が検出されやすくなるようにし、従来の技術のようにユーザ辞書に対象となる文字列の含まれるすべてのレセプト記載傷病名を登録するよりもはるかに効率的で、登録漏れの危険性が軽減する。したがって、ユーザーが黙視確認しなければならない傷病名の数を低減することが出来る。また、本発明のレセプト処理システムは、レセプト記載の傷病名がどの程度マスタ傷病名と一致したのかをユーザに提示できるとともに、マスタ傷病名と完全に一致しなかったレセプト記載傷病名については、完全一致が妨げられた要因である文字列を検出しその文字列の内容を分析してユーザに提示する。
【０００５】
【発明の実施の形態】
以下にレセプト記載傷病コード化処理の実施を支援する一実施形態のレセプト処理システムについて説明する。
（実施例１）
図１は本実施形態の基本構成図で、コンピュータ装置１に記録媒体に本発明によるプログラムが格納されている。図示されていないＯＣＲ装置、パンチ入力、あるいはフロッピーディスクなどの外部記録媒体や他のコンピュータ装置とのネットワーク接続などを介して供給されるレセプト記載傷病名データ２はコンピュータ装置１内における処理の結果、適切な傷病コードの形でレセプト情報データベース３に格納、蓄積される。あるいは処理結果はプリンタによって帳票上に出力されてもよい。
コンピュータ装置１はプログラムとして文字列変換手段４、傷病名マスタ照合手段７、傷病名マスタ前処理手段８、傷病名生成手段１０、修飾語マスタ照合手段１１、照合結果評価修正手段１４、文字列変換マスタ編集手段１５、記録領域として文字列変換マスタ５、照合テーブル６、傷病名マスタ９、修飾語マスタ１２、照合結果保存領域１３から構成され、処理結果を操作者が管理、修正するための周辺機器としてディスプレイ等の表示手段１６とキーボード、マウス等の入力手段１７を備える。
図２を用いて本実施形態の大まかな動作について説明する。レセプト記載傷病名データ２より取得されたレセプト記載傷病名は、まず文字列変換手段４によって文字列変換マスタ５に格納されている変換対象文字列が検索され、検出された場合は変換後文字列に変換される。このとき変換対象となるのはレセプト記載傷病名文字列全体とは限らず、その一部分でもよい。
例えば「皮膚」という語句はレセプト上慣用的に「皮フ」という異表記で記されることがある。そのため、文字列変換マスタ５上に変換対象文字列「皮フ」は変換後文字列「皮膚」に置換することを定義しておけば、「接触性皮フ炎」というレセプト記載傷病名を「接触性皮膚炎」というマスタ傷病名に変換することができる。レセプト記載傷病名は文字列変換手段４によって変換処理された後、照合テーブル６に格納される。
次に傷病名マスタ照合手段７によって傷病名マスタ９に格納されているマスタ傷病名が検索され、検出された場合は照合テーブル６に検出されたマスタ傷病名（以下、検出傷病名という）、およびその傷病コードが格納される。傷病名マスタ照合手段７においてレセプト記載傷病名とマスタ傷病名を照合する際、一部のマスタ傷病名はそのまま照合するだけではなく、他の文字列に変換した上でも照合する必要があるので、傷病名マスタ前処理手段８において、それらの文字列を生成した上で、同様に照合する。
例えば傷病名マスタ９に利用することのできるレセプト電算処理システム傷病名マスターでは、傷病名「高血圧（症）」が厚生省社会保険表章用疾病分類の中分類（以下中分類という）の「０９０１」にあたると定義している。これは「高血圧」という傷病名はその後に「症」と記載されていてもいなくても中分類「０９０１」に該当するという意味である。実際のレセプト記載傷病名文字列としては「高血圧」、「高血圧症」、「高血圧（症）」のいずれもがありえるため、傷病名マスタ前処理手段８においてそれら３種類の文字列を生成した上で、それぞれの文字列をレセプト記載傷病名と照合する。
前述したように検出傷病名は照合テーブル６に格納されるが、このとき検出傷病名が複数ある場合もあり、その際には傷病名生成手段１０において必要な傷病名だけを抽出し、これを生成傷病名として照合テーブル６に格納する。また検出傷病名が単一の場合は、それを生成傷病名として照合テーブル６に格納する。生成傷病名が複数生成された場合、もしくはレセプト記載傷病名と完全に同一文字列でない場合は、レセプト記載傷病名文字列から生成傷病名文字列を取り除いて残文字列を生成し、照合テーブル６に格納する。あわせて傷病名生成結果より検出属性というパラメータを、照合テーブル６に格納する。検出属性はレセプト記載傷病名と生成傷病名の一致度合いを示すパラメータで、その種類は生成傷病名がひとつでレセプト記載傷病名と同一の場合は『完全一致』、生成傷病名はひとつだが残文字列が存在する場合は『部分一致』、生成傷病名が複数存在する場合は『複数検出』、傷病名がひとつも検出されなかった場合には『未検出』である。この例として、「慢性化膿性中耳炎急性増悪症」というレセプト記載傷病名が入力された際の傷病名マスタ照合手段７、傷病名生成手段１０の動作を示す。傷病名マスタ照合手段７では「慢性化膿性中耳炎急性増悪症」以外に、「慢性化膿性中耳炎」、「化膿性中耳炎」、「中耳炎」、「耳炎」などが検出されるため、これらの中でもっともよく符合している「慢性化膿性中耳炎急性増悪症」を生成傷病名として採用し、検出属性の『完全一致』とともに照合テーブル６に格納するが、残文字列は存在しないといったプロセスとなる。また別の例として、「顔面湿疹」というレセプト記載傷病名が入力された場合、傷病名マスタ照合手段７では「湿疹」というマスタ傷病名のみが検出されるとする。したがって検出傷病名、生成傷病名ともに「湿疹」、残文字列として「顔面」が生成され、検出属性は『部分一致』である。
傷病名生成手段１０において残文字列が生成された場合は、修飾語マスタ照合手段１１において残文字列の中に修飾語マスタ１２に格納されている修飾語句が含まれていないかどうか検索する。修飾語句が検出された場合には、その修飾語句および対応する修飾属性を照合テーブル６に格納する。修飾属性とは傷病名以外に含まれていた語句の種類を示すパラメータで、後程、コード化結果の評価に用いる。
例えば「左前腕）接触性皮膚炎」というレセプト記載傷病名の場合、傷病名生成手段１０において生成される生成傷病名は「接触性皮膚炎」、残文字列は「左前腕）」である。修飾語マスタ照合手段１１では修飾語句およびその修飾属性がそれぞれ「左」：『位置』、「前腕」：『部位』、「）」：『記号他』として検出される。修飾属性についての詳細は後述する。
以上の工程により照合テーブル６に格納されたそれぞれのデータは照合結果保存領域１３に蓄積される。
ユーザは照合結果評価修正手段１４を介して照合結果保存領域１３内の任意のデータ、もしくは照合テーブル６内のデータを参照、修正する。照合結果評価修正手段１４には、あらかじめユーザによって参照するデータの条件を設定できる機能があり、条件式としては検出属性や修飾属性が用いられる。照合結果評価修正手段１４は設定にされた条件を満たすデータをコンピュータ装置１に接続されたディスプレイ装置上に表示し、ユーザはその情報を元にレセプト記載傷病名と生成傷病名を比較確認し、必要に応じて傷病名マスタ９から直接選択することができる。同時に、文字列変換マスタ編集手段１５によって文字列変換マスタを編集し、変換対象文字列と変換後文字列を追加することにより、次回から同じ修正を省くことが可能になる。
照合結果評価修正手段１４は照合結果保存領域、もしくは照合テーブル６のデータを参照することができるが、これはバッチ処理で一度すべてのレセプト記載傷病名データ２の照合を行ってから、照合結果保存領域１３に蓄積された特定の検出属性や修飾属性に属するデータを編集する場合、照合テーブル６を参照してコード出力処理中に随時確認、修正する場合など、ユーザはその運用形態に合わせていずれかの方法で傷病コード出力の結果を確認、修正することができるようにするためである。
以上のように、必要に応じてユーザの手により修正の加えられたデータ、すなわちレセプト記載傷病名と生成傷病名、傷病コードは最終結果として出力され、レセプト情報データベース３に蓄積、もしくは帳票に印字される。
また、文字列変換マスタ編集手段１５を用いて、レセプト記載傷病名と生成傷病名をそれぞれ変換前文字列、変換後文字列として文字列変換マスタ５に登録することにより、次回同じレセプト記載傷病名を処理するときは検出属性「完全一致」として処理することができ、ユーザの手を煩わすことなく、均質な傷病コード化処理を提供することが可能である。
図３は本実施形態の文字列変換マスタ５の具体例を示す図である。文字列変換マスタ５には変換対象文字列とそれに対応する変換後文字列が格納されている。文字列変換マスタ５はレセプトに記載される傷病名の様々な表記揺らぎを傷病名マスタ９に記載されているマスタ傷病名の表記に収束させる目的で設置されているので、格納される変換対象文字列、変換後文字列としてはレセプト記載傷病名においてよく見受けられる異表記、例えばひらがな／カタカナ／漢字表記の違い（「びらん」、「ビラン」、「糜爛」）、異表記漢字（「頸」と「頚」）、長音記号の有無（「カタール」と「カタル」）などを登録しておく。文字列変換手段４では、レセプト記載傷病名文字列のうち、その対象文字列部分だけが変換され、傷病名マスタ９と照合される。したがって前述したユーザ辞書を用いた照合方法と違い、異表記文字列の含まれているすべての傷病名をユーザ辞書に登録するような手間は必要なく、異表記文字列部分のみを文字列変換マスタ５に登録しておくだけで同等の効果が得られる。そのためユーザによるマスタのメンテナンスは容易になり、登録漏れの危険性も大幅に低減できる。
図４は本実施形態の傷病名マスタ９の具体例を示す図である。傷病名マスタ９にはマスタ傷病名とそれに対応する傷病コードが格納されているが、本実施形態ではＩＣＤ―１０コードという英文字と３桁の数字で構成されるコードと、４桁の数字で構成される中分類コードが併記されている。もちろん傷病名マスタ９では他の傷病コードを使用したり、１つだけもしくは３つ以上の傷病コードを併記してもかまわない。
図５は本実施形態の修飾語マスタ１２の具体例を示す図である。修飾語マスタ１２は修飾語句とその修飾語句の属する修飾属性が格納されており、修飾属性には括弧や「および」などの記号や接続詞の含まれる『記号他』、「右」や「末梢」などの身体内での位置を示す『位置』、「前腕」や「前頭部」などの身体の器官を示す『部位』、「アレルギー性」など病因を示す『病因』、「急性」など傷病の経過を示す『経過表現』、「多発性」など傷病の状態を示す『状態表現』、「乳児」など患者の属性を示す『患者帰属』、「後遺症」など傷病名の後につける『接尾語』などがある。
修飾語マスタ１２は傷病名マスタ９から検出されたマスタ傷病名がレセプト記載傷病名と完全に同一でなかった際に、どのような文字列が残っているのかを調べて不一致部分の重要性を調べる目的で設置されている。例えば、残っている文字列が記号であったり、『位置』であった場合は、医療保険上さほど重大な意味はないと考えられる。また残っている文字列に『部位』があった場合も同様に考えてもいいかもしれない。しかし残っている文字列が『状態表現』や『接尾語』、あるいは修飾語マスタ１２に格納されていない文字列だった場合は、念のため知識あるユーザの目によって確認したほうがよいと思われる。このように修飾語マスタ１２を用いることによって、レセプト記載傷病名がマスタ傷病名と完全に一致しなかった場合の不一致理由のもたらす重要性を図ることが可能となり、ユーザはその運用によって目視確認するレセプト記載傷病名数を制御することが可能となる。もし、本発明の一実施形態のような機能がない場合、ユーザはマスタ傷病名と完全一致しなかったすべてのレセプト傷病名を目視確認しないと、中には大きな誤りを犯したコード化処理があったとしても見逃してしまうことになる。図６は本実施形態の照合テーブル６の具体例を示す図である。照合テーブル６は領域６１から領域６５の５つの領域に分けることができる。
領域６１は文字列変換手段４により前処理の施されたレセプト記載傷病名で、本図では具体例として「左前腕）接触性皮フ炎」というレセプト記載傷病名が文字列変換手段４により「左前腕）接触性皮膚炎」に変換された上で照合テーブル６に格納されたと想定している。
領域６２は傷病名マスタ照合手段７が検出した検出傷病名とレセプト記載傷病名文字列における開始位置と終了位置、およびその検出傷病名の傷病コードである。本具体例では「左前腕）接触性皮膚炎」というレセプト記載傷病名に対し、「皮膚炎」（傷病コード：１２０１）と「接触性皮膚炎」（傷病コード：１２０２）とが検出され、それぞれの開始位置と終了位置は図に示すとおりである。検出傷病名文字列欄にはレセプト記載傷病名文字列全体における検出傷病名の位置がわかりやすいように検出傷病名以外のレセプト記載傷病名文字列を「○」で示しているが、これは説明用の記号であり、必ずしも必要ではない。また本例では検出傷病名は２つであるが、これは入力するレセプト記載傷病名によって件数が増減する。
領域６３は傷病名生成手段１０において抽出された生成傷病名と生成傷病名文字列および傷病コードである。本具体例ではより多くレセプト記載傷病名と一致した「接触性皮膚炎」が生成傷病名として採用されている。
本例では生成傷病名はひとつであるが、これは入力するレセプト記載傷病名によって件数が増減する。
領域６４は傷病名生成手段１０において抽出された残文字列と検出属性である。
本具体例ではレセプト記載傷病名文字列から生成傷病名文字列を取り除いた残りである残文字列は「左前腕）」である。検出属性は領域６３に格納された生成傷病名があり、残文字列が存在するので『部分一致』となる。
領域６５は修飾語マスタ照合手段１１において残文字列から検出された修飾語句のリストである。検出修飾語句と検出修飾語句文字列、そして領域６５の場合は前述した修飾属性が格納される。本具体例で検出された修飾語句とその修飾属性はそれぞれ、「左」：『位置』、「前腕」：『部位』、「）」：『記号他』の３種類であるが、これは入力するレセプト記載傷病名によって件数が増減する。
図７は本実施形態の照合結果保存領域１３の具体例を示す図である。照合結果保存領域１３は照合テーブル６で生成された各種データをレセプト記載傷病名毎に格納する記録領域であり、ここに格納されたデータは後からユーザが照合結果評価修正手段１４を介してまとめて確認、修正され、最終的にはレセプト情報データベース３等に出力される。照合結果保存領域１３に格納されるデータは図６上において左からレセプト記載傷病名、検出属性、生成傷病名数、生成傷病名と傷病コードのセットが生成傷病名数分、修飾語句数、検出修飾語とその修飾属性のセットが修飾語句数分である。
（実施例２）
実施例２では、本発明のレセプト処理システムの各構成要素の詳細な動作を説明する。
図８は文字列変換手段４の詳細な動作を示すフローチャート図である。まずステップ４０１において、レセプト記載傷病名データ２よりレセプト記載傷病名文字列をひとつ取り込む。ステップ４０２では文字列変換マスタ５より変換対象文字列をひとつ取り込み、ステップ４０３においてステップ４０１で取り込んだレセプト記載傷病名文字列の中にその変換対象文字列が内含されていないか、もしくは同一文字列でないかどうかを照合する。
もしレセプト記載傷病名文字列の中に変換対象文字列が含まれていた場合には、ステップ４０４でその変換対象文字列を対応する変換後文字列と置き換え、文字列変換マスタ５より次の変換対象文字列を読み込む。このステップ４０２からステップ４０４までの一連の動作は文字列変換マスタ５に格納されたすべての変換対象文字列がレセプト記載傷病名文字列と照合したことがステップ４０５で確認されるまで、繰り返される。
次にステップ４０６において変換処理の施されたレセプト記載傷病名文字列を照合テーブル６内の所定の位置に格納し、文字列変換手段４の動作は終了する。
この動作処理により、レセプト記載傷病名に見られる異表記文字列は、傷病名マスタ９に格納されているマスタ傷病名と同じ表記の文字列に変換されるため、傷病名マスタ照合手段７によって検出傷病名が生成されるレセプト記載傷病名が増大することになる。
図９は傷病名マスタ照合手段７の詳細な動作を示すフローチャート図である。
ステップ７０１では文字列変換手段４によって文字列変換処理の行われたレセプト記載傷病名文字列を照合テーブル６から取り込む。ステップ７０２では傷病名マスタ９よりマスタ傷病名をひとつ取り込み、ステップ７０３においてステップ７０１で取り込んだレセプト記載傷病名文字列の中にそのマスタ傷病名文字列が内含されていないか、もしくは同一文字列でないかどうかを照合する。
レセプト記載傷病名文字列の中にマスタ傷病名文字列が検出された場合は、ステップ７０７においてそのマスタ傷病名文字列がレセプト記載傷病名文字列のうち、何番目の文字から何番目の文字までの間一致しているかを調べ、それぞれ開始位置、終了位置として値を得る。
その後、ステップ７０８でそのマスタ傷病名に対応する傷病コードを傷病名マスタ９から取得し、ステップ７０９で照合テーブル６の所定位置に検出傷病名、検出傷病名文字列、傷病コード、開始位置、終了位置を格納し、傷病名マスタ照合手段７の動作は終了する。ここでいう検出傷病名と検出傷病名文字列にはマスタ傷病名文字列を格納する。
ステップ７０３でレセプト記載傷病名文字列の中にそのマスタ傷病名文字列が内含されていなかった場合は、ステップ７０４でそのマスタ傷病名が前処理対象マスタ傷病名であるかどうかを調べなくてはならない。ここでいう前処理対象マスタ傷病名とは前述した「高血圧（症）」のように、文字列の一部が（）括弧で囲まれているマスタ傷病名で、これは「高血圧」、「高血圧症」、「高血圧（症）」いずれの文字列でも可というものである。したがってステップ７０５ではマスタ傷病名内に（）括弧文字を探し、その両（）括弧内に記載された文字列がある場合、ない場合、（）括弧とともにある場合の３種類の文字列を生成し、これらを照合用文字列として、それぞれをステップ７０６においてステップ７０３と同様にレセプト記載傷病名文字列に内含されていないか、もしくは同一文字列でないかどうかを照合する。
以下、テップ７０８とステップ７０９での動作はマスタ傷病名のときと同じである。ただしその際、検出傷病名にはマスタ傷病名が格納されるが、検出傷病名文字列には検出された照合用文字列が格納される。これは詳細については後述する傷病名生成手段１０において複数の傷病名を比較する際に、検出傷病名ではレセプト記載傷病名に含まれていない（症）などの文字列が存在してしまい、文字列として比較しにくいからである。これらステップ７０１ステップ７０９までの一連の動作はステップ７１０でレセプト記載傷病名とすべてのマスタ傷病名との照合が終了したことが確認されるまで繰り返される。なお、一連の処理中、ステップ７０７とステップ７０８の順番は逆に行われてもかまわない。
図１０は傷病名生成手段１０の詳細な動作を示すフローチャート図である。ステップ１００１では照合テーブル６から検出傷病名、検出傷病名文字列、傷病コード、開始位置、終了位置を取り込む。ステップ１００２において検出傷病名がひとつしかないと確認された場合は、ステップ１００５でその検出傷病名もしくは検出傷病名文字列がレセプト記載傷病名と同一であるかどうかを調べる。検出傷病名と検出傷病名文字列の両方を調べるのは、前述したように傷病名マスタ照合手段７でマスタ傷病名から生成された照合用文字列がレセプト記載傷病名と同一である可能性があるからである。
レセプト記載傷病名と検出傷病名もしくは検出傷病名文字列が一致した場合には、レセプト記載傷病名がマスタ傷病名そのものであるということなので、ステップ１００９において検出結果の状態を示す検出属性は『完全一致』、レセプト記載傷病名に該当するマスタ病名を示す生成傷病名は検出傷病名が代入される。また、図１０には図示されていないが、検出傷病名の傷病コードも生成傷病名の傷病コードとして代入される。
ステップ１００５で検出傷病名もしくは検出傷病名文字列がレセプト記載傷病名と同一でないとされた場合には、ステップ１００８において検出属性は『部分一致』、生成傷病名は検出傷病名が代入される。またこの場合には生成傷病名文字列に検出傷病名文字列が代入される。
一方、ステップ１００２で複数の検出傷病名が確認された場合には、ステップ１００３において、それぞれの検出傷病名文字列の開始位置、終了位置からあらかじめ定義された比較評価方法に基づいて一方の文字列が他方の文字列に対して内含関係にないかどうかを調べ、他方に内含される検出傷病名を削除する。
この工程を通して、いくつかの検出傷病名は削除されるので、ステップ１００４でいくつ検出傷病名が残っているかを調べる。検出傷病名がひとつしか残らなかった場合には、もともと検出傷病名がひとつしかなかった場合同様、ステップ１００５から先の処理が行われる。
ステップ１００４で検出傷病名が複数残っていた場合は、それぞれの検出傷病名は独立した関係にあるので、ステップ１００７で検出属性が『複数検出』、生成傷病名と生成傷病名文字列にはそれぞれ複数の検出傷病名、検出傷病名文字列が代入される。
ステップ１００４で検出傷病名がひとつもなかった場合には、ステップ１００６によって検出属性は『未検出』が代入され、生成傷病名、生成傷病名文字列ともに何も代入されない。このような場合はもともとレセプト記載傷病名に病名がなかった場合と、傷病名マスタ９にまったく検出されない傷病名が存在した場合が考えられる。
検出属性が『完全一致』だった場合は、すでにレセプト記載傷病名に対応するマスタ傷病名が見つかったということなので、ステップ１０１２で生成傷病名、傷病コード、検出属性を照合テーブル６に格納し、ステップ１０１３にて照合結果保存領域１３の所定の位置に傷病テーブル６の各データが格納される。
それ以外の検出属性の場合は、ステップ１０１０で照合テーブル６からレセプト記載傷病名文字列を読み込み、その中から生成傷病名文字列として検出された文字列以外の文字列を調べ、これを残文字列として生成する。よって検出属性が『未検知』だった場合には生成傷病名文字列が存在しないので、レセプト記載傷病名文字列がそのまま残文字列として生成される。
ステップ１０１１においてこれらの生成傷病名、傷病コード、残文字列、検出属性は照合テーブル６の所定の位置に格納される。
図１１は傷病名生成手段１０で用いられた比較評価方法の具体例である。図中、レセプト記載傷病名文字列、検出傷病名文字列Ａと検出傷病名文字列Ｂのそれぞれの位置関係を６通り示している。「○」は文字を意味し、「―」はなにもないことを意味している。
１）内含（両側）はレセプト記載傷病名に対して検出傷病名文字列Ａ、検出傷病名文字列Ｂともその一部に一致する文字列であるが、検出傷病名文字列Ａのほうが一致する位置が早く始まり、後まで続いている。したがって検出傷病名文字列Ａのほうが、より正しくレセプト記載傷病名に合致しており、こちらを採用すべきであると考えられる。同様に
２）内含（前方揃い）、３）内含（後ろ方揃い）は開始位置もしくは終了位置の一方だけが同じ場合で、いずれも長く一致している検出傷病名文字列を採用する。
４）ずれは一方の検出傷病名文字列が他方より早くレセプト記載傷病名と一致し始めるが、他方のほうが後まで一致する、ずれて重なるような関係の場合である。このような場合には本実施形態の具体案においては後方まで一致している検出傷病名文字列を採用している。
５）のように二つの検出傷病名文字列がまったく重ならない場合は、それぞれ独立しているということで両方とも採用する。
６）のように二つの検出傷病名文字列がまったく同様の場合は傷病名マスタ９に同じマスタ病名が２回登録されていると考え、いずれを採用してもかまわないが、ここでは検出傷病名文字列Ａを採用している。これらの比較評価はあくまで検出傷病名文字列で行う。もしこれを検出傷病名で行うと、たとえばレセプト記載病名「高血圧」がマスタ傷病名「高血圧（症）」の照合用文字列「高血圧」で検出された場合、もともとレセプト記載病名には「（症）」という文字列が含まれていないので、検出傷病名「高血圧（症）」では比較評価として成立しなくなってしまう。
このような比較評価は、残りの検出傷病名がひとつになるか、複数あってもすべて独立の関係になるまで、任意のふたつの検出傷病名の間で繰り返される。
図１２は修飾語マスタ照合手段１１の詳細な動作を示すフローチャート図である。ステップ１１０１で照合テーブル６より残文字列を読み込む。このとき図９で示したように、検出属性が『完全一致』であったレセプト記載傷病名文字列は修飾語マスタ照合手段１１の適応外であるため、読み込まれない。ステップ１１０２において、修飾語マスタ１２から修飾語句をひとつ読み込み、ステップ１１０３で残文字列と照合する。もし残文字列の一部に修飾語句が含まれているか、あるいは残文字列と修飾語句が同一文字列である場合は、ステップ１１０４において修飾語句を検出修飾語句として、また修飾語マスタ１２から読み込まれたその検出修飾語句に対応する修飾属性を照合テーブル６に格納する。
ステップ１１０２からステップ１１０４までの一連の動作は、ステップ１１０５で残文字列とすべての修飾語句が参照されたことが確認されるまで繰り返される。その後、ステップ１１０６で照合テーブル６上のデータのうち、照合結果保存領域１３に格納される所定の位置が存在するデータがすべて照合結果保存領域１３に渡される。
図１３は照合結果評価修正手段１４と文字列変換マスタ編集手段１５の詳細な動作を示すフローチャート図である。ここまでの工程において、読み込まれたレセプト記載傷病名と一致するマスタ傷病名、その傷病コード、検出属性によりどの程度一致しているのか、修飾属性により完全に一致しなかった場合はどのようなタイプの修飾語句がマスタ傷病名との完全一致を妨げているのかが照合テーブル６に格納されたことになる。
そこでユーザはあらかじめ目視確認を行いたい検出属性、修飾属性を選択して、それらの属性に属するレセプト記載傷病名およびその関連情報だけが閲覧できれば、非常に効率的に必要な目視確認を行うことが可能になる。また目視確認時に変換誤りに気づき、修正すると同時に文字列変換マスタ５にその情報を登録すれば、次回からは同じ間違いを犯すことがなくなる。照合結果評価修正手段１４と文字列変換マスタ編集手段１５はこれらの目的のために設置されている。
ステップ１４０１ではまず、照合テーブル６、もしくは照合結果保存領域１３より、ユーザが選択した検出属性、修飾属性に属するレセプト記載傷病名のレセプト記載傷病名、生成傷病名、傷病コード、修飾語句、修飾属性をコンピュータ装置１に接続されたディスプレイ装置などに表示する。照合テーブル６、照合結果保存領域１３いずれからも表示可能なのは、バッチ処理で一度すべてのレセプト記載傷病名の照合を行ってから、蓄積されたデータから編集する場合は照合結果保存領域１３、コード出力処理中に随時確認、修正するには照合テーブル６から表示した方が効率的だからである。
ステップ１４０２で表示されたレセプト記載傷病名およびその関連情報を目視確認して、この傷病コード出力で問題なしとユーザが判断した場合には、ステップ１４０８で照合テーブル６、もしくは照合結果保存領域１３のデータがレセプト情報データベース３などに出力される。ユーザがディスプレイ装置上に表示するように選択しなかった属性のレセプト記載傷病名およびその関連情報も同様に問題なしと判断されたものと考え、レセプト情報データベース３などに出力される。ステップ１４０２で問題ありと判断された場合、ユーザはステップ１４０３において傷病名マスタを検索することのできる画面を用いて、正しいマスタ傷病名を選択することができる。そのマスタ傷病名および傷病コードは、ステップ１４０４で生成傷病名と置き換えられ、照合テーブル６もしくは照合結果保存領域１３に格納される。
ここでユーザは今修正した結果を、今後繰り返し修正しないように文字列変換マスタ５に追加登録することが可能である。ステップ１４０５で登録することを選択した場合、レセプト記載傷病名文字列を変換対象文字列、選択されたマスタ傷病名を変換後文字列として、文字列変換マスタに追加登録され、ステップ１４０８へ進む。ユーザがレセプト記載傷病名文字列全体を登録するのではなく、その一部を登録したい場合には、ステップ１４０６で文字列変換マスタの編集を選択することができる。その場合、ステップ１５０２で新規追加する変換対象文字列、変換後文字列を入力することができる画面が表示される。次にステップ１５０３ではその変換対象文字列を傷病名マスタ９のすべてのマスタ傷病名に対して照合してみる。これは新規追加の文字列変換マスタ項目がマスタ傷病名を書き換えてしまうような内容で設定されていると、本来マスタ傷病名に照合しやすいように機能する文字列変換マスタ項目として矛盾が発生してしまうためである。したがってステップ１５０４で万一、変換対象文字列が傷病名マスタ９のマスタ傷病名から検出された場合には、ステップ１５０５でこの変換対象文字列は文字列変換マスタ５に登録不可能であることを表示した上で、ステップ１４０１まで戻る。
ステップ１５０４で変換対象文字列が傷病名マスタ９のマスタ傷病名から検出されなかった場合には、ステップ１４０７で変換対象文字列、変換後文字列を文字列変換マスタ５に追加登録し、ステップ１４０１で表示したレセプト記載傷病名文字列を照合テーブルに格納して、再度文字列変換からやり直す。これで再び照合結果評価修正手段１４に戻ってきたときに問題が解決されていれば、表示されることなくステップ１４０８でレセプト情報データベースに出力されるはずである。
上記の説明では問題のあるレセプト記載傷病名を、ユーザが正しいマスタ傷病名に置き換えることを前提に説明しているが、実際には検出属性が『未検出』を表示対象として設定した場合は、レセプト記載傷病名が実は傷病名ではない場合、レセプト記載傷病名そのものを破棄することも考えられる。また、検出属性が『複数一致』を表示対象として設定した場合は、本来レセプト記載傷病名にはひとつの傷病名しか含まれていないはずなので、いずれかひとつを選択する、もしくは新たに傷病名マスタ９から選択するはずだが、「高血圧兼高脂血症」などのようにもともと複数の傷病名が含まれてレセプト記載傷病名として取り込まれることが考えられるのであれば、複数選択できる必要がある。
図１４、図１５に照合結果評価修正手段１４と文字列変換マスタ編集手段１５における表示画面の具体例を示す。
ユーザは図１４に示す表次画面を用いて照合結果保存領域１３に蓄積された傷病コード化処理結果を参照し、目視確認を行いたい検出属性、修飾属性に属する照合結果のみを抽出して閲覧することができる。本具体例ではＦ１にレセプト記載傷病名、検出属性、修飾語句・修飾属性を表示することができ、ユーザは目視確認したい検出属性、修飾属性をそれぞれＦ２、Ｆ３のチェックボックスを選択することにより、Ｆ１に条件に合った照合結果のみを表示することができる。ユーザは確認、修正したい照合結果に対してＦ１の修正欄をチェックしてＦ４ボタンを押せば、個々の照合結果に関するさらに詳細な情報が表示された修正・編集表示画面が表示される。
図１５には、修正・編集表示画面の１実施例を示す。本具体例ではＧ１に選択したレセプト記載傷病名、Ｇ２に生成傷病名およびその傷病コード、Ｇ４に残文字列から検出された修飾語句及び修飾属性が表示されている。ユーザはこれらを見比べ、この変換であれば問題がないと判断すれば、Ｇ３の選択ボタンを押して、この生成傷病名を採用することができる。しかしこの生成傷病名ではないと判断した場合には、Ｇ５に意図する傷病名もしくはその一部文字列を入力してＧ６を押すと、Ｇ７にそれに該当するいくつかのマスタ傷病名と傷病コードが傷病名マスタ９から検索されて表示される。ユーザはこれらのマスタ傷病名の中から選択して、Ｇ９ボタンでＧ８の修正後傷病名欄に追加したり、一度追加したマスタ傷病名をＧ１０ボタンで削除して編集が可能である。
修正後傷病名が確定したら、Ｇ１３ボタンを押せばその内容が反映されるが、Ｇ１１ボタンを押せば、それと同時に文字列変換マスタにも反映される。この場合、レセプト記載傷病名全体を変換対象文字列、修正後傷病名を修正後文字列として登録することになるが、前述したように文字列の一部のみを文字列変換マスタに登録したい場合には、Ｇ１２ボタンを押し、文字列変換マスタ編集画面を呼び出す。
本具体例のＦ１、Ｇ１のレセプト記載傷病名欄に表示されたレセプト記載傷病名文字列において、例えば傷病名部分は赤、修飾属性『記号・他』の部分は灰色、『位置』の部分は水色などと色分けして表示すれば、一目見て着目すべき部分がわかり、感覚的に的確な判断を促すことができる。また、本実施形態では修正結果をユーザが任意に文字列変換マスタ５に登録できるとしたが、一度修正したレセプト記載傷病名および修正後文字列は、自動的に文字列変換マスタに登録されるようにすることもできる。この場合、時が経つにつれてどんどん文字列変換マスタ５に登録される語句数が増えてしまうので、例えば、図１６に示すように文字列変換マスタに参照回数という項目を設け、参照されるたびに積算しておけば、あまり参照頻度の高くない文字列変換語句は削除することによって、文字列変換マスタの不必要な増大を避けることができる。また削除処理はある一定の参照回数に満たない場合、自動的に行われてもよい。ここでは参照回数を格納することとしたが、その代わりに前回参照日を格納し、その期間が長すぎる場合に削除したり、一定期間あたりの参照回数を格納し、その値が低すぎる場合に削除してもかまわない。
以上のように、レセプト記載傷病名の表記揺らぎは文字列変換手段４と文字列変換マスタ５によって傷病名マスタ９に格納されたマスタ傷病名の表記文字列に収束されるので、傷病名マスタ照合手段７においてマスタ傷病名が検出されやすくなる。また変換は文字列に対して行うので、その文字列を含むすべてのレセプト記載傷病名に対して表記揺らぎの除去を行うことになり、ユーザ辞書に対象となるすべてのレセプト記載傷病名を登録するよりもはるかに効率的であり、また登録漏れの危険性も少ない。
また、検出属性によってレセプト記載傷病名がどの程度マスタ傷病名と一致したのかをユーザに提示できるとともにマスタ傷病名と完全に一致しなかったレセプト記載傷病名は、その完全一致が妨げられた要因である修飾語句を検出し、その修飾属性をユーザに提示することができるので、ユーザは必ずしも完全に一致しなかったすべてのレセプト記載傷病名と出力された生成傷病名や傷病コードを目視確認する必要はなく、運用の形態や確認作業の負担に応じて目視確認するレセプト記載傷病名を制御することが可能となる。
なお、本発明は必ずしもレセプトにおける記載傷病名の表記揺らぎを傷病名マスタに格納された文字列表記に収束させるだけではなく、例えば自由記載欄のあるアンケート回答を自動集計する際にも有効である。
【０００６】
【発明の効果】
以上のように本発明のレセプト記載傷病名のコード化方法並びにレセプト記載傷病コード出力プログラムを格納した記録媒体は、レセプト記載傷病名をコード化する際に、従来技術のように異表記により発生する様々な傷病名の表記揺らぎをすべてユーザ辞書に登録するといった手間がかかり、登録ミスの起こりやすい作業を行わなくてすむようになるため、作業効率およびコード出力の信頼性が大幅に向上するという著しい効果がある。
また、本発明によれば、従来、レセプト記載傷病名照合時に未検出であった傷病名はすべて人の目視により確認し、必要に応じてユーザ辞書に追加する必要があったのに対し、完全に一致するマスタ傷病名がなかった場合でも、その内容を分析して、ユーザに提示することにより、ユーザがニーズに応じて出力結果の修正するか否かを選択できる環境を提供することで、ユーザのニーズや規模に合わせた最適な運用が可能になるという効果がある。
【図面の簡単な説明】
【図１】本発明の１実施形態を示す基本構成図。
【図２】本発明の１実施形態を示す処理流れ図。
【図３】文字列変換マスタの一例を示す図。
【図４】傷病名マスタの一例を示す図。
【図５】修飾語マスタの一例を示す図。
【図６】照合テーブルの一例を示す図。
【図７】照合結果保存領域の一例を示す図。
【図８】文字列変換手段の一例を示すフローチャート図。
【図９】傷病名マスタ照合手段の一例を示すフローチャート図。
【図１０】傷病名生成手段の一例を示すフローチャート図。
【図１１】複数検出された検出傷病名の比較評価方法の一例を示す説明図。
【図１２】修飾語マスタ照合手段の一例を示すフローチャート図。
【図１３】照合結果評価修正手段および文字列変換マスタ編集手段の一例を示すフローチャート図。
【図１４】照合結果評価修正手段および文字列変換マスタ編集手段における検索抽出画面例の図。
【図１５】照合結果評価修正手段および文字列変換マスタ編集手段における修正、編集画面例の図。
【図１６】文字列変換マスタのもうひとつの例を示す図。
【符号の説明】
１…コンピュータ装置、２…レセプト記載傷病名データ、３…レセプト情報データベース、４…文字列変換手段、５…文字列変換マスタ、６…照合テーブル、７…傷病名マスタ照合手段、８…傷病名マスタ前処理手段、９…傷病名マスタ、１０…傷病名生成手段、１１…修飾語マスタ照合手段、１２…修飾語マスタ、１３…照合結果保存領域、１４…照合結果評価修正手段、１５…文字列変換マスタ編集手段、１６…表示手段、１７…入力手段。
【図１】
0003915443.tif 000002
【図２】
0003915443.tif 000003
【図３】
0003915443.tif 000004
【図４】
0003915443.tif 000005
【図５】
0003915443.tif 000006
【図６】
0003915443.tif 000007
【図７】
0003915443.tif 000008
【図８】
0003915443.tif 000009
【図９】
0003915443.tif 000010
【図１０】
0003915443.tif 000011
【図１１】
0003915443.tif 000012
【図１２】
0003915443.tif 000013
【図１３】
0003915443.tif 000014
【図１４】
0003915443.tif 000015
【図１５】
0003915443.tif 000016
【図１６】
0003915443.tif 000017