(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-09-13
(45)【発行日】2023-09-22
(54)【発明の名称】データ編集装置、データ編集方法、コンピュータプログラム、及び、電子カルテシステム
(51)【国際特許分類】
G16H 10/60 20180101AFI20230914BHJP
G06F 40/14 20200101ALI20230914BHJP
G06F 40/166 20200101ALI20230914BHJP
【FI】
G16H10/60
G06F40/14
G06F40/166
(21)【出願番号】P 2019101661
(22)【出願日】2019-05-30
【審査請求日】2022-03-02
(73)【特許権者】
【識別番号】314005768
【氏名又は名称】PHCホールディングス株式会社
(74)【代理人】
【識別番号】110002952
【氏名又は名称】弁理士法人鷲田国際特許事務所
(72)【発明者】
【氏名】佐波 永智
(72)【発明者】
【氏名】葉山 幸治
(72)【発明者】
【氏名】岩田 光弘
(72)【発明者】
【氏名】井沢 拓人
【審査官】吉田 誠
(56)【参考文献】
【文献】特開2001-134563(JP,A)
【文献】特開2001-282773(JP,A)
【文献】特開2010-015213(JP,A)
【文献】赤間 公太郎 他,いちばんやさしいHTML5&CSS3の教本 初版 ,第1版,株式会社インプレス 土田 米一,2016年03月21日,92ページ、240ページ
(58)【調査した分野】(Int.Cl.,DB名)
G16H 10/00 - 80/00
G06F 40/14
G06F 40/166
(57)【特許請求の範囲】
【請求項1】
マークアップ言語で記述されたデータの第1の要素の内容及び
前記第1の要素の後方に配置される第2の要素の内容を
編集領域に表示する表示制御部と、
前記編集領域内の入力位置を示すカーソルが表示された前記第1の要素の内容と前記第2の要素の内容との境界に
位置するか判定し、前記カーソルが前記第1の要素の内容と前記第2の要素の内容との境界に位置すると判定した場合、入力された文字を、前記第2の要素の内容
と対応付ける入力制御部と、
を備える、データ編集装置。
【請求項2】
前記表示制御部は、前記第1の要素の属性が非表示を示す場合、前記第1の要素の内容の表示に代えて、所定の空白文字を表示する、
請求項1に記載のデータ編集装置。
【請求項3】
前記所定の空白文字の幅は、半角の空白文字の幅よりも狭い、
請求項2に記載のデータ編集装置。
【請求項4】
前記データは電子カルテである、
請求項1に記載のデータ編集装置。
【請求項5】
請求項
1から4の何れか1項に記載のデータ編集装置を有する、
電子カルテシステム。
【請求項6】
データ編集装置が、
マークアップ言語で記述されたデータの第1の要素の内容及び
前記第1の要素の後方に配置される第2の要素の内容を
編集領域に表示し、
前記編集領域内の入力位置を示すカーソルが表示された前記第1の要素の内容と前記第2の要素の内容との境界に
位置するか判定し、前記カーソルが前記第1の要素の内容と前記第2の要素の内容との境界に位置すると判定した場合、入力された文字を、前記第2の要素の内容
と対応付ける、
データ編集方法。
【請求項7】
マークアップ言語で記述されたデータの第1の要素の内容及び
前記第1の要素の後方に配置される第2の要素の内容を
編集領域に表示し、
前記編集領域内の入力位置を示すカーソルが表示された前記第1の要素の内容と前記第2の要素の内容との境界に
位置するか判定し、前記カーソルが前記第1の要素の内容と前記第2の要素の内容との境界に位置すると判定した場合、入力された文字を、前記第2の要素の内容
と対応付ける、
ことをコンピュータの実行させる、
コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、データ編集装置、データ編集方法、コンピュータプログラム、及び、電子カルテシステムに関する。
【背景技術】
【0002】
HTML(Hyper Text Markup Language)等のマークアップ言語によって記述されたデータを表示及び編集する技術が知られている。例えば、特許文献1には、電子カルテへの入力を行うための入力テンプレートHTMLに基づいて、テキストボックス及びコンボボックスといった入力用のボックスを表示し、その入力用のボックスに入力された文字を電子カルテに登録する技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
上述のテンプレートに埋め込まれた入力用のボックスを表示して文字を入力させる方法は、入力された文字とマークアップ言語における要素との対応付けが容易である。しかしながら、当該方法は、文字入力の自由度が低く、例えば医師等が電子カルテを任意に記入することができない。
【0005】
本開示の非限定的な実施例は、入力の自由度が高く、入力された文字とマークアップ言語における要素との対応付けを適切に行うことができる技術の提供に資する。
【課題を解決するための手段】
【0006】
本開示の一態様に係るデータ編集装置は、マークアップ言語で記述されたデータの第1の要素の内容及び前記第1の要素の後方に配置される第2の要素の内容を編集領域に表示する表示制御部と、前記編集領域内の入力位置を示すカーソルが表示された前記第1の要素の内容と前記第2の要素の内容との境界に位置するか判定し、前記カーソルが前記第1の要素の内容と前記第2の要素の内容との境界に位置すると判定した場合、入力された文字を、前記第2の要素の内容と対応付ける入力制御部と、を備える。
【0007】
なお、これらの包括的または具体的な態様は、システム、装置、方法、集積回路、コンピュータプログラム、または、記録媒体で実現されてもよく、システム、装置、方法、集積回路、コンピュータプログラムおよび記録媒体の任意な組み合わせで実現されてもよい。
【発明の効果】
【0008】
本開示によれば、入力の自由度が高く、かつ、入力された文字とマークアップ言語における要素との対応付けを適切に行うことができる。
【0009】
本開示の一態様における更なる利点および効果は、明細書および図面から明らかにされる。かかる利点および/または効果は、いくつかの実施形態並びに明細書および図面に記載された特徴によってそれぞれ提供されるが、1つまたはそれ以上の同一の特徴を得るために必ずしも全てが提供される必要はない。
【図面の簡単な説明】
【0010】
【
図1】一実施の形態に係る電子カルテシステムの構成例を示す図である。
【
図2A】一実施の形態に係る電子カルテのデータ構成の第1例を示す図である。
【
図2B】一実施の形態に係る電子カルテのデータ構成の第1例の続きを示す図である。
【
図3A】一実施の形態に係る第1例の電子カルテの編集領域の表示例を示す図である。
【
図3B】一実施の形態に係る第1例の電子カルテの編集領域において一部を非表示にした場合の例を示す図である。
【
図3C】一実施の形態に係る第1例の電子カルテの編集領域におけるリストの表示例を示す図である。
【
図3D】一実施の形態に係る第1例の電子カルテの編集領域における文字の編集範囲の表示態様の例を示す図である。
【
図4A】一実施の形態に係る電子カルテのデータ構成の第2例を示す図である。
【
図4B】一実施の形態に係る第2例の電子カルテの編集領域の表示例を示す図である。
【
図5A】一実施の形態に係る電子カルテの編集領域における文字装飾の表示例を示す図である。
【
図5B】一般的なHTMLエディタにて文字装飾を行った場合のデータ構成の例を示す図である。
【
図5C】一実施の形態に係る文字装飾を行った場合の電子カルテのデータ構成の例を示す図である。
【
図6】一実施の形態に係るデータ編集装置のリスト表示処理の一例を示すフローチャートである。
【
図7】一実施の形態に係るデータ編集装置の入力されたデータ値の検査処理の一例を示すフローチャートである。
【
図8】一実施の形態に係る電子カルテにおける画像表示用の要素の一例を示す図である。
【
図9】一実施の形態に係る電子カルテにおける画像の表示及び編集の流れ説明するための図である。
【
図10】本開示に係る装置のハードウェア構成例を示す図である。
【発明を実施するための形態】
【0011】
以下、図面を適宜参照して、本発明の実施の形態について、詳細に説明する。但し、必要以上に詳細な説明は省略する場合がある。例えば、既によく知られた事項の詳細説明や実質的に同一の構成に対する重複説明を省略する場合がある。これは、以下の説明が不必要に冗長になるのを避け、当業者の理解を容易にするためである。
【0012】
なお、添付図面および以下の説明は、当業者が本開示を十分に理解するために提供されるのであって、これらにより特許請求の範囲に記載の主題を限定することは意図されていない。
【0013】
また、同種の要素を区別して説明する場合には、「クラス要素400A」、「クラス要素400B」のように参照符号を使用し、同種の要素を区別しないで説明する場合には、「クラス要素400」のように参照符号のうちの共通番号のみを使用することがある。
【0014】
(一実施の形態)
<構成例>
図1は、一実施の形態に係る電子カルテシステムの構成例を示す。
【0015】
電子カルテシステム10は、データ編集装置100、及び、電子カルテ管理装置200を含む。
【0016】
データ編集装置100は、電子カルテの表示、入力及び編集を行うための装置であり、表示制御部101、入力制御部102、及び、入力支援部103を有する。
【0017】
表示制御部101は、液晶モニタといった出力装置への電子カルテの表示を制御する。電子カルテは、HTML又はXHTML(eXtensible HTML)といったマークアップ言語によって記述されたデータである。つまり、表示制御部101は、電子カルテのマークアップ言語を解釈した結果を表示する。なお、電子カルテは、メタデータを含むデータであればよく、マークアップ言語で記述されたデータに限られない。なお、表示制御部101の詳細については後述する。
【0018】
入力制御部102は、電子カルテへの文字の入力を制御する。例えば、入力制御部102は、ユーザがキーボード及びマウス等の入力装置を通じて入力した文字を、電子カルテに反映する。ユーザは、例えば、医師又は看護師といった医療従事者である。なお、本実施の形態における「文字」は、数字及び記号も含む。なお、入力制御部102は、文字の入力に限らず、電子カルテへの画像(例えばイラスト及び写真)の入力も制御する。なお、入力制御部102の詳細については後述する。
【0019】
入力支援部103は、表示制御部101及び入力制御部102と連携し、電子カルテへの入力及び編集を支援する。例えば、入力支援部103は、入力制御部102に対して、入力候補のリストを提供する。ユーザは、提供されたリストの中から入力候補を選択することにより、電子カルテに定型的な文章を簡単に入力できる。また、例えば、入力支援部103は、電子カルテに入力された文字が適正であるか否かを判定する。例えば、体温に対応付けられる文字が入力された場合、入力支援部103は、その入力された文字が数値であるか否かを判定する。これにより、電子カルテに対する誤入力を抑止できる。なお、入力支援部103の詳細については後述する。
【0020】
電子カルテ管理装置200は、電子カルテ及び電子カルテから生成される診療情報を管理するための装置であり、電子カルテ管理部201、及び、診療情報管理部202を有する。
【0021】
電子カルテ管理部201は、電子カルテを管理する。上記のデータ編集装置100は、電子カルテ管理部201によって管理されている電子カルテの入力及び編集を行う。
【0022】
診療情報管理部202は、電子カルテ管理部201によって管理されている電子カルテを解釈して診療情報を生成し、データベースとして管理する。例えば、診療情報管理部202は、電子カルテを記述するマークアップ言語の要素(element)及び属性(attribute)に基づいて、当該要素が有する内容(contents)を解釈して診療情報を生成し、データベースとして管理する。これにより、ユーザは、診療情報管理部202によって管理される診療情報を、様々な観点から検索及び分析できる。
【0023】
<電子カルテの構成例>
図2を参照して、電子カルテのデータの構成例を説明する。
図2に示すように、電子カルテ300は、例えば、HTML又はXHTMLによって記述される。
【0024】
電子カルテ300は、カルテに記入される項目の分類を示すクラス要素400を有する。クラス要素400は、少なくとも1つの子要素を包含する。本実施の形態では、クラス要素400に包含される子要素を「項目要素」500と表記する。なお、クラス要素400を「親要素」と表記してもよい。
【0025】
まず、項目要素500について説明する。項目要素500は、当該項目要素500の内容の分野を示すdata-region属性を有する。data-region属性には、例えば、次の何れかが設定される。
・項目要素500の内容が項目の名称であることを示す「label」
・項目要素500の内容が上記項目に対応する文字であることを示す「text」
・項目要素500の内容が上記文字の単位であることを示す「term」
【0026】
以下、data-region属性「label」の項目要素500を「ラベル要素」501と呼び、data-region属性「text」の項目要素500を「テキスト要素」502と呼び、data-region属性「term」の項目要素500を「単位要素」503と呼ぶ。また、ラベル要素501の内容を「データ項目」、テキスト要素502の内容を「データ値」、単位要素503の内容を「データ単位」と呼ぶ。なお、ラベル要素501、テキスト要素502、及び、単位要素503は、それぞれ、第1の要素、第2の要素、及び、第3の要素の一例である。
【0027】
次に、クラス要素400について説明する。クラス要素400は、クラスの分類を示すdata-class属性、クラス要素400が包含する項目要素500のタイプを示すdata-type属性、及び、クラス要素400が包含するテキスト要素502の内容(つまりデータ値)のタイプを示すdata-edittype属性を有する。
【0028】
data-class属性には、例えば、
図2に示すように、chief-complaint(主訴)、beginning-period(時期)、body-temperature(体温)、bloodpressure(血圧)など、電子カルテ300に記入される項目が設定される。
【0029】
data-type属性には、例えば、次の何れかが設定される。
・クラス要素400が単体の項目要素500を包含することを示す「Item」
・クラス要素400が複数の「Item」をセットとして包含することを示す「ItemSet」
・クラス要素400の内容を自由に編集できることを示す「Field」
【0030】
data-type属性「Item」のクラス要素400には、編集において「Item」、「ItemSet」及び「Filed」を追加挿入できない。data-type属性「ItemSet」のクラス要素400には、複数の「Item」を定義可能であるが、編集において「Item」、「ItemSet」及び「Field」を追加挿入できない。data-type属性「Filed」のクラス要素400には、編集においてdata-type属性「Item」及び「ItemSet」のクラス要素400を追加挿入できる。
【0031】
data-edittype属性には、例えば、次の何れかが設定される。
・データ値が文字であることを示す「text」
・データ値がリストからの選択であることを示す「list」
・データ値が数値であることを示す「number」
【0032】
クラス要素400に包含される項目要素500は、クラス要素400のdata-class属性毎に予め定められてよい。
【0033】
例えば、
図2Aに示す、data-class属性「chief-complaint(主訴)」のクラス要素400Aは、次のラベル要素501A、テキスト要素502A、及び、単位要素503Aを包含している。
・データ項目「主訴:」を有するラベル要素501A
・データ値「倦怠感がある」を有するテキスト要素502A
・データ単位がNULLである単位要素503A
【0034】
例えば、
図2Aに示す、data-class属性「beginning-period(時期)」のクラス要素400Bは、次のラベル要素501B、テキスト要素502B、及び、単位要素503Aを包含している。
・データ項目「時期:」を有するラベル要素501B
・データ値「いつから?」を有するテキスト要素502B
・データ単位がNULLである単位要素503B
【0035】
例えば、
図2Aに示す、data-class属性「body-temperature(体温)」のクラス要素400Cは、次のラベル要素501C、テキスト要素502C、及び、単位要素503Cを包含している。
・データ項目「体温:」を有するラベル要素501C
・データ値「38.5」を有するテキスト要素502C
・データ単位「℃」を有する単位要素503C
【0036】
例えば、
図2Bに示す、data-class属性「bloodpressure(血圧)」のクラス要素400Dは、次のラベル要素501D、テキスト要素502D、及び、単位要素503Dを包含している。
・データ項目「血圧:」を有するラベル要素501D
・収縮期血圧のクラス要素400Eと拡張期血圧のクラス要素400Fとのセットを有するテキスト要素502D
・データ値「mmHg」を有する単位要素503D
このように、クラス要素400Dがdata-type属性「ItemSet」である場合、項目要素500は、data-type属性「Item」のクラス要素400E、400Fを包含できる。
【0037】
<電子カルテの表示及び編集>
図3Aから
図3Dは、電子カルテ300Aの表示例を示す。
【0038】
図3Aに示すように、表示制御部101は、
図2に示す電子カルテ300Aの要素を解釈し、その結果を編集領域600Aに表示する。例えば、表示制御部101は、電子カルテ300Aにおけるラベル要素501の内容(データ項目)、テキスト要素502の内容(データ値)、及び、単位要素503の内容(データ単位)を、編集領域600Aに表示する。
【0039】
<<表示制御>>
ラベル要素501及び単位要素503は、要素の内容の表示態様を示すstyle属性を有してよい。表示制御部101は、ラベル要素501又は単位要素503のstyle属性に、要素の内容の非表示を示す「display:none」が設定されている場合、当該要素の内容に代えて、空白615を表示する。なお、
図3Aから
図3D、
図4B、
図5Bでは、説明のために空白615を矩形の点線で表現しているが、この矩形の点線は実際には表示されない。
【0040】
例えば、
図2Bに示すように、データ項目「収縮期血圧:」を有するラベル要素501E、及び、データ単位「mmHg」を有する単位要素503Eには、style属性「display:none」が設定されている。よって、表示制御部101は、
図3Aに示すように、データ項目「収縮期血圧:」の表示に代えて空白615Aを表示し、データ単位「mmHg」に代えて空白615Bを表示する。
【0041】
空白615は、全角の空白文字又は半角の空白文字であってよい。或いは、空白615は、半角の空白文字よりも幅の狭い空白文字であってもよい。半角の空白文字よりも幅の狭い空白文字は、例えば、UnicodeのTHIN SPACE(U+2009)、又は、HAIR SPACE(U+200A)である。このように、幅の狭い空白を用いることにより、データ項目又はデータ単位の文字を完全に非表示にした場合とほとんど変わらないレイアウトで、電子カルテ300を表示及び印刷できる。
【0042】
また、データ項目及びデータ単位の表示及び非表示は、切り替え可能であってよい。例えば、ユーザが、データ単位「℃」の表示範囲にカーソル610Aを移動させ、非表示の操作を行った場合、表示制御部101は、
図3Bの編集領域600Bに示すように、データ単位「℃」の表示を、空白615Cに置き換えてもよい。この場合、入力制御部102は、data-class属性「体温」のクラス要素400Cに包含される単位要素503Cのstyle属性に「display:none」を設定してもよい。
【0043】
<<リスト表示>>
data-edittype属性「list」のクラス要素400に包含されるデータ値の表示範囲にカーソルが位置する場合、入力制御部102は、data-class属性に予め対応付けられている所定の入力候補を含むリストを表示する。
【0044】
例えば、
図3Cの編集領域600Cに示すように、data-class属性「beginning-period」及びdata-edittype属性「list」を有するクラス要素400に包含されるデータ値の表示範囲「いつから?」にカーソルが位置する場合、入力制御部102は、次の処理を行う。すなわち、入力制御部102は、data-class属性「beginning-period」に予め対応付けられている複数の入力候補を含むリスト620を表示する。ここで、ユーザが、このリスト620の中から入力候補「昨夜から」621を選択した場合、入力制御部102は、
図3Cの編集領域600Dに示すように、データ値「いつから?」を、この選択された「昨夜から」に変更する。これにより、ユーザは、data-class属性に応じた定型的なデータ値を、素早く入力できる。
【0045】
なお、リスト620には自由入力を行うための選択肢622が含まれてもよい。入力制御部102は、この自由入力を行うための選択肢622が選択された場合、データ値に対する自由入力を受け付ける。
【0046】
<<編集範囲の表示>>
表示制御部101は、編集可能な文字の範囲と、編集不可能な文字の範囲とを互いに異なる態様で表示してもよい。例えば、
図3Dの編集領域600Eに示すように、表示制御部101は、編集不可能な文字の表示範囲631(例えばデータ項目及びデータ単位の表示範囲)の背景をグレーで表示し、編集可能な文字の表示範囲(例えばデータ値の表示範囲)を、グレーの背景とは異なる態様で表示する。これにより、ユーザは、どの範囲の文字が編集可能であるかを一目で認識できる。
【0047】
また、表示制御部101は、データ値の表示範囲を、data-edittype属性毎に異なる態様にて表示してもよい。例えば、
図3Dの編集領域600Eに示すように、表示制御部101は、data-edittype属性「list」が対応付けられているデータ値の表示範囲632の背景を縦縞で表示する。表示制御部101は、data-edittype属性「text」が対応付けられているデータ値の表示範囲633を点線で囲んで表示する。表示制御部101は、data-edittype属性「number」が対応付けられているデータ値の表示範囲634を実線で囲んで表示する。これにより、ユーザは、データ値の編集方法を簡単に認識できる。
【0048】
ただし、
図3Dに示す表示態様は一例である。例えば、表示制御部101は、文字の背景を、編集可能か否か、及び、data-edittype属性毎に、異なる色で表示してもよい。また、上記の表示のオン/オフは、ユーザの操作によって切り替え可能であってもよい。
【0049】
<<入力制御>>
図4Aに示す電子カルテ300Bと、
図4Bに示す電子カルテ300Bの表示例とを参照して、カーソル位置への文字入力の制御の例を示す。
【0050】
入力制御部102は、例えば、クラス要素400のdata-class属性に対応するボタン(図示せず)を提供する。この場合、入力制御部102は、ユーザが押下したボタンに対応するdata-class属性を特定し、その特定したdata-class属性に対して予め定められている各項目要素500の内容を編集領域600に表示する。これにより、電子カルテ300に対する定型的な項目の入力の手間が軽減される。
【0051】
入力制御部102は、編集領域600F内に、入力位置を示すカーソル610Bを表示する。入力制御部102は、データ項目の表示範囲内、及び、データ単位の表示範囲内にカーソルが位置する場合、データ項目及びデータ単位に対する入力を受け付けない又は破棄してもよい。一方、入力制御部102は、データ値の表示範囲内にカーソルが位置する場合、文字の入力を受け付けてもよい。
【0052】
ここで、データ項目とデータ値との境界にカーソル610Bが位置する場合、一般的なHTMLエディタであれば、入力された文字は、カーソル610の位置の前方の要素の内容であるデータ項目に含まれてしまう。これに対して、本実施の形態における入力制御部102は、データ項目とデータ値との境界にカーソル610Bが位置する場合、入力された文字をデータ値に含める。また、入力制御部102は、データ値とデータ単位(
図4Bでは非表示)との境界にカーソル610Cが位置する場合も、入力された文字をデータ値に含める。つまり、入力制御部102は、データ値とデータ単位との境界を、データ値の表示範囲内に含める。
【0053】
例えば、
図4Bに示すように、データ項目「視力:」とデータ値「1.0」との境界にカーソル610Bが位置し、文字が入力された場合、入力制御部102は、入力された文字をデータ値「1.0」の方に含める。これにより、データ項目とデータ値との境界に入力された文字を、ラベル要素501Gではなく、テキスト要素502Gに適切に対応付けることができる。
【0054】
データ値「1.0」とデータ単位に対応する空白615Dとの境界にカーソル610Bが位置し、文字が入力された場合、入力制御部102は、入力された文字をデータ値「1.0」の方に含める。データ単位に対応する空白615Dと、自由入力文字「でした。」との境界にカーソル610Dが位置し、文字が入力された場合、入力制御部102は、入力された文字を自由入力文字の方に含める。このように、空白615Dを表示することにより、ユーザに対して、カーソルの位置に入力した文字が対応付けられる要素を認識させることができる。
【0055】
<<文字装飾>>
入力制御部102は、文字の装飾を受け付けてもよい。文字の装飾は、例えば、太字、斜体、下付き、上付き、下線、色等である。
【0056】
例えば、
図5Aに示すように、ユーザが、編集領域600Gに表示されている文字列「モ:昨夜から」641に対して下線の装飾の操作を行った場合、入力制御部102は、その文字列「モ:昨夜から」641に対して下線を引く装飾を行う。この場合、入力制御部102は、
図5Cに示すように、電子カルテ300Cのデータに、この装飾を示す要素を追加してもよい。ここで、一般的なHTMLエディタにおいて、複数の項目要素を跨がって文字列を装飾する場合、
図5Bに示すように、装飾を示す要素(
図5Bでは<u></u>タグ)も複数の項目要素を跨がってしまう。これに対して、本実施の形態に係る入力制御部102は、複数の項目要素を跨がって文字列を装飾する場合、
図5Cに示すように、1つの項目要素内にて装飾を示す要素が閉じるように、電子カルテ300Cを修正する。
【0057】
<リスト表示処理>
次に、
図6に示すフローチャートを参照して、リスト620の表示処理の一例を説明する。
【0058】
入力制御部102は、カーソル610の移動が検出されるまで待機し(S101:NO)、カーソル610の移動を検出した場合(S101:YES)、S102に進む。
【0059】
入力制御部102は、カーソル610がデータ値の表示範囲内に位置するか否かを判定する(S102)。ここで、入力制御部102は、データ項目とデータ値との境界にカーソル610が位置する場合も、データ値の表示範囲内と判定する。入力制御部102は、カーソル610がデータ値の表示範囲内に位置しない場合(S102:NO)、本処理を終了する(END)。
【0060】
入力制御部102は、カーソル610がデータ値の表示範囲内に位置する場合(S102:YES)、カーソル610がデータ値の表示範囲内に位置することを示すイベント情報(以下「第1のイベント情報」という)を、入力支援部103へ通知する(S103)。このとき、入力制御部102は、当該データ値を包含するクラス要素400のdata-class属性及びdata-edittype属性を、第1のイベント情報に含める。
【0061】
入力支援部103は、第1のイベント情報を受信した場合、第1のイベント情報に含まれるdata-edittype属性を識別する(S104)。
【0062】
入力支援部103は、S104にて識別したdata-edittype属性が「list」である場合、第1のイベント情報に含まれるdata-class属性に予め対応付けられているリスト情報を、入力制御部102へ通知する(S105)。
【0063】
入力制御部102は、通知されたリスト情報に基づいてリスト620を表示する(S106)。
【0064】
ユーザは、表示されたリスト620の中から1つの入力候補を選択する(S107)。
【0065】
入力制御部102は、その選択された入力候補をデータ値に入力し(S108)、本処理を終了する(END)。
【0066】
以上の処理によれば、ユーザは、リスト620から入力候補を選択することにより、定型的な文章を簡単に電子カルテ300に入力できる。
【0067】
<データ値の検査処理>
次に、
図7に示すフローチャートを参照して、入力されたデータ値の検査処理の一例を説明する。
【0068】
入力制御部102は、カーソル610の移動が検出されるまで待機し(S201:NO)、カーソル610の移動を検出した場合(S201:YES)、S202に進む。
【0069】
入力制御部102は、カーソル610がデータ値の表示範囲外に移動したか否かを判定する(S202)。ここで、入力制御部102は、データ項目とデータ値との境界にカーソル610が位置する場合は、データ値の表示範囲内と判定する。入力制御部102は、カーソル610がデータ値の表示範囲外に移動してしない場合(S202:NO)、本処理を終了する(END)。
【0070】
入力制御部102は、カーソル610がデータ値の表示範囲外に移動した場合(S202:YES)、カーソル610がデータ値の表示範囲外に移動したことを示すイベント情報(以下「第2のイベント情報」という)を、入力支援部103へ通知する(S203)。このとき、入力制御部102は、当該データ値を包含するクラス要素400のdata-class属性と、当該データ値とを、第2のイベント情報に含める。
【0071】
入力支援部103は、第2のイベント情報を受信した場合、第2のイベント情報に含まれるdata-class属性に基づいて、第2のイベント情報に含まれるデータ値を検査する(S204)。例えば、入力支援部103は、data-class属性が「体温」の場合、データ値が数値であること及びデータ値が体温として適切な範囲内であることなどを検査する。
【0072】
入力支援部103は、S204の検査結果がOK又はNGの何れであるかを判定する(S205)。入力支援部103は、判定がOKの場合(S205:OK)、入力制御部102に対して、データ値の検査結果がOKであることを通知する。この通知を受けた入力制御部102は、このデータ値を確定し(S206)、本処理を終了する(END)。
【0073】
一方、入力支援部103は、判定がNGの場合(S205:NG)、入力されたデータ値は不適当であることを示すエラーメッセージを表示する(S207)。そして、入力支援部103は、入力制御部102に対して、データ値の検査結果がNGであることを通知する。この通知を受けた入力制御部102は、入力されたデータ値を破棄し(つまり元のデータ値に戻し)(S208)、本処理を終了する(END)。
【0074】
以上に処理によれば、ユーザが電子カルテ300に誤ったデータ値を入力することを防止できる。
【0075】
<画像の表示及び編集>
図8は、画像を表示する電子カルテ300Dの一例を示す。
【0076】
図8に示すように、画像表示用のクラス要素400Fは、data-class属性に画像IDを有し、data-edittype属性に「picture」を有する。また、画像表示用のクラス要素400Fは、イメージ要素510を包含する。画像表示用のクラス要素400は、上述したラベル要素501、テキスト要素502及び単位要素503を包含しなくてもよい。或いは、画像表示用のクラス要素400は、上述したラベル要素501、テキスト要素502及び単位要素503のうちの少なくとも1つを包含してもよい。
【0077】
イメージ要素510は、表示対象の画像ファイルへのリンク情報、及び、画像ファイルの表示方法等を示す属性を有してもよい。
【0078】
次に、
図9を参照して、電子カルテ300Dにおける画像の表示及び編集の例を説明する。
【0079】
表示制御部101は、画像表示用のクラス要素400を解析し、編集領域600に、イメージ要素510が示す画像を表示する(S301)。
【0080】
入力制御部102は、画像の選択(クリック)を検出した場合、入力支援部103に対して、画像が選択されたことを示す第3のイベント情報を通知する(S302)。このとき、入力制御部102は、第3のイベント情報に、画像表示用のクラス要素400のdata-class属性及びdata-edittype属性と、イメージ要素の画像ファイルへのリンク情報とを、含める。
【0081】
入力支援部103は、第3のイベント情報を受信した場合、第3のイベント情報に含まれる画像ファイルへのリンク情報を、所定の画像編集用アプリケーション110に通知する(S303)。
【0082】
ユーザは、画像編集用アプリケーション110に表示された画像を編集する(S304)。画像編集用アプリケーション110は、画像の編集が完了した場合、その旨を入力支援部103に通知する(S305)。
【0083】
入力支援部103は、画像編集用アプリケーション110から編集の完了通知を受信した場合、表示制御部101に対して、イメージ要素510が示す画像ファイルの表示の更新を指示する(S306)。
【0084】
表示制御部101は、S306の指示を受けた場合、画像ファイルの表示を更新する(S307)。
【0085】
以上の処理により、ユーザは、電子カルテ300の画像を簡単に編集できる。
【0086】
(本開示のまとめ)
本開示に示すデータ編集装置100は、表示制御部101及び入力制御部102を有する。表示制御部101は、マークアップ言語で記述された電子カルテ300(データ)のラベル要素501(第1の要素)の内容及びテキスト要素502(第2の要素)の内容を表示する。入力制御部102は、表示されたラベル要素501(第1の要素)の内容及びテキスト要素502(第2の要素)の内容との境界に入力された文字を、テキスト要素502の内容に含める。
【0087】
この構成によれば、入力用のボックスを表示しなくても、入力された文字とマークアップ言語における要素とを適切に対応付けることができる。よって、入力の自由度が高く、入力された文字とマークアップ言語における要素との対応付けを適切に行うことができるデータ編集装置100を提供できる。
【0088】
以上、本開示に係る実施形態について図面を参照して詳述してきたが、上述したデータ編集装置100及び電子カルテ管理装置200の機能は、コンピュータプログラムにより実現され得る。
【0089】
図10は、各装置の機能をプログラムにより実現するコンピュータのハードウェア構成を示す図である。このコンピュータ2100は、キーボード又はマウス、タッチパッドなどの入力装置2101、ディスプレイ又はスピーカーなどの出力装置2102、CPU(Central Processing Unit)2103、ROM(Read Only Memory)2104、RAM(Random Access Memory)2105、ハードディスク装置又はSSD(Solid State Drive)などの記憶装置2106、DVD-ROM(Digital Versatile Disk Read Only Memory)又はUSB(Universal Serial Bus)メモリなどの記録媒体から情報を読み取る読取装置2107、ネットワークを介して通信を行う通信装置2108を備え、各部はバス2109により接続される。
【0090】
そして、読取装置2107は、上記各装置の機能を実現するためのプログラムを記録した記録媒体からそのプログラムを読み取り、記憶装置2106に記憶させる。あるいは、通信装置2108が、ネットワークに接続されたサーバ装置と通信を行い、サーバ装置からダウンロードした上記各装置の機能を実現するためのプログラムを記憶装置2106に記憶させる。
【0091】
そして、CPU2103が、記憶装置2106に記憶されたプログラムをRAM2105にコピーし、そのプログラムに含まれる命令をRAM2105から順次読み出して実行することにより、上記各装置の機能が実現される。
【0092】
本開示はソフトウェア、ハードウェア、又は、ハードウェアと連携したソフトウェアで実現することが可能である。
【0093】
上記実施の形態の説明に用いた各機能ブロックは、部分的に又は全体的に、集積回路であるLSIとして実現され、上記実施の形態で説明した各プロセスは、部分的に又は全体的に、一つのLSI又はLSIの組み合わせによって制御されてもよい。LSIは個々のチップから構成されてもよいし、機能ブロックの一部または全てを含むように一つのチップから構成されてもよい。LSIはデータの入力と出力を備えてもよい。LSIは、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
【0094】
集積回路化の手法はLSIに限るものではなく、専用回路、汎用プロセッサ又は専用プロセッサで実現してもよい。また、LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。本開示は、デジタル処理又はアナログ処理として実現されてもよい。
【0095】
さらには、半導体技術の進歩または派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用等が可能性としてありえる。
【産業上の利用可能性】
【0096】
本開示の一態様は、メタデータの入力及び編集に有用である。
【符号の説明】
【0097】
10 電子カルテシステム
100 データ編集装置
101 表示制御部
102 入力制御部
103 入力支援部
200 電子カルテ管理装置
201 電子カルテ管理部
202 診療情報管理部
300、300A~300C 電子カルテ
400、400A~400G クラス要素
500 項目要素
501、501A~501G ラベル要素
502、502A~502G テキスト要素
503、503A~503G 単位要素