(57)【要約】  【課題】  ＩＣＤコード等に対応する主病名の候補が記憶された主病名ＤＢに基づいて，医師等による入力文字列に含まれる主病名を高速に（効率的に）特定すること。  【解決手段】  入力文字列について，その後尾側における接尾語最大文字数から順次文字数を減らしながら抽出した部分文字列を接尾語ＤＢから検索することによる接尾語の特定（Ｓ５），及びその先頭側における接頭語最小文字数から順次文字数を増やしながら抽出した部分文字列を接頭語ＤＢから検索することによる接頭語の特定（Ｓ９）とを個別に行い，その特定がなされるごとに，特定された接尾語や接頭語を除去した残りの文字列について主病名ＤＢを検索（Ｓ３，Ｓ１２）することにより主病名を特定する。また，前記主病名を特定できなかった場合，その特定できなかった文字列を表示させ，さらにこれに近似するものを主病名ＤＢの中から選択して表示させる（Ｓ２０）。【選択図】図２
2006318225.tif 000002
【特許請求の範囲】
【請求項１】
予め所定の識別コードに対応する病名の候補が記憶された病名候補記憶手段の記憶内容に基づいて，予め取得された文字列である対象文字列に含まれる前記病名を特定する病名特定装置であって，
前記病名に付加され得る接尾語の候補が記憶された接尾語候補記憶手段と，
前記対象文字列のうちの最後尾の文字を含む一部分である第１の部分文字列を決定し，該第１の部分文字列と前記接尾語候補記憶手段の記憶内容とを照合することにより前記対象文字列に含まれる前記接尾語を特定する接尾語特定手段と，
前記接尾語特定手段により特定された前記接尾語を前記対象文字列から除いた残りの文字列と前記病名候補記憶手段の記憶内容とを照合することにより前記対象文字列に含まれる前記病名を特定する第１の病名特定手段と，
を具備してなることを特徴とする病名特定装置。
【請求項２】
前記病名に付加され得る接頭語の候補が記憶された接頭語候補記憶手段と，
前記対象文字列のうちの最先頭の文字を含む一部分である第２の部分文字列を決定し，該第２の部分文字列と前記接頭語候補記憶手段の記憶内容とを照合することにより前記対象文字列に含まれる前記接頭語を特定する接頭語特定手段と，
前記接尾語特定手段により特定された前記接尾語及び／若しくは前記接頭語特定手段により特定された前記接頭語を前記対象文字列から除いた残りの文字列と前記病名候補記憶手段の記憶内容とを照合することにより前記対象文字列に含まれる前記病名を特定する第２の病名特定手段と，
を具備してなる請求項１に記載の病名特定装置。
【請求項３】
前記接尾語特定手段が，
前記対象文字列のうちの最後尾の文字を含む所定文字数分の部分文字列を前記第１の部分文字列として決定した上で該第１の部分文字列と前記接尾語候補記憶手段の記憶内容との照合により前記接尾語を特定できなかった場合に，そのときの前記第１の部分文字列のうちの最後尾の文字を含む部分文字列を新たな前記第１の部分文字列として決定した上で新たな該第１の部分文字列と前記接尾語候補記憶手段の記憶内容とを照合する処理をさらに繰り返すものである請求項１又は２のいずれかに記載の病名特定装置。
【請求項４】
前記接尾語特定手段が，最初に決定する前記第１の部分文字列を，前記接尾語候補記憶手段に記憶された前記接尾語の候補のうちの最大文字数のものと同一の文字数の文字列とするものである請求項３に記載の病名特定装置。
【請求項５】
前記第１の病名特定手段又は前記第２の病名特定手段により特定された前記病名をＩＣＤコードに変換するＩＣＤコード変換手段を具備してなる請求項１〜４のいずれかに記載の病名特定装置。
【請求項６】
前記接尾語特定手段が，前記接尾語の候補の最大文字数以下の範囲内で前記第１の部分文字列を決定するものである請求項１〜５のいずれかに記載の病名特定装置。
【請求項７】
予め所定の識別コードに対応する病名の候補が記憶された病名候補記憶手段の記憶内容に基づいて，予め取得された文字列である対象文字列に含まれる前記病名を特定する病名特定装置であって，
前記病名に付加され得る接頭語の候補が記憶された接頭語候補記憶手段と，
前記対象文字列のうちの最先頭の文字を含む一部分である第２の部分文字列を決定し，該第２の部分文字列と前記接頭語候補記憶手段の記憶内容とを照合することにより前記対象文字列に含まれる１又は複数の前記接頭語を特定する接頭語特定手段と，
前記接頭語特定手段により特定された前記接頭語を前記対象文字列から除いた残りの文字列と前記病名候補記憶手段の記憶内容とを照合することにより前記対象文字列に含まれる前記病名を特定する第３の病名特定手段と，
を具備してなることを特徴とする病名特定装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，予め所定の識別コードに対応する病名の候補が記憶された記憶手段の記憶内容に基づいて，予め取得された文字列に含まれる病名を特定すること，特に，その文字列から国際障害疾病分類マスタコード（ＩＣＤコード）に対応する病名を特定することに好適な病名特定装置に関するものである。
【背景技術】
【０００２】
一般に，各種疾病の統計処理や保険費用請求処理等においては，患者の病名を識別するコードとして，世界保健機関（ＷＨＯ）により定められ厚生労働省が推奨している疾病及び関連保険問題の国際統計分類コード（以下，これをＩＣＤコードという：現在，第１０回修正（ＩＣＤ−１０）第１巻が発行されている）が用いられる。このＩＣＤコードは，病名（疾病名）に対応して設定されている世界標準のコードである。また，その病名に付加される修飾語に対応して設定される識別コードとして，ＭＥＤＩＳの管理コードがある。
一方，近年の病院においては，患者情報の共有や各種疾病の統計処理をコンピュータシステム化するため，患者情報のデジタルデータ化の一環として，医師がコンピュータを通じて入力した診療情報を電子カルテとして記憶手段に記憶させ，これを活用することも行われている。
ここで，電子カルテの診療情報を統計処理や保険費用請求処理に有効活用するには，電子カルテの診療情報として入力される病名情報に基づいてこれに対応するＩＣＤコードを特定できることが望ましい。
ここで，医師により入力される病名情報からＩＣＤコードを特定する方法としては次の２つの方法が考えられる。
その１つは，医師による患者の病名情報の入力の際に，ＩＣＤコードに対応した病名やその修飾語の候補を示してその中から病名やその修飾語を選択させることにより，入力時点でＩＣＤコードやＭＥＤＩＳの管理コードを特定する方法である。この方法に基づく入力インターフェースは，入力情報を示された候補の中から選択できるので入力しやすく，コンピュータ操作に慣れていない初心者向けとして適しているといえる。しかし，入力のしやすさに重点が置かれる結果，入力速度が犠牲になるため，コンピュータ操作に慣れた医師からは，キーボード等を用いてより高速に病名情報を入力したいという要望がある。
例えば，医師が患者の病名情報として，「右第１趾亀裂骨折の疑い」であると診断した場合，この情報は，ＩＣＤコードに対応する病名として「亀裂骨折」，その修飾語として各々ＭＥＤＩＳの管理コードに対応する「右」，「第１趾」，「の疑い」の各々に区別して選択するのではなく，キーボード等から「右第１趾亀裂骨折の疑い」という一連の文字列を入力したいという要望がある。
【０００３】
これに対し，２つ目の方法は，医師には診断した病名及びその修飾語を併せた文字列を入力させ，その入力文字列から，予めＩＣＤコード（識別コード）に対応する病名の候補が記憶された記憶手段の記憶内容に基づいて，病名及び修飾語を自動的に特定し，特定された病名及び修飾語に対応するＩＣＤコードを特定する方法である。この方法によれば，医師はＩＣＤコードに対応した病名及びその他の修飾語の区別を意識せずに診断した病名情報をそのまま入力するだけで済み，キーボード入力を特に苦にしない昨今の医師にとっては電子カルテの情報入力の負担が軽く好適である。
例えば，特許文献１には，入力文字列について１文字ずつ消去することにより総当たり的に抽出して得られる文字列と，ＩＣＤコード及びＭＥＤＩＳの管理コードの各々に病名及び修飾語の各々が対応付けられたコードマスタとの照合により，医師による入力文字列に含まれる病名（ＩＣＤコードに対応する病名）と修飾語とを特定する技術が示されている。
【特許文献１】特開２００４−２２０１６７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら，特許文献１に示されるように，医師による入力文字列について，その部分文字列を総当たり的に抽出して病名や修飾語の候補と照合する方法では，病名や修飾語の特定処理に長時間を要するという問題点があった。
医師は，患者の診療作業の中で病名情報の入力を行うため，その病名情報を電子カルテとして登録（記憶手段への記録）する処理に時間を要すると，患者個々の診療時間に遅延が生じ，全体として多大な診療効率の悪化につながる。
また，ＩＣＤコードを特定できないような病名情報が入力された場合には，直ちにその旨を医師に通知し，正しい病名情報が再入力されるよう促すことが望ましい。即ち，医師による入力文字列（病名情報）からＩＣＤコードに対応する病名及びその他の修飾語を特定する処理は，バッチ処理ではなく実時間処理を行うべきであり，その処理時間の短縮は非常に重要な課題である。
従って，本発明は上記事情に鑑みてなされたものであり，その目的とするところは，ＩＣＤコード等の識別コードに対応する病名の候補が記憶された記憶手段の記憶内容に基づいて，所定の文字列に含まれる病名を特定する際に，より高速に（効率的に）病名を特定することができる病名特定プログラム及びその装置を提供することにある。
【課題を解決するための手段】
【０００５】
上記目的を達成するために本発明は，予め所定の識別コードに対応する病名（ＩＣＤコードに対応付けられた病名がその典型例）の候補が記憶された病名候補記憶手段と，その病名に付加され得る接尾語の候補が記憶された接尾語候補記憶手段が存在する状況下で，所定の入力手段を通じて得られた入力文字列等の処理の対象となる文字列（以下，対象文字列という）に含まれる前記病名を特定する病名特定装置として適用されるものであり，以下の処理を実行するためのものである。
即ち，前記対象文字列のうちの最後尾の文字を含む一部分である部分文字列（以下，第１の部分文字列という）を決定し，その第１の部分文字列と前記接尾語候補記憶手段の記憶内容とを照合することにより，前記対象文字列に含まれる１又は複数の前記接尾語を特定する処理（以下，接尾語特定処理処理という）と，その処理により特定された前記接尾語を前記対象文字列から除いた残りの文字列と前記病名候補記憶手段の記憶内容とを照合することにより前記対象文字列に含まれる前記病名を特定する処理（以下，第１の病名特定処理という）とを実行するものである。
さらに，前記病名に付加され得る接頭語の候補が記憶された接頭語候補記憶手段が存在する状況下で，前記対象文字列の先頭側の一部である第２の部分文字列（少なくとも，前記対象文字列のうちの最先頭の文字を含む一部分である部分文字列を含む概念を表す，以下同様）を決定し，その第２の部分文字列と前記接頭語候補記憶手段の記憶内容とを照合することにより前記対象文字列に含まれる前記接頭語を特定する処理（以下，接頭語特定処理という）と，前記接尾語特定処理により特定された前記接尾語及び／若しくは前記接頭語特定処理により特定された前記接頭語を前記対象文字列から除いた残りの文字列と前記病名候補記憶手段の記憶内容とを照合することにより前記対象文字列に含まれる前記病名を特定する処理（以下，第２の病名特定処理という）とを実行するものであればなお好適である。
これにより，前記病名の後尾側に付加され得る接尾語や，先頭側に付加され得る接頭語について，各々個別にその候補が記憶された記憶手段の記憶内容との照合が行われるため，例えば先頭側の部分文字列と接尾語の候補との照合処理のような無駄な処理による負荷が極力軽減され，総当たり的な処理に比べ，より高速に（効率的に）前記病名を特定することが可能となる。
この場合，前記第１，第２の各病名特定処理を，前記接尾語特定処理若しくは接頭語特定処理により一の前記接尾語若しくは前記接頭語が特定されるごとに実行すれば，前記接尾語や前記接頭語の特定処理についても，前記病名が特定された段階で中断できるので，処理の高速化になお好適である。
なお，前記接尾語特定処理を行うことなく，前記接頭語特定処理のみを実行する構成も考えられる。即ち，前記病名に付加され得る接頭語の候補が記憶された接頭語候補記憶手段を備えた状況下で，前記対象文字列の先頭側の一部である第２の部分文字列を決定し，該第２の部分文字列と前記接頭語候補記憶手段の記憶内容とを照合することにより前記対象文字列に含まれる１又は複数の前記接頭語を特定する接頭語特定処理と，これにより特定された前記接頭語を前記対象文字列から除いた残りの文字列と前記病名候補記憶手段の記憶内容とを照合することにより前記対象文字列に含まれる前記病名を特定する第３の病名特定処理と，を実行するものである。
【０００６】
ここで，前記接尾語特定処理の具体的内容としては，前記対象文字列のうちの最後尾の文字を含む所定文字数分の部分文字列を前記第１の部分文字列として決定した上でその第１の部分文字列と前記接尾語候補記憶手段の記憶内容との照合により前記接尾語を特定できなかった場合に，そのときの前記第１の部分文字列のうちの最後尾の文字を含む部分文字列を新たな前記第１の部分文字列として決定し，その新たな第１の部分文字列と前記接尾語候補記憶手段の記憶内容とを照合する処理をさらに繰り返すことが考えられる。
この場合，最初に決定する前記第１の部分文字列を，前記接尾語候補記憶手段に記憶された前記接尾語の候補のうちの最大文字数のものと同一の文字数の文字列とすることが考えられる。
また，前記第１の病名特定処理又は前記第２の病名特定処理により特定された前記病名をＩＣＤコードに変換するＩＣＤコード変換処理を行うよう構成すれば，病名情報をＩＣＤコードとして管理できるので好適である。
【０００７】
ここで，前記接尾語特定処理において，前記接尾語の候補の最大文字数以下の範囲内でのみ前記第１の部分文字列を決定するように，或いは前記接尾語の候補が有し得る文字数の範囲内でのみ前記第１の部分文字列を決定するようにすれば好適である。  また，これと同様に，前記接頭語特定処理において，前記接頭語の候補が有し得る文字数の範囲内若しくは前記接頭語の候補の最大文字数以下の範囲内でのみ前記第２の部分文字列を決定すればなお好適である。
これにより，前記接尾語や前記接頭語としてあり得ない文字数の部分文字列についての無駄な照合処理の実行を回避できるので，より高速に前記病名を特定することが可能となる。
また，前記接尾語特定処理において，前記接尾語の候補の最大文字数から順次文字数を減らした前記第１の部分文字列を決定することが考えられる。
これにより，前記対象文字列の後尾に存在する接尾語の後尾側の一部に，さらに他の短い接尾語が含まれるような場合でも，確実な前記接尾語の特定が可能となる。
【０００８】
ところで，医師により入力される病名情報には，ＩＣＤコードに対応づけられた病名に加え，その先頭側に付加される修飾語である接頭語と，その後尾側に付加される修飾語である接尾語とが含まれ得る。ここで，その病名情報において，それに含まれるＩＣＤコードに対応する病名の情報がその他の修飾語の情報に比べてより重要であるが，ＩＣＤコード体系においては，接頭語が含まれる病名も存在する。そのような病名については，より詳しい情報が含まれる接頭語付きの病名を特定することが望ましい。
例えば，「アトピー性」という接頭語，「皮膚炎」という病名が存在する一方で，「アトピー性皮膚炎」という病名も存在する。この場合，医師による入力文字列（対象文字列）が「アレルギー性アトピー性皮膚炎」である場合，病名として「皮膚炎」を特定するよりも，より情報量が多い接頭語付きの「アトピー性皮膚炎」を特定する方が望ましい。
そこで，前記接頭語特定処理においては，前記接頭語の候補の最小文字数から順次文字数を増やした前記第２の部分文字列を決定することが望ましい。
これにより，極力少ない文字数の前記接頭語が優先的に特定され，それが前記対象文字列から除かれた残りの極力長い文字列について，前記病名の特定処理が行われる。その結果，極力長い（文字数の多い）前記病名，即ち，前記接頭語の候補をその先頭側の一部に含む詳細な前記病名が優先的に特定される。
また，前記接尾語特定処理で前記接尾語の候補と照合する際のその文字数ごとの照合順序を，過去の前記接尾語特定処理による前記接尾語の特定履歴に基づいて設定すること（接尾語照合順序設定処理）や，同様に，前記接頭語特定処理で前記接頭語の候補と照合する際のその文字数ごとの照合順序を，過去の前記接頭語特定処理による前記接頭語の特定履歴に基づいて設定すること（接頭語照合順序設定処理）が考えられる。
これにより，同じ文字数の前記接尾語の候補や前記接頭語の候補が複数ある場合に，より少ない照合回数で前記接尾語や前記接頭語を特定できる確率が高くなる結果，より高速な前記病名の特定につながる。
【０００９】
また，前記病名特定処理において，先に前記接尾語特定処理により特定された１又は複数の前記接尾語を前記対象文字列から除いた残りの文字列と前記病名候補記憶手段の記憶内容との照合を行い，これにより前記病名が特定されなかった場合に，前記接頭語特定処理により特定された１又は複数の前記接頭語を前記対象文字列からさらに除いた残りの文字列と前記病名候補記憶手段の記憶内容との照合を行うことにより前記病名の特定を行うことが考えられる。
これにより，前記対象文字列のうち，前記病名に含まれることがほとんどない前記接尾語が除去された残りの文字列，即ち，前記病名として照合すべき最も長い文字列について，前記接頭語の特定と前記病名の特定とが行われる。
その結果，前記対象文字列から前記接頭語を除去した残りの文字列について前記病名の候補と照合した際に，前記接尾語が残っているために前記病名を特定できず，これにより前記病名の一部として残しておくべき前記接頭語の特定処理まで行ってしまう無駄や，さらに前記接尾語が付加されたままの文字列についてまで前記接頭語を探す処理を行ってしまう無駄を回避できる。
また，前記病名特定処理により前記病名を特定できなかった場合に，前記対象文字列のうち前記接尾語特定処理及び前記接頭語特定処理により特定された語句を除く残りの文字列が前記病名として特定できなかった文字列である旨を所定の表示手段を通じて表示させる処理（失敗報知処理）を実行することが考えられる。
これにより，医師等による電子カルテの情報の入力段階で正しい病名情報（文字列）の再入力が促されるので好適である。
また，前記病名特定処理により前記病名を特定できなかった場合に，前記対象文字列のうち前記接尾語特定処理及び前記接頭語特定処理により特定された語句を除く残りの文字列に近似するものを前記病名候補記憶手段における前記病名の候補の中から選択し，これを所定の表示手段を通じて表示させる処理（近似病名候補表示処理）を実行することも考えられる。
これにより，医師等が正しい病名情報を再入力する際の支援情報が提供されることになり，利便性が高まる。
【発明の効果】
【００１０】
本発明によれば，予め取得された処理対象となる文字列（対象文字列）について，その後尾側における部分文字列の決定及び接尾語候補の記憶情報との照合による接尾語の特定と，特定された接尾語を除去した残りの文字列について病名候補の記憶情報との照合による病名の特定が行われるので，総当たり的な照合処理を行う場合に比べ，より高速に（効率的に）前記病名を特定することが可能となる。
さらに，上記接尾語の特定と，前記対象文字列の先頭側における部分文字列の決定及び接頭語候補の記憶情報との照合による接頭語の特定とが個別に行われ，特定された接尾語や接頭語を除去した残りの文字列について，病名候補の記憶情報との照合による病名の特定が行われることにより，病名に接尾語と接頭語との両方が付加された文字列についても処理できる。
また，前記接尾語若しくは前記接頭語の候補が有し得る文字数の範囲内でのみ，或いは前記接尾語や前記接頭語の候補の最大文字数以下の範囲内でのみ，部分文字列を決定すれば，前記接尾語や前記接頭語としてあり得ない文字数の部分文字列についての無駄な照合処理の実行を回避できるので，より高速に（効率的に）前記病名を特定することが可能となる。
【発明を実施するための最良の形態】
【００１１】
以下添付図面を参照しながら，本発明の実施の形態について説明し，本発明の理解に供する。尚，以下の実施の形態は，本発明を具体化した一例であって，本発明の技術的範囲を限定する性格のものではない。
ここに，図１は本発明の実施形態に係る病名特定装置Ｘを構成する情報処理装置の概略構成を表すブロック図，図２は病名特定装置Ｘにより実行される病名特定処理の手順を表すフローチャート，図３は病名特定装置Ｘによる病名特定処理において実行される接尾語特定処理の手順を表すフローチャート，図４は病名特定装置Ｘによる病名特定処理において実行される接頭語特定処理の手順を表すフローチャート，図５は病名特定装置Ｘにより参照される各データベースの概略データ構成を表す図，図６は病名特定装置Ｘの表示画面の一例を表す図である。
【００１２】
＜装置概要＞
本発明の実施形態に係る病名特定装置Ｘは，医師等によりキーボード等の入力装置４を通じて入力された入力文字列（対象文字列の一例）から，各種疾病の識別コードであるＩＣＤコードに対応する病名を，その病名の候補が予め記憶手段に記憶されたデータベースである病名ＤＢ２１における記憶内容に基づいて抽出することにより特定する病名特定処理を実行するものである。この病名特定装置Ｘは，パーソナルコンピュータ等の情報処理装置によりそのハードウェアが構成され，これがその記憶部７に予め記憶された所定の病名特定プログラム３０を実行することにより病名特定装置Ｘとして機能するものである。即ち，前記病名特定プログラム３０は，前記情報処理装置（コンピュータの一例）が備えるＣＰＵに，前記病名特定処理を実行させる（病名特定処理装置を構成する各手段として機能させる）ためのプログラムである。
図１に示すように，病名特定装置Ｘは，各種プログラムを実行することにより各種の演算処理を行うＣＰＵ１，そのＣＰＵ１により実行されるプログラムや一時記憶データが展開されるＲＡＭ２，前記ＣＰＵ１により実行されるＢＩＯＳ等のプログラムが予め記憶されたＲＯＭ３，キーボードやマウス等の入力手段を構成する入力装置４，液晶表示パネル等からなる表示装置５，電子カルテ情報の記憶・管理を行うカルテサーバＹ等の外部装置とネットワーク１０を介した通信を行うための通信制御手段である通信インターフェース６，及び前記ＣＰＵ１により実行或いは参照される前記病名特定プログラム３０等の各種アプリケーションプログラム或いはデータが記憶されるハードディスク等の記憶手段である記憶部７等がバス８を通じて接続された情報処理装置により構成されている。
【００１３】
ここで，前記記憶部７には，予めＩＣＤコードに対応する病名の候補がそのＩＣＤコード（識別コード）と関連付けられて記憶されたマスタデータベースである病名ＤＢ２１と，その病名に付加され得る接尾語の候補がＭＥＤＩＳの管理コード等の所定の識別コードと関連付けられて記憶されたマスタデータベースである接尾語ＤＢ２２，同じくその病名に付加され得る接頭語の候補が所定の識別コードと関連付けられて記憶されたマスタデータベースである接頭語ＤＢ２３とが予めインストール（記憶）されている。
図５は，（ａ）前記病名ＤＢ２１，（ｂ）前記接尾語ＤＢ２２，（ｃ）前記接頭語ＤＢ２３各々の概略データ構成を表す。
図５（ａ）〜（ｃ）に示すように，前記病名ＤＢ２１，前記接尾語ＤＢ２２及び前記接頭語ＤＢ２３は，各々前記病名，前記接尾語及び前記接頭語の複数の候補２１ａ，２２ａ，２３ａが記憶され，その候補ごとに，これに対応する字数（病名，接尾語，接頭語の文字数）２１ｂ，２２ｂ，２３ｂ，読み仮名２１ｃ，２２ｃ，２３ｃ，識別コード２１ｄ，２２ｄ，２３ｄ及びその他の情報２１ｅ，２２ｅ，２３ｅが関連付けられて記憶されている。
ここで，各データベース２１〜２３における前記病名の候補２１ａ，前記接尾語の候補２２ａ及び前記接頭語の候補２３ａには，識別コード２１，２２ｄ，２３ｄが割り振られている本来の用語（病名，接尾語，接頭語）の候補に加え，その同義語（「感冒」の同義語として「かぜ」や「カゼ」等）も含まれ，対応する識別コードが関連付けられている。これにより，前記病名等がその同義語で入力された場合であっても検索可能である。もちろん，本来の用語のデータベースと同義語のデータベースとを個別に設けてもかまわない。以下，病名，接尾語及び接頭語という場合，ＩＣＤコードやＭＥＤＩＳの管理コード等の識別コードに対応する本来の用語に加え，その同義語も含まれる概念を表すものとする。
診療の際には，前記病名特定装置Ｘ（情報処理装置）により所定のカルテ情報入力プログラムが実行され，これにより前記表示装置５に所定の病名情報入力画面が表示された状態で，医師等により前記入力装置４を通じて患者の病名情報を表す文字列（以下，入力文字列或いは病名情報という）が入力される。このようにして入力された入力文字列から前記病名の候補２１ａのうち該当するものを特定する処理が前記病名特定装置Ｘにより実行される。
【００１４】
＜病名特定処理について＞
次に，図２〜図４に示すフローチャートを用いて，前記病名特定装置Ｘ（情報処理装置）が病名特定プログラムを実行することにより行われる前記病名特定処理の手順について説明する。以下，Ｓ１，Ｓ２，…は，処理手順（ステップ）の識別符号を表す。
まず，前記カルテ情報入力プログラムの処理において医師等により前記入力装置４を通じて入力される入力文字列（病名情報）が取得され，これが前記ＲＡＭ２において一時記憶される（Ｓ１）。
次に，所定の初期設定処理が実行される（Ｓ２）。この初期設定処理では，所定の変数であって，後述する処理により前記入力文字列から特定される前記接尾語と前記接頭語との各リストが格納される接尾語リスト，接頭語リストが「空（ヌル）」に設定され，所定のワーク変数である一時ワードＷ１に前記入力文字列が設定される。
次に，前記一時ワードＷ１について前記病名ＤＢ２１の検索処理が行われる（Ｓ３）。これにより，前記一時ワードＷ１と，前記病名ＤＢ２１における前記病名の候補２１ａ各々との照合処理（検索処理）が実行される。その際，予め前記一時ワードＷ１の文字数がカウントされ，その文字数と前記病名ＤＢ２１における前記字数２１ｂとが一致するデータについてのみ照合処理が行われる。これにより，極力少ない照合回数で検索が完了する。
そして，ステップＳ３の検索処理により，前記一時ワードＷ１と一致する前記病名（の候補）が存在したか否か，即ち，前記病名を特定できたか否かの判別処理がなされる（Ｓ４）。
ここで，前記病名が特定されなかったと判別された場合，前記一時ワードＷ１（前記入力文字列）を対象として所定の接尾語特定処理が実行される（Ｓ５）。
この接尾語特定処理（Ｓ５）については図３のフローチャートを用いて後に詳述するが，本処理は，初期値として前記入力文字列が設定される（Ｓ２）前記一時ワードＷ１の後尾側から部分文字列（ここでは，最後尾の文字を含むもの，以下同様）として接尾語ワード（第１の部分文字列の一例）を抽出（決定の一例）（Ｓ１０３）するごとに，その接尾語ワードと前記接尾語ＤＢ２２（接尾語候補記憶手段の記憶内容の一例）とを照合する（Ｓ１０４）ことにより，前記入力文字列に含まれる１又は複数の前記接尾語を特定する処理である。
【００１５】
次に，ステップＳ５の接尾語特定処理により，前記一時ワードＷ１の後尾側の部分文字列について前記接尾語が特定されたか否かが判別される（Ｓ６）。
ここで，前記接尾語の特定有無は，前記接尾語特定処理（Ｓ５）で設定される接尾語フラグの内容（ＯＮ：特定された，ＯＦＦ：特定されなかった）により判別される。
そして，前記接尾語が特定されたと判別した場合は，前記一時ワードＷ１からその特定された接尾語が削除され（Ｓ７），その削除後の前記一時ワードＷ１について，さらに前述したステップＳ３〜Ｓ７の処理が繰り返される。
これにより，前記接尾語特定処理（Ｓ５）により特定された前記接尾語を前記入力文字列から除いた残りの文字列である前記一時ワードＷ１と，前記病名ＤＢ２１（病名候補記憶手段の記憶内容の一例）との照合処理（Ｓ３）が順次行われ，前記入力文字列に含まれる前記病名を特定する処理（第１の病名特定手段の処理の一例）が実行されることになる。
以後，前記接尾語特定処理（Ｓ５）により一の前記接尾語が特定されるごとに，前記病名特定処理（Ｓ３）が実行され，これにより前記病名が特定されるまで，或いは，前記接尾語が特定されなくなるまで，ステップＳ３〜Ｓ７の処理が繰り返される。
【００１６】
このような繰り返し処理（Ｓ３〜Ｓ７）の途中で，前記病名が特定された場合には（Ｓ４のＹ側），後述の接頭語特定処理（Ｓ９）が実行されることなく，コード登録処理（Ｓ３０）が実行された後，当該病名特定処理は終了する。
前記コード登録処理（Ｓ３０）では，ステップＳ３及びＳ５の処理により特定された前記病名及び前記接尾語各々に対応する識別コード（ＩＣＤコード２１ｄ及び識別コード２２ｄ）が，前記病名ＤＢ２１及び前記接尾語ＤＢ２２各々から取得され，これらがその他の患者情報とともに，前記通信インターフェース６及びネットワーク１０を通じて前記カルテサーバＹに送信される。これにより，病名特定処理により特定された前記病名がＩＣＤコード２１ｄに，接尾語特定処理により特定された前記接尾語が識別コード２２ｄに各々変換され（ＩＣＤコード変換手段の処理の一例），患者情報とその患者の病名に関する情報である前記病名及び前記接尾語各々に対応する識別コードとが関連付けられて，電子カルテ情報として前記カルテサーバＹの記憶手段に登録（記憶）される。
一方，前記繰り返し処理（Ｓ３〜Ｓ７）により，前記入力文字列全体が前記病名でなく，かつ，前記入力文字列からその後尾側に存在する前記接尾語各々を除いても，前記病名が特定されなかった場合には（Ｓ６のＮ側），前記一時ワードＷ１に再び前記入力文字列が設定（初期化）される（Ｓ８）。
【００１７】
次に，前記一時ワードＷ１（前記入力文字列）を対象として所定の接頭語特定処理が実行される（Ｓ９）。
この接頭語特定処理（Ｓ９）については図４のフローチャートを用いて後に詳述するが，本処理は，初期値として前記入力文字列が設定される（Ｓ８）前記一時ワードＷ１の先頭側から，部分文字列として接頭後ワード（第２の部分文字列の一例）を抽出（決定の一例）（Ｓ２０６）するごとに，その接頭語ワードと前記接頭語ＤＢ２３（接頭語候補記憶手段の記憶内容の一例）とを照合する（Ｓ２０７）ことにより，前記入力文字列に含まれる１又は複数の前記接頭語を特定する処理である。
次に，ステップＳ９の接頭語特定処理により，前記一時ワードＷ１の先頭側の部分文字列について前記接頭語が特定されたか否かが判別される（Ｓ１０）。
ここで，前記接頭語の特定有無は，前記接頭語特定処理（Ｓ９）で設定される接頭語フラグの内容（ＯＮ：特定された，ＯＦＦ：特定されなかった）により判別される。
そして，前記接頭語が特定されたと判別された場合は，前記一時ワードＷ１からその特定された接頭語が削除された残りの文字列が，別のワーク変数である一時ワードＷ２に設定され（Ｓ１１），その一時ワードＷ２について，前述のステップＳ３及びＳ４と同様に，前記病名ＤＢ２１の検索処理の実行（Ｓ１２），及びその検索処理の結果に基づく前記病名の特定有無の判別（Ｓ１３）が行われる。
【００１８】
ステップＳ１３において，前記病名が特定されなかったと判別された場合，前記一時ワードＷ２の後尾に前記接尾語特定処理（Ｓ５）によって特定された前記接尾語が残存しているか否かの判別（Ｓ１４）と，それが残存するときには更にその残存する最後尾側の前記接尾語を１つずつ前記一時ワードＷ２から削除する処理（Ｓ１５）とが行われ，１つの前記接尾語の削除ごとに，その削除後の前記一時ワードＷ２について，さらに前述したステップＳ１２〜Ｓ１５の処理が繰り返される。ここで，前記接尾語特定処理により特定された接尾語は，図４を用いて後述するように，前記接尾語特定処理において前記接尾語リストに格納（追加）される（Ｓ２２０）。よって，ステップＳ１５の処理では，その接尾語リストに存在する接尾語を１つずつ前記一時ワードＷ２から削除すればよい。
また，その繰り返しを前記一時ワードＷ２に前記接尾語が残存しなくなるまで行っても前記病名が特定されなかった場合は（Ｓ１４のＮ側），さらに前述したステップＳ８〜Ｓ１５の処理が繰り返される。この場合，ステップＳ８において前記一時ワードＷ１が前記入力文字列に初期化された後に，再び前記接頭語特定処理（Ｓ９）が実行されることになるが，後述するように，前記接頭語特定処理（図４）では，前回の前記接頭語の特定結果が反映されて前記一時ワードＷ１の処理結果が変化するので（Ｓ２１２，Ｓ２０２〜Ｓ２０４），無限ループに陥ることはない。
これにより，前記接頭語特定処理（Ｓ９）により特定された前記接頭語，或いはそれと前記接尾語特定処理（Ｓ５）により特定された前記前記接尾語とを前記入力文字列から除いた残りの文字列である前記一時ワードＷ２と，前記病名ＤＢ２１（病名候補記憶手段の記憶内容の一例）との照合処理（Ｓ１２）が順次行われ，前記入力文字列に含まれる前記病名を特定する処理（第２の病名特定手段の処理の一例）が実行されることになる。
以後，前記接頭語特定処理（Ｓ９）により一の前記接頭語が特定されるごとに，前記病名特定処理（Ｓ１２〜Ｓ１５）が実行され，これにより前記病名が特定されるまで，或いは，前記接頭語が特定されなくなるまで，ステップＳ８〜Ｓ１５の処理が繰り返される。
【００１９】
前記繰り返し処理（Ｓ８〜Ｓ１５）の途中で，前記病名が特定された場合には（Ｓ１３のＹ側），コード登録処理（Ｓ３０）が実行された後，当該病名特定処理は終了する。
この場合のコード登録処理（Ｓ３０）では，ステップＳ３，Ｓ９及びＳ１２の処理により特定された前記接尾語，前記接頭語及び前記病名各々に対応する識別コード２２ｄ，２１ｄ，２３ｄが，前記接尾語ＤＢ２２，前記接頭語ＤＢ２１及び前記病名ＤＢ２１各々から取得され，これらがその他の患者情報とともに前記カルテサーバＹに送信される。これにより，病名特定処理により特定された前記病名がＩＣＤコード２１ｄに，接尾語特定処理や接頭語特定処理により特定された前記接尾語や前記接頭語が識別コード２２ｄ，２３ｄに各々変換され（ＩＣＤコード変換手段の処理の一例），患者情報とその患者の病名に関する情報である前記病名，前記接尾語及び前記接頭語各々に対応する識別コードとが関連付けられて，電子カルテ情報として前記カルテサーバＹの記憶手段に登録（記憶）される。
【００２０】
一方，以上示した処理（Ｓ１〜Ｓ１５）により，前記入力文字列全体が前記病名でなく，かつ，前記入力文字列から前記接尾語特定処理（Ｓ５）及び前記接頭語特定処理（Ｓ９）により特定された語句（前記接尾語と前記接頭語）各々を除いても，前記病名が特定できなかった場合には（Ｓ１０のＮ側），以下に示すエラー報知処理が実行される（Ｓ２０）。
このエラー報知処理では，例えば，図６に示すようなエラー表示画面が前記表示装置５を通じて表示される。
即ち，前記エラー報知処理では，図６に示すように，前記入力文字列（例えば
「右第１趾きてつ骨折の疑い」）のうち，前記接尾語特定処理（Ｓ５）及び前記接頭語特定処理（Ｓ９）の各々により特定された前記接尾語（例えば「の疑い」）及び前記接頭語（例えば，「右」と「第１趾」）が前記表示装置５の表示欄ｇ１に各々区別して表示され，さらにその語句と区別して，その語句を除く残りの文字列（例えば，「きてつ骨折」）が，前記病名として特定できなかった文字列であるものとして前記表示装置５の表示欄ｇ２に表示される（失敗報知処理の一例）。
さらに，前記エラー報知処理では，前記入力文字列のうち，前記接尾語特定処理（Ｓ５）及び前記接頭語特定処理（Ｓ９）により特定された語句を除く残りの文字列であって，前記病名として特定できなかったもの（以下，特定不可文字列という，例えば「きてつ骨折」）に近似するもの（例えば，「横突起骨折」，「亀裂骨折」等）のリスト（以下，近似語リストという）が，前記病名ＤＢ２１（病名候補記憶手段の一例）における前記病名の候補２１ａの中から自動選択され，これが前記表示装置５の表示欄ｇ３に表示される（近似病名候補表示処理の一例）。
近似する語句の選択規則としては，例えば，前記特定不可文字列に含まれる文字と同じ文字を所定の割合以上含む前記病名の候補を近似するものとして選択すること等が考えられる。
【００２１】
そして，前記エラー報知処理により図６に示すようなエラー表示がなされた状態で，前記入力文字列の再取得処理が実行され（Ｓ２１），その後，前述のステップＳ２へ戻って，再入力された前記入力文字列について前述の処理が繰り返される。
前記入力文字列の再取得処理では，例えば，図６に示すエラー表示画面において，前記入力装置４の操作（マウス操作等）によりカーソルを移動させることにより，前記表示欄ｇ３に表示された前記近似語リストの中から前記病名の候補２１ａが選択されると，元の前記入力文字列のうち前記病名を特定できなかった語句を，その選択された前記病名の候補２１ａに置換することにより新たな前記入力文字列とする。
その他，前記入力装置４の操作（キーボード操作等）により，所定の再入力欄ｇ４において前記入力文字列を再入力する操作がなされた場合には，その再入力された文字列を新たな前記入力文字列とする。
このように，ＩＣＤコードを特定できないような病名情報が入力された場合に，直ちにその旨が医師等に通知され，さらに，近似する前記病名の候補が示されつつ正しい病名情報の再入力が促されるので，電子カルテ情報の入力システムに用いられる病名特定処理としては，正確な情報入力及び医師等の負担軽減の面で好適である。
【００２２】
＜病名特定処理における接尾語特定処理について＞
次に，図３のフローチャートに基づいて前記接尾語特定処理の手順について説明する。
この接尾語特定処理は，前述したように，初期値として前記入力文字列が設定される（図２のＳ２）前記一時ワードＷ１の後尾側から部分文字列として接尾語ワード（第１の部分文字列の一例）を抽出（Ｓ１０３）するごとに，その接尾語ワードと前記接尾語ＤＢ２２（接尾語候補記憶手段の記憶内容の一例）とを照合する（Ｓ１０４）ことにより，前記入力文字列に含まれる１又は複数の前記接尾語を特定する処理である。以下，本処理について詳述する。
まず，所定の初期設定処理が実行される（Ｓ１０１）。この初期設定処理では，ワーク変数Ｓｕｆ＿Ｍａｘ及びＳｕｆ＿Ｍｉｎの各々に，前記接尾語の候補２２ａが有し得る最大文字数及び最小文字数の各々が設定され，前記一時ワードＷ１の後尾側から前記接尾語ワードとして抽出する文字列の文字数を表すワーク変数Ｓｕｆ＿Ｎｕｍの初期値として前記接尾語の候補２２ａの最大文字数Ｓｕｆ＿Ｍａｘが設定される。
ここで，前記接尾語の候補２２ａが有し得る最大文字数Ｓｕｆ＿Ｍａｘ及び最小文字数Ｓｕｆ＿Ｍｉｎの各々は，前記接尾語ＤＢ２２に記憶された接尾語候補２２ａのうち，その文字数が最大（文字列長が最長）のもの，及び同最小（文字列長が最短）のもの各々の文字数を表す。これらの文字数は，例えば，前記接尾語ＤＢ２２への前記接尾語の候補２２ａの登録或いは更新の際等にその文字数を予めチェックし，前記データ記憶部７等に記憶しておくことや，本処理の実行前に前記接尾語ＤＢ２２を一通り検索して得ること等が考えられる。
さらに，１回の本処理により前記接頭語を特定できたか否かを表す変数である接尾語フラグが初期値ＯＦＦ（特定されなかったことを表す）に設定される。
次に，前記一時ワードＷ１の文字数が変数Ｓｕｆ＿Ｍｉｎ未満であるか否かの判別処理がなされる（Ｓ１０２）。
ここで，前記一時ワードＷ１の字数＜Ｓｕｆ＿Ｍｉｎと判別されると，前記接尾語の特定はできなかっと判断され（前記接尾語フラグはＯＦＦのまま），そのまま本処理は終了する。
一方，前記一時ワードＷ１の字数≧Ｓｕｆ＿Ｍｉｎと判別された場合は，前記一時ワードＷ１の後尾側のＳｕｆ＿Ｎｕｍ字数分が前記接尾語ワードとして抽出される（Ｓ１０３）。
そして，抽出された前記接尾語ワードについて，前記接尾語ＤＢ２２の検索処理が行われる（Ｓ１０４）。これにより，前記接尾語ワード（第１の部分文字列の一例）と，前記接尾語ＤＢ２２における前記接尾語の候補２２ａ各々との照合処理（検索処理）が実行される。その際，予め前記接尾語ワードの文字数Ｓｕｆ＿Ｎｕｍと前記接尾語ＤＢ２２における前記字数２２ｂとが一致するデータについてのみ照合処理が行われる。これにより，極力少ない照合回数で検索が完了する。
【００２３】
次に，ステップＳ１０４の検索処理により，前記接尾語ワードと一致する前記接尾語（の候補）が存在したか否かの判別処理がなされる（Ｓ１０５）。
ここで，一致する前記接尾語が存在しなかったと判別された場合（Ｓ１０５ののＮ側），前記一時ワードＷ１から抽出する文字数Ｓｕｆ＿Ｎｕｍが前記接尾語の候補の最小文字数Ｓｕｆ＿Ｍｉｎになったか否かの判別（Ｓ１０６）と，その文字数Ｓｕｆ＿Ｎｕｍの減算処理（Ｓ１０７）とが行われながら，前記接尾語ワードと一致する前記接尾語（の候補）が見つかるまで（Ｓ１０５のＹ側），或いは前記一時ワードＷ１から抽出する文字数Ｓｕｆ＿Ｎｕｍが前記最小文字数Ｓｕｆ＿Ｍｉｎになるまで（Ｓ１０６のＮ側），前述のステップＳ１０３〜Ｓ１０５の処理（前記接尾語ワードの抽出，前記接尾語ＤＢ２２の検索及びその結果の判別）が順次繰り返される。ステップＳ１０７の抽出文字数Ｓｕｆ＿Ｎｕｍの減算処理では，例えば，１文字減算する。
この繰り返し処理の途中で，前記接尾語ワードに一致する前記接尾語（の候補）が前記接尾語ＤＢ２２に存在すると判別された場合（Ｓ１０５のＹ側），その接尾語（の候補）が前記接尾語リストに追加（Ｓ１１０）され，さらに，前記接尾語フラグがＯＮ（接尾語が存在）に設定（Ｓ１１１）された後，本処理は終了する。
一方，前記接尾語ワードとして抽出する文字数Ｓｕｆ＿Ｎｕｍが前記接尾語の候補の最小文字数Ｓｕｆ＿Ｍｉｎに達しても前記接尾語が特定されなかった（そ一致する語の存在が確認されなかった）場合は（Ｓ１０６のＹ側），前記接尾語の特定はできなかっと判断され（前記接尾語フラグはＯＦＦのまま），そのまま本処理は終了する。
【００２４】
以上示したように，この接尾語特定処理では，前記接尾語の候補２２ａの最大文字数Ｓｕｆ＿Ｍａｘ以下の範囲内でのみ前記接尾語ワード（第１の部分文字列）が抽出（決定）されるので，前記接尾語としてあり得ない長い文字数の前記接尾語ワードについての無駄な照合処理の実行が回避され，処理が高速化される。
また，この接尾語特定処理では，前記入力文字列のうちの最後尾の文字を含み，かつ前記接尾語のとり得る最大文字数分の部分文字列を最初の前記接尾語ワード（第１の部分文字列）として決定した上で（Ｓ１０１，Ｓ１０３），その接尾語ワードと前記接尾語ＤＢ２２の記憶内容との照合により前記接尾語を特定できなかった場合に（Ｓ１０５のＮ側），そのときの前記接尾語ワードのうちの最後尾の文字を含む部分文字列を新たな前記接尾語ワードとして決定し（Ｓ１０３），その新たな接尾語ワードと前記接尾語ＤＢ２２とを照合する処理をさらに繰り返すことが行われる。即ち，前記接尾語の候補２２ａの最大文字数Ｓｕｆ＿Ｍａｘから順次文字数を減らした前記接尾語ワードを抽出し，（Ｓ１０７，Ｓ１０３）その抽出ごとに前記接尾語ＤＢ２２の情報との照合処理（Ｓ１０４）を実行する。これにより，以下の例に示すように確実な前記接尾語の特定が可能となる。
例えば，前記接尾語の候補２２ａには，「症」，「合併症」等が含まれるが，入力文字列（病名情報）の後尾に「合併症」が存在する場合，最小文字数から順に前記接尾語ワードを抽出すると，本来，前記接尾語として「合併症」が特定されるべきところ，「症」が特定されてしまう。一方，最大文字数から順に前記接尾語ワードを抽出すれば，そのような問題が生じず，確実に「合併症」を特定できることになる。
また，ステップＳ１０７の抽出文字数Ｓｕｆ＿Ｎｕｍの減算処理において，例えば，予め前記接尾語の候補２２ａが有し得る全ての文字数のリストを記憶しておき，そのリスト中の文字数のうち，現在の抽出文字数Ｓｕｆ＿Ｎｕｍの次に小さいものを順次選択することも考えられる。これにより，本接頭語特定処理において，前記接尾語の候補２２ａが有し得る文字数の範囲内でのみ前記接尾語ワード（第１の部分文字列）が抽出されるので，前記接尾語としてあり得ない文字数の前記接尾語ワードの検索が完全に回避され，処理が一層高速化される。
この場合，前記接尾語の候補２２ａが有し得る全ての文字数のリストは，例えば，前記接尾語ＤＢ２２にデータが登録（入力）される段階で，前記ＣＰＵ１の処理により前記記憶部７に記憶させ，これを取得することや，当該病名特定処理の初期設定処理（Ｓ２）の際に，前記接尾語ＤＢ２２の前記字数２１ｂを検索して取得すること等が考えられる。
【００２５】
＜病名特定処理における接頭語特定処理について＞
次に，図４のフローチャートに基づいて前記接頭語特定処理の手順について説明する。
この接頭語特定処理は，前述したように，初期値として前記入力文字列が設定される（図２のＳ８）前記一時ワードＷ１の先頭側から部分文字列として接頭語ワード（第２の部分文字列の一例）を順次抽出しつつ（Ｓ２０６），その接頭語ワードと前記接頭語ＤＢ２３（接頭語候補記憶手段の記憶内容の一例）とを照合する（Ｓ２０７）ことにより，前記入力文字列に含まれる１又は複数の前記接頭語を特定する処理である。以下，本処理について詳述する。
まず，所定の初期設定処理が実行される（Ｓ２０１）。この初期設定処理では，ワーク変数Ｐｒｅ＿Ｍａｘ及びＰｒｅ＿Ｍｉｎの各々に，前記接頭語の候補２３ａが有し得る最大文字数及び最小文字数の各々が設定される。
ここで，前記接頭語の候補２３ａが有し得る最大文字数Ｐｒｅ＿Ｍａｘ及び最小文字数Ｐｒｅ＿Ｍｉｎの各々は，前記接頭語ＤＢ２３に記憶された接頭語候補２３ａのうち，その文字数が最大（文字列長が最長）のもの，及び同最小（文字列長が最短）のもの各々の文字数を表す。これらの文字数は，例えば，前記接頭語ＤＢ２３への前記接頭語の候補２３ａの登録或いは更新の際等にその文字数を予めチェックし，前記データ記憶部７等に記憶しておくことや，本処理の実行前に前記接頭語ＤＢ２３を一通り検索して得ること等が考えられる。
また，他のワーク変数Ｐｒｅ＿Ｌｅｎに，前回の当該接頭語特定処理により特定された前記接頭語の字数（前記接頭語リストに最後に追加された前記接頭語の字数）が設定される。
さらに，１回の本処理により前記接頭語を特定できたか否かを表す変数である接頭語フラグが初期値ＯＦＦ（特定されなかったことを表す）に設定される。
【００２６】
次に，  前記一時ワードＷ１の先頭側から前記接頭語ワードとして抽出する文字列の文字数を表すワーク変数Ｐｒｅ＿Ｎｕｍを初期化すべき条件（初期化条件）が成立するか否かが判別される（Ｓ２０２）。
ここでは，前記接頭語リストが空（未だ，接頭語が特定されていない）であるか，若しくは前回特定された前記接頭語の文字数Ｐｒｅ＿Ｌｅｎが，前記接頭語の候補の最大文字数Ｐｒｅ＿Ｍａｘである場合には，前記初期化条件成立と判別され，その他の場合は不成立と判別される。
そして，前記初期化条件成立の場合は，抽出文字数Ｐｒｅ＿Ｎｕｍが前記接頭語の候補の最小文字数Ｐｒｅ＿Ｍｉｎに初期化され（Ｓ２０３），条件不成立の場合は，抽出文字数Ｐｒｅ＿Ｎｕｍが前回特定された前記接頭語の文字数Ｐｒｅ＿Ｌｅｎ＋αの文字数に設定される（Ｓ２０４）。
ここで，α＝１として，前回より１文字加算することが考えられる。
その他，予め前記接頭語の候補２３ａが有し得る全ての文字数のリストを記憶しておき，そのリスト中の文字数のうち，前回特定された前記接頭語の文字数Ｐｒｅ＿Ｌｅｎの次に大きいものを順次選択することも考えられる。
この場合，前記接頭語の候補２３ａが有し得る全ての文字数のリストは，前述した接頭語の候補が有し得る文字数のリストと同様にして取得すればよい。
【００２７】
次に，前記一時ワードＷ１の文字数が抽出文字数Ｐｒｅ＿Ｎｕｍ未満であるか否か（抽出可能か否か）が判別され（Ｓ２０５），Ｐｒｅ＿Ｎｕｍ未満である場合は，前記接頭語の特定はできなかったと判断され（前記接頭語フラグはＯＦＦのまま），そのまま本処理は終了する。
一方，前記一時ワードＷ１の字数≧Ｐｒｅ＿Ｎｕｍと判別された場合は，前記一時ワードＷ１の先頭側のＰｒｅ＿Ｎｕｍ字数分が前記接頭語ワードとして抽出される（Ｓ２０６）。これにより，少なくとも最初の１回については，前記入力文字列（対象文字列）のうちの最先頭の文字を含む一部分である部分文字列が前記接頭語ワードとして抽出（決定）される。
そして，抽出された前記接頭語ワードについて，前記接頭語ＤＢ２３の検索処理が行われる（Ｓ２０７）。これにより，前記接頭語ワード（第２の部分文字列の一例）と，前記接頭語ＤＢ２３における前記接頭語の候補２３ａ各々との照合処理（検索処理）が実行される。その際，予め前記接頭語ワードの文字数Ｐｒｅ＿Ｎｕｍと前記接頭語ＤＢ２３における前記字数２３ｂとが一致するデータについてのみ照合処理が行われる。これにより，極力少ない照合回数で検索が完了する。
【００２８】
次に，ステップＳ２０７の検索処理により，前記接頭語ワードと一致する前記接頭語（の候補）が存在したか否かの判別処理がなされる（Ｓ２０８）。
ここで，一致する前記接頭語が存在しなかったと判別された場合，前記一時ワードＷ１から抽出する文字数Ｐｒｅ＿Ｎｕｍが前記接頭語の候補の最大文字数Ｐｒｅ＿Ｍａｘになったか否かの判別（Ｓ２０９）と，その文字数Ｐｒｅ＿Ｎｕｍの加算処理（Ｓ２１０）とが行われながら，前記接頭語ワードと一致する前記接頭語（の候補）が見つかるまで，前述のステップＳ２０５〜Ｓ２０８の処理が順次繰り返される。ステップＳ２１０の抽出文字数Ｐｒｅ＿Ｎｕｍの加算処理では，例えば，１文字ずつ順次加算する。
この繰り返し処理の途中で，前記接頭語ワードに一致する前記接頭語（の候補）が前記接頭語ＤＢ２３に存在すると判別された場合（Ｓ２０８のＹ側），その接頭語（の候補）が前記接頭語リストに追加（Ｓ２２０）され，さらに，前記接頭語フラグがＯＮ（接頭語が存在）に設定（Ｓ２２１）された後，本処理は終了する。
一方，前記接頭語ワードとして抽出する文字数Ｐｒｅ＿Ｎｕｍが前記接頭語の候補の最大文字数Ｐｒｅ＿Ｍａｘに達しても前記接頭語が特定されなかった（一致する語の存在が確認されなかった）場合（Ｓ２０９のＹ側），前記接頭語リストに前回特定された前記接頭語が存在しないこと，若しくは，前記一時ワードＷ１の先頭側から前回特定された前記接頭語が既に除去されていること，の両条件の少なくとも一方が満足されているか否かが判別される（Ｓ２１１）。
ここで，両条件ともに満足されていない場合は，前記一時ワードＷ１が，その先頭側から前回特定された前記接頭語が削除された内容に更新され（Ｓ２１２），さらに，抽出変数Ｐｒｅ＿Ｎｕｍが前記接頭語の候補の最小文字数Ｐｒｅ＿Ｍｉｎに初期化（Ｓ２１３）された後，更新後の前記一時ワードＷ１について，前述のステップＳ２０５から処理が繰り返される。
【００２９】
そして，ステップＳ２０５からの繰り返し処理（Ｓ２０５〜Ｓ２１０）の途中で，前記接頭語ワードに一致する前記接頭語（の候補）が前記接頭語ＤＢ２３に存在すると判別された場合（Ｓ２０８のＹ側），その接頭語（の候補）が前記接頭語リストに追加（Ｓ２２０）され，さらに，前記接頭語フラグがＯＮ（接尾語が存在）に設定（Ｓ２２１）された後，本処理は終了する。
一方，前述の繰り返し処理（Ｓ２０５〜２１０）において，前回特定された前記接頭語を除いた更新後の前記一時ワードＷ１についても，抽出文字数Ｐｒｅ＿Ｎｕｍが前記接頭語の候補の最大文字数Ｐｒｅ＿Ｍａｘに達するまで前記接頭語が特定されなかった場合（Ｓ２０９のＹ側→Ｓ２１１のＹ側），或いは，更新後の前記一時ワードＷ１が抽出文字数Ｐｒｅ＿Ｎｕｍ未満となった場合（Ｓ２０５のＹ側）は，前記接頭語の特定はできなかっと判断され（前記接尾語フラグはＯＦＦのまま），そのまま本処理は終了する。
【００３０】
ところで，当該接頭語特定処理においては，前記接頭語が特定されるごとに，その特定された接頭語を次回の処理対象となる前記一時ワードＷ１から削除せずに（Ｓ１１），前回特定された前記接頭語の文字数Ｐｒｅ＿Ｌｅｎ＋αから処理を続行させるようにしている（Ｓ２０４〜）のは，以下の理由による。
即ち，前記接頭語の候補には，例えば，「第１」と「第１趾」のように，先頭の一部が重複するものが存在するため，最小文字数の前記接頭語ワードから検索を開始する当該接頭語特定処理において，先に「第１」のみが特定されて「第１趾」が特定されないことを回避するためである。
前述の処理によれば，先に「第１」（２文字）が特定された場合でも，「第１」は前記一時ワードＷ１に残されたまま，次回の接頭語特定処理が３文字の「第１趾」について行われるので，「第１」と「第１趾」とが漏らさず特定される。
また，このように，前記入力文字列における先頭位置が同じ前記接頭語ワード（第１の部分文字列）について複数の前記接頭語（例えば，「第１」と「第１趾」）が特定された場合には，前述の前記接頭語の前記接頭語リストへの追加処理（Ｓ２２０）において，文字数の多いものが優先してリストに残される。
【００３１】
以上示したように，この接頭語特定処理では，前記接頭語の候補２３ａの最大文字数Ｐｒｅ＿Ｍａｘ以下の範囲内でのみ前記接頭語ワード（第２の部分文字列）が抽出されるので，前記接頭語としてあり得ない長い文字数の前記接頭語ワードについての無駄な照合処理の実行が回避され，処理が高速化される。
また，この接頭語特定処理では，前記接頭語の候補２３ａの最小文字数Ｐｒｅ＿Ｍｉｎから順次文字数を増やした前記接頭語ワードを抽出するので，極力少ない文字数の前記接頭語が優先的に特定され，それが前記入力文字列から除かれた残りの極力長い文字列（一時ワードＷ２）について，前記病名の特定処理が行われる（図２のＳ１２）。その結果，極力長い（文字数の多い）前記病名，即ち，前記接頭語の候補をその先頭側の一部に含む詳細な前記病名が優先的に特定される点で好適である。
また，ステップＳ２１０の抽出文字数Ｐｒｅ＿Ｎｕｍの加算処理において，例えば，予め前記接尾語の候補２２ａが有し得る全ての文字数のリストを記憶しておき，そのリスト中の文字数のうち，現在の抽出文字数Ｓｕｆ＿Ｎｕｍの次に小さいものを順次選択することも考えられる。これにより，本接頭語特定処理において，前記接頭語の候補２２ａが有し得る文字数の範囲内でのみ前記接尾語ワード（第１の部分文字列）が抽出されるので，前記接尾語としてあり得ない文字数の前記接尾語ワードの検索が完全に回避され，処理が一層高速化される。
この場合，前記接尾語の候補２２ａが有し得る全ての文字数のリストは，例えば，前記接尾語ＤＢ２２にデータが登録（入力）される段階で，前記ＣＰＵ１の処理により前記記憶部７に記憶させ，これを取得することや，当該病名特定処理の初期設定処理（Ｓ２）の際に，前記接尾語ＤＢ２２の前記字数２１ｂを検索して取得すること等が考えられる
【００３２】
また，以上示した病名特定処理は，先に前記接尾語特定処理を実行し（Ｓ５），これにより特定された１又は複数の前記接尾語を前記入力文字列から除いた残りの文字列（前記一時ワードＷ１）と前記病名ＤＢ２１（病名候補記憶手段の記憶内容）との照合（検索）を行い（Ｓ３），これにより前記病名が特定されなかった場合（Ｓ６のＮ側）にのみ，前記接頭語特定処理（Ｓ９）により特定された１又は複数の前記接頭語を前記入力文字列からさらに除いた残りの文字列（前記一時ワードＷ２）と前記病名ＤＢ２１との照合を行う（Ｓ１２）ことにより，前記病名の特定を行うものである。
これにより，前記入力文字列から前記接頭語を除去した残りの文字列について前記病名の候補と照合した際に，前記接尾語が残っているために前記病名を特定できず，これにより前記病名の一部として残しておくべき前記接頭語の特定処理まで行ってしまう無駄や，さらに前記接尾語が付加されたままの文字列についてまで前記接頭語を探す処理を行ってしまう無駄を回避できる。
例えば，前記入力文字列が「アレルギー性アトピー性皮膚炎の疑い」である場合，前記接頭語の特定を先に行うと，「アトピー性皮膚炎の疑い」や「皮膚炎の疑い」という前記病名は存在しないため，前記接頭語「アレルギー性」の特定処理に加え，前記病名の一部として残しておくべき前記接頭語「アトピー性」の特定（照合）処理，さらには前記接尾語が付加された「皮膚炎の疑い」という文字列から前記接頭語を探す処理まで実行されてしまう。
これに対し，前記接尾語の特定を先に行うと，前記接尾語である「の疑い」が除去された「アレルギー性アトピー性皮膚炎」について前記接頭語「アレルギー性」の特定が行われ，それを除去した「アトピー性皮膚炎」について前記病名の特定が行われる。その結果，「アトピー性」を前記接頭語として特定する処理，さらには「皮膚炎の疑い」という文字列から前記接頭語を探す処理を実行することなく，詳細な前記病名「アトピー性皮膚炎」を特定することも可能となり，効率的で高速な前記病名の特定を行うことが可能となる。
【００３３】
＜具体例＞
ここで，以上示した病名特定処理について，前記入力文字列が「右第１趾亀裂骨折の疑い」である場合を具体例として，処理の概略の途中経過を示すことによって説明する。
まず，前記一時ワードＷ１に「右第１趾亀裂骨折の疑い」が設定され（Ｓ２），これについて前記病名ＤＢ２１が検索（Ｓ３）されても見つからないため，「右第１趾亀裂骨折の疑い」について，前記接尾語特定処理（Ｓ５）が実行される。
ここで，「右第１趾亀裂骨折の疑い」の後尾側から前記接尾語の最大文字数分の前記接尾語ワードとして，例えば，「骨折の疑い」（Ｓｕｆ＿Ｍａｘ＝５の場合）が抽出され（Ｓ１０３），これについて前記接尾語ＤＢ２２が検索される（Ｓ１０４）。
しかし，前記接尾語ワードが「骨折の疑い」の状態では前記接尾語は特定されないため，「骨折の疑い」の先頭側から順次１文字ずつ削除（Ｓ１０７）された前記接尾語ワードについて，前記接尾語ＤＢ２２の検索処理（Ｓ１０４）が繰り返され，前記接尾語ワードが「の疑い」まで短くされた時点で，前記接尾語が特定される（Ｓ１０５のＹ側）。
次に，その接尾語「の疑い」が前記入力文字列から除かれた文字列「右第１趾亀裂骨折」が前記一時ワードＷ１に設定され（Ｓ７），これについて，前記病名ＤＢ２１が検索（Ｓ３）されても見つからないため，「右第１趾亀裂骨折」について，前記接尾語特定処理（Ｓ５）が再度実行される。しかしこの場合，前記接尾語は特定されず，前記一時ワードＷ１が再度「右第１趾亀裂骨折の疑い」に初期化（Ｓ８）された後，前記接頭語特定処理（Ｓ８）以降の処理へ移行する。
【００３４】
次に，前記一時ワードＷ１「右第１趾亀裂骨折の疑い」についての前記接頭語特定処理（Ｓ８）により，前記接頭語「右」，「第１」，「第１趾」が順次特定され，その特定ごとに，「第１趾亀裂骨折の疑い」及び「第１趾亀裂骨折」についての前記病名ＤＢ２１の検索，「趾亀裂骨折の疑い」及び「趾亀裂骨折」についての前記病名ＤＢ２１の検索，「亀裂骨折の疑い」及び「亀裂骨折」についての前記病名ＤＢ２１の検索が順次行われる（Ｓ９→Ｓ１１→Ｓ１２→Ｓ１４→Ｓ９）。その際，前記接頭語リストには，前記入力文字列における先頭位置（２文字目）が同じである「第１」及び「第１趾」については，文字数が多い「第１趾」が優先して残される。即ち，前記接頭語「第１」は，前記接頭語リストに一旦追加（Ｓ２２０）されるものの，「第１趾」が特定された際にリストから削除される（Ｓ２２０）。
そして，その前記一時ワードＷ２が「亀裂骨折」となった段階で，前記病名ＤＢ２１の検索（Ｓ１２）により前記病名「亀裂骨折」が特定される。
その結果，前記病名「亀裂骨折」と，前記接頭語「右」及び「第１趾」と，前記接尾語「の疑い」との各々の識別コードが各データベースから取得され，これらと患者情報とが前記カルテサーバＹに送信されることにより，識別コードの登録処理がなされる（Ｓ３０）。
【００３５】
＜応用例＞
ところで，以上示した実施形態において，前記接尾語特定処理（Ｓ５）で前記接尾語の候補２２ａと照合する際のその文字数ごとの照合順序を，過去の前記接尾語特定処理による前記接尾語の特定履歴，例えば，特定された語句の頻度情報等に基づいて設定することが考えられる（接尾語照合順序設定処理の一例）。
同様に，前記接頭語特定処理（Ｓ９）で前記接頭語の候補２３ａと照合する際のその文字数ごとの照合順序を，過去の前記接頭語特定処理による前記接頭語の特定履歴に基づいて設定することも考えられる（接頭語照合順序設定処理の一例）。
例えば，前記接尾語が特定されるごとに（Ｓ６のＹ側），その特定履歴を前記記憶部７等に記録するとともに，前記接尾語ＤＢ２２における前記接尾語の候補２２ａの前記字数２２ｂが同じものごとの並び順序を，特定される頻度が高いもの順に並べ替える処理を実行する。そして，前記接尾語ＤＢ２２の検索を行う際には，その並び順に従って前記接尾語の候補２２ａとの照合処理を実行する。
また，前記接頭語についても同様の処理を実行する。
これにより，同じ文字数の前記接尾語の候補２２ａや前記接頭語の候補２３ａが複数ある場合に，より少ない照合回数で前記接尾語や前記接頭語を特定できる確率が高くなる結果，より高速な前記病名の特定につながる。
【００３６】
また，図２に示した病名特定処理では，前記接頭語特定処理（Ｓ９）により前記接頭語が特定されるごとに，まず，事前に前記接尾語特定処理（Ｓ５）により特定された前記接尾語が付加された文字列（前記一時ワードＷ２）について前記病名ＤＢ２１の検索（Ｓ１２）を行う例について示した。
しかしながら，前記病名の候補が，その後端側の一部に前記接尾語の候補を含むことがないという前提が成り立つ場合には，前記入力文字列から既に特定された全ての前記接尾語を削除した残りの文字列について，前記接頭語特定処理（Ｓ９）及びこれにより特定された前記接頭語を除いた残りの文字列についての前記病名特定処理（Ｓ１２）を実行することが考えられる。この場合，ステップＳ８における前記一時ワードＷ１の設定の際に，前記入力文字列ではなく，前記入力文字列から既に特定された全ての前記接尾語を削除した残りの文字列を前記一時ワードＷ１に設定すればよい。
これにより，より高速に前記病名を特定することが可能となる。ＩＣＤコードに対応する前記病名の特定においては，このような処理が有効であると考えられる。
【００３７】
また，前述した実施形態では，前記接尾語の特定の際，入力文字列の後尾側から，まず，前記接尾語の候補２２ａのうちの文字列長さが最長のものと同じ長さの部分文字列を抽出し（Ｓ１０１，Ｓ１０３），その部分文字列について前記接尾語ＤＢ２２を検索し（Ｓ１０４），接尾語が特定されなければ（検索により見つからなければ），さらにその部分文字列の一部（例えば１文字）を除いた文字列について前記接尾語ＤＢ２２を検索する（Ｓ１０７→Ｓ１０３→Ｓ１０４），という処理を繰り返す例について示した。以下，これを第１の接尾語特定処理という。
しかしながら，これに限るものでなく，例えば，入力文字列の後尾側から，まず，前記接尾語の候補２２ａのうちの文字列長さが最短のものと同じ長さの部分文字列を抽出し，その部分文字列について前記接尾語ＤＢ２２を検索し，接尾語が特定されなければ，さらにその部分文字列よりも多い文字数（例えば１文字多い文字数）分の部分文字列を入力文字列の後尾側から抽出し，その文字列について前記接尾語ＤＢ２２を検索する，という処理を繰り返すもの，即ち，字数の小さい（短い）部分文字列から順に接尾語を特定する処理を行うものであってもよい。以下，これを第２の接尾語特定処理という。
【００３８】
同様に，前述した実施形態では，前記接頭語の特定の際，入力文字列の先頭側から，まず，前記接頭語の候補２３ａのうちの文字列長さが最長のものと同じ長さの部分文字列を抽出し（Ｓ２０１→…→Ｓ２０３→…→Ｓ２０６），その部分文字列について前記接頭語ＤＢ２３を検索し（Ｓ２０７），接頭語が特定されなければ，さらにその部分文字列よりも多い文字数（例えば１文字多い文字数）分の部分文字列を入力文字列の先頭側から抽出し（Ｓ２１０→…→Ｓ２０６），その文字列について前記接尾語ＤＢ２２を検索する（Ｓ２０７），という処理を繰り返す例について示した。以下，これを第１の接頭語特定処理という。
しかしながら，これに限るものでなく，例えば，入力文字列の先頭側から，まず，前記接頭語の候補２３ａのうちの文字列長さが最長のものと同じ長さの部分文字列を抽出し，その部分文字列について前記接頭語ＤＢ２３を検索し，接尾語が特定されなければ，さらにその部分文字列の一部（例えば後尾側１文字）を除いた文字列について前記接頭語ＤＢ２３を検索する，という処理を繰り返すもの，即ち，字数の大きい（長い）部分文字列から順に接頭語を特定する処理を行うものであってもよい。以下，これを第２の接頭語特定処理という。
また，前記第１の接尾語処理と前記第２の接頭語処理とを組み合わせたもの，或いは前記第２の接尾語処理と前記第１の接頭語処理とを組み合わせたものの他，前記第２の接尾語処理と前記第２の接頭語処理とを組み合わせたものも考えられる。
【００３９】
また，前述した実施形態では，病名特定の処理対象となる文字列（対象文字列）として，キーボード等を通じて入力（取得）された文字列（入力文字列）を例に示したが，これに限るものでなく，例えば，所定の記憶媒体からの読み出しにより取得された文字列や，ネットワークを介したデータ受信により取得された文字列等，他の手段を通じて取得された文字列を対象に病名特定処理を行うものであってもよい。
【産業上の利用可能性】
【００４０】
本発明は，入力文字列に基づいてＩＣＤコード等の識別コードに対応する病名を特定するプログラム，装置等に利用可能である。
【図面の簡単な説明】
【００４１】
【図１】図１は本発明の実施形態に係る病名特定装置Ｘを構成する情報処理装置の概略構成を表すブロック図。
【図２】病名特定装置Ｘにより実行される病名特定処理の手順を表すフローチャート。
【図３】病名特定装置Ｘによる病名特定処理において実行される接尾語特定処理の手順を表すフローチャート。
【図４】病名特定装置Ｘによる病名特定処理において実行される接頭語特定処理の手順を表すフローチャート。
【図５】病名特定装置Ｘにより参照される各データベースの概略データ構成を表す図。
【図６】病名特定装置Ｘの表示画面の一例を表す図。
【符号の説明】
【００４２】
Ｘ…病名特定装置（情報処理装置）
１…ＣＰＵ
２…ＲＡＭ
３…ＲＯＭ
４…入力装置
５…表示装置
６…通信インターフェース
７…記憶部
Ｓ１，Ｓ２，，…処理手順（ステップ）
【図１】
2006318225.tif 000003
【図２】
2006318225.tif 000004
【図３】
2006318225.tif 000005
【図４】
2006318225.tif 000006
【図５】
2006318225.tif 000007
【図６】
2006318225.tif 000008