(57)【要約】【課題】他装置に対するデータ入力の効率性および正確性を向上させることが可能となる。【解決手段】自装置と異なる他装置の表示画面である他装置画面を取得する第１の取得部と、前記第１の取得部により取得された、前記他装置画面上の入力項目を検出する検出部と、前記他装置画面上の前記入力項目に対応する入力領域を特定する特定部と、前記入力項目の入力対象データを取得する第２の取得部と、前記入力対象データを前記入力領域に入力する入力部と、を備える、情報処理装置が提供される。【選択図】図１０
2019040548.tif 000002
【特許請求の範囲】
【請求項１】
自装置と異なる他装置の表示画面である他装置画面を取得する第１の取得部と、
前記第１の取得部により取得された、前記他装置画面上の入力項目を検出する検出部と、
前記他装置画面上の前記入力項目に対応する入力領域を特定する特定部と、
前記入力項目の入力対象データを取得する第２の取得部と、
前記入力対象データを前記入力領域に入力する入力部と、を備える、
情報処理装置。
【請求項２】
前記検出部は、前記入力項目を表す画像を前記他装置画面上で探索することによって前記入力項目を検出する、
請求項１に記載の情報処理装置。
【請求項３】
前記特定部は、前記入力領域を表す画像を前記他装置画面上で探索することによって前記入力領域を特定する、
請求項１または２に記載の情報処理装置。
【請求項４】
前記特定部は、前記他装置画面における、前記入力項目を表す画像の表示位置を基準に前記入力領域を表す画像を探索する、
請求項３に記載の情報処理装置。
【請求項５】
前記入力部は、前記入力領域であるテキストボックスに対する前記入力対象データの入力、前記入力領域であるドロップダウンリスト、ラジオボタンまたはチェックボックスにおける前記入力対象データの選択を行う、
請求項１から４のいずれか１項に記載の情報処理装置。
【請求項６】
前記検出部は、前記他装置画面上のボタンまたはハイパーリンクを検出し、
前記ボタンまたは前記ハイパーリンクを押下する押下部をさらに備える、
請求項１から５のいずれか１項に記載の情報処理装置。
【請求項７】
前記検出部は、メッセージ表示を表す画像を前記他装置画面上で探索することによって前記メッセージ表示を検出する、
請求項１から６のいずれか１項に記載の情報処理装置。
【請求項８】
前記入力部は、前記入力領域に入力されているデータの削除により削除処理を行うか、または、前記削除の後に前記入力対象データを前記入力領域に入力することで変更処理を行う、
請求項１から７のいずれか１項に記載の情報処理装置。
【請求項９】
前記検出部は、スクリプトを実行することで、前記入力項目を表す画像を前記他装置画面上で探索し、
前記特定部は、前記スクリプトを実行することで、前記入力領域を表す画像を前記他装置画面上で探索する、
請求項１から８のいずれか１項に記載の情報処理装置。
【請求項１０】
ユーザにより入力された前記他装置の仕様に関する情報に基づいて、前記入力項目を表す画像および前記入力領域を表す画像を決定し、前記入力項目を表す画像および前記入力領域を表す画像を用いて前記スクリプトを生成する生成部をさらに備える、
請求項９に記載の情報処理装置。
【請求項１１】
前記他装置は、仮想装置であり、
前記他装置画面は、前記仮想装置の画面上に表示されたアプリケーション画面である、
請求項１から１０のいずれか１項に記載の情報処理装置。
【請求項１２】
前記他装置画面は、医療事務システムに関する画面であり、
前記入力対象データは、患者に関するデータである、
請求項１から１１のいずれか１項に記載の情報処理装置。
【請求項１３】
自装置と異なる他装置の表示画面である他装置画面を取得することと、
前記自装置により取得された、前記他装置画面上の入力項目を検出することと、
前記他装置画面上の前記入力項目に対応する入力領域を特定することと、
前記入力項目の入力対象データを取得することと、
前記入力対象データを前記入力領域に入力することと、を有する、
コンピュータにより実行される情報処理方法。
【請求項１４】
自装置と異なる他装置の表示画面である他装置画面を取得することと、
前記自装置により取得された、前記他装置画面上の入力項目を検出することと、
前記他装置画面上の前記入力項目に対応する入力領域を特定することと、
前記入力項目の入力対象データを取得することと、
前記入力対象データを前記入力領域に入力することと、
をコンピュータに実現させるためのプログラム。
【請求項１５】
自装置と異なる他装置の表示画面である他装置画面を取得する第１の取得部と、
前記第１の取得部により取得された、前記他装置画面上の入力項目を検出する検出部と、
前記他装置画面上の前記入力項目に対応する入力領域を特定する特定部と、
前記入力項目の入力対象データを取得する第２の取得部と、
前記入力対象データを前記入力領域に入力する入力部と、を備える、
情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法、プログラムおよび情報処理システムに関する。
【背景技術】
【０００２】
近年、情報処理技術の発展に伴い、複数の端末をより効率的に制御または管理する技術が盛んに開発されている。例えば、以下の特許文献１には、仮想装置が遠隔地に存在する他装置に接続し、当該他装置を制御する技術が開示されている。また、特許文献２には、外部端末が、遠隔地に存在する、分析装置の制御用コンピュータにリモートデスクトップ技術を用いて接続し、当該制御用コンピュータを制御する技術が開示されている。
【０００３】
また、他方で、情報処理システムの利便性向上のために、ユーザによる情報処理システムへのデータ入力をサポートしたり、データ入力を自動化したりする技術も盛んに開発されている。例えば、特許文献３には、テスト対象システムのウェブページを表示し、当該ウェブページに対してデータ入力を自動的に行う自動テストツールが開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００２−２８９４９２号公報
【特許文献２】特開２０１３−１４８５１９号公報
【特許文献３】特開２０１６−７１３９６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、上記の特許文献等の技術によっては、他装置に対するデータ入力の効率性および正確性を向上させることが困難になる場合があった。例えば、上記の特許文献３の技術は、データ入力を自動的に行うことが可能であるが、データ入力の対象となるシステムの仕様（例えば、メーカーもしくはバージョン等に依存する操作方法もしくは画面内容等）に合わせてプログラムを構築することが求められる。そのため、構築されたプログラムが他の仕様を有するシステムに適用される場合には、別途、プログラムの改修等に相当のコストを要していた。また、データ入力の対象となるシステムのバージョンが変更された場合には、当該プログラムの改修等が求められる場合もあり、さらに、相当のコストが発生していた。
【０００６】
そこで、本発明は、上記問題に鑑みてなされたものであり、本発明の目的とするところは、他装置に対するデータ入力の効率性および正確性を向上させることが可能な、新規かつ改良された情報処理装置、情報処理方法、プログラムおよび情報処理システムを提供することにある。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明のある観点によれば、自装置と異なる他装置の表示画面である他装置画面を取得する第１の取得部と、前記第１の取得部により取得された、前記他装置画面上の入力項目を検出する検出部と、前記他装置画面上の前記入力項目に対応する入力領域を特定する特定部と、前記入力項目の入力対象データを取得する第２の取得部と、前記入力対象データを前記入力領域に入力する入力部と、を備える、情報処理装置が提供される。
【０００８】
前記検出部は、前記入力項目を表す画像を前記他装置画面上で探索することによって前記入力項目を検出してもよい。
【０００９】
前記特定部は、前記入力領域を表す画像を前記他装置画面上で探索することによって前記入力領域を特定してもよい。
【００１０】
前記特定部は、前記他装置画面における、前記入力項目を表す画像の表示位置を基準に前記入力領域を表す画像を探索してもよい。
【００１１】
前記入力部は、前記入力領域であるテキストボックスに対する前記入力対象データの入力、前記入力領域であるドロップダウンリスト、ラジオボタンまたはチェックボックスにおける前記入力対象データの選択を行ってもよい。
【００１２】
前記検出部は、前記他装置画面上のボタンまたはハイパーリンクを検出し、前記ボタンまたは前記ハイパーリンクを押下する押下部がさらに備えられてもよい。
【００１３】
前記検出部は、メッセージ表示を表す画像を前記他装置画面上で探索することによって前記メッセージ表示を検出してもよい。
【００１４】
前記入力部は、前記入力領域に入力されているデータの削除により削除処理を行うか、または、前記削除の後に前記入力対象データを前記入力領域に入力することで変更処理を行ってもよい。
【００１５】
前記検出部は、スクリプトを実行することで、前記入力項目を表す画像を前記他装置画面上で探索し、前記特定部は、前記スクリプトを実行することで、前記入力領域を表す画像を前記他装置画面上で探索してもよい。
【００１６】
ユーザにより入力された前記他装置の仕様に関する情報に基づいて、前記入力項目を表す画像および前記入力領域を表す画像を決定し、前記入力項目を表す画像および前記入力領域を表す画像を用いて前記スクリプトを生成する生成部がさらに備えられてもよい。
【００１７】
前記他装置は、仮想装置であり、前記他装置画面は、前記仮想装置の画面上に表示されたアプリケーション画面であってもよい。
【００１８】
前記他装置画面は、医療事務システムに関する画面であり、前記入力対象データは、患者に関するデータであってもよい。
【００１９】
また、上記課題を解決するために、本発明の別の観点によれば、自装置と異なる他装置の表示画面である他装置画面を取得することと、前記自装置により取得された、前記他装置画面上の入力項目を検出することと、前記他装置画面上の前記入力項目に対応する入力領域を特定することと、前記入力項目の入力対象データを取得することと、前記入力対象データを前記入力領域に入力することと、を有する、コンピュータにより実行される情報処理方法が提供される。
【００２０】
また、上記課題を解決するために、本発明の別の観点によれば、自装置と異なる他装置の表示画面である他装置画面を取得することと、前記自装置により取得された、前記他装置画面上の入力項目を検出することと、前記他装置画面上の前記入力項目に対応する入力領域を特定することと、前記入力項目の入力対象データを取得することと、前記入力対象データを前記入力領域に入力することと、をコンピュータに実現させるためのプログラムが提供される。
【００２１】
また、上記課題を解決するために、本発明の別の観点によれば、自装置と異なる他装置の表示画面である他装置画面を取得する第１の取得部と、前記第１の取得部により取得された、前記他装置画面上の入力項目を検出する検出部と、前記他装置画面上の前記入力項目に対応する入力領域を特定する特定部と、前記入力項目の入力対象データを取得する第２の取得部と、前記入力対象データを前記入力領域に入力する入力部と、を備える、情報処理システムが提供される。
【発明の効果】
【００２２】
以上説明したように本発明によれば、他装置に対するデータ入力の効率性および正確性を向上させることが可能となる。
【図面の簡単な説明】
【００２３】
【図１】本発明の一実施例に係る情報処理システムの装置構成の一例を示す図である。
【図２Ａ】ツールサーバが実行するスクリプトにおける処理の記載例を説明する図である。
【図２Ｂ】ツールサーバが実行するスクリプトにおける処理の記載例を説明する図である。
【図３Ａ】ツールサーバが実行するスクリプトによって実現可能な処理例を説明する図である。
【図３Ｂ】ツールサーバが実行するスクリプトによって実現可能な処理例を説明する図である。
【図３Ｃ】ツールサーバが実行するスクリプトによって実現可能な処理例を説明する図である。
【図３Ｄ】ツールサーバが実行するスクリプトによって実現可能な処理例を説明する図である。
【図３Ｅ】ツールサーバが実行するスクリプトによって実現可能な処理例を説明する図である。
【図３Ｆ】ツールサーバが実行するスクリプトによって実現可能な処理例を説明する図である。
【図３Ｇ】ツールサーバが実行するスクリプトによって実現可能な処理例を説明する図である。
【図４】ツールサーバの機能構成の一例を示すブロック図である。
【図５】クライアントの機能構成の一例を示すブロック図である。
【図６】タブレット端末の機能構成の一例を示すブロック図である。
【図７Ａ】各種データの自動連携に伴う処理フローの一例を示すシーケンス図である。
【図７Ｂ】各種データの自動連携に伴う処理フローの一例を示すシーケンス図である。
【図８】受付一覧画面の一例を示す図である。
【図９】診療申込内容画面の一例を示す図である。
【図１０】各種データの自動連携の処理フローの一例を示すフローチャートである。
【図１１】ツールサーバ、クライアントおよびタブレット端末を具現する情報処理装置のハードウェア構成の一例を示すブロック図である。
【発明を実施するための形態】
【００２４】
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００２５】
＜１．背景＞
まず、本発明の背景について説明する。
【００２６】
上記のとおり、近年、情報処理技術の発展に伴い、複数の端末をより効率的に制御または管理する技術が盛んに開発されている。また、他方で、情報処理システムの利便性向上のために、ユーザによる情報処理システムへのデータ入力をサポートしたり、データ入力を自動化したりする技術も盛んに開発されている。
【００２７】
しかし、上記の特許文献等の技術によっては、他装置に対するデータ入力の効率性および正確性を向上させることが困難になる場合があった。例えば、データ入力の効率性および正確性を向上させるために、人の手を介さず自動的にデータ入力を行うプログラムが用いられる場合、当該プログラムは、データ入力の対象となるシステムの仕様（例えば、メーカーもしくはバージョン等に依存する操作方法もしくは画面内容等）に合わせて構築されることが求められる。
【００２８】
そのため、特に、構築後のプログラムが他の仕様を有するシステムに適用するためには、別途、プログラムの改修等に相当のコストを要していた。プログラムの改修等のためには、システムの構築業者に対して、システムへの接続方法、データフォーマットまたはデータ連携の形式等の仕様を詳細に確認した上で、プログラムを改修し、プログラムテスト等を行うことが求められるため、システムの規模が大きくなり構築業者数が増えるほど、プログラムの改修に要するコストは増大する。また、システムのバージョンが変更された場合には、当該プログラムの改修等も求められる場合があり、さらに、相当のコストが発生していた。
【００２９】
本件の発明者は、上記事情に鑑み、本発明を創作するに至った。本発明に係る情報処理装置は、他装置の表示画面である他装置画面を表示し、他装置画面に表示されている入力項目を検出し、他装置画面に表示されている、入力項目に対応する入力領域を特定し、当該入力領域に対して自動的にデータ入力を行うことができる。以降では、本発明の一実施例について詳細に説明していく。
【００３０】
＜２．実施例＞
上記では、本開示の背景について説明した。続いて、本発明の一実施例について説明する。
【００３１】
以降では、一例として、本発明が医療事務システムに適用される場合について説明する。医療事務システムとは、医療機関（例えば、病院、診療所、療養所、施術所または薬局等）で医療事務員、医師、看護師または患者等によって使用され、患者データ（例えば、患者氏名、年齢、性別、住所、電話番号または保険証番号等）、治療データ（例えば、病名、重症度、治療期間、治療費または担当医師等）または投薬データ（例えば、薬品名、投薬量、投薬期間または費用等）等を管理するシステムである。なお、本発明の適用対象は医療事務システムに限定されない。より具体的には、本発明は、何らかのデータ入力が行われるシステムまたは装置等であれば、いかなるシステムまたは装置等に適用されてもよい。
【００３２】
（２−１．装置構成）
まず、図１を参照して、本実施例に係る情報処理システム（医療事務システム）の装置構成について説明する。図１に示すように、本実施例に係る情報処理システムは、ツールサーバ１００と、クライアント２００（クライアント２１０ａおよびクライアント２１０ｂを含む）と、タブレット端末３００と、医療事務サーバ４００と、ＯＣＲ（Optical  Character  Recognition）装置５００と、プリンタ６００と、を備える。また、ツールサーバ１００とタブレット端末３００はネットワーク７００ａにより接続され、ツールサーバ１００とクライアント２００はネットワーク７００ｂにより接続され、クライアント２００、医療事務サーバ４００、クライアント２１０ａおよびクライアント２００ｂはネットワーク７００ｃにより接続されている。なお、図１に示す情報処理システムはあくまで一例であり、情報処理システムの装置構成は特に限定されない。例えば、各装置の台数は適宜変更され得る。
【００３３】
タブレット端末３００は、患者および医療事務員によって使用される装置である。より具体的には、タブレット端末３００は、タッチパネルまたはボタン等の入力機構を備えており、患者は来院時にタブレット端末３００を用いて診療申込を行う。タブレット端末３００は、診療申込に関する入力画面をディスプレイに表示し、患者がタッチペンまたは指等を用いて手書きで入力した内容を解析し、データ（例えば、文字データ等）へ変換する。また、タブレット端末３００はＯＣＲ装置５００に接続されており、医療事務員が患者の保険証をＯＣＲ装置５００に読み取らせることで、タブレット端末３００は保険証に記載されている内容を取り込むことができる。また、タブレット端末３００は、プリンタ６００にも接続されており、診療申込の内容または保険証を印刷することができる。なお、タブレット端末３００が用いられることは、あくまで一例であり、タブレット端末３００の機能を別の装置が実現してもよい。例えば、ＰＣ（Personal  Computer）がタブレット端末３００の代りに用いられてもよい。
【００３４】
タブレット端末３００は、ネットワーク７００ａを介して入力データをツールサーバ１００に提供する。また、医療事務員は、タブレット端末３００を操作することによってツールサーバ１００に対して入力データの自動連携を要求することができる。自動連携の詳細については後述する。
【００３５】
ツールサーバ１００は、タブレット端末３００等から入力された各種データを管理する情報処理装置である。例えば、ツールサーバ１００は、診療申込に関するデータ、患者の受付に関するデータ等を管理する。また、ツールサーバ１００は、ネットワーク７００ｂを介して、クライアント２００に接続し、自装置にて管理している各種データの一部または全部をクライアント２００へ自動連携する機能を有する。自動連携の詳細については後述する。
【００３６】
クライアント２００は、ネットワーク７００ｃを介して、医療事務サーバ４００および他のクライアント２００（例えば、クライアント２１０ａおよびクライアント２１０ｂ等）に接続する情報処理装置である。例えば、医療事務員、医師または看護師等がクライアント２００を操作することで、患者データ、治療データまたは投薬データ等の入力、変更または削除等を行い、クライアント２００は、これらの処理結果を医療事務サーバ４００および他のクライアント２００に提供する。また、上記のとおり、クライアント２００は、ネットワーク７００ｂを介して、ツールサーバ１００によって接続され、各種データの自動連携が行われる。自動連携の詳細については後述する。なお、クライアント２１０ａまたはクライアント２１０ｂは、クライアント２００と同一の機能を有してもよい。例えば、クライアント２１０ａまたはクライアント２１０ｂは、ツールサーバ１００によって接続され、各種データの自動連携が行われてもよい。
【００３７】
ここで、ツールサーバ１００またはクライアント２００は、仮想装置であってもよい。これによって、ツールサーバ１００またはクライアント２００のＣＰＵ（Central  Processing  Unit）、ストレージまたはメモリ等のハードウェアリソースの変更が容易に実現される。
【００３８】
医療事務サーバ４００は、ツールサーバ１００によって自動連携された各種データ、または、クライアント２００を用いて入力等が行われた各種データ等を管理する情報処理装置である。
【００３９】
（２−２．機能概要）
上記では、本実施例に係る情報処理システムの装置構成について説明した。続いて、本実施例に係る情報処理システムの機能概要について説明する。
【００４０】
まず、本実施例に係るツールサーバ１００は、ネットワーク７００ｂを介してクライアント２００に接続することができる。より具体的には、ツールサーバ１００は、リモートデスクトップ技術等を用いて、クライアント２００に接続し、クライアント２００に表示されているアプリケーション画面（以降、便宜的に「他装置画面」と呼称する場合がある）を自装置のディスプレイに表示する。これによって、ツールサーバ１００は、他装置であるクライアント２００に対して各種処理を行うことができ、ツールサーバ１００の操作者は、他装置であるクライアント２００に表示されている他装置画面を確認することができる。なお、ツールサーバ１００がクライアント２００に接続することができれば、リモートデスクトップ技術以外の任意の遠隔接続技術が用いられてもよい。
【００４１】
そして、ツールサーバ１００は、各種データをクライアント２００に対して自動連携することができる。ここで、自動連携とは、医療事務員等がクライアント２００に対して手動で入力していた各種データを、所定のプログラムが自動的に入力することでクライアント２００に対して各種データを連携することを指す。上記のように、ツールサーバ１００がリモートデスクトップ技術等を用いてクライアント２００に接続することで、ツールサーバ１００の操作者は、所定のプログラムが他装置画面に対して各種データを自動的に入力している状況を確認することができる。
【００４２】
自動連携の処理内容についてより具体的に説明すると、ツールサーバ１００は、他装置画面に表示されている入力項目を検出し、他装置画面に表示されており、入力項目に対応する入力領域を特定する。そして、ツールサーバ１００は、入力対象データを取得し、当該データを入力領域に入力する。
【００４３】
ここで、ツールサーバ１００は、入力項目を表す画像を他装置画面上で探索することによって入力項目を検出する。そして、同様に、ツールサーバ１００は、入力領域を表す画像を他装置画面上で探索することによって入力領域を特定する。
【００４４】
より具体的に説明すると、ツールサーバ１００は、入力項目を表す画像および入力領域を表す画像を用いて生成されたスクリプトを実行することによって、各種データの自動連携を実現する。当該スクリプトにおける処理の記載例を、図２Ａおよび図２Ｂを参照して説明する。例えば、図２Ａは、入力項目を検出する処理の記載例である。ツールサーバ１００は、スクリプトにおける当該処理を実行することによって、他装置画面に表示されている入力項目である「日本語氏名」を検出することができる。また、図２Ｂは、入力領域を特定し、入力領域に入力を行う処理の記載例である。ツールサーバ１００は、スクリプトにおける当該処理を実行することによって、他装置画面に表示されている、入力領域であるテキストボックスを特定し、テキストボックスに「沖  太郎」という文字データを入力することができる。
【００４５】
このように、入力項目の検出処理および入力領域の特定処理等が、入力項目を表す画像および入力領域を表す画像を用いて生成されたスクリプトによって実現されることで、各種データの自動連携が容易に実現される。例えば、既存の情報処理システムに対して各種データの自動連携機能が付加される場合、導入者は、画面デザインおよび画面における操作方法を把握しておけば、システム内部における処理内容を把握しなくても、画面に表示されている画像を用いてスクリプトを作成することができる。
【００４６】
そのため、導入者は、既存の情報処理システムの構築業者に対して、システムへの接続方法、データフォーマットまたはデータ連携の形式等の仕様を詳細に確認する手間を省くことができるため、導入コストを削減することができる。また、情報処理システムのバージョンが更新されたり、互いに仕様（例えば、メーカーもしくはバージョン等に依存する操作方法もしくは画面内容等）が異なる複数の情報処理システムに対して自動連携機能が付加されたりする場合においても、導入者は、更新後のバージョンまたは各情報処理システムにおける画面デザインおよび操作方法を把握すれば、更新後のバージョンまたは各情報処理システムに適合したスクリプトを容易に作成することができる。
【００４７】
なお、図２Ａおよび図２Ｂは、あくまで一例であり、スクリプトにおける処理の記載例は特に限定されない。例えば、入力項目または入力領域が特定されれば、スクリプトに用いられる画像の一部が欠如していてもよい（例えば、図２Ａに示した入力項目「日本語氏名」の画像の一部が欠如した「日本語氏」等が用いられてもよい）。また、スクリプトに用いられた画像を他装置画面上で探索する処理方法は特に限定されない。例えば、スクリプトに用いられた画像における各画素に関するデータ（例えば、各画素の色データおよび配列のデータ等）を用いて、当該画像との類似度が所定値より高い画像を他装置画面上で探索する処理が行われてもよい。また、各種データの自動連携が、スクリプト以外の所定のプログラムによって実現されてもよい。また、入力項目の検出処理または入力領域の特定処理は、適宜、画像が用いられない任意のコマンドによって実現されてもよい。
【００４８】
図２Ｂでは、テキストボックスへの文字データの入力処理を一例として説明したが、スクリプトによる処理はこれに限定されない。例えば、ボタンもしくはハイパーリンクの押下処理、ドロップダウンリスト、ラジオボタンもしくはチェックボックスの選択処理、画面のスクロール処理等のように操作者が手動で実施可能な処理であれば、スクリプトはいかなる処理も実現可能である。そこで、以降では、図３Ａ〜図３Ｇを参照して、スクリプトによって実現可能な処理例について説明する。
【００４９】
図３Ａは、他装置画面の一例である。ツールサーバ１００は、リモートデスクトップ技術等を用いて、クライアント２００に接続し、クライアント２００に表示されている、図３Ａの他装置画面を自装置のディスプレイに表示する。なお、ここでは、ツールサーバ１００が他装置画面をディスプレイに表示するものとして扱うが、ツールサーバ１００は、他装置画面を制御部１４０の制御によりクライアント２００から画像データとして取得し保持するだけでも足り、必ずしもディスプレイに表示しなくともよい。
【００５０】
図３Ｂは、スクリプトによるボタンの押下処理の一例を示すフローチャートである。ツールサーバ１００は、図３Ｂの処理によって、図３Ａの他装置画面の右下に表示されている「登録」ボタンを押下することができる。
【００５１】
ステップＳ１０００では、ツールサーバ１００が、「登録」ボタンを表す画像１１を他装置画面上で探索する。ツールサーバ１００が「登録」ボタンを表す画像１１を他装置画面上で検出した場合（ステップＳ１００４／Ｙｅｓ）、ステップＳ１００８にて、ツールサーバ１００が「登録」ボタンを押下することで処理が終了する。ツールサーバ１００が「登録」ボタンを表す画像１１を他装置画面上で検出できなかった場合（ステップＳ１００４／Ｎｏ）、ステップＳ１０１２にて、ツールサーバ１００が、所定のエラー処理（例えば、エラーダイアログボックスを画面へ表示する等）を行うことで処理が終了する。
【００５２】
図３Ｃは、スクリプトによるドロップダウンリストの選択処理の一例を示すフローチャートである。ツールサーバ１００は、図３Ｃの処理によって、図３Ａの他装置画面の入力項目「処理区分」の入力領域であるドロップダウンリストの中から所望の項目を選択することができる。
【００５３】
ステップＳ１１００では、ツールサーバ１００が、入力項目である「処理区分」を表す画像１２を他装置画面上で探索する。ツールサーバ１００が「処理区分」を表す画像１２を他装置画面上で検出した場合（ステップＳ１１０４／Ｙｅｓ）、ステップＳ１１０８にて、ツールサーバ１００が、入力領域であるドロップダウンリストを表示するためのボタン（以降、「ドロップダウンリストボタン」と呼称する）を表す画像１３を、他装置画面から検出された「処理区分」を表す画像１２の右方向の領域にて探索する。
【００５４】
なお、ステップＳ１１０８の処理において、ツールサーバ１００が入力項目を検出した後、入力領域を探索する方向もしくは領域の指定方法は任意である。例えば、入力領域を探索する方向もしくは領域が、上記のように、入力項目の表示位置からの方向のみが指定されてもよいし、入力項目の表示位置からの方向と距離（画素数等）が指定されてもよい。入力項目の表示位置が基準とされることによって、ツールサーバ１００は、より容易に入力領域を特定することができる。また、入力項目の表示位置が基準にされずに、例えば、他装置画面の所定の領域が任意の方法（例えば、他装置画面が複数の領域に区分され、所定の領域を表す識別情報によって指定される方法等）で指定されてもよい。
【００５５】
ツールサーバ１００が、ドロップダウンリストボタンを表す画像１３を他装置画面上で検出した場合（ステップＳ１１１２／Ｙｅｓ）、ツールサーバ１００は、ステップＳ１１１６にて、ドロップダウンリストボタンを押下し、ステップＳ１１２０にて、入力データに対応する項目を選択することで処理が終了する。ツールサーバ１００が「処理区分」を表す画像１２を他装置画面上で検出できなかった場合（ステップＳ１１０４／Ｎｏ）およびドロップダウンリストボタンを表す画像１３を他装置画面上で検出できなかった場合（ステップＳ１１１２／Ｎｏ）、ステップＳ１１２４にて、ツールサーバ１００が、所定のエラー処理（例えば、エラーダイアログボックスを画面へ表示する等）を行うことで処理が終了する。
【００５６】
図３Ｄは、スクリプトによるテキストボックスへの入力処理の一例を示すフローチャートである。ツールサーバ１００は、図３Ｄの処理によって、図３Ａの他装置画面の入力項目「日本語氏名」の入力領域であるテキストボックスに対して所望のデータを入力することができる。
【００５７】
ステップＳ１２００では、ツールサーバ１００が、入力項目である「日本語氏名」を表す画像１４を他装置画面上で探索する。ツールサーバ１００が「日本語氏名」を表す画像１４を他装置画面上で検出した場合（ステップＳ１２０４／Ｙｅｓ）、ステップＳ１２０８にて、ツールサーバ１００が、入力領域であるテキストボックスを表す画像１５を、他装置画面から検出された「日本語氏名」を表す画像１４の右方向の領域にて探索する。なお、上記のとおり、入力領域が探索される方向もしくは領域の指定方法は任意である。
【００５８】
ツールサーバ１００が、テキストボックスを表す画像１５を他装置画面上で検出した場合（ステップＳ１２１２／Ｙｅｓ）、ツールサーバ１００は、ステップＳ１２１６にて、テキストボックスにデータを入力することで処理が終了する。ツールサーバ１００が「日本語氏名」を表す画像１４を他装置画面上で検出できなかった場合（ステップＳ１２０４／Ｎｏ）およびテキストボックスを表す画像１５を他装置画面上で検出できなかった場合（ステップＳ１２１２／Ｎｏ）、ステップＳ１２２０にて、ツールサーバ１００が、所定のエラー処理（例えば、エラーダイアログボックスを画面へ表示する等）を行うことで処理が終了する。
【００５９】
図３Ｅは、スクリプトによるドロップダウンリストの選択処理の一例を示すフローチャートである。上記では、ツールサーバ１００が入力項目を検出した後、入力領域を探索する方向もしくは領域の指定方法は任意である旨を説明した。図３Ｅでは、入力領域が探索される方向が、図３Ｃで説明したように入力項目の表示位置から右方向ではなく、入力項目の表示位置から下方向である場合について説明する。ツールサーバ１００は、図３Ｅの処理によって、図３Ａの他装置画面の入力項目「性別」の入力領域であるドロップダウンリストの中から所望の項目を選択することができる。
【００６０】
ステップＳ１３００では、ツールサーバ１００が、入力項目である「性別」を表す画像１６を他装置画面上で探索する。ツールサーバ１００が「性別」を表す画像１６を他装置画面上で検出した場合（ステップＳ１３０４／Ｙｅｓ）、ステップＳ１３０８にて、ツールサーバ１００が、ドロップダウンリストボタンを表す画像１７を、他装置画面から検出された「性別」を表す画像１６の下方向の領域にて探索する。
【００６１】
ツールサーバ１００が、ドロップダウンリストボタンを表す画像１７を他装置画面上で検出した場合（ステップＳ１３１２／Ｙｅｓ）、ツールサーバ１００は、ステップＳ１３１６にて、ドロップダウンリストボタンを押下し、ステップＳ１３２０にて、入力データに対応する項目を選択することで処理が終了する。ツールサーバ１００が、「性別」を表す画像１６を他装置画面上で検出できなかった場合（ステップＳ１３０４／Ｎｏ）およびドロップダウンリストボタンを表す画像１７を他装置画面上で検出できなかった場合（ステップＳ１３１２／Ｎｏ）、ステップＳ１３２４にて、ツールサーバ１００が、所定のエラー処理（例えば、エラーダイアログを画面へ表示する等）を行うことで処理が終了する。
【００６２】
図３Ｆは、既に入力されているデータの変更処理の一例を示すフローチャートである。ツールサーバ１００は、図３Ｆの処理によって、図３Ａの他装置画面の入力項目「日本語氏名」の入力領域であるテキストボックスに既に入力されているデータを変更することができる。
【００６３】
ステップＳ１４００〜ステップＳ１４０８およびステップＳ１４２８は、図３ＤのステップＳ１２００〜ステップＳ１２０８およびステップＳ１２２０の処理と同一であるため、説明を省略する。ステップＳ１４１２にて、ツールサーバ１００が、テキストボックスを表す画像１５を他装置画面上で検出した場合（ステップＳ１４１２／Ｙｅｓ）、ステップＳ１４１６にて、ツールサーバ１００は、テキストボックスに既にデータが入力されているか否かを確認する。テキストボックスに既にデータが入力されている場合（ステップＳ１４１６／Ｙｅｓ）、ツールサーバ１００は、ステップＳ１４２０にてテキストボックスに入力されているデータを削除し、ステップＳ１４２４にて変更後のデータを入力することで処理が終了する。
【００６４】
このように、ツールサーバ１００は、テキストボックス等の入力領域に既にデータが入力されているか否か（ドロップダウンリスト等については、既にデータが選択されているか否か）を判断し、既にデータが入力されている場合には、当該データを削除した上で、新たなデータを入力することで、データを変更することができる。なお、ツールサーバ１００は、図３ＦのステップＳ１４２４の処理が除かれたフローチャートによって、テキストボックス等の入力領域に既に入力されているデータを削除することができる。
【００６５】
また、ツールサーバ１００は、所定のメッセージ表示を表す画像を他装置画面上で探索することによってメッセージ表示を検出することもできる。ここで、図３Ｇを参照して、メッセージ表示を検出する動作の一例を示すフローチャートについて説明する。
【００６６】
例えば、ツールサーバ１００が、ステップＳ１５００にて、クライアント２００に対して各種データの自動連携を行い、ステップＳ１５０４にて、自動連携の成否を示す応答を受信するのに十分な時間である所定の時間にわたって待機を行う。ステップＳ１５０８では、ツールサーバ１００が、自動連携の失敗を表すメッセージ表示であるエラーダイアログボックスの画像を他装置画面上で探索する。ツールサーバ１００が、エラーダイアログボックスの画像を他装置画面上で検出した場合（ステップＳ１５１２／Ｙｅｓ）、ステップＳ１５１６にて、ツールサーバ１００が、所定のエラー処理を行うことで処理が終了する。ツールサーバ１００が、エラーダイアログボックスの画像を他装置画面上で検出できなかった場合（ステップＳ１５１２／Ｎｏ）、ツールサーバ１００は、自動連携が正常に終了したと判断し、所定のエラー処理を行うことなく、処理が終了する。
【００６７】
なお、図３Ｇでは、メッセージ表示であるエラーダイアログボックス全体の画像が検出の対象とされているが、これに限定されない。例えば、ツールサーバ１００は、メッセージ表示の一部の画像（例えば、マークの画像または文字の画像等）のみを用いて検出処理を行なってもよい。仮に、メッセージ表示全体の画像によって検出処理が行われる場合、検出を要する全てのメッセージ表示の画像がスクリプトに記載される必要があるが、メッセージ表示の一部の画像のみを用いて検出処理が行われる場合、複数のメッセージ表示に共通して使用される画像をスクリプトに記載することによって、より簡易にスクリプトを生成することができる。例えば、複数のエラーダイアログボックスに、「エラー」という文字が共通して表示される場合、「エラー」という文字部分の画像がスクリプトに記載されることで、ツールサーバ１００はエラーダイアログを検出することができる。
【００６８】
（２−３．機能構成）
上記では、本実施例に係る情報処理システムの機能概要について説明した。続いて、本実施例に係る情報処理システムを構成する各装置の機能構成について説明する。
【００６９】
（ツールサーバ１００の機能構成）
まず、図４を参照して、ツールサーバ１００の機能構成について説明する。図４に示すように、ツールサーバ１００は、通信部１１０と、入力部１２０と、出力部１３０と、制御部１４０と、記憶部１５０と、を備える。
【００７０】
（通信部１１０）
通信部１１０は、ネットワーク７００ｂを介してクライアント２００との通信を行う。例えば、通信部１１０は、リモートデスクトップ接続に用いられるデータ、リモートデスクトップ接続後において自動連携される各種データ等をクライアント２００と通信する。換言すると、通信部１１０は、他装置画面の画像データをクライアント２００から取得する第１の取得部として機能する。
【００７１】
また、通信部１１０は、ネットワーク７００ａを介してタブレット端末３００との通信を行う。例えば、通信部１１０は、受付一覧データ、診療申込データ、保険証データおよび自動連携の要求ファイル等をタブレット端末３００と通信する。なお、通信部１１０によって通信されるデータは特に限定されない。
【００７２】
（入力部１２０）
入力部１２０は、操作者による入力を受ける機能構成である。例えば、入力部１２０はマウス、キーボード、タッチパネル、ボタン、スイッチまたはマイクロフォン等の入力手段を備えており、操作者がこれらの入力手段を用いることによって各種入力を行うことができる。入力部１２０は、入力されたデータを制御部１４０に提供する。なお、入力部１２０が備える入力手段は特に限定されない。
【００７３】
（出力部１３０）
出力部１３０は、各種データを出力する機能構成である。例えば、出力部１３０は、ディスプレイ等の表示手段またはスピーカ等の音声出力手段等を備えており、制御部１４０からの制御信号に基づいて各種視覚情報をディスプレイ等に表示させたり、各種音をスピーカ等によって発生させたりする。なお、出力部１３０が備える出力手段は特に限定されない。
【００７４】
（制御部１４０）
制御部１４０は、ツールサーバ１００の処理全般を統括的に制御する。例えば、制御部１４０は、クライアント２００へのリモートデスクトップ接続処理、各種データの自動連携処理等を統括的に制御する。制御部１４０は、図４に示すように、接続処理部１４１と、自動連携部１４２と、を備える。以降では、制御部１４０が備える各機能構成について説明する。なお、制御部１４０の処理は特に限定されない。
【００７５】
（接続処理部１４１）
接続処理部１４１は、リモートデスクトップ技術等を用いてクライアント２００への接続処理を行う機能構成である。例えば、接続処理部１４１は、接続先であるクライアント２００の識別情報およびパスワード等を用いてクライアント２００に対してリモートデスクトップ接続を行う。なお、接続処理部１４１がクライアント２００への接続を行うタイミングは、例えば、医療事務員の操作によってタブレット端末３００から自動連携が要求されたタイミング（例えば、タブレット端末３００から自動連携の要求ファイルが送信されたタイミング等）であってもよいが、これに限定されない。なお、上記のとおり、接続処理部１４１は、クライアント２００への接続処理にリモートデスクトップ技術以外の任意の遠隔接続技術を用いてもよい。
【００７６】
（自動連携部１４２）
自動連携部１４２は、各種データの自動連携を行う機能構成である。より具体的には、自動連携部１４２は、出力部１３０に表示された、他装置画面上の入力項目を検出する検出部、出力部１３０に表示された、入力項目に対応する入力領域を特定する特定部、入力対象データを取得する第２の取得部、および、当該データを入力領域に入力する入力部として機能する。なお、ボタンまたはハイパーリンク等の押下処理が行われる場合には、自動連携部１４２は、ボタンまたはハイパーリンク等を検出する検出部、ボタンまたはハイパーリンク等を押下する押下部としても機能する。また、メッセージ表示（例えば、エラーダイアログボックス等）の検出が行われる場合には、自動連携部１４２は、メッセージ表示を検出する検出部としても機能する。
【００７７】
自動連携部１４２は、接続処理部１４１によってクライアント２００への接続が完了した後に、入力項目または入力領域を表す画像を用いて生成されたスクリプトを実行することによって、上記の各処理を行う。なお、自動連携部１４２は、単一のスクリプトを実行する必要はなく、例えば、接続するクライアント２００の仕様（例えば、メーカーもしくはバージョン等に依存する操作方法もしくは画面内容等）に応じて、または、自動連携されるデータの内容に応じて実行するスクリプトを変更してもよい。
【００７８】
（記憶部１５０）
記憶部１５０は、各種データを記憶する機能構成である。例えば、記憶部１５０は、受付一覧データ、診療申込データ、保険証データおよび自動連携の要求ファイル等を記憶する。また、記憶部１５０は、ツールサーバ１００による各種処理に使用されるプログラムまたはパラメータ等を記憶する。なお、記憶部１５０が記憶するデータは特に限定されない。
【００７９】
（クライアント２００の機能構成）
続いて、図５を参照して、クライアント２００の機能構成について説明する。図５に示すように、クライアント２００は、通信部２１０と、入力部２２０と、出力部２３０と、制御部２４０と、記憶部２５０と、を備える。
【００８０】
（通信部２１０）
通信部２１０は、ネットワーク７００ｂを介してツールサーバ１００との通信を行う。例えば、通信部２１０は、上記のとおり、リモートデスクトップ接続に用いられるデータ、リモートデスクトップ接続後において自動連携される各種データ等をツールサーバ１００と通信する。
【００８１】
また、通信部２１０は、ネットワーク７００ｃを介して、医療事務サーバ４００、他のクライアント２１０ａまたはクライアント２１０ｂとの通信を行う。例えば、通信部２１０は、操作者が入力部２２０を用いて入力した各種データ（患者データ、治療データまたは投薬データ等）を医療事務サーバ４００と通信する。なお、通信部２１０によって通信されるデータは特に限定されない。
【００８２】
（入力部２２０）
入力部２２０は、操作者による入力を受ける機能構成である。なお、入力部２２０の機能は、上記で説明したツールサーバ１００の入力部１２０と同様であるため、詳細な説明を省略する。入力部２２０は、入力されたデータを制御部２４０に提供する。
【００８３】
（出力部２３０）
出力部２３０は、制御部２４０からの制御信号に基づいて各種データを出力する機能構成である。なお、出力部２３０の機能は、上記で説明したツールサーバ１００の出力部１３０と同様であるため、詳細な説明を省略する。
【００８４】
（制御部２４０）
制御部２４０は、クライアント２００の処理全般を統括的に制御する。例えば、制御部２４０は、ツールサーバ１００とのリモートデスクトップ接続の確立に関する処理を制御する。また、制御部２４０は、ツールサーバ１００から自動連携された各種データ、操作者が入力部２２０を用いて入力した各種データ（患者データ、治療データまたは投薬データ等）等を医療事務サーバ４００等へアップロードする処理を制御する。なお、制御部２４０の処理は特に限定されない。
【００８５】
（記憶部２５０）
記憶部２５０は、各種データを記憶する機能構成である。例えば、記憶部２５０は、ツールサーバ１００から自動連携された各種データ、操作者が入力部２２０を用いて入力した各種データ（患者データ、治療データまたは投薬データ等）を記憶する。また、記憶部２５０は、クライアント２００による各種処理に使用されるプログラムまたはパラメータ等を記憶する。なお、記憶部２５０が記憶するデータは特に限定されない。
【００８６】
（タブレット端末３００の機能構成）
続いて、図６を参照して、タブレット端末３００の機能構成について説明する。図６に示すように、タブレット端末３００は、通信部３１０と、入力部３２０と、出力部３３０と、制御部３４０と、記憶部３５０と、を備える。
【００８７】
（通信部３１０）
通信部３１０は、ネットワーク７００ａを介してツールサーバ１００との通信を行う。例えば、通信部３１０は、受付一覧データ、診療申込データ、保険証データおよび自動連携の要求ファイル等をツールサーバ１００と通信する。なお、通信部３１０によって通信されるデータは特に限定されない。
【００８８】
（入力部３２０）
入力部３２０は、操作者による入力を受ける機能構成である。なお、入力部３２０の機能は、上記で説明したツールサーバ１００の入力部１２０と同様であるため、詳細な説明を省略する。入力部３２０は、入力されたデータを制御部３４０に提供する。
【００８９】
（出力部３３０）
出力部３３０は、制御部３４０からの制御信号に基づいて各種データを出力する機能構成である。なお、出力部３３０の機能は、上記で説明したツールサーバ１００の出力部１３０と同様であるため、詳細な説明を省略する。
【００９０】
（制御部３４０）
制御部３４０は、タブレット端末３００の処理全般を統括的に制御する。例えば、制御部３４０は、患者または医療事務員による診療申込データまたは保険証データ等の入力に伴う各種処理を制御する。また、制御部３４０は、ツールサーバ１００による各種データの自動連携の開始を制御する。より具体的には、制御部３４０は、各種データの自動連携の開始を要求するファイルのツールサーバ１００への送信処理を制御する。また、制御部３４０は、受付一覧データまたは診療申込データ等をディスプレイに表示する処理を制御する。なお、制御部３４０の処理は特に限定されない。
【００９１】
（記憶部３５０）
記憶部３５０は、各種データを記憶する機能構成である。例えば、記憶部３５０は、受付一覧データ、診療申込データ、保険証データおよび自動連携の要求ファイル等を記憶することができる。また、記憶部３５０は、タブレット端末３００による各種処理に使用されるプログラムまたはパラメータ等を記憶する。なお、記憶部３５０が記憶するデータは特に限定されない。
【００９２】
（２−４．処理フロー）
上記では、本実施例に係る情報処理システムを構成する各装置の機能構成について説明した。続いて、図７〜図１０を参照して、本実施例における各種データの自動連携に伴う処理フローについて説明する。
【００９３】
図７Ａおよび図７Ｂは、各種データの自動連携に伴う処理フローを示すシーケンス図である。当該処理フローの開始時点では、診療申込データの入力および保険証データの取り込みが完了していることとする。
【００９４】
図７ＡのステップＳ１６００では、医療事務員が、タブレット端末３００を操作することによって、タブレット端末３００の画面を受付一覧画面へ遷移させる操作（例えば、所定のボタンを押下する操作等）を行う。ステップＳ１６０４では、タブレット端末３００の制御部３４０が、受付一覧データの要求信号を生成し、通信部３１０が当該信号をツールサーバ１００へ送信する。ステップＳ１６０８では、ツールサーバ１００の制御部１４０が、受付一覧データの要求信号に基づいて受付一覧データを記憶部１５０から取得する。ステップＳ１６１２では、通信部１１０が、当該受付一覧データをツールサーバ１００へ送信する。
【００９５】
ステップＳ１６１６では、タブレット端末３００の制御部３４０が受付一覧データに基づいて出力部３３０に受付一覧画面を表示させる。ここで、図８を参照して、受付一覧画面の一例について説明する。
【００９６】
図８に示すように、受付一覧画面２０には、受付一覧２１と、最新データ取得ボタン２２と、全表示ボタン２３と、フィルターボタン２４と、選択ボタン２５と、が表示されている。なお、受付一覧画面２０の構成は、特に限定されない。
【００９７】
図８に示すように、受付一覧２１は、受付の選択に用いられるオブジェクト（例えば、ラジオボタンまたはチェックボックス等）が表示される「選択」欄と、受付毎に割り振られた整理番号が表示される「整理番号」欄と、患者の日本語の氏名が表示される「氏名」欄と、患者のカタカナ氏名が表示される「カナ」欄と、患者の生年月日が表示される「生年月日」欄と、患者の性別が表示される「性別」欄と、受付状態が表示される「ステータス」欄と、診療申込データの入力が完了してからの経過時間が表示される「待ち時間」欄と、を表示する。なお、受付一覧２１が表示する内容は、特に限定されない。
【００９８】
また、最新データ取得ボタン２２は、受付一覧２１を最新のデータに更新する際に用いられるボタンである。全表示ボタン２３は、登録されている受付の全てを受付一覧２１に表示させる際に用いられるボタンである。フィルターボタン２４は、何らかのフィルター（条件による絞り込み）により受付一覧２１に表示されるデータを変更する際に用いられるボタンである。選択ボタン２５は、受付一覧２１の「選択」欄にて選択された受付の選択を確定するボタンである。操作者は、選択ボタン２５を押下することで、受付の詳細を確認することができる。
【００９９】
図７ＡのステップＳ１６２０では、医療事務員が受付一覧の中から所望の受付を選択し、選択ボタン２５を押下することで、受付の選択を確定する。ステップＳ１６２４では、タブレット端末３００の制御部３４０が、選択された受付に対応する診療申込データの要求信号を生成し、通信部３１０が当該信号をツールサーバ１００へ送信する。ステップＳ１６２８では、ツールサーバ１００の制御部１４０が、診療申込データの要求信号に基づいて診療申込データを記憶部１５０から取得する。ステップＳ１６３２では、通信部１１０が、当該診療申込データをツールサーバ１００へ送信する。
【０１００】
ステップＳ１６３６では、タブレット端末３００の制御部３４０が診療申込データに基づいて出力部３３０に診療申込の内容を表示する診療申込内容画面を表示させる。ここで、図９を参照して、診療申込内容画面の一例について説明する。
【０１０１】
図９に示すように、診療申込内容画面３０には、診療申込内容３１と、スクロール３２と、保険証情報表示ボタン３３と、診療申込内容修正ボタン３４と、受付一覧への遷移ボタン３５と、登録ボタン３６と、が表示されている。なお、診療申込内容画面３０の構成は、特に限定されない。
【０１０２】
図９に示すように、診療申込内容３１には、患者がタブレット端末３００を用いて入力した診療申込の内容が反映された診療申込書が表示される。スクロール３２は、診療申込書の表示部分を上下方向に変更する際に用いられる。保険証情報表示ボタン３３は、患者の保険証のデータが表示された画面への遷移に使用されるボタンである。診療申込内容修正ボタン３４は、診療申込内容に誤りが含まれる場合に、当該誤りの修正を行う画面への遷移に使用されるボタンである。受付一覧への遷移ボタン３５は、受付一覧画面への遷移に使用されるボタンである。登録ボタン３６は、誤りが含まれないことが確認された診療申込内容、または、誤りが修正された診療申込内容を登録（保存）する際に使用されるボタンである。
【０１０３】
図７ＡのステップＳ１６４０では、医療事務員が診療申込内容３１を確認し、誤りを発見した場合には、適宜修正を行う。医療事務員が診療申込内容３１に誤りがないことを確認した場合、または、誤りを修正した場合、ステップＳ１６４４にて、診療申込データの登録操作（例えば、図９の登録ボタン３６を押下する等）を行う。ステップＳ１６４８では、タブレット端末３００の制御部３４０が、診療申込データを一時的に記憶部３５０に保存する。ステップＳ１６５２では、制御部３４０が、診療申込データの保存要求信号を生成し、通信部３１０が当該信号をツールサーバ１００へ送信する。ステップＳ１６５６では、ツールサーバ１００の制御部１４０が、診療申込データの保存要求信号に基づいて診療申込データを記憶部１５０に記憶させる。ステップＳ１６６０では、通信部１１０が、診療申込データの保存結果をツールサーバ１００へ送信する。
【０１０４】
タブレット端末３００の制御部３４０は、ツールサーバ１００が診療申込データの保存に成功したことを確認した場合、ステップＳ１６６４にて、自動連携のトリガとして用いられる自動連携要求ファイルを生成する。ステップＳ１６６８では、通信部３１０が自動連携要求ファイルをツールサーバ１００へ送信する。ステップＳ１６７２では、ツールサーバ１００の制御部１４０が、自動連携要求ファイルに基づいて各種データの自動連携を行う。自動連携の処理フローを示すフローチャートの詳細については後述する。ステップＳ１６７６では、通信部１１０が、自動連携結果をツールサーバ１００へ送信する。タブレット端末３００の制御部３４０は、ツールサーバ１００が自動連携に成功したことを確認した場合、ステップＳ１６８０にて、一時的に記憶部３５０に保存していた診療申込データを削除することで、処理が終了する。
【０１０５】
続いて、図１０を参照して、図７ＢのステップＳ１６７２における各種データの自動連携の処理フローを示すフローチャートについて説明する。
【０１０６】
ステップＳ１７００では、ツールサーバ１００の接続処理部１４１がリモートデスクトップ技術を用いてクライアント２００へ接続する。クライアント２００への接続が確立された後に、ステップＳ１７０４では、自動連携部１４２がスクリプトを実行することで自動連携を行う。
【０１０７】
スクリプトの実行による自動連携についてより具体的に説明すると、ステップＳ１７０８にて、自動連携部１４２が、スクリプト中の各処理における画像を他装置画面上で探索する。例えば、自動連携部１４２が、入力項目を表す画像、または、入力領域を表す画像を他装置画面上で探索する。自動連携部１４２は、画像を他装置画面上で検出した場合（ステップＳ１７１２／Ｙｅｓ）、ステップＳ１７１６にてスクリプトで規定された処理を実行する。自動連携部１４２は、画像を他装置画面上で検出できなかった場合（ステップＳ１７１２／Ｎｏ）、ステップＳ１７２０にて、所定のエラー処理（例えば、エラーダイアログボックスを画面へ表示する等）を行う。
【０１０８】
自動連携部１４２は、スクリプトで規定された処理が終了するまで（ステップＳ１７２４／Ｎｏ）、ステップＳ１７０８〜ステップＳ１７２０の処理を繰り返し実施する。スクリプトで規定された処理が終了した場合（ステップＳ１７２４／Ｙｅｓ）、ステップＳ１７２８にて、接続処理部１４１がリモートデスクトップ技術によるクライアント２００への接続を終了することで、処理が終了する。
【０１０９】
（２−５．ハードウェア構成）
以上、本実施例における各種データの自動連携に伴う処理フローについて説明した。続いて、本実施例に係るツールサーバ１００、クライアント２００およびタブレット端末３００のハードウェア構成について説明する。上記の動作は、ソフトウェアと、以下に説明するツールサーバ１００、クライアント２００およびタブレット端末３００のハードウェアとの協働により実現される。
【０１１０】
図１１は、本実施例に係るツールサーバ１００、クライアント２００およびタブレット端末３００を具現する情報処理装置９００のハードウェア構成の一例を示すブロック図である。情報処理装置９００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）９０１と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）９０２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）９０３と、ホストバス９０４と、ブリッジ９０５と、外部バス９０６と、インタフェース９０７と、入力機器９０８と、出力機器９０９と、ストレージ機器９１０と、ドライブ９１１と、通信機器９１３と、を備える。
【０１１１】
ＣＰＵ９０１は、演算処理装置および制御装置として機能し、各種プログラムに従って情報処理装置９００内の動作全般を制御する。また、ＣＰＵ９０１は、マイクロプロセッサであってもよい。ＲＯＭ９０２は、ＣＰＵ９０１が使用するプログラムや演算パラメータ等を記憶する。ＲＡＭ９０３は、ＣＰＵ９０１の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を一時記憶する。これらはＣＰＵバス等から構成されるホストバス９０４により相互に接続されている。当該ＣＰＵ９０１、ＲＯＭ９０２およびＲＡＭ９０３の協働により、ツールサーバ１００の制御部１４０、クライアント２００の制御部２４０およびタブレット端末３００の制御部３４０が実現される。
【０１１２】
ホストバス９０４は、ブリッジ９０５を介して、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ／Ｉｎｔｅｒｆａｃｅ）バス等の外部バス９０６に接続されている。なお、必ずしもホストバス９０４、ブリッジ９０５および外部バス９０６を分離構成する必要はなく、１つのバスにこれらの機能を実装してもよい。
【０１１３】
入力機器９０８は、マウス、キーボード、タッチパネル、ボタン、スイッチまたはマイクロフォン等ユーザが情報を入力するための入力手段と、ユーザによる入力に基づいて入力信号を生成し、ＣＰＵ９０１に出力する入力制御回路等から構成されている。情報処理装置９００を操作するユーザは、この入力機器９０８を操作することにより、情報処理装置９００に対して各種のデータを入力したり処理動作を指示したりすることができる。当該入力機器９０８により、ツールサーバ１００の入力部１２０、クライアント２００の入力部２２０およびタブレット端末３００の入力部３２０が実現される。
【０１１４】
出力機器９０９は、例えば、ＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）ディスプレイ装置、液晶ディスプレイ（ＬＣＤ）装置、ＯＬＥＤ（Ｏｒｇａｎｉｃ  Ｌｉｇｈｔ  Ｅｍｉｔｔｉｎｇ  Ｄｉｏｄｅ）装置、ランプ等の表示装置およびスピーカ等の音声出力装置を含む。当該出力機器９０９により、ツールサーバ１００の出力部１３０、クライアント２００の出力部２３０およびタブレット端末３００の出力部３３０が実現される。
【０１１５】
ストレージ機器９１０は、データ格納用の機器である。ストレージ機器９１０は、記憶媒体、記憶媒体にデータを記録する記録装置、記憶媒体からデータを読み出す読出し装置および記憶媒体に記録されたデータを削除する削除装置等を含んでもよい。当該ストレージ機器９１０により、ツールサーバ１００の記憶部１５０、クライアント２００の記憶部２５０およびタブレット端末３００の記憶部３５０が実現される。
【０１１６】
ドライブ９１１は、記憶媒体用リーダライタであり、情報処理装置９００に外付けされる。ドライブ９１１は、装着される磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリ等のリムーバブル記憶媒体９１２に記録されている情報を読み出して、ＲＡＭ９０３に出力する。また、ドライブ９１１は、リムーバブル記憶媒体９１２に情報を書き込むこともできる。
【０１１７】
通信機器９１３は、通信を行うための通信デバイス等で構成された通信インタフェースである。当該通信機器９１３により、ツールサーバ１００の通信部１１０、クライアント２００の通信部２１０およびタブレット端末３００の通信部３１０が実現される。
【０１１８】
（２−６．備考）
（スクリプトの生成ツール）
上記では、本実施例に係るツールサーバ１００、クライアント２００およびタブレット端末３００のハードウェア構成について説明した。続いて、備考として、スクリプトの生成ツールについて説明する。
【０１１９】
上記では、他装置画面に表示される入力項目または入力領域を表す画像を用いてスクリプトが作成される旨について説明した。既存の情報処理システムに対して各種データの自動連携機能が付加される場合において、仮に、情報処理システムのメーカーもしくはバージョン等が異なる場合には、導入者は、各メーカーもしくは各バージョンに対応する画像および操作方法を用いてスクリプトを作成することが求められる。
【０１２０】
ここで、スクリプトを自動的に生成するツール（生成部）が用意されてもよい。例えば、各メーカーもしくは各バージョンに対応する画像（例えば、入力項目もしくは入力領域の画像等）および処理コマンドが登録されたツールが用意される。そして、導入者は、自動連携機能を導入する情報処理システムのメーカーもしくはバージョンに関する情報を入力することで、当該ツールが、入力されたメーカーもしくはバージョンに対応する画像を取得し、入力されたメーカーもしくはバージョンに対応する処理コマンドに対して、当該画像を埋め込むことによって自動的にスクリプトを生成してもよい。なお、上記のツールがツールサーバ１００にインストールされることによって、ツールサーバ１００の制御部１４０がツール（生成部）として機能してもよい。
【０１２１】
これによって、自動連携機能が導入される情報処理システムのメーカーもしくはバージョンに応じて、他装置画面に表示される画像（例えば、入力項目もしくは入力領域の画像等）および処理コマンドが異なる場合でも、導入者は、適切なスクリプトを容易に作成することができる。例えば、本発明に係る情報処理システムの構築業者ではなく、医療機関のシステム担当者等でも、適切なスクリプトを容易に作成することができる。
【０１２２】
なお、上記のツールによって設定可能な内容は特に限定されない。例えば、上記のツールは、他装置画面に関する各種設定（例えば、解像度、縦横比、または、処理実行までの待機時間（または各画面の遷移時間）等）ができてもよいし、スクリプトに埋め込まれるための画像を別途登録できてもよい。
【０１２３】
（処理実行までの待機時間のチューニングについて）
スクリプトにおいて、処理実行までの待機時間が指定される場合がある。例えば、診療申込データの登録操作（例えば、登録ボタンを押下する操作等）が行われた後に、適切に登録が行われたか否かを確認する処理（例えば、エラーダイアログボックスの表示有無を確認する処理等）が実行されるまでに登録に要する時間だけ待機時間が設けられる場合がある。また、データの入力画面へ遷移する操作（例えば、画面遷移ボタンを押下する操作等）が行われた後に、データの入力処理が実行されるまでに、画面遷移に要する時間だけ待機時間が設けられる場合がある。
【０１２４】
通常、上記の待機時間を指定するためには、導入者が、既存の情報処理システムの構築業者に対して、データ登録または画面遷移に要する時間をヒアリングしたり、自ら情報処理システムを操作して検証したりすること等により、これらの所要時間の平均値および最大値等を把握した上で、待機時間を指定することが求められる。また、待機時間は、各装置の性能、ネットワーク状況または登録されるデータ量等の様々な要素によって変動し得るため、適切な待機時間を設定することは容易ではない。
【０１２５】
そこで、本発明は、機械学習技術を用いて、待機時間を設定してもよい。より具体的には、ツールサーバ１００は、他装置画面へのデータ登録または画面遷移等に要する時間の履歴データを蓄積していき、所定のタイミング（例えば、所定の周期、所定の日時または所定量の履歴データが蓄積されたタイミング等）で履歴データを解析し、解析結果に基づいて待機時間を変更してもよい。例えば、ツールサーバ１００は、他装置画面へのデータ登録または画面遷移等に要する時間が変動する条件を求め、当該条件に適応するように待機時間を変動させてもよい。また、複数のツールサーバ１００もしくはクライアント２００が用いられる場合には、ツールサーバ１００毎もしくはクライアント２００毎に異なる待機時間が設定されてもよい。
【０１２６】
＜３．むすび＞
以上で説明してきたように、本実施例に係るツールサーバ１００は、リモートデスクトップ技術等を用いて、クライアント２００に接続し、クライアント２００の他装置画面を自装置のディスプレイに表示することができる。これによって、ツールサーバ１００は、他装置であるクライアント２００に対して各種処理を行うことができ、ツールサーバ１００の操作者は、他装置であるクライアント２００に表示されている他装置画面を確認することができる。
【０１２７】
そして、ツールサーバ１００は、各種データをクライアント２００に対して自動連携することができる。そして、その際、ツールサーバ１００は、入力項目を表す画像を他装置画面上で探索することによって入力項目を検出し、入力領域を表す画像を他装置画面上で探索することによって入力領域を特定することができる。これによって、既存の情報処理システムに対して自動連携機能を導入することが容易、かつ、低コストで実現できる。また、情報処理システムのバージョンが更新されたり、互いに仕様（例えば、メーカーもしくはバージョン等に依存する操作方法もしくは画面内容等）が異なる複数の情報処理システムに対して自動連携機能が導入されたりする場合にも柔軟に対応できる。さらに、各種データの自動連携機能により、データ入力の効率性および正確性を向上させることができる。
【０１２８】
以上、添付図面を参照しながら本発明の好適な実施形態について詳細に説明したが、本発明はかかる例に限定されない。本発明の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本発明の技術的範囲に属するものと了解される。
【０１２９】
例えば、上記で説明したフローチャートまたはシーケンス図における各ステップは、必ずしも記載された順序に沿って時系列に処理する必要はない。すなわち、フローチャートまたはシーケンス図における各ステップは、記載された順序と異なる順序で処理されても、並列的に処理されてもよい。
【０１３０】
また、ツールサーバ１００、クライアント２００またはタブレット端末３００の機能構成の一部は、適宜外部装置に備えられ得る。また、ツールサーバ１００の機能の一部が、制御部１４０によって具現されてもよい。例えば、制御部１４０が通信部１１０、入力部１２０または出力部１３０の機能の一部を具現してもよい。また、クライアント２００の機能の一部が、制御部２４０によって具現されてもよい。例えば、制御部２４０が通信部２１０、入力部２２０または出力部２３０の機能の一部を具現してもよい。さらに、タブレット端末３００の機能の一部が、制御部３４０によって具現されてもよい。例えば、制御部３４０が通信部３１０、入力部３２０または出力部３３０の機能の一部を具現してもよい。
【符号の説明】
【０１３１】
１００    ツールサーバ
１１０    通信部
１２０    入力部
１３０    出力部
１４０    制御部
１４１    接続処理部
１４２    自動連携部
１５０    記憶部
２００、２１０ａ、２１０ｂ    クライアント
２１０    通信部
２２０    入力部
２３０    出力部
２４０    制御部
２５０    記憶部
３００    タブレット端末
３１０    通信部
３２０    入力部
３３０    出力部
３４０    制御部
３５０    記憶部
４００    医療事務サーバ
５００    ＯＣＲ装置
６００    プリンタ
７００ａ、７００ｂ、７００ｃ    ネットワーク
【図１】
2019040548.tif 000003
【図２Ａ】
2019040548.tif 000004
【図２Ｂ】
2019040548.tif 000005
【図３Ａ】
2019040548.tif 000006
【図３Ｂ】
2019040548.tif 000007
【図３Ｃ】
2019040548.tif 000008
【図３Ｄ】
2019040548.tif 000009
【図３Ｅ】
2019040548.tif 000010
【図３Ｆ】
2019040548.tif 000011
【図３Ｇ】
2019040548.tif 000012
【図４】
2019040548.tif 000013
【図５】
2019040548.tif 000014
【図６】
2019040548.tif 000015
【図７Ａ】
2019040548.tif 000016
【図７Ｂ】
2019040548.tif 000017
【図８】
2019040548.tif 000018
【図９】
2019040548.tif 000019
【図１０】
2019040548.tif 000020
【図１１】
2019040548.tif 000021