(57)【特許請求の範囲】
【請求項１】
少なくとも選択手段、決定手段、表示手段を有する情報処理装置の情報処理方法であって、
前記選択手段が、ユーザ指示に従い、文書テンプレート内に表示されている、コンテンツが挿入された複数のコンテナの中から一つのコンテナを選択する選択ステップと、
前記決定手段が、前記選択ステップにおいて選択されたコンテナ、並びに、複数のコンテナの間の表示比率とレイアウト、および、各コンテナの表示または非表示を定義する相関関係テーブルに基づき、前記複数のコンテナの中から表示すべきコンテナの組み合わせ、前記表示すべきコンテナの表示比率とレイアウト、および、表示しないコンテナを決定する決定ステップと、
前記表示手段が、前記決定ステップにおける決定に従い前記文書テンプレートの表示を更新する更新ステップとを有することを特徴とする情報処理方法。
【請求項２】
さらに、前記情報処理装置は入力手段を有し、
前記入力手段が、ユーザの役割を指定するユーザ指示を入力するステップを有し、
前記決定手段は、前記指定された役割に応じた相関関係テーブルに基づき前記表示すべきコンテナの組み合わせ、前記表示すべきコンテナの表示比率およびレイアウト、並びに、前記表示しないコンテナを決定することを特徴とする請求項1に記載された情報処理方法。
【請求項３】
前記相関関係テーブルは、コンテナの表示または非表示を示すフラグを有し、前記決定手段は、前記フラグに基づき前記コンテナの表示を制御することを特徴とする請求項1または請求項2に記載された情報処理方法。
【請求項４】
前記選択手段が、さらに、ユーザ指示に従い、前記決定手段が決定したレイアウトからコンテナを再選択する再選択ステップを有し、
前記決定手段は、前記再選択されたコンテナと前記相関関係テーブルに基づき前記コンテナを再レイアウトしたレイアウトを決定することを特徴とする請求項1から請求項3の何れか一項に記載された情報処理方法。
【請求項５】
前記文書テンプレートは電子カルテ用のテンプレートであることを特徴とする請求項1から請求項4の何れか一項に記載された情報処理方法。
【請求項６】
前記役割は、医師、看護士、医療技師、医療事務のうちの少なくとも一つであることを特徴とする請求項2に記載された情報処理方法。
【請求項７】
ユーザ指示に従い、文書テンプレート内に表示されている、コンテンツが挿入された複数のコンテナの中から一つのコンテナを選択する選択手段と、
前記選択手段が選択したコンテナ、並びに、複数のコンテナの間の表示比率とレイアウト、および、各コンテナの表示または非表示を定義する相関関係テーブルに基づき、前記複数のコンテナの中から表示すべきコンテナの組み合わせ、前記表示すべきコンテナの表示比率とレイアウト、および、表示しないコンテナを決定する決定手段と、
前記決定手段の決定に従い前記文書テンプレートの表示を更新する表示手段とを有することを特徴とする情報処理装置。
【請求項８】
コンピュータを請求項7に記載された選択手段、決定手段、表示手段として機能させるためのプログラム。
【請求項９】
請求項8に記載されたプログラムが記録されたコンピュータが読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データベースからコンテンツを取得してレイアウトを決定する情報処理に関する。
【背景技術】
【０００２】
近年、アプリケーションは多様化、多機能化が進み、多くのコントロールや表示項目を有すようになった。アプリケーションの多様化、多機能化に伴い、表示しなければならない項目も必然的に増加する。従来は、マルチウィンドウやタブコントロールによる切り替えを利用して表示項目を増やしている（例えば特許文献1参照）。
【０００３】
また、限られた領域内に複数のコンテナを用意し、データベースからデータを挿入し、動的に配置する自動レイアウトシステムがある。自動レイアウトシステムは、挿入されたテキストおよび画像のコンテナサイズを可変に設定することが可能である。しかし、レイアウトシステムは、予め決められたデータを予め決められたコンテナに挿入し、表示する手段で、ユーザが望むデータを自動的にレイアウトすることはできない。
【０００４】
例えば、無数のデータを所有するデータベースがあり、サイズが可変のコンテナ（以下「可変コンテナ」と呼ぶ）A、Bを作成したとする。この状態で、可変コンテナA、Bにデータを挿入し表示する。可変コンテナA、Bに挿入するデータが双方とも大きく、頁内に収まらない場合は、可変コンテナA、Bに挿入するデータのサイズを平等に、または、予め決められた優先順位で収まるように表示する。
【０００５】
優先順位とは、可変コンテナに予め決められたサイズ変化量の重み付けのことである。各可変コンテナに重み付けした場合、重み付けが高い可変コンテナは設定したサイズに限りなく近いサイズで表示し、重み付けが低いコンテナは設定したサイズに近付かなくてもよい。
【０００６】
このようなレイアウトシステムには、以下の問題点がある。まず、現在必要な表示項目はコンテナA、Bであるが、次に表示が必要な項目はコンテナA、B、Cである、といったように必要に応じてコンテナ数を増減することができない。また、表示したい項目を、何を基準に、どのコンテナに表示するかが判断できない。
【０００７】
【特許文献１】特開平11-282600号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
本発明は、ユーザの選択に対して必要なコンテナの組み合わせだけを適切な表示比率で適切にレイアウトした文書テンプレートを表示することを目的とする。
【課題を解決するための手段】
【０００９】
本発明は、前記の目的を達成する一手段として、以下の構成を備える。
【００１０】
本発明にかかる画像処理は、ユーザ指示に従い、文書テンプレート内に表示されている、コンテンツが挿入された複数のコンテナの中から一つのコンテナを選択し、前記選択されたコンテナ、並びに、複数のコンテナの間の表示比率とレイアウト、および、各コンテナの表示または非表示を定義する相関関係テーブルに基づき、前記複数のコンテナの中から表示すべきコンテナの組み合わせ、前記表示すべきコンテナの表示比率とレイアウト、および、表示しないコンテナを決定し、前記決定に従い前記文書テンプレートの表示を更新することを特徴とする。
【発明の効果】
【００１１】
本発明によれば、ユーザの選択に対して必要なコンテナの組み合わせだけを適切な表示比率で適切にレイアウトした文書テンプレートを表示することができる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明にかかる実施例の情報処理を図面を参照して詳細に説明する。
【実施例１】
【００１３】
［レイアウトシステム］
●システム構成
図1はレイアウトシステムを提供する情報処理システム100の構成例を示すブロック図である。
【００１４】
ホストコンピュータ101が実行するレイアウト編集アプリケーション121は、ソフトウェアコンポーネントであるユーザインタフェイス(UI) 103とレイアウトエンジン105を含む。UI 103は、ユーザに表示を提供し、データベース(DB)サーバ117が管理するデータベース(DB) 119内のデータとデータソースを関連付けるメカニズムを提供する。また、レイアウトエンジン105は、詳細は後述するが、矩形範囲として与えられる制限やサイズによって、矩形と線の位置を演算する。なお、UI 103とレイアウトエンジン105は、通信チャネル123を介して通信する。
【００１５】
ホストコンピュータ101は、ネットワーク107を介して、DBサーバ117、ファイルサーバ115、プリンタサーバ109などと通信する。
【００１６】
図2はエンジンサーバ227をネットワーク107上に配置した例を示すブロック図で、レイアウトエンジン225は、レイアウトエンジン105と同様の機能を有する。
【００１７】
エンジンサーバ227のレイアウトエンジン225は、ホストコンピュータ101のレイアウトエンジン105と通信して、レイアウトエンジン105から受信した情報に基づき、上記の演算を代行し、その演算結果をレイアウトエンジン105に返す。このような構成にすれば、ホストコンピュータ101の演算能力をエンジンサーバ227が補い、レイアウト編集処理を高速化することができる。
【００１８】
図3はホストコンピュータ101の構成例を示すブロック図である。
【００１９】
ホストコンピュータ101のCPU 135は、上記のレイアウト編集アプリケーション121のようなソフトウェアの全体または一部を実行する。とくに、レイアウト編集に伴い必然的に生じる表示処理は、CPU 135が、システムバス134を介して後述する構成を制御することで実現される。
【００２０】
ハードディスクドライブ(HDD) 140やメモリ136のROMは、オペレーティグシステム(OS)やレイアウト編集アプリケーション121のようなソフトウェアを格納する。
【００２１】
CPU 135は、I/O 143に接続されたキーボード132やポインティグデバイス133を介して入力されるユーザ指示に従い、HDD 139、CDROMドライブ142に挿入されたCDROMなどに格納されたプログラムやデータをメモリ136のRAMにロードする。また、NIC 138を介してネットワーク107に接続されたファイルサーバ115にアクセスし、ファイルサーバ115が提供するプログラムやデータをダウンロードする。そして、プログラムを実行し、データを処理して、その経過や結果をビデオインタフェイス(I/F) 137に接続されたモニタ144に表示する。そして、ユーザの指示に従い、プログラムの実行結果やデータの処理結果を出力する。
【００２２】
プログラムの実行結果やデータの処理結果の出力としては、HDD 139への格納、NIC 138を介してネットワーク107に接続されたDBサーバ117やファイルサーバ115へのアップロードなどがある。あるいは、USB (Universal Serial Bus)などの汎用I/F 140に接続されたローカルプリンタ145による印刷などでもよい。 勿論、NIC 138を介してネットワーク107に接続されたプリンタ113を印刷に利用することもできる。
【００２３】
●ユーザインタフェイス
図4はユーザインタフェイス103が提供するウィンドウ301を示す図である。なお、ウィンドウ301はモニタ144に表示される。
【００２４】
ウィンドウ301は、表示/非表示が切替可能なメニューバー302を備える。また、モニタ144のスクリーン上の任意位置に移動して配置可能なフローディングツールバー303と、同様にフローティング状態のワークエリア306を備える。
【００２５】
メニューバー302のメニューアイテム304の何れかをクリックすると、ドロップダウン表示により、メニューが階層表示される。ツールバー303は、例えばファイルメニューの環境設定メニューによって非表示/表示が設定可能な多くのツールボタン305やウィジット（widget、部品）を備える。
【００２６】
ワークエリア306内には、カーソルポインタ313が表示される。また、非表示/表示が設定可能なルーラ308は、ワークエリア306内のポインタ、頁309、ライン、マージンガイド310、コンテナまたはオブジェクトの位置を示すために使われる。また、ワークエリア306は、スクロールガイド307によりスクロール可能である。
【００２７】
図5はツールバー303に表示可能な代表的なボタン305を示す図である。
【００２８】
選択ツールボタン403は、コンテナの辺を選択、移動、サイズ変更し、そしてロック、ロック解除するためのボタンである。コンテナの周りに選択ボックスをドラッグする、または、キーボード132の例えばCTRLキーをお押しながらコンテナを選択するなどにより、複数のコンテナが選択可能である。
【００２９】
イメージコンテナツールボタン405は、スタティックまたは可変イメージをもつコンテナを作成するために使う。テキストコンテナツールボタン404は、スタティックまたは可変テキストをもつコンテナを作成するために使う。リンクツールボタン406は、コンテナ間の距離をコントロールするリンクを作成するために使う。
【００３０】
これらのボタンは、操作状況に合わせて変化するアイコンのツールチップとして、UI 103実装される。
【００３１】
●文書テンプレート
ワークエリア306は、文書テンプレートのデザインを表示、編集するために使う。ユーザは、準備段階において、文書の表示概観をデザインし、そしてマージされた文書が可変データの量やサイズに基づき、どのように変化するかを理解することができる。
【００３２】
もし、外部データソースがテンプレートにリンクされている場合、現在の文書をプレビューすることができるように、可変テキストとイメージがそれらのコンテナに表示される。
【００３３】
文書の構造と可変データのコンテナを描写する視覚的な手掛りは、カーソルポインタ313をコンテナ上に移動しときや、コンテナを選択したときにいつも表示される。
【００３４】
与えられた文書テンプレートの頁サイズはウィンドウサイズによって指定される。各文書の実際の頁数は、可変データによって変化する可能性がある。もし、一頁内にフィットできなかった場合は、追加頁が自動生成される。
【００３５】
各頁内の境界線（マージンガイド310）は、頁上の表示可能なオブジェクトの最大幅を示す。
【００３６】
また、図5には文書テンプレート309に設定したオブジェクトの例を示す。コンテナ407、408は、任意位置に設定可能なアンカアイコン409により固定された辺414、非固定の辺410、辺410と辺411を結ぶリンク412、そしてスライダ413をもつ。
【００３７】
●コンテナ
コンテナは、文書テンプレート内の固定または可変テキスト、イメージをもつスペースで、他のコンテナやオブジェクトとともにレイアウトされる。コンテナは、カーソルポインタ313によって、移動し、リサイズし、そして再作成することが可能である。より正確には、コンテナは、設定の集合、視覚的表現、そして相互作用(interaction)と編集動作をもつ。コンテナを定義すると次のようになる。
【００３８】
コンテナは、固定または可変のコンテンツをもつ。可変コンテンツは、データソースからもってきて、異なる文書では異なるかもしれない、という意味でダイナミックである。固定コンテンツは、コンテナを使って生成するすべての文書において同様に表示される。しかし、可変コンテナの動作によって、固定コンテンツは、各文書において位置が異なるかもしれない。
【００３９】
コンテナは、コンテンツに適用される背景色、ボーダ、フォント、スタイルのような、テキスト設定のような装飾機能をもつ。
【００４０】
コンテナは、文書生成時にデータソースからのデータとマージされる。装飾機能は、どんな固定コンテンツでもそうであるように、表示上で可視である。可変コンテンツは、データソースから特定のデータの表示をもたらす。コンテナのこの表現は、例えば印刷されるか、モニタ144に表示されるか、その両方が可能である。
【００４１】
コンテナは、ユーザインタフェイスをもつ。例えばコンテナの編集、そして表示設定のためのインタラクティブなグラフィカルユーザインタフェイス(GUI)をもつ。インタフェイスの要素はモニタ144に表示されるが、表示の際は表示されず、印刷の際は印刷されない。UI 103は、背景色やフォントのようなコンテナの装飾機能の幾つかを表示し、コンテナの設定の編集や表示を許容するための機能を追加する。UI 103の特別な機能には、例えばボーダまたはコンテナのサイズや位置を対話的に変更し、表示するための角アイコンがある。さらに、コンテナがデータソースからデータをマージされた場合にコンテナの動作を示すために上書きされる数、線、アイコン、テキストがある。
【００４２】
●コンテナの制約
コンテナは、各文書によって表示されるコンテンツを、どのように結び付けるかを制御する制約がある。これらの制約は（固定、可変コンテンツをコンテナと結び付けるとともに）、ユーザが一つの文書テンプレートから、多数の文書の生成を制御する主要な方法である。制約の一例は『このコンテナのコンテンツの高さは、最大値4インチです』である。制約のもう一つの例は『コンテナのコンテンツの左端は、各文書で同じ水平位置に表示しなければならない』である。ここに記述される内容は、GUIを使って、このような制約を表示、編集するための様々な方法である。
【００４３】
ユーザは、コンテナにより、文書のコンテンツのサイズ、位置を指定することが可能になる。
【００４４】
一つのコンテナの辺は、関連付けられたコンテンツが文書内で表示される仮想の境界線を定義する。ここでコンテナの左辺を論じることは、関連付けられたコンテンツがどんな文書内でも表示可能な最左端の辺を論じることと同じである。同様に、コンテナの高さを論じることは、作成された文書に関連付けられたコンテンツの高さの制約を論じることである。以下で、UI 103を参照して、コンテナの辺または大きさを論じる際に、上記の区別を明らかにする。
【００４５】
以下では、コンテンツの表示を制限するために使う、幾つかの値を定義する用語『固定』は、すべての文書で同じである。
【００４６】
もし、コンテナの幅が固定ならば、関連付けられたコンテンツに割り当てられる幅は、すべての文書で同じになる。もし、コンテナの高さが固定ならば、関連付けられたコンテンツに割り当てられる高さは、すべての文書で同じになる。
【００４７】
もし、距離の制約が固定ならば、指定された距離は、すべての文書のための制約である。もし、コンテナの左右辺が固定ならば、辺の水平位置が、頁に関して、すべての文書で同じである。しかし、コンテナの高さまたは垂直方向の位置は可変である。例えば、もしコンテナの左辺が固定ならば、関連付けられたコンテンツは、一つの文書では頁の上部近くに表示され、他の文書では頁の下部近くに表示されるかもしれないが、左辺はすべてのケースで同じ水平位置である。
【００４８】
もし、コンテナの上下辺が固定ならば、コンテナの高さおよび辺の垂直位置が、頁に関して、すべての文書で同じである。しかし、コンテナの幅または水平位置は可変である。
【００４９】
コンテナの垂直軸は、コンテナの左右辺が平行で、それらの中間に位置する想像上の垂直線である。もし、コンテナの垂直軸が固定ならば、コンテナの左右辺の水平位置の平均は、すべての文書で同じである。この制約でも、コンテナの幅は変化可能である。左右辺の両方が異なる文書では、左右辺は垂直軸に遠いかもしれないし近いかもしれないが、垂直軸はすべての文書で同じ水平位置にある。しかし、コンテナの高さと水平位置は、この制約に影響されない。
【００５０】
同様に、もし、水平軸が固定ならば、コンテナの上下辺の垂直位置を制約するが、コンテナの高さは、この制約に影響されない。
【００５１】
また、水平、垂直軸の両方が固定ならば、コンテナの中心位置が固定されることを意味する。しかし、コンテナの幅、高さは、この制約に影響されない。
【００５２】
もし、コンテナの角、コンテナの辺の中間位置、または、コンテナの中心位置が固定ならば、すべての文書の同じ場所、そしてコンテナに関連付けられた同じ場所に、コンテンツが表示される。例えば、コンテナの左上角が固定ならば、配置されたコンテナの左上位置がすべての文書で同じになる。
【００５３】
垂直辺または軸は、頁の左辺または右辺、左マージンまたは右マージン、あるいは、他の水平位置に関連して固定である。同様に、水平辺または軸は、頁の上辺または下辺、マージン、あるいは、他の垂直位置に関連して固定である。用語『固定』は、すべての文書が同じ頁サイズであれば文書間に相違はないから、文書間で頁サイズが変わる場合にのみ重要になる。
【００５４】
用語『固定』の反対語『可変』は、辺、軸、角、中間位置または文書の制約が、文書間で変化するかもしれないことを意味する。しかし、文書の特定な設定でそうする必要がないかもしれない。例えば、変更による辺の実際の好ましい位置のような、他の外部制約があるが、もし外部制約が適用されないならば、辺は非固定としてラベル付けされてるので、辺の位置を変更することができる。
【００５５】
●コンテナの表示、編集
新規コンテナの作成
コンテナには、テキストコンテナとイメージコンテナの二種類がある。テキストコンテナはテキストと、埋め込みイメージをもつ。イメージコンテナは、イメージだけをもつ。
【００５６】
新規コンテナは、図5に示すテキストコンテナツール404またはイメージコンテナツール405をクリックして、文書テンプレート309に矩形をドラッグして作成する。他の方法としては、テキストコンテナツール404またはイメージコンテナツール405をクリックしてアクティブにした後、文書テンプレート309の任意位置をクリックしても、新規のコンテナを作成可能である。
【００５７】
デフォルトサイズのコンテナを挿入するか、新規のコンテナのサイズを設定するためのダイアログボックスまたは他のプロンプトが表示される。幾つかのコンテナは自動的に、前もって定義されたか、計算されたスキーマによって作成され配置される。
コンテナの表示
【００５８】
設定されたコンテナの状態は、グラフィカルな表現で描画されるのが好ましい。幾つかの辺の状態は、幾つかの状況を分けて表現するために、グラフィック表示より少なくなるかもしれない。
【００５９】
図6はコンテナの模範的な辺ルールを例示する図である。
【００６０】
レイアウト編集アプリケーション121は、辺の状態を表現するために、実線503または破線504で辺を描き、アンカ506、507、509、ハンドル502、スライダ（図5に符号413で示す）、拡縮アイコン505、そして色を有す。なお、ハンドル502は、辺を移動、修正するためのコントロール点である。
【００６１】
図6におけるコンテナ表示ルールは次のとおりである。
(1)固定の辺は、実線で描画し、その中央付近にアンカ509を描画する
(2)幅が固定のコンテナは、左右辺を実線で描画する
(3)高さが固定のコンテナは、上下辺を実線で描画する
(4)軸は描画しない
(5)未描画の辺は、破線で描画し、その近傍に拡縮アイコン505を描画する
(6)交差する辺（または軸）が固定ならば、その交点にアンカ506（または507）
を描画する
(7)固定の辺で、アンカ509が非描画であれば、その中央付近にスライダ413を
描画す
(8)交差する辺（または軸）にアンカやスライダが非描画であれば、その交点
にハンドルを描画する
【００６２】
ルール1から3で保証する線は、もしそれらが固定または制限されているならば、破線で描画する。ルール5で保証する可変の辺は、破線で描画される。ルール6から8で保証する固定辺にはアンカを表示し、幾つかの固定辺にはスライダを表示し、他はハンドルを表示する。
【００６３】
上記において、辺は一度だけ描画されることが必要である。そして、ルールが描画すべき辺に及べば、その後、ルールが再び描画すべき辺に及ぶことはない。例えばコンテナがとても小さくてアイコンが互い重なる、あるいは、他の表示機能を不明瞭にするならば、アイコンをより簡略化する、あるいは、アイコンを省略してもよい。
【００６４】
可変の辺の描画位置は、コンテナのコンテンツに依存する。後述するように、文書テンプレートにコンテンツがマージされて、UI 103によって可視になることを意味する『動的な校正処理』が使われる。また、すべての文書で平均化されるコンテナのコンテンツエリア、あるいは、可変の辺を、UI 103上のどこにレイアウトすべきかを決定する代替手段を使用してもよい。
【００６５】
これらのコンテンツ表現は、コンテナの辺の状態を表示するグラフィカル手段を提供する。その表現の解釈は、次のとおりである。
・図5に示す破線410は、コンテナのコンテンツに依存し、文書内の辺の位置
を意味する
・実線は制限された辺を意味する。何故ならば、図5の辺414、あるいは、
コンテナの幅または高さが固定されている。なお、図5のコンテナ408は、
幅と高さが固定されている
・アンカは、辺または軸の交点が固定されていることを意味する。それ故、
アンカ点は、すべての文書の水平、垂直位置に現れる。当然、アンカは
固定される。図5に示すアンカ409は、交差する辺414が固定であることを
意味するアンカの例である
・スライダは、対応する辺が固定であることを意味するが、コンテナは
辺に沿う多くの位置『スライドの長さ』で位置が決定される。例えば
図5に示すスライダ413は、コンテナ408のコンテンツが、文書内の特定の
ダイアグラムで表される位置の、左または右に表示されるかもしれない
【００６６】
これらのアイコン、辺の幾つかまたはすべては、どのツール、どのコンテナを選択し、ハイライトまたはアクティブにするかによって、描画されたりされなかったりする。一般に、コンテナの辺、アイコンは文書テンプレートのデザインの手助けであるため、コンテンツが表示状態の場合は表示されない。
【００６７】
また、コンテナの幅、高さの最小、最大値の設定は、副次的なダイアログウィンドウに表示される。
【００６８】
図6(a)に示すコンテナ501は幅、高さとも可変であり、固定辺503は実線で、可変の辺504は破線で表現される。拡縮アイコン505は、隣接する辺504が可変であることを示す。
【００６９】
図6(b)に示すコンテナ501は幅、高さとも可変である。アンカ506により、辺503の交点が固定されていることが示される。
【００７０】
図6(c)に示すコンテナ501は幅、高さとも可変である。アンカ507と拡幅アイコン505により、コンテナ501の中心から任意にコンテナを拡大または縮小可能であることが示される。
【００７１】
図6(d)に示すコンテナ501は、上辺508が固定されていることを除けば、幅、高さとも可変である。上辺508の中央近傍に配置されたアンカ509により、上辺508が固定されていることが示される。そして、拡幅アイコン505により、下辺の移動により、コンテナを垂直方向に拡大または縮小可能であることが示される。
【００７２】
●リンク
リンクは、コンテナとコンテナの関連を示す。関連とは、コンテナ間の距離を示し、リンクによって関連付けられたコンテナ同士は、互いのレイアウト変更の影響を受けてレイアウトを計算する。図5に示すリンク412は、コンテナ407と408を関連付ける。リンクの設定方法、リンクで関連付けられたコンテナのレイアウトの計算方法は後述する。
リンクの設定
【００７３】
図7はリンクの設定方法を示すフローチャートで、レイアウト編集アプリケーション121がユーザに提供する処理である。また、図8はUI 103の表示例を示す。それらを用いて、コンテナにリンクを設定する方法を説明をする。
【００７４】
リンクを設定する場合、ユーザは、リンクを設定する最低二つのコンテナを作成する(S601)。図8は、二つのコンテナを作成してリンクを設定する例を示している。
【００７５】
次に、ユーザは、リンクツール406をクリックして選択状態にする(S602)。図8は、コンテナを作成し、リンクツール406を選択し、リンクを設定する動作を示す。
【００７６】
図8(a)に示す辺701と702はアンカ703のよって固定された辺である。ユーザは、リンクを設定する片方のコンテナにカーソルポインタ705を移動してクリックし、当該コンテナを選択する(S603)。
【００７７】
次に、図8(b)に示すように、ユーザは、カーソルポインタ705を他方のコンテナに移動し、クリックする(S604)。図8(b)に示すライン706は、図8(a)におけるクリック位置とカーソルポインタ705の移動後の位置を結ぶ直線で、どの位置にリンクが設定されるかを示すユーザインタフェイスである。
【００７８】
ステップS604の後、図8(c)に示すように、リンク707が表示される(S605)。また、リンク707の設定により、コンテナの表示も自動的に変更される(S606)。
【００７９】
図8(c)の破線で示される辺708は、前述したように可変の辺である。このようにコンテナの辺の状態が変化するのは、リンクの設定により、コンテナの辺を可変にする必要があるためである。リンクを設定したにもかかわらず、すべての辺が固定という矛盾を防ぐために、自動的に行われる処理である。
【００８０】
また、図8(c)に示す拡縮アイコン709は、リンクの設定により、コンテナを変化可能な方向をユーザに視覚的に示すマークである。図8(c)の例では、左のコンテナの右辺と、右のコンテナの左辺が可変になったが、これは一例で、右コンテナが図5に示すスライダ413をもつ設定に変化しても構わない。
【００８１】
●レイアウト計算
レイアウト編集アプリケーション121は、コンテナを作成して、コンテナ間の関連付けを行い、レイアウトを作成するレイアウトモードを備える。また、作成したレイアウトにレコードのコンテンツを挿入し、実際にコンテンツが挿入された後のレイアウト結果をプレビューするプレビューモードを備える。ユーザがプレビューモードを選択すると、レイアウト編集アプリケーション121は、実際のレコードのコンテンツを挿入し、レイアウトを計算する。なお、プレビューモードは表示上でのレイアウト計算で、印刷する場合は、コンテンツを挿入して記録紙サイズに合わせたレイアウトを計算する。その計算方法は同じである。なお、レコードとは、図1に示すDB 119に記録された情報の単位である。
【００８２】
図9はレイアウト計算のフローチャートで、ユーザがプレビューモードを選択すると、レイアウト編集アプリケーション121が実行する処理である。
【００８３】
まず、プレビューするレコードのコンテンツを選択し、レイアウトに挿入して(S802)、レイアウトを計算する(S803)。続いて、計算したレイアウトを表示し(S804)、他のレコードをプレビューするか否かをユーザに問い合わせる(S805)。ユーザが他のレコードをプレビューする必要はないと判断した場合は、プレビューモードを終了する(S807)。
【００８４】
また、他のレコードをプレビューする場合は、他のレコードに移動して(S806)、そのコンテンツを選択し、レイアウトに挿入して(S802)、再びレイアウトを計算し(S803)、プレビューする(S804)。
【００８５】
なお、印刷処理は、印刷するコンテンツすべてについて、順にレイアウトを計算する。従って、ステップS805、S807の処理は存在しない。そして、すべてのコンテンツについて印刷が終了した時点で印刷処理を終了する。
レイアウトの計算方法
【００８６】
図10はレイアウトの計算(S803)の詳細を示すフローチャートである。
【００８７】
まず、レイアウトを計算するコンテナの集合を求める(S901)。レイアウト計算は、関連付けられたコンテナを一つの集合として計算を行う。
【００８８】
図11は頁上に四つのコンテナがレイアウトされた例を示す図である。図12の各コンテナは関連付けが設定されていて、コンテナAとBが、そしてコンテナCとDがリンク1106によって関連付けされている。この場合、コンテナA、Bが集合1、コンテナC、Dが集合2になる。なお、前述したように、1101はアンカ、1102は固定辺、1103はハンドル、1104は拡縮アイコン、1105は可変の辺、1106はリンク、そして1107はスライダを示す。
【００８９】
次に、求めたコンテナの集合から、レイアウトを計算するために一つの集合を選択し(S902)、選択した集合についてレイアウトを計算する。ここでは、レイアウトするコンテナのサイズと、実際のコンテンツのサイズの差ができるだけ小さくなるように、レイアウトを最適化する(S903)。レイアウトの最適化は、サイズの動的変化が可能なように関連付けられたコンテナそれぞれに挿入されるコンテンツのサイズと、レイアウトするコンテナのサイズの差が、コンテナ間でできるだけ同じになるように行う。そして、レイアウトの最適化後、ルール違反を判定し(S904)、ルール違反がある場合は再びルール違反しないように再計算する(S904)。このルールは、レイアウト作成時にユーザによって設定される制限で、コンテナのサイズと位置、リンクの長さなどである。ルール違反のないレイアウトが計算されると、その集合のレイアウトは完成する。そして、ステップS905の判定により、ステップS902〜S904の処理を頁上のすべての集合について実行し、頁全体のレイアウトを決定する。
【００９０】
図12はレイアウト計算時のUI 103の表示例を示す図である。
【００９１】
図12(a)は、あるコンテンツが挿入され、レイアウトが決定された状態を表す。1001、1002はアンカ、1003、1004は固定辺、1005は可変の辺、1006は拡縮アイコン、1008はリンクである。この状態において、コンテンツを変更し、サイズが異なるコンテンツを挿入する。
【００９２】
図12(b)は、図12(a)のレイアウト状態に、別のコンテンツを重ねた状態を示す。1009はそれぞれのコンテナに挿入されるコンテンツのサイズを表す。
【００９３】
図12(c)は、レイアウトの計算結果を示す。計算後の各コンテナのサイズは、実際に挿入するコンテンツのサイズと同等の差をもつように計算され、かつ、前述したルール違反がないように計算される。図12(b)に示す挿入するコンテンツサイズ1009と、図12(c)に示す計算後のコンテンツサイズ1010は、各コンテナにおいて同等の差をもつ。
【００９４】
●可変リンクの設定
図13は一般的な可変リンクの状態を示す図である。
【００９５】
図5とほぼ同様に、ウィンドウ301にはツールバー303と文書テンプレート309が表示され、文書テンプレート309上にコンテナ1203、1204が存在する。各コンテナは、アンカ1201、1202によって固定された辺1205、1206からなる。各コンテナ1203と1204の間には、可変サイズのリンク1209があり、各コンテナを結んでいる。なお、このような状態のコンテナ1203、1204を「エッジコンテナ」と呼ぶ場合がある。リンク1209が設定されているので、各コンテナの右辺1207と左辺1208は破線で表現され、拡縮アイコン1210、1211が表示される。つまり、辺1207、1208が可変であることが示されている。
【００９６】
図14はリンク1209の情報を設定するダイアログ1401の例を示す図である。
【００９７】
ダイアログ1401は、タイトルバー1402、ツールボタン1403、ダイアログの設定を適用したりダイアログを閉じたりするボタン1404、各種情報を設定する領域1409で構成される。リンクの種類領域1405のラジオボタン1406、1407により、可変長または固定長のリンクを設定することができる。また、可変長のリンクの場合は、リンクの距離領域1408のテキストボックス1410〜1412により、リンクの距離の最大値、最小値、現在の値を設定することができる。
【００９８】
図15はリンクの設定方法を示すフローチャートで、図7に示したリンクの設定方法を踏まえ、例えば図16に示すコンテナAとBの間に張られた固定長のリンク1503を、図13に示す可変長のリンク1209に変更する操作を示す。なお、図15に示す処理は、レイアウト編集アプリケーション121がユーザに提供する処理である。
【００９９】
ユーザは、カーソルポインタを移動してリンク1503をクリックし選択し(S1302)、マウス133の操作またはキーボード132のキー操作により、図14に示すダイアログ1401を表示する(S1303)。この時点では、リンク1503は固定長であるから、ラジオボタン1406が選択されている。
【０１００】
次に、ユーザは、ラジオボタン1407を選択してリンク1503を可変長に変更する(S1304)。この操作により、リンクの距離領域1408に配置されたテキストボックス1410〜1412が有効になり、数値設定が可能になる。ユーザは、リンク1503の可変長を設定するために、テキストボックス1410〜1412に適切な値を設定する(S1305)。次に、ユーザがボタン1404を押して設定を適用すると、図13に示すリンク1209のような表示状態に変化する(S1306)。なお、このダイアログ1401の設定情報は、メモリ136の所定領域に格納される。
【０１０１】
図16は固定長のリンク1503を使用する場合のレイアウト結果を示している。このレイアウト計算は前述したように行われる。
【０１０２】
例えば、図16のコンテナ1501と1502にサイズが違うコンテンツが挿入される場合を想定する。各コンテンツのサイズを最適と考え、コンテナ1501は、挿入されるコンテンツのサイズになるように、符号1504で示すサイズ（最適コンテナサイズ）に近付こうと、右方向に拡大する。同様に、コンテナ1502も、挿入されるコンテンツのサイズになるように、符号1505で示す最適コンテナサイズに近付こうと、左方向に拡大する。
【０１０３】
しかし、コンテナ1501と1502の間には固定長のリンク1503が設定され、コンテナ1501の左辺とコンテナ1502の右辺はアンカによって固定されている。そのため、レイアウトの計算時に優先的に計算されるコンテナ1501と1502のサイズが変更される。その結果、コンテナ1501と1502は、コンテンツのサイズに合った最適なサイズを確保することはできず、最適コンテナサイズ1504、1505よりも小さいコンテナサイズになる。言い換えれば、リンク1503が固定長であるため、コンテナ1501と1502は最適コンテナサイズを達成できない。
【０１０４】
図17は可変長のリンク1603を使用する場合のレイアウト結果を示している。このレイアウト計算は前述したように行われる。
【０１０５】
コンテナ1501と1502の間に、可変長のリンク1603が設定されていると、コンテナ1501と1502のサイズを変更する際に、リンク1603のサイズを縮めることができる。その結果、コンテナ1501と1502のサイズを、図16の例よりも拡大することが可能で、コンテンツのサイズに合った最適コンテナサイズを達成するか、あるいは、より最適コンテナサイズに近いサイズを得ることができる。
【０１０６】
●役割に設定された相関関係に基づくレイアウト
レイアウト編集アプリケーション121は、役割（アクタ）ごとに設定された相関関係と、コンテナに設定されたレコードのプロパティに基づき、コンテナを最適コンテナサイズにレイアウトする。
【０１０７】
図18は役割に設定された相関関係に基づくレイアウトを示すフローチャートで、レイアウト編集アプリケーション121が実行する処理である。
【０１０８】
まず、ユーザの役割指定を入力し(S1701)、指定された役割に登録されたコンテナの相関関係を参照する(S1702)。なお、役割の設定、コンテナの相関関係は後述する。
【０１０９】
次に、コンテナの総数をレジスタNに設定し(S1703)、変数nに1を代入する(S1704)。そして、参照した相関関係に基づきコンテナを抽出し(S1705)、コンテナを配置し(S1706)、変数nをインクリメントする(S1707)。そして、ステップS1708の判定により、n＞Nになるまで、ステップS1705〜S1707の処理を繰り返して、すべてのコンテナを配置する。
【０１１０】
次に、コンテナに対する優先度を参照し(S1709)、レイアウト計算を開始する(S1710)。
【０１１１】
次に、コンテナに設定されたコンテンツのプロパティを検出する(S1711)。コンテンツのプロパティからは、DB 119に格納されたコンテンツの実際のサイズが得られる。なお、コンテンツにスタティックなテキストや画像が挿入されている場合は、それも含むサイズを取得する。そして、コンテンツのプロパティとコンテナに設定された設定値に基づき、レイアウトを計算し(S1712)、レイアウト結果をUI 103が提供する画面に表示する(S1713)。
役割の設定
【０１１２】
役割は、ユーザごとに登録してもよいし、複数のユーザからなるグループごとに登録してもよい。
【０１１３】
図19は相関テーブルの登録例を示す図である。図19に示すA〜Eはそれぞれコンテンツを示し、○は表示を、×は非表示を示す。また、左隅の列は主表示のコンテンツを示し、最上部の行は副表示のコンテンツを示す。例えば、コンテンツAを表示する場合は、二行目の例では、コンテンツAのほかにコンテンツCとEを表示する。このようなテーブルが、役割ごとに登録可能である。
コンテナの相関関係
【０１１４】
図20はコンテナの表示、非表示および相関関係を示す図である。図19に示すA〜Eはそれぞれコンテナを示し、各セルの数値は、左隅の列のコンテナの、他のコンテナに対する表示比率を示す。例えば、コンテナAを選択した場合、コンテナBは3、コンテナCは0、コンテナDは5、コンテナEは0の比率で表示することを示す。なお、コンテナA自体は、設定されたコンテナのサイズで表示する。このように、図20に示す相関関係テーブルは、コンテナの表示または非表示を示すフラグを有する。
【０１１５】
図21はコンテナの表示状態例と、その遷移例を示す図である。
【０１１６】
図21(a)はコンテナDが選択されている状態の表示例である。選択されたコンテナDと図20の相関関係テーブルに基づきコンテナのレイアウトが決定され、決定されたレイアウトが図21(a)に表示されている。図21(a)では、コンテナAは5、コンテナBは4、コンテナCは1の比率で表示されている。この表示状態でコンテナAを選択すると、図21(b)の表示状態に遷移し、コンテナBは3、コンテナDは5の比率で表示される。さらに、コンテナBを選択すると、図21(c)に示す表示状態に遷移し、コンテナAは3、コンテナCは2、コンテナDは4、コンテナEは1の比率で表示される。このように、選択したコンテナとコンテナの相関関係に従い、動的にレイアウトが変更される。なお、表示比率0のコンテナは表示されない。また、役割に応じた相関関係テーブルが登録されており、指定された役割に応じた相関関係テーブルに基づき、コンテナのレイア  ウトが決定される。
【０１１７】
［レイアウトシステムの適用例］
以下では、上述したレイアウトシステムを電子カルテに適用する例を詳細に説明する。電子カルテは、様々な入力コントロールとデータを有し、医師、看護士、医療技師、薬剤師、医療事務などにより必要な表示、閲覧内容が異なる。従って、上述したレイアウトシステムにより、ユーザまたはグループ単位に役割を設定し、ユーザが望む電子カルテの表示、閲覧を提供する。
【０１１８】
言い換えれば、電子カルテに記載されたすべての情報を表示すれば、電子カルテを参照する際の視認性を低下させる。また、複数の診療科を統合して使用する電子カルテの場合、他の診療科の医師が記載内容を参照するには、すべての情報を一度表示する必要がある。また、電子カルテの記載欄には、通常、見る必要がない欄も多数存在する。つまり、同一の電子カルテでも、ユーザやグループが着目する情報ごとに表示したい情報が異なる。
【０１１９】
●電子カルテシステムの概要
図22は電子カルテの一例を示す図である。
【０１２０】
電子カルテの上部にはメニューバー2101、ツールバー2102がある。図22は表示メニューがクリックされ、表示メニューのドロップダウンメニュー2103が表示された状態を示し、表示メニューにより、表示モードと編集モードを切り替え可能である。勿論、表示メニューをクリックしなくても、マウスボタンの右クリックなど、マウス操作によっても切り替え可能である。
【０１２１】
ツールバー2102の下には、診察日や患者名などの基本情報、診察情報、病歴、レセプト、投薬情報などの電子カルテに必須の情報を入力、編集、表示する情報欄2104がある。編集モードにおいて情報欄2104に入力された情報は病院内のDB 119に蓄積され、電子カルテのコンテンツとして運用される。なお、図22には、電子カルテに記載された情報をDB 119に登録するための「登録」ボタン2105が存在する。つまり、本実施例は、ボタンコントロールによって明示的に登録を行う例を示すが、登録方法はこれに限らない。また、入力内容に関しては役割を限定してもしなくてもよく、医師、看護士、医療技師、薬剤師、医療事務員などが各自の担当部分について入力すればよい。
【０１２２】
図23は、図22に示す電子カルテを表示モードで閲覧した一例を示す図で、閲覧情報として、病歴欄2201、処置処方欄2202、処方調剤欄2203、および、シェーマ2204としてレントゲン写真が表示されている。表示項目はテキスト、画像に限らず、役割の設定および選択によって、電子カルテの情報としてDB 119に蓄積されたすべての項目を表示することができる。
【０１２３】
図24は、図23の画面の閲覧者（ユーザ）が処方調剤欄2203をクリックした場合に遷移する画面例を示す図で、上述したコンテナの相関関係に基づきコンテナを抽出し、再レイアウトが行われる。そして、図24に示すように、レイアウトは変わるが処置処方欄2202および処方調剤欄2203は残り、病歴2201およびシェーマ2204は消え、新たに処方箋欄2205が表示される。つまり、閲覧者が選択したコンテンツ（コンテナ）に設定された相関関係に基づくコンテンツ（コンテナ）を表示するレイアウトが行われる。
【０１２４】
このように、複数のコントロールを有する電子カルテアプリケーションにおいて、使用したコントロールだけを集合させ、表示可能なウィンドウサイズ内に各コントロール間のサイズを動的に配置する。また、各コントロールのサイズも、そのデータ量によって変化させることで、視認性を高めることができる。
【０１２５】
●電子カルテシステムにおける表示の遷移
編集モードにおいて、医師は、図22に示す電子カルテの所定のコントロールの必要な箇所に必要な情報を入力する。保存された電子カルテが再び呼び出されると、図25に示すように、使用されたコントロールのみが抽出され、モニタ144の画面サイズと各コントロールが使用する面積に基づき最適なレイアウトを行う。図26に示すように、医師は、使用したいコントロールをクリック（選択）するこで、そのコントロールの入力領域が表示され、再入力を行うことができる。
【０１２６】
表示モードにおいては、図27に示すように、動的にレイアウトされたコントロールをクリックすると、そのコントロールに関連付けられたコントロールが集合し、再レイアウトする。関連付けは、各コントロールごとに相関関係を設定することで実現し、リンクした場合にその相関関係に基づき表示するコントロールを決定し、再レイアウト、再表示を行う。
【０１２７】
図28に示すように、相関関係を示すテーブルは各コントロールの重みを有し、その重み付けに基づきコントロールのレイアウトを行う。さらに、表示の必要性を示すフラグを有し、表示が不要ならば、相関関係が高くても表示しないといった振る舞いを決める機能を有する。
【０１２８】
さらに、図29に示すように、ユーザごとに異なる相関関係テーブルを所持することで、同一の電子カルテの情報を表示する際の表示内容をユーザの業務、作業内容に合わせてカスタマイズすることができる機能を有する。
【０１２９】
図30は医師と医療事務が所持する相関関係テーブルの設定例を示す図である。図31は、図30に示す相関関係テーブルを所持する医師がコントロールをクリックした場合の表示の遷移状態例を示す図である。図32は、図30に示す相関関係テーブルを所持する医療事務がコントロールをクリックした場合の表示の遷移状態例を示す図である。
【０１３０】
このように、使用したコントロールのみを抽出し、画面に最適にレイアウトすることで、ユーザの視認性を高めることができる。また、当該ユーザ以外の入力項目も同系列に表示されるため、確認漏れなどを防ぐことが可能になる。また、ユーザごとに異なる相関関係テーブルを所持することで、同一の電子カルテでも、ユーザの業務、作業内容に合った表示を行うことが可能になる。
【０１３１】
［他の実施例］
なお、本発明は、複数の機器（例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置など）に適用してもよい。
【０１３２】
また、本発明の目的は、上記実施例の機能を実現するソフトウェアを記録した記憶媒体（記録媒体）をシステムまたは装置に供給し、そのシステムまたは装置のコンピュータ（CPUやMPU）が前記ソフトウェアを実行することでも達成される。この場合、記憶媒体から読み出されたソフトウェア自体が上記実施例の機能を実現することになり、そのソフトウェアを記憶した記憶媒体は本発明を構成する。
【０１３３】
また、前記ソフトウェアの実行により上記機能が実現されるだけでなく、そのソフトウェアの指示により、コンピュータ上で稼働するオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、それによって上記機能が実現される場合も含む。
【０１３４】
また、前記ソフトウェアがコンピュータに接続された機能拡張カードやユニットのメモリに書き込まれ、そのソフトウェアの指示により、前記カードやユニットのCPUなどが実際の処理の一部または全部を行い、それによって上記機能が実現される場合も含む。
【０１３５】
本発明を前記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するソフトウェアが格納される。
【図面の簡単な説明】
【０１３６】
【図１】レイアウトシステムを提供する情報処理システムの構成例を示すブロック図、
【図２】エンジンサーバをネットワーク上に配置した例を示すブロック図、
【図３】ホストコンピュータの構成例を示すブロック図、
【図４】ユーザインタフェイスが提供するウィンドウを示す図、
【図５】ツールバーに表示可能な代表的なボタンを示す図、
【図６】コンテナの模範的な辺ルールを例示する図、
【図７】リンクの設定方法を示すフローチャート、
【図８】UIの表示例を示す図、
【図９】レイアウト計算のフローチャート、
【図１０】レイアウトの計算の詳細を示すフローチャート、
【図１１】頁上に四つのコンテナがレイアウトされた例を示す図、
【図１２】レイアウト計算時のUIの表示例を示す図、
【図１３】一般的な可変リンクの状態を示す図、
【図１４】リンクの情報を設定するダイアログの例を示す図、
【図１５】リンクの設定方法を示すフローチャート、
【図１６】固定長のリンクを使用する場合のレイアウト結果を示す図、
【図１７】可変長のリンクを使用する場合のレイアウト結果を示す図、
【図１８】役割に設定された相関関係に基づくレイアウトを示すフローチャート、
【図１９】相関テーブルの登録例を示す図、
【図２０】コンテナの表示、非表示および相関関係を示す図、
【図２１】コンテナの表示状態例と、その遷移例を示す図、
【図２２】電子カルテの一例を示す図、
【図２３】図22に示す電子カルテを表示モードで閲覧した一例を示す図、
【図２４】図23の画面の閲覧者（ユーザ）が処方調剤欄をクリックした場合に遷移する画面例を示す図、
【図２５】保存された電子カルテが再び呼び出された場合に、抽出されるコントロールと、レイアウトを説明する図、
【図２６】編集モードにおけるコントロールの再入力を説明する図、
【図２７】相関関係テーブルに基づく表示の遷移を説明する図、
【図２８】表示不要フラグに基づく表示の遷移を説明する図、
【図２９】ユーザごとに異なる相関関係テーブルを所持することを説明する図、
【図３０】医師と医療事務が所持する相関関係テーブルの設定例を示す図、
【図３１】図30に示す相関関係テーブルを所持する医師がコントロールをクリックした場合の表示の遷移状態例を示す図、
【図３２】図30に示す相関関係テーブルを所持する医療事務がコントロールをクリックした場合の表示の遷移状態例を示す図である。
【図１】
0004393444.tif 000002
【図２】
0004393444.tif 000003
【図３】
0004393444.tif 000004
【図４】
0004393444.tif 000005
【図５】
0004393444.tif 000006
【図６】
0004393444.tif 000007
【図７】
0004393444.tif 000008
【図８】
0004393444.tif 000009
【図９】
0004393444.tif 000010
【図１０】
0004393444.tif 000011
【図１１】
0004393444.tif 000012
【図１２】
0004393444.tif 000013
【図１３】
0004393444.tif 000014
【図１４】
0004393444.tif 000015
【図１５】
0004393444.tif 000016
【図１６】
0004393444.tif 000017
【図１７】
0004393444.tif 000018
【図１８】
0004393444.tif 000019
【図１９】
0004393444.tif 000020
【図２０】
0004393444.tif 000021
【図２１】
0004393444.tif 000022
【図２２】
0004393444.tif 000023
【図２３】
0004393444.tif 000024
【図２４】
0004393444.tif 000025
【図２５】
0004393444.tif 000026
【図２６】
0004393444.tif 000027
【図２７】
0004393444.tif 000028
【図２８】
0004393444.tif 000029
【図２９】
0004393444.tif 000030
【図３０】
0004393444.tif 000031
【図３１】
0004393444.tif 000032
【図３２】
0004393444.tif 000033