(57)【要約】【課題】コードシンボルに保持された暗号化データをユーザの属性に応じてアクセス制御することが可能なコード生成装置及びコード復号装置を提供する。【解決手段】ユーザの属性を示すユーザ属性毎に固有の暗号鍵を保持する暗号鍵保持手段と、暗号化の対象となる対象データを、当該対象データの属性に対応するユーザ属性の暗号鍵を用いて暗号化し、ユーザ属性毎の暗号化データを生成する暗号化手段と、前記暗号化データを用いてコードシンボルを生成するコードシンボル生成手段と、前記コードシンボルを出力する出力手段と、を備える。【選択図】図４
2014027413.tif 000002
【特許請求の範囲】
【請求項１】
ユーザの属性を示すユーザ属性毎に固有の暗号鍵を保持する暗号鍵保持手段と、
暗号化の対象となる対象データを、当該対象データの属性に対応するユーザ属性の暗号鍵を用いて暗号化し、ユーザ属性毎の暗号化データを生成する暗号化手段と、
前記暗号化データを用いてコードシンボルを生成するコードシンボル生成手段と、
前記コードシンボルを出力する出力手段と、
を備えるコード生成装置。
【請求項２】
前記コードシンボル生成手段は、前記暗号化データと当該暗号化データの暗号化に用いられた暗号鍵のユーザ属性とを関連付けたコードデータを保持する前記コードシンボルを生成する請求項１に記載のコード生成装置。
【請求項３】
前記暗号鍵保持手段は、前記ユーザ属性毎に公開鍵暗号方式で生成された公開鍵と秘密鍵との組のうち、前記公開鍵を前記暗号鍵として保持する請求項１に記載のコード生成装置。
【請求項４】
ユーザの属性を示すユーザ属性毎に固有の復号鍵を保持する復号鍵保持手段と、
特定のユーザ属性を指定する指示を受け付ける受付手段と、
前記復号鍵に対応する暗号鍵を用いて暗号化された暗号化データを保持するコードシンボルから読み取られたコードデータに含まれる前記暗号化データを、前記指示されたユーザ属性用の復号鍵を用いて復号する復号手段と、
前記復号された暗号化データを出力する出力手段と、
を備えるコード復号装置。
【請求項５】
前記コードデータは、前記暗号化データと、当該暗号化データの暗号化に用いられた暗号鍵のユーザ属性とを関連付けて保持し、
前記復号手段は、前記コードデータに含まれる暗号データのうち、前記指示されたユーザ属性に関連付けられた暗号データを復号する請求項４に記載のコード復号装置。
【請求項６】
前記復号鍵保持手段は、前記ユーザ属性毎に公開鍵暗号方式で生成された公開鍵と秘密鍵との組のうち、前記秘密鍵を前記復号鍵として保持する請求項４に記載のコード復号装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、コード生成装置及びコード復号装置に関する。
【背景技術】
【０００２】
従来、医療データ等のデジタルデータのセキュリティを向上させるため、デジタルデータを暗号化することが行われている。また、従来、デジタルデータの閲覧権限を有する者に暗号化されたデジタルデータの復号鍵の一部を配布しておき、デジタルデータの所有者から復号鍵を復元可能な残りの情報を閲覧者に与えることで、デジタルデータの復号（アクセス）を制御する技術が提案されている。
（或いは復号鍵の復元に必要な情報）
【発明の概要】
【発明が解決しようとする課題】
【０００３】
ところで、暗号化されたデジタルデータを二次元コード等のコードシンボルにコード化する技術が存在している。しかしながら、従来の技術では、コードシンボルに保持された暗号化データを、閲覧者の属性に応じてアクセス制御することができないという問題がある。
【課題を解決するための手段】
【０００４】
実施の形態のコード生成装置は、暗号鍵保持手段と、暗号化手段と、コードシンボル生成手段と、出力手段とを備える。暗号鍵保持手段は、ユーザの属性を示すユーザ属性毎に固有の暗号鍵を保持する。暗号化手段は、暗号化の対象となる対象データを、当該対象データの属性に対応するユーザ属性の暗号鍵を用いて暗号化し、ユーザ属性毎の暗号化データを生成する。コードシンボル生成手段は、前記暗号化データを用いてコードシンボルを生成する。出力手段は、前記コードシンボルを出力する。
【図面の簡単な説明】
【０００５】
【図１】図１は、実施形態に係る業務支援システムの構成を概略的に示す図である。
【図２】図２は、図１に示した電子カルテ管理サーバの構成の一例を示す図である。
【図３】図３は、実施形態に係る電子カルテのデータ構造の一例を模式的に示す図である。
【図４】図４は、図１に示したコード生成装置の構成の一例を示す図である。
【図５】図５は、図４に示した暗号鍵管理テーブルのデータ構造の一例を示す図である。
【図６】図６は、図４に示したコード生成部が生成するコードシンボルのフォーマットの一例を示す図である。
【図７】図７は、図４に示したコード生成部が生成するコードシンボルのフォーマットの一例を示す図である。
【図８】図８は、図１に示したコード読取装置の構成の一例を示す図である。
【図９】図９は、図１に示したコード復号装置の構成の一例を示す図である。
【図１０】図１０は、図９に示した復号鍵管理テーブルのデータ構造の一例を示す図である。
【図１１】図１１は、実施形態に係るコードシンボル生成処理の流れを示すシーケンス図である。
【図１２】図１２は、実施形態に係るコードシンボル復号処理の流れを示すシーケンス図である。
【発明を実施するための形態】
【０００６】
以下、添付図面を参照して、本発明に係るコード生成装置及びコード復号装置の実施形態を詳細に説明する。なお、以下では、本発明を、医師、看護師及び薬剤師の業務支援を行う業務支援システムに適用した例を説明するが、この実施形態によりこの発明が限定されるものではない。
【０００７】
図１は、本実施形態に係る業務支援システム１の構成を概略的に示す図である。同図に示すように、業務支援システム１は、電子カルテ管理サーバ１０と、コード生成装置２０と、コード読取装置３０と、コード復号装置４０とを有する。ここで、電子カルテ管理サーバ１０は、図示しないネットワークを介してコード生成装置２０及びコード復号装置４０と通信可能に接続されている。また、コード読取装置３０は、図示しないネットワークを介してコード復号装置４０と通信可能に接続されている。なお、業務支援システム１に含まれる各装置の個数は特に問わないものとする。
【０００８】
電子カルテ管理サーバ１０は、各患者の電子カルテを記憶・管理する、ＰＣ（Personal  Computer）やサーバ装置等の情報処理装置である。
【０００９】
図２は、電子カルテ管理サーバ１０の構成の一例を示す図である。同図に示すように、電子カルテ管理サーバ１０は、情報処理を実行するマイクロコンピュータとして、ＣＰＵ（Central  Processing  Unit）１１、ＲＯＭ（Read  Only  Memory）１２及びＲＡＭ（Random  Access  Memory）１３を備えている。
【００１０】
ＣＰＵ１１は、ＲＯＭ１２や後述する記憶部１７に記憶された各種プログラムを実行することにより、電子カルテ管理サーバ１０の動作を統括的に制御する。ＲＯＭ１２は、基本動作を行うためのプログラムを記憶している。ＲＡＭ１３は、電子カルテ管理サーバ１０の主記憶装置であって、ＣＰＵ１１のワークエリアとして機能する。
【００１１】
また、ＣＰＵ１１には、各種の入出力回路（図示せず）を介して、入力部１４及び表示部１５が接続されている。入力部１４は、キーボードやポインティングデバイス等の入力デバイスであって、電子カルテ管理サーバ１０のユーザから入力された操作内容をＣＰＵ１１に通知する。表示部１５は、ＬＣＤ等の表示デバイスを有し、ＣＰＵ１１の指示に従い各種の情報を表示する。
【００１２】
また、ＣＰＵ１１には、各種の入出力回路（図示せず）を介して、通信Ｉ／Ｆ１６及び記憶部１７が接続されている。
【００１３】
通信Ｉ／Ｆ１６は、図示しないネットワークに接続するためのインタフェースである。通信Ｉ／Ｆ１６は、ネットワークを介して、外部装置（コード生成装置２０、コード復号装置４０等）との間で各種情報の授受を行う。
【００１４】
記憶部１７は、ＨＤＤ（Hard  Disk  Drive）やフラッシュメモリ等の記憶媒体であって、電子カルテ管理サーバ１０の動作に係る各種プログラム及び各種ファイルを記憶している。また、記憶部１７は、各患者の電子カルテを記憶・管理するための電子カルテＤＢ（データベース）１７１を保持している。電子カルテには、患者の個人情報や診療記録等を記した各種のデータが格納されている。各データには、そのデータを利用するユーザの属性に応じたデータ属性が関連付けられている。
【００１５】
ここで、図３は、電子カルテのデータ構造の一例を模式的に示す図である。同図に示すように、電子カルテを構成する構成データの各々には、データ属性が関連付けて保持されている。ここで、データ属性は、後述する各ユーザ属性“共通”、“医師”、“看護師”、“薬剤師”と対応付けて予め定められている。なお、データ属性“共通”は、医師、看護師及び薬剤師を包含するユーザの属性、つまり複数の属性間で共通して用いられる構成データを意味する。以下、データ属性“共通”が関連付けられた構成データを「共通データ」という。
【００１６】
各構成データには、その構成データを主に利用するユーザのユーザ属性に対応するデータ属性が関連付けられる。例えば、患者名、患者ＩＤ、カルテＩＤ等の構成データは、電子カルテの識別（検索）や患者の識別等、医師、看護師及び薬剤師の間で共通して利用されるため、データ属性“共通”が関連付けされている。なお、電子カルテを識別可能な構成データ（例えば、上述した患者ＩＤ、カルテＩＤ等）には、データ属性“共通”が関連付けされるものとする。
【００１７】
データ属性“医師”は、例えば、担当医師名、処置内容（診断内容）、処方箋等、医師が利用する構成データに関連付けされている。ここで、データ属性“医師”が関連付けされた構成データのうち、インデックスデータ（インデックスデータ＃１）は、このデータ属性“医師”が関連付けられた全ての構成データを読み出すためのインデックスとして機能する。
【００１８】
また、データ属性“看護師”は、例えば、担当看護師名、検査項目、検査結果等、看護師が利用するデータに関連付けされている。ここで、データ属性“看護師”が関連付けされた構成データのうち、インデックスデータ（インデックスデータ＃２）は、このデータ属性“看護師”が関連付けられた全ての構成データを読み出すためのインデックスとして機能する。
【００１９】
また、データ属性“薬剤師”は、例えば、担当薬剤師名、処方薬の内訳等、薬剤師が利用するデータに関連付けされている。ここで、データ属性“薬剤師”が関連付けされた構成データのうち、インデックスデータ（インデックスデータ＃３）は、このデータ属性“薬剤師”が関連付けられた全ての構成データを読み出すためのインデックスとして機能する。
【００２０】
以下、各インデックスデータにより読み出される構成データ（同一のデータ属性が関連付けられた構成データ）を「本文データ」という。なお、データ属性の関連付け方法は特に問わず、例えば、ＸＭＬ（Extensible  Markup  Language）等を用いることで、各データにデータ属性を関連付ける形態としてもよいし、電子カルテとは異なる別ファイルにて構成データとデータ属性との関連付けを定義する形態としてもよい。また、同一の構成データに複数のデータ属性を関連付ける形態としてもよい。例えば、医師が発行する処方箋は看護師及び薬剤師にも関係するため、処方箋の構成データをデータ属性“医師”、“看護師”及び“薬剤師”に関連付ける形態としてもよい（図３参照）。また、看護師の三点確認用の構成データ（担当看護師名、患者名、処方箋（薬剤名））を、データ属性“看護師”に関連付ける形態としてもよい（図３参照）。
【００２１】
次に、電子カルテ管理サーバ１０が有する特徴的な機能について説明する。ＣＰＵ１１は、ＲＯＭ１２や記憶部１７に記憶された所定のプログラムとの協働により、図２に示すように、第１データ提供部１１１及び第２データ提供部１１２を、機能部として実現させる。
【００２２】
第１データ提供部１１１は、コード生成装置２０から送信される後述する第１取得要求に応じて、電子カルテＤＢ１７１に記憶された各電子カルテから、暗号化の対象となる構成データ（以下、対象データという）を読み出し、コード生成装置２０に送信（提供）する。ここで、対象データの種類や個数は任意に設定できるものとするが、本実施形態では、データ属性“共通”と共通データとの組と、他のデータ属性（医師、看護師、薬剤師）とそのインデックスデータとの組と、を対象データとして電子カルテから読み出すものとする。
【００２３】
第２データ提供部１１２は、コード復号装置４０から送信される第２取得要求に応じて、この第２取得要求で指定される電子カルテから本文データを読み出し、コード復号装置４０に送信（提供）する。なお、第２データ提供部１１２の詳細については後述する。
【００２４】
図１に戻り、コード生成装置２０は、対象データを暗号化した暗号化データを、二次元コード等のコードシンボルにコード化するＰＣやサーバ装置等の情報処理装置である。
【００２５】
図４は、コード生成装置２０の構成の一例を示す図である。同図に示すように、コード生成装置２０は、情報処理を実行するマイクロコンピュータとして、ＣＰＵ２１、ＲＯＭ２２及びＲＡＭ２３を備えている。
【００２６】
ＣＰＵ２１は、ＲＯＭ２２や後述する記憶部２８に記憶された各種プログラムを実行することにより、コード生成装置２０の動作を統括的に制御する。ＲＯＭ２２は、基本動作を行うためのプログラムを記憶している。ＲＡＭ２３は、コード生成装置２０の主記憶装置であって、ＣＰＵ２１のワークエリアとして機能する。
【００２７】
また、ＣＰＵ２１には、各種の入出力回路（図示せず）を介して、入力部２４及び表示部２５が接続されている。入力部２４は、キーボードやポインティングデバイス等の入力デバイスであって、コード生成装置２０のユーザから入力された操作内容をＣＰＵ２１に通知する。表示部２５は、ＬＣＤ等の表示デバイスを有し、ＣＰＵ２１の指示に従い各種の情報を表示する。
【００２８】
また、ＣＰＵ２１には、各種の入出力回路（図示せず）を介して、通信Ｉ／Ｆ２６、出力部２７、記憶部２８が接続されている。
【００２９】
通信Ｉ／Ｆ２６は、図示しないネットワークに接続するためのインタフェースである。通信Ｉ／Ｆ２６は、ネットワークを介して、他の装置との間で各種情報の授受を行う。
【００３０】
出力部２７は、印刷装置であって、コード生成装置２０で生成されたコードシンボルを、所定の用紙に出力（印刷）する。なお、出力部２７は、コード生成装置２０に内蔵される形態としてもよいし、コード生成装置２０に外付けされる形態としてもよい。
【００３１】
記憶部２８は、ＨＤＤやフラッシュメモリ等の記憶媒体であって、コード生成装置２０の動作に係る各種プログラム及び各種ファイルを記憶している。また、記憶部２８は、暗号鍵を記憶・管理するための暗号鍵管理テーブル２８１を保持している。
【００３２】
暗号鍵管理テーブル２８１は、本システムに係るユーザの属性（ユーザ属性）毎に、データの暗号化に用いる暗号鍵を管理している。ここで、ユーザ属性は、例えば、職種や役職、各個人等の所定の基準で区分けしたものを用いることができる。なお、本実施形態では“医師”、“看護師”及び“薬剤師”の３つの職種に、これらの職種を包含する概念である“共通”を加えた４つのユーザ属性を用いるものとする。また、本実施形態では、各ユーザ属性の暗号鍵として、後述するコード復号装置４０で生成された公開鍵を用いるものとする。
【００３３】
図５は、暗号鍵管理テーブル２８１のデータ構造の一例を示す図である。同図に示すように、暗号鍵管理テーブル２８１は、データ項目として「ユーザ属性」と、「暗号鍵」とを有し、これらを関連付けて管理している。ここで、データ項目「ユーザ属性」には、医師、看護師、薬剤師、共通等の各ユーザ属性を表す識別子が格納される。また、データ項目「暗号鍵」には、コード復号装置４０で生成された対応するユーザ属性用の公開鍵が格納される。
【００３４】
次に、コード生成装置２０が有する特徴的な機能について説明する。ＣＰＵ２１は、ＲＯＭ２２や記憶部２８に記憶された所定のプログラムとの協働により、図４に示すように、対象データ取得部２１１、暗号化処理部２１２、コード生成部２１３及び出力処理部２１４を、機能部として実現させる。
【００３５】
対象データ取得部２１１は、通信Ｉ／Ｆ２６を用いて、電子カルテ管理サーバ１０に第１取得要求を送信することで、当該電子カルテ管理サーバ１０から暗号化の対象となる対象データ（データ属性“共通”と共通データとの組、医師、看護師及び薬剤師のデータ属性とインデクスデータとの組）を取得する。なお、対象データ取得部２１１は、電子カルテ管理サーバ１０が記憶・管理する電子カルテの各々について対象データを取得するものとするが、新規登録や更新が行われた電子カルテ等、特定の電子カルテを指定して取得する形態としてもよい。
【００３６】
暗号化処理部２１２は、暗号鍵管理テーブル２８１に格納された暗号鍵を用いて、対象データ取得部２１１が取得した対象データを暗号化する。具体的に、暗号化処理部２１２は、対象データ取得部２１１が取得した対象データに含まれる各種データを、そのデータ属性に対応するユーザ属性の暗号鍵を用いて暗号化することで、ユーザ属性毎に暗号化データを生成する。
【００３７】
例えば、暗号化処理部２１２は、データ属性が“共通”の共通データを、暗号鍵管理テーブル２８１に格納されたユーザ属性が“共通”の暗号鍵を用いて暗号化する。また、暗号化処理部２１２は、データ属性が“医師”のインデックスデータを、暗号鍵管理テーブル２８１に格納されたユーザ属性が“医師”の暗号鍵を用いて暗号化する。また、暗号化処理部２１２は、データ属性が“看護師”のインデックスデータを、暗号鍵管理テーブル２８１に格納されたユーザ属性が“看護師”の暗号鍵を用いて暗号化する。また、暗号化処理部２１２は、データ属性が“薬剤師”のインデックスデータを、暗号鍵管理テーブル２８１に格納されたユーザ属性が“薬剤師”の暗号鍵を用いて暗号化する。
【００３８】
なお、本実施形態では、共通データを暗号化する形態としているが、これに限らず、平文のまま保持する形態としてもよい。
【００３９】
コード生成部２１３は、同一の電子カルテについて暗号化処理部２１２が生成した暗号化データを用いることで、これらの暗号化データの内容等をコードデータとして保持した二次元コード等のコードシンボルを一つ生成する。
【００４０】
図６、図７は、コード生成部２１３が生成するコードシンボル（コードデータ）のフォーマットの一例を示す図である。図６に示すように、コードシンボルは、データ項目として「データ数」と、「データ種別」と、各データ種別の「暗号化データ」とを有している。
【００４１】
ここで、データ項目「データ数」には、このコードシンボルに含まれる暗号化データの個数を示す整数値が格納される。例えば、“共通”、“医師”、“看護師”及び“薬剤師”の各ユーザ属性について暗号化データが生成された場合には、図７に示すようにその数を示す“４”が「データ数」に格納される。
【００４２】
データ項目「データ種別」には、暗号化データの生成に用いた暗号鍵のユーザ種別が格納される。例えば、ユーザ属性“共通”、“医師”、“看護師”及び“薬剤師”の暗号鍵を用いて暗号化データが生成された場合には、図７に示すように、そのユーザ属性“共通”、“医師”、“看護師”及び“薬剤師”が、「データ種別１〜４」にそれざれ格納される。
【００４３】
データ項目「暗号化データ」は、データ項目「データ種別」と関連付けられている。このデータ項目「暗号化データ」には、対応するユーザ属性の暗号鍵を用いて生成された暗号化データが格納される。図７では、データ項目「データ種別１〜４」に、対応するユーザ属性“共通”、“医師”、“看護師”及び“薬剤師”の暗号鍵を用いて生成された暗号化データ１〜４がそれぞれ格納された例を示している。
【００４４】
なお、コードシンボルのフォーマットは図６、図７の例に限らず、任意に設定することが可能であるとする。例えば、コードデータの送信先となる送信先アドレス（コード復号装置４０のアドレス）を、コードシンボル内に含める形態としてもよい。
【００４５】
図４に戻り、出力処理部２１４は、出力部２７を制御することで、コード生成部２１３が生成したコードシンボルを所定の用紙に印刷する。ここで、コードシンボルが印刷された用紙は、所定の経路を経て医師、看護師又は薬剤師に届けられる。
【００４６】
図１に戻り、コード読取装置３０は、コードシンボルの読み取りを行うコードスキャナ機能を備えたＰＣやハンディターミナル等の情報処理装置である。なお、本実施形態では、コード読取装置３０は、医師、看護師又は薬剤師の各ユーザに利用されることを想定している。
【００４７】
図８は、コード読取装置３０の構成の一例を示す図である。同図に示すように、コード読取装置３０は、情報処理を実行するマイクロコンピュータとして、ＣＰＵ３１、ＲＯＭ３２及びＲＡＭ３３を備えている。
【００４８】
ＣＰＵ３１は、ＲＯＭ３２や後述する記憶部３８に記憶された各種プログラムを実行することにより、コード読取装置３０の動作を統括的に制御する。ＲＯＭ３２は、基本動作を行うためのプログラムを記憶している。ＲＡＭ３３は、コード読取装置３０の主記憶装置であって、ＣＰＵ３１のワークエリアとして機能する。
【００４９】
また、ＣＰＵ３１には、各種の入出力回路（図示せず）を介して、入力部３４及び表示部３５が接続されている。入力部３４は、キーボードやポインティングデバイス等の入力デバイスであって、コード読取装置３０のユーザから入力された操作内容をＣＰＵ３１に通知する。表示部３５は、ＬＣＤ等の表示デバイスを有し、ＣＰＵ３１の指示に従い各種の情報を表示する。
【００５０】
また、ＣＰＵ３１には、各種の入出力回路（図示せず）を介して、通信Ｉ／Ｆ３６、スキャナ部３７、記憶部３８が接続されている。通信Ｉ／Ｆ３６は、図示しないネットワークに接続するためのインタフェースである。通信Ｉ／Ｆ３６は、ネットワークを介して、他の装置との間で各種情報の授受を行う。スキャナ部３７は、エリアセンサや撮像素子等であって、用紙に印刷されたコードシンボルをスキャンし、そのスキャン結果をＣＰＵ３１に出力する。記憶部３８は、ＨＤＤやフラッシュメモリ等の記憶媒体であって、コード読取装置３０の動作に係る各種プログラム及び各種ファイルを記憶している。
【００５１】
次に、コード読取装置３０が有する特徴的な機能について説明する。ＣＰＵ３１は、ＲＯＭ３２や記憶部３８に記憶された所定のプログラムとの協働により、図８に示すように、コード読取部３１１、コードデータ送信部３１２、復号結果受信部３１３及び表示制御部３１４を、機能部として実現させる。
【００５２】
コード読取部３１１は、スキャナ部３７でスキャンされたコードシンボルをデコードすることで、当該コードシンボルからコードデータを読み取る。ここで、コードデータは、暗号化データに加え、図６に示したコードシンボルのフォーマット（「データ数」、「データ種別」等）を含む概念である。
【００５３】
コードデータ送信部３１２は、通信Ｉ／Ｆ３６を用いて、コード読取部３１１が読み取ったコードデータを、コード復号装置４０に送信する。また、コードデータ送信部３１２は、自装置を操作するユーザのユーザ属性を、コードデータとともに送信するものとする。
【００５４】
ここで、ユーザ属性の入力方法は特に問わず、例えば、コード読取装置３０に予め保持されている形態としてもよいし、コード読取装置３０の操作開始（ログイン）時にユーザ名やパスワード等とともに入力される形態としてもよい。また、ユーザ名とそのユーザ属性とを関連付けたユーザ管理テーブルを、コード読取装置３０やコード復号装置４０に格納しておき、コード読取装置３０で入力されたユーザ名或いはコード読取装置３０からコードデータとともに送信されたユーザ名から、そのユーザ属性を特定する形態としてもよい。
【００５５】
なお、コードデータの送信先となるコード復号装置４０のアドレスは予め設定されているものとするが、コードシンボル（コードデータ）内に送信先アドレスが含まれていた場合には、この送信先アドレス宛にコードデータを送信する形態としてもよい。
【００５６】
復号結果受信部３１３は、通信Ｉ／Ｆ３６を用いて、コード復号装置４０から送信される後述する復号結果データを受信する。表示制御部３１４は、復号結果受信部３１３が受信した復号結果データ等の各種情報を、表示部３５に表示する。
【００５７】
図１に戻り、コード復号装置４０は、コード読取装置３０から送信されたコードデータに含まれる暗号化データを復号するＰＣやサーバ装置等の情報処理装置である。
【００５８】
図９は、コード復号装置４０の構成の一例を示す図である。同図に示すように、コード復号装置４０は、情報処理を実行するマイクロコンピュータとして、ＣＰＵ４１、ＲＯＭ４２及びＲＡＭ４３を備えている。
【００５９】
ＣＰＵ４１は、ＲＯＭ４２や後述する記憶部４７に記憶された各種プログラムを実行することにより、コード復号装置４０の動作を統括的に制御する。ＲＯＭ４２は、基本動作を行うためのプログラムを記憶している。ＲＡＭ４３は、コード復号装置４０の主記憶装置であって、ＣＰＵ４１のワークエリアとして機能する。
【００６０】
また、ＣＰＵ４１には、各種の入出力回路（図示せず）を介して、入力部４４及び表示部４５が接続されている。入力部４４は、キーボードやポインティングデバイス等の入力デバイスであって、コード復号装置４０のユーザから入力された操作内容をＣＰＵ４１に通知する。表示部４５は、ＬＣＤ等の表示デバイスを有し、ＣＰＵ４１の指示に従い各種の情報を表示する。
【００６１】
また、ＣＰＵ４１には、各種の入出力回路（図示せず）を介して、通信Ｉ／Ｆ４６、記憶部４７が接続されている。通信Ｉ／Ｆ４６は、図示しないネットワークに接続するためのインタフェースである。通信Ｉ／Ｆ４６は、ネットワークを介して、他の装置との間で各種情報の授受を行う。
【００６２】
記憶部４７は、ＨＤＤやフラッシュメモリ等の記憶媒体であって、コード復号装置４０の動作に係る各種プログラム及び各種ファイルを記憶している。また、記憶部４７は、復号鍵を記憶・管理するための復号鍵管理テーブル４７１を保持している。
【００６３】
復号鍵管理テーブル４７１は、本システムに係るユーザ属性毎に、暗号化データの復号に用いる復号鍵を管理している。なお、本実施形態では、各ユーザ属性の復号鍵として、後述する鍵生成部４１１で生成された秘密鍵を用いるものとする。
【００６４】
図１０は、復号鍵管理テーブル４７１のデータ構造の一例を示す図である。同図に示すように、復号鍵管理テーブル４７１は、データ項目として「ユーザ属性」と、「復号鍵」とを有し、これらのデータ項目を対応付けて管理している。データ項目「ユーザ属性」には、医師、看護師、薬剤師、共通等の各ユーザ属性を表す識別子が格納される。また、データ項目「復号鍵」には、鍵生成部４１１で生成された対応するユーザ属性用の秘密鍵が格納される。
【００６５】
次に、コード復号装置４０が有する特徴的な機能について説明する。ＣＰＵ４１は、ＲＯＭ４２や記憶部４７に記憶された所定のプログラムとの協働により、図９に示すように、鍵生成部４１１、コードデータ受信部４１２、復号処理部４１３、データ取得部４１４及び復号結果送信部４１５を、機能部として実現させる。
【００６６】
鍵生成部４１１は、公開鍵暗号方式を用いることで、本システムを利用するユーザのユーザ属性毎に秘密鍵と公開鍵との組を生成する。鍵生成部４１１は、ユーザ属性毎に生成した秘密鍵を復号鍵とし、そのユーザ属性と関連付けて復号鍵管理テーブル４７１に格納する。また、ユーザ属性毎に生成された公開鍵は、そのユーザ属性と関連付けてコード生成装置２０に提供され、ユーザ属性毎の暗号鍵として暗号鍵管理テーブル２８１に格納される。なお、公開鍵の提供方法は特に問わず、例えば、図示しないネットワークを介して、コード復号装置４０からコード生成装置２０に提供する形態としてもよい（図１参照）。また、フラッシュメモリ等の図示しない記憶媒体を介して、コード生成装置２０に提供する形態としてもよい。
【００６７】
コードデータ受信部４１２は、通信Ｉ／Ｆ４６を用いて、コード読取装置３０から送信されたコードデータを、当該コード読取装置３０を操作するユーザのユーザ属性とともに受信する。
【００６８】
復号処理部４１３は、コードデータ受信部４１２が受信したコードデータに含まれる暗号化データを、復号鍵管理テーブル４７１に格納された復号鍵を用いて復号する。
【００６９】
具体的に、復号処理部４１３は、復号鍵管理テーブル４７１に格納された復号鍵のうち、ユーザ属性が“共通”の秘密鍵と、コードデータともに受信されたユーザ属性に対応する秘密鍵とを用いることで、コードデータに含まれた対応するユーザ属性の暗号化データを復号する。これにより、復号鍵（秘密鍵）に対応する暗号鍵（公開鍵）で暗号化された暗号化データが復号されるため、コードデータ内の暗号化データから共通データと、コード読取装置３０を操作するユーザのユーザ属性に対応するインデックスデータと、が復号されることになる。
【００７０】
なお、暗号化データの復号は、全ての暗号化データに対する総当り方式で行う形態としてもよい。また、コードデータに含まれたデータ種別（ユーザ属性）に基づいて、ユーザ属性が“共通”と、コードデータともに受信されたユーザ属性と、に関連付けられた暗号化データに対し、対応する復号鍵を用いて選択的に復号する形態としてもよい。
【００７１】
データ取得部４１４は、通信Ｉ／Ｆ４６を用いて、復号処理部４１３が復号した共通データ及びインデックスデータを含む第２取得要求を電子カルテ管理サーバ１０に送信する。
【００７２】
ここで、電子カルテ管理サーバ１０の第２データ提供部１１２（図２参照）は、第２取得要求中の共通データに含まれた電子カルテを識別可能なデータ（患者ＩＤ、患者名、カルテＩＤ等）を検索キーとし、当該検索キーに該当する電子カルテを電子カルテＤＢ１７１から検索する。また、第２データ提供部１１２は、第２取得要求として送信されたインデックスデータに対応するデータ属性の本文データを、検索した電子カルテから読み出すと、当該本文データをコード復号装置４０に送信（提供）する。
【００７３】
これにより、データ取得部４１４は、電子カルテ管理サーバ１０から提供された第２取得要求に対応する本文データを、通信Ｉ／Ｆ４６を介して取得する。
【００７４】
復号結果送信部４１５は、復号処理部４１３が復号した共通データと、データ取得部４１４が取得した本文データとを復号結果として、コードデータを送信したコード読取装置３０に送信する。
【００７５】
以下、図１１、図１２を参照して、上記構成の業務支援システム１の動作について説明する。
【００７６】
まず、図１１を参照して、コードシンボルの生成に係る処理（コードシンボル生成処理）の流れを説明する。ここで、図１１は、コードシンボル生成処理の流れを示すシーケンス図である。なお、本処理の前提として、コード生成装置２０への暗号鍵（公開鍵）の提供は完了しているものとする。
【００７７】
まず、コード生成装置２０の対象データ取得部２１１は、電子カルテ管理サーバ１０に対し、対象データを要求する第１取得要求を送信する（ステップＳ１１）。
【００７８】
電子カルテ管理サーバ１０の第１データ提供部１１１は、コード生成装置２０から第１取得要求を受け付けると、電子カルテＤＢ１７１に格納された電子カルテから暗号化の対象となる対象データを読み出し（ステップＳ１２）、当該対象データをコード生成装置２０に送信する（ステップＳ１３）。
【００７９】
コード生成装置２０では、対象データ取得部２１１により電子カルテ管理サーバ１０から送信された対象データが取得されると、暗号化処理部２１２は、その対象データの各々を当該対象データのデータ属性に対応する暗号鍵を用いて暗号化することで、データ属性毎の暗号化データを生成する（ステップＳ１４）。
【００８０】
続いて、コード生成装置２０のコード生成部２１３は、ステップＳ１４で生成された暗号化データを用いて、当該暗号化データの内容を保持したコードシンボルを一つ生成する（ステップＳ１５）。そして、出力処理部２１４は、出力部２７を制御することで、ステップＳ１５で生成されたコードシンボルを所定の用紙に印刷し（ステップＳ１６）、処理を終了する。
【００８１】
このように、本実施形態のコードシンボル生成処理では、暗号化の対象となった対象データの各々が、そのデータ属性に対応するユーザ属性用の暗号鍵で暗号化され、これら暗号化データを用いて一のコードシンボルが生成・出力される。ここで、コードシンボルに保持されたユーザ属性毎の暗号化データは、同一属性の復号鍵を用いた場合に復号することが可能であるため、コードシンボルに保持された暗号化データをユーザの属性に応じてアクセス制御することができる。また、コード生成装置２０では、各ユーザ属性用の暗号鍵を一括して管理するため、暗号鍵の管理を効率的に行うことができる。
【００８２】
次に、図１２を参照して、コードシンボルの読み取りに係る処理（コードシンボル復号処理）の流れを説明する。ここで、図１２は、コードシンボル復号処理の流れを示すシーケンス図である。なお、本処理の前提として、コードシンボルの用紙への印刷は完了しているものとする。
【００８３】
まず、コードシンボルが印刷された用紙がコード読取装置３０のスキャナ部３７でスキャンされると、コード読取部３１１は、そのスキャンされたコードシンボルからコードデータを読み取る（ステップＳ２１）。続いて、コードデータ送信部３１２は、ステップＳ２１で読み取られたコードデータを、自装置を操作するユーザのユーザ属性とともにコード復号装置４０に送信する（ステップＳ２２）。
【００８４】
一方、コード復号装置４０では、コードデータ受信部４１２によりコード読取装置３０から送信されたコードデータ及びユーザ属性が受信されると、復号処理部４１３は、復号鍵管理テーブル４７１に格納された復号鍵のうち、ユーザ属性“共通”の復号鍵と、指示されたユーザ属性に対応する復号鍵とを用いて、コードデータに含まれた暗号化データを復号する（ステップＳ２３）。続いて、データ取得部４１４は、ステップＳ２３の復号結果となる、共通データとインデックスデータとを含んだ第２取得要求を、電子カルテ管理サーバ１０に送信する（ステップＳ２４）。
【００８５】
電子カルテ管理サーバ１０では、第２データ提供部１１２が、コード復号装置４０から電子カルテの取得要求を受け付けると、取得要求に含まれた共通データを検索キーとし、この検索キーに該当する電子カルテを電子カルテＤＢ１７１から検索する（ステップＳ２５）。次いで、第２データ提供部１１２は、ステップＳ２５で検索した電子カルテから、インデックスデータに対応するデータ属性の本文データを読み出すと（ステップＳ２６）、この本文データをコード復号装置４０に送信する（ステップＳ２７）。
【００８６】
コード復号装置４０では、データ取得部４１４により電子カルテ管理サーバ１０から送信された属性データが取得されると、復号結果送信部４１５は、この本文データとステップＳ２３で復号された共通データとを復号結果として、コード読取装置３０に送信する（ステップＳ２８）。
【００８７】
そして、コード読取装置３０では、復号結果受信部３１３がコード復号装置４０から送信された復号結果を受信すると、表示制御部３１４は、その復号結果に含まれる各種情報を表示部３５に表示させ（ステップＳ２９）、処理を終了する。
【００８８】
このように、本実施形態のコードシンボル復号処理では、コード読取装置３０で読み取られたコードデータに含まれる暗号化データを、ユーザ属性“共通”に対応する復号鍵と、コード読取装置３０から指示されたユーザ属性に対応する復号鍵とを用いて復号する。そして、この復号結果（インデックスデータ）に基づき電子カルテ管理サーバ１０から得られた本文データを、共通データとともにコード読取装置３０に出力する。
【００８９】
これにより、コード読取装置３０でコードシンボルの読み取りを行ったユーザは、そのコードシンボルに保持された暗号化データのうち、自身のユーザ属性に応じたデータ（共通データ、本文データ）の閲覧が可能となり、他のユーザ属性用のデータの閲覧については不可となる。例えば、看護師は、特定の患者について発行されたコードシンボルをコード読取装置３０に読み取らせることで、自身の業務に係る三点確認用の構成データ（担当看護師名、患者名、処方箋）を容易に確認することができる。
【００９０】
したがって、本実施形態によれば、コードシンボルに保持された暗号化データをユーザの属性に応じてアクセス制御することが可能となる。また、コード復号装置４０では、各ユーザ属性用の復号鍵を一括して管理するため、復号鍵の管理を効率的に行うことができる。
【００９１】
以上、本発明の実施形態を説明したが、上記実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。上記実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更、追加等を行うことができる。また、上記実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【００９２】
例えば、上記実施形態では、本文データの取得のために、コード復号装置４０から電子カルテ管理サーバ１０にアクセスする形態としたが、これに限らず、インデックスデータ（暗号化済み）の代わりに暗号化した本文データをコードデータ内に保持することが可能な場合には、電子カルテ管理サーバ１０へのアクセスを行わず、復号により得られた本文データを復号結果としてコード読取装置３０に送信する形態としてもよい。
【００９３】
また、上記実施形態では、暗号鍵と復号鍵とを、公開鍵暗号方式の公開鍵と秘密鍵としたが、これに限らず、暗号鍵と復号鍵とが同一の共通鍵暗号方式としてもよい。なお、共通鍵暗号方式を用いる場合においても、ユーザ属性毎に異なる暗号鍵（復号鍵）を生成するものとする。
【００９４】
また、上記実施形態では、一台のコード復号装置４０が全てのユーザ属性についての復号を行う形態としたが、これに限らず、複数台のコード復号装置４０で復号を行うユーザ属性を分担する形態としてもよい。例えば、３台のコード復号装置４０を設けた場合、１台目のコード復号装置４０は、ユーザ属性が“共通”及び“医師”についての復号を担当し、２台目のコード復号装置４０は、ユーザ属性が“共通”及び“看護師”についての復号を担当し、３台目のコード復号装置４０は、ユーザ属性が“共通”及び“薬剤師”についての復号を担当するよう構成してもよい。なお、この形態を採用する場合、コード復号装置４０の各々は、自装置で復号を担当するユーザ属性用の復号鍵を少なくとも記憶・管理しているものとする。また、コード読取装置３０側では、例えば、自装置を使用するユーザのユーザ属性に応じてコードデータの送信先となるコード復号装置４０が切り替え可能に構成されているものとする。
【００９５】
また、上記実施形態では、コード生成装置２０とコード読取装置３０とを別体としたが、これに限らず、コード生成装置２０がコード読取装置３０の機能部（或いは、コード読取装置３０がコード生成装置２０の機能部）を備えることで、一の装置に統合する形態としてもよい。
【００９６】
また、上記実施形態の各装置で実行されるプログラムは、各装置が備える記録媒体（ＲＯＭ又は記憶部）に予め組み込んで提供するものとするが、これに限らず、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Digital  Versatile  Disk）等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。さらに、記録媒体は、コンピュータ或いは組み込みシステムと独立した媒体に限らず、ＬＡＮやインターネット等により伝達されたプログラムをダウンロードして記憶又は一時記憶した記録媒体も含まれる。
【００９７】
また、上記実施形態の各装置で実行されるプログラムをインターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよく、インターネット等のネットワーク経由で提供又は配布するように構成してもよい。
【符号の説明】
【００９８】
１  業務支援システム
１０  電子カルテ管理サーバ
１１１  第１データ提供部
１１２  第２データ提供部
２０  コード生成装置
２１１  対象データ取得部
２１２  暗号化処理部
２１３  コード生成部
２１４  出力処理部
３０  コード読取装置
３１１  コード読取部
３１２  コードデータ送信部
３１３  復号結果受信部
３１４  表示制御部
４０  コード復号装置
４１１  鍵生成部
４１２  コードデータ受信部
４１３  復号処理部
４１４  データ取得部
４１５  復号結果送信部
【先行技術文献】
【特許文献】
【００９９】
【特許文献１】特開２００５−２８４７０３号公報
【図１】
2014027413.tif 000003
【図２】
2014027413.tif 000004
【図３】
2014027413.tif 000005
【図４】
2014027413.tif 000006
【図５】
2014027413.tif 000007
【図６】
2014027413.tif 000008
【図７】
2014027413.tif 000009
【図８】
2014027413.tif 000010
【図９】
2014027413.tif 000011
【図１０】
2014027413.tif 000012
【図１１】
2014027413.tif 000013
【図１２】
2014027413.tif 000014