(57)【特許請求の範囲】
【請求項１】
第１の処理システムにより実行される方法であって、
暗号化記録を生成するために、第１の記録鍵を用いて患者の電子医療記録を暗号化し、
第１の暗号化ノードを生成するために第１のノード鍵でもって前記患者のメタデータツリーの第１のノードの少なくとも一部を暗号化し、その一部が、暗号化データ記憶装置における前記暗号化記録に対する参照を含み、
前記第１の暗号化ノード、及び前記第１のノード鍵を有する第１のノード鍵ロックボックスを含むように前記患者の前記メタデータツリーを更新することを含む、方法。
【請求項２】
前記第１の暗号化ノードが、前記メタデータツリーの第２の暗号化ノードの下にあり、前記第１のノード鍵ロックボックスが、前記第２の暗号化ノードに対応する第２のノード鍵ロックボックスからの第２のノード鍵でもってロック解除することができる、請求項１に記載の方法。
【請求項３】
前記第１の記録鍵を有する第１の記録鍵ロックボックスを含むように前記患者の前記メタデータツリーを更新することを更に含む、請求項１又は２に記載の方法。
【請求項４】
前記第１の暗号化ノードが、前記メタデータツリーにおいて第２の暗号化ノードの下にあり、前記第１の記録鍵ロックボックスが、前記第２の暗号化ノードに対応する第２の記録鍵ロックボックスに格納された第２の記録鍵でもってロック解除することができる、請求項３に記載の方法。
【請求項５】
前記第１の暗号化記録を前記暗号化データ記憶装置に提供し、
前記メタデータツリーを格納するメタデータ記憶装置に、前記暗号化ノード、前記第１のノード鍵ロックボックス、及び前記第１の記録鍵ロックボックスを提供することを更に含む、請求項３又は４に記載の方法。
【請求項６】
前記メタデータツリーのサブツリーが、前記第１の暗号化ノード、及び前記患者の患者鍵から生成されたサブツリーノード鍵でもって暗号化された暗号化サブツリーノードを含む、請求項１〜５の何れかに記載の方法。
【請求項７】
前記患者の患者鍵から生成されたサブツリーノード鍵およびサブツリー記録鍵からそれぞれ、前記第１のノード鍵および前記第１の記録鍵を生成することを更に含む、請求項１〜５の何れかに記載の方法。
【請求項８】
前記第１の暗号化ノードを含む前記メタデータツリーのサブツリーを管理する第２の処理システムから前記第１のノード鍵および前記第１の記録鍵を受け取ることを更に含む、請求項１〜５の何れかに記載の方法。
【請求項９】
１つ又は複数のプロセッサのセットと、
命令のセットを格納するメモリとを含み、
前記命令のセットは、前記プロセッサのセットにより実行された場合に、以下のこと、即ち、
患者のメタデータツリーの第２の暗号化ノードに対応する第２のノード鍵でもって第１のノード鍵ロックボックスをロック解除することにより、前記第１のノード鍵ロックボックスから前記メタデータツリーの第１の暗号化ノードに対応する第１のノード鍵にアクセスし、
暗号化データ記憶装置における暗号化電子医療記録に対する参照を取得するために、前記第１のノード鍵でもって前記第１の暗号化ノードを暗号解読させることを、前記プロセッサのセットにさせる、処理システム。
【請求項１０】
前記命令のセットは、前記プロセッサのセットにより実行された場合に、以下のこと、即ち、
前記第１のノード鍵にアクセスする前に、前記メタデータツリーの第３の暗号化ノードに対応する第３のノード鍵でもって前記第２のノード鍵ロックボックスをロック解除することにより、前記第２の暗号化ノードに対応する第２のノード鍵ロックボックスから前記第２のノード鍵にアクセスすることを、前記プロセッサのセットにさせる、請求項９に記載の処理システム。
【請求項１１】
前記命令のセットは、前記プロセッサのセットにより実行された場合に、以下のこと、即ち、
前記第２の暗号化ノードに対応する第２の記録鍵でもって前記第１の記録鍵ロックボックスをロック解除することにより、第１の記録鍵ロックボックスから前記第１の暗号化ノードに対応する第１の記録鍵にアクセスし、
前記暗号化データ記憶装置から前記暗号化電子医療記録にアクセスし、
前記第１の記録鍵を用いて前記暗号化電子医療記録を暗号解読することを、前記プロセッサのセットにさせる、請求項９に記載の処理システム。
【請求項１２】
前記命令のセットは、前記プロセッサのセットにより実行された場合に、以下のこと、即ち、
前記第１の記録鍵にアクセスする前に、前記メタデータツリーの第３の暗号化ノードに対応する第３の記録鍵でもって前記第２の記録鍵ロックボックスをロック解除することにより、前記第２の暗号化ノードに対応する第２の記録鍵ロックボックスから前記第２の記録鍵にアクセスすることを、前記プロセッサのセットにさせる、請求項１１に記載の処理システム。
【請求項１３】
前記メタデータツリーのサブツリーが、前記第１の暗号化ノード、及び前記患者の患者鍵から生成されたサブツリーノード鍵でもって暗号化された暗号化サブツリーノードを含む、請求項９〜１２の何れかに記載の処理システム。
【請求項１４】
命令を格納する機械可読記憶媒体であって、前記命令は、処理システムにより実行された場合に、以下のこと、即ち、
鍵取り消しのために、患者のメタデータツリーにおいて第１のノードを特定し、前記第１のノードが、第１のノード鍵を格納する第１のノード鍵ロックボックスに対応し、
前記第１のノードに、第２のノード鍵を格納する第２のノード鍵ロックボックスを追加することにより、前記第１のノード鍵を取り消すことを、前記処理システムにさせる、機械可読記憶媒体。
【請求項１５】
前記第１のノード鍵は、前記第１のノード鍵が取り消される前に格納された第１の暗号化ノードの下にあるノードの第１のセットにアクセスするために使用可能であるが、前記第１のノード鍵が取り消された後に格納された前記第１のノードの下にある暗号化ノードの第２のセットにアクセスするために使用可能ではなく、前記第２のノード鍵が、前記ノードの第２のセットにアクセスするために使用可能である、請求項１４に記載の機械可読記憶媒体。
【請求項１６】
前記命令は、前記処理システムにより実行された場合に、以下のこと、即ち、
第３のノード鍵を格納する第３のノード鍵ロックボックスを前記ノードの第１のセットの最初の１つのために追加し、
前記第２のノード鍵を用いて前記第３のノード鍵ロックボックスをロックすることを、前記処理システムにさせる、請求項１５に記載の機械可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願に対する相互参照
本願は、２０１２年８月１５日に出願され、「Hierarchical Lockboxes to Enable Sharing of Metadata and DataRecords in the Cloud-Based EHR Store」と題する米国仮特許出願第６１／６８３，７０８号の優先権を主張している。この出願の開示は、参照により本明細書に組み込まれる。
【０００２】
背景
電子医療記録（Electronic health Record：ＥＨＲ）により、医療参加者（例えば、患者、医療提供者、支払者、及び研究者）が、看護の調整を改善し及び医療情報にアクセスすることを可能にすることができる。ＥＨＲは医療情報にアクセスすることを容易にすることができるが、医療情報の共用は、多くの複雑な技術的および法的問題を伴う可能性がある。これら問題は、医療情報の一貫性、プライバシー及びセキュリティを確保しながら、係る共用を可能にするための資源および専門知識を欠いている医療参加者にとって重荷となる可能性がある。
【図面の簡単な説明】
【０００３】
【図１】メタデータツリーにおける階層ロックボックスを有する電子医療記録の記憶処理環境の一例を示すブロック図である。
【図２】階層ロックボックス及び暗号化データ記憶装置を有するメタデータツリーの一例を示すブロック図である。
【図３】メタデータツリーのノードの一例を示すブロック図である。
【図４】参加者システムの一例を示すブロック図である。
【図５】階層ロックボックスを有するメタデータツリーを用いて暗号化記録を格納する一例を示す略図である。
【図６】階層ロックボックスを有するメタデータツリーを用いて暗号化記録にアクセスする一例を示す略図である。
【図７】階層ロックボックスを有するメタデータツリーを用いて鍵取り消しを行う一例を示す略図である。
【図８】階層ロックボックスを有するメタデータツリーを用いて鍵取り消しの一例を示すブロック図である。
【図９】階層ロックボックスを有するメタデータツリーを用いて鍵取り消し及び鍵伝達の一例を示すブロック図である。
【０００４】
詳細な説明
以下の詳細な説明において、その一部を形成する添付図面を参照し、添付図面は、開示された内容が実施され得る特定の実施形態を一例として示す。理解されるべきは、他の実施形態が利用されることができ、構造的または論理的変更が本開示の範囲を逸脱せずに行われ得る。従って、以下の詳細な説明は、制限する意味に解釈されるべきではなく、本開示の範囲は、添付の特許請求の範囲により定義される。
【０００５】
本明細書で説明される実施形態は、医療参加者（例えば、患者、医療提供者、支払者、及び研究者）間で電子医療記録（Electronic health Record：ＥＨＲ）の安全でシームレスな共用を可能にする電子医療記録（ＥＨＲ）記憶処理環境を提供する。当該環境は、患者の暗号化ＥＨＲを格納する暗号化データ記憶装置、及び各患者のメタデータツリーを格納するメタデータ記憶装置を含む。各メタデータツリーは、暗号化データ記憶装置における所与の患者のＥＨＲに対するマッピングを提供する。各患者のメタデータツリーは、医療参加者が患者のＥＨＲにアクセスすること及びＥＨＲを格納（記憶）することを可能にするために、医療提供者のような認定された医療参加者によりアクセスされ得る。
【０００６】
当該環境は、暗号化ＥＨＲの記録鍵、及びメタデータツリーのノードのノード鍵を用いてＥＨＲに対するアクセスを制御する。暗号化ＥＨＲを暗号化データ記憶装置に格納する医療参加者は、記録鍵を用いてＥＨＲを暗号化する。また、これら参加者は、対応する暗号化ＥＨＲの暗号化ノードをメタデータツリーに追加する。暗号化ノードは、対応する暗号化ＥＨＲに対する参照を含み、対応するノード鍵でもって暗号化される。
【０００７】
また、各メタデータツリーは、ノード鍵および記録鍵を格納するための別個の階層ロックボックス機構も含む。特に、メタデータツリーの各ノードは、ノード鍵の対応するセットを格納するためのノード鍵ロックボックス（即ち、第１の階層ロックボックス機構）、及び対応する記録鍵を格納するための記録鍵ロックボックスを含む。各ノード鍵は、対応するノードを暗号化および暗号解読するために、及び対応するノードの下で各ノードにおけるノード鍵ロックボックスをロックする及びロック解除するために、取り消される前に利用可能である。各記録鍵は、対応するノードの下で各ノードにおける記録鍵ロックボックスをロックする及びロック解除する（即ち、第２の階層ロックボックス機構）ために、又は対応するＥＨＲを暗号化および暗号解読するために利用可能である。別個の階層ロックボックス機構により、アクセス権が、メタデータツリーのノード及び暗号化ＥＨＲに関して別個に生成されることが可能になる。
【０００８】
一人または複数の医療参加者は、患者のメタデータツリーの様々なサブツリーを操作（管理）することができる。サブツリーを操作する医療参加者は、サブツリーにおける最上位のノードに関するノード鍵および記録鍵を維持し、この場合、ノード鍵および記録鍵は、患者の患者鍵から導出される。各サブツリーのノード鍵および記録鍵が患者鍵から導出されるので、患者は、患者のＥＨＲの全てに対するアクセスを取得するために、各サブツリーの全レベルにおいてノードロックボックス及び記録ロックボックスをロック解除することができる。
【０００９】
サブツリーを管理するために、参加者は、患者の他の認定された医療参加者に対してアクセスを許可する及び取り消すために、サブツリーにおける対応するノードのノード鍵および記録鍵を管理する。参加者は、選択されたノード鍵および記録鍵を別の参加者に提供することにより、アクセスを許可する。サブツリーの所与のノードにおけるノード鍵および記録鍵が所与のノード下の全ノードにおいて対応するロックボックスをロック解除するために使用され得るので、参加者は、共用するために何れかのノード鍵および記録鍵を選択することによってアクセスのレベルを制御する。
【００１０】
参加者は、サブツリーにおける取り消されたノードにおいて、ノード鍵ロックボックスのノード鍵を回転させることによってアクセスを取り消す。鍵取り消し後、アクセスが取り消された参加者は、取り消し前の、取り消されるノードの下に格納された暗号化ノードに対応するノード鍵ロックボックスを引き続きロック解除することができる。従って、取り消された参加者は、取り消し前に格納された暗号化ＥＨＲに引き続きアクセスすることができる。しかしながら、取り消された参加者は、取り消し後の取り消されたノードの下に格納された暗号化ノードに対応するノード鍵ロックボックスをロック解除することができない。特に、取り消された参加者は、対応する暗号化ＥＨＲ（即ち、取り消し後に格納された暗号化ＥＨＲ）に対する参照を暗号解読するために必要とされるこれらノードのノード鍵をロック解除することができない。また、取り消された参加者は、取り消されたノードの下に新たな暗号化ノードを追加することもできない。
【００１１】
本明細書で使用される限り、用語「医療参観者」（「参加者」とも呼ばれる）は、患者、医療提供者、支払者、研究者、又は患者に対応する医療情報を生成および／または使用する患者の医療プロセスに必要とされる他の適切な人物を意味する。用語「患者」は、医療提供者から少なくとも１つの医療サービスを受ける人物を意味する。用語「医療提供者」（「提供者」とも呼ばれる）は、患者に対して少なくとも１つの医療サービスを提供する人物および／または施設を意味する。
【００１２】
用語「電子医療記録」（ＥＨＲ）は、医療参加者により生成され、少なくとも１つの機械可読記憶媒体に電子形式で格納される医療情報のセットを意味する。用語「暗号化電子医療記録」は、記録鍵のような暗号鍵で暗号化された電子医療記録を意味する。
【００１３】
用語「メタデータ」は、電子医療記録のような少なくとも１つの記録を記述する情報のセットを意味する。用語「メタデータツリー」は、メタデータを含むノードのセットを意味し、この場合、各ノードは、当該セットの少なくとも１つの他のノードと所定の関係を有する。
【００１４】
用語「記録鍵」は、患者のＥＨＲを暗号化および暗号解読するために使用される暗号鍵を意味する。用語「ノード鍵」は、患者のメタデータツリーにおけるノードの少なくとも一部を暗号化および暗号解読するために使用される暗号鍵を意味する。用語「メタデータツリー鍵」は、患者のメタデータツリーの少なくとも一部を暗号化および暗号解読するために使用される暗号鍵を意味する。
【００１５】
用語「記録鍵ロックボックス」は、メタデータツリーのノードに対応する記録鍵を格納するデータ構造を意味し、メタデータツリーのノードの親ノードからの対応する記録鍵でのみロック及びロック解除され得る。用語「ノード鍵ロックボックス」は、メタデータツリーのノードに対応する１つ又は複数のノード鍵のセットを格納するデータ構造を意味し、メタデータツリーのノードの親ノードからの対応する１つ又は複数のノード鍵のセットでのみロック及びロック解除され得る。
【００１６】
図１は、各メタデータツリー５０の階層ロックボックス６２及び６４を有する電子診療記録の記憶処理環境１０の一例を示すブロック図である。環境１０は、電子診療記録（ＥＨＲ）記憶装置２０、及び医療参加者システム３０（１）〜３０（ｍ）のセットを含み、この場合、ｍは、２以上の整数である。環境１０は、ＥＨＲ記憶装置２０及び参加者システム３０を用いて、患者のＥＨＲを作成、当該ＥＨＲにアクセス、当該ＥＨＲを記憶（格納）、操作（管理）及び共用するための能力を提供する。
【００１７】
ＥＨＲ記憶装置２０は、データアクセスフロント２２、暗号化データ記憶装置２４、及びメタデータ記憶装置２６を含む。データアクセスフロント２２は、参加者システム３０により暗号化データ記憶装置２４及びメタデータ記憶装置２６に対するアクセスを管理するために参加者システム３０と通信する。
【００１８】
暗号化データ記憶装置２４は、参加者システム３０により生成および提供された患者の暗号化ＥＨＲを格納する。暗号化ＥＨＲは、対応する記録鍵を用いて参加者システム３０により暗号化および暗号解読される。暗号化データ記憶装置２４は、暗号化ＥＨＲを格納するための任意の適切なタイプ、数、及び／又は構成の機械可読記憶媒体を含む。ＥＨＲが暗号化され且つ暗号化データ記憶装置２４がＥＨＲの暗号鍵（即ち、記録鍵）を格納しないので、暗号化データ記憶装置２４は、信頼されたデータ記憶装置となることができるか又はなることができない（例えば、暗号化データ記憶装置２４は、１つ又は複数の信頼されない第三者により所有または操作され得る）。
【００１９】
メタデータ記憶装置２６は、各患者のメタデータツリー５０を格納し、この場合、各メタデータツリー５０は、対応するノード鍵ロックボックス６２及び記録鍵ロックボックス６４を有するノード５１のセットを含む。ノード５１は、階層ツリー構造に構成され、図２の例に示されるように、各対応する暗号化ＥＨＲ８０の、患者根ノード５２、任意の適切な数のサブツリーノード５４、任意の適切な数および適切なレベル数の中間ノード５６、及び葉ノード５８を含む。
【００２０】
患者根ノード５２は、患者を識別する情報を含む。サブツリーノード５４は、各サブツリー５４の下にあるノード５６及び５８の集合により形成された対応するサブツリーを管理（操作）する対応する医療参加者を識別する。中間ノード５６は、ＥＨＲの論理的グループを表し（例えば、治療の病気のような患者情報のカテゴリにより）、当該グループを記述する情報を含む。各葉ノード５８は、対応する暗号化ＥＨＲ８０を記述するメタデータを格納し、この場合、メタデータは、図２において参照６０を表す破線の矢印により示されるように、暗号化データ記憶装置２４の暗号化ＥＨＲ８０に対する参照６０を含む。参照６０は、暗号化データ記憶装置２４の暗号化ＥＨＲ８０にアクセスするために使用され得る。
【００２１】
図３は、メタデータツリーノード５１の一例を示すブロック図である。メタデータツリーノード５１は、ノード識別子９１、親識別子９２、参加者識別子９３、名称９４、バージョン９５、タイプ９６、及び参照６０を含む。ノード識別子９１は、ノード５１の全体的な一意の識別子であり、親識別子９２は、ノード５１の親ノードのノード識別子９１である。参加者識別子９３は、ノード５１を作成した医療参加者を識別する情報である。名称９４は、ノード５１を作成した医療参加者により与えられる名称（名前）である。バージョン９５は、ノード５１のバージョン数である。タイプ９６は、ノード５１のタイプである。参照６０は、暗号化データ記憶装置２４の暗号化ＥＨＲ８０の記憶場所を識別する。
【００２２】
図２に戻って参照すると、各ノード５１は、対応するノード鍵を用いて参加者システム３０により暗号化され、当該ノード鍵および任意の取り消されたノード鍵（後述される）が、ノード５１に対応するノード鍵ロックボックス６２に格納される。ノード５１に対応する記録鍵ロックボックス６４は、暗号化データ記憶装置２４の対応するＥＨＲ８０の記録鍵を格納する。暗号化データ記憶装置２４から暗号化ＥＨＲ８０にアクセスするために、参加者システム３０は、暗号化データ記憶装置２４の暗号化ＥＨＲ８０の場所を見つけるための参照６０、及び暗号化ＥＨＲ８０を暗号解読するための記録鍵を必要とする。
【００２３】
各メタデータツリー５０のノード鍵ロックボックス６２及び記録鍵ロックボックス６４の集合は、ノード鍵および記録鍵をそれぞれ格納するための別個の階層ロックボックス機構を形成する。別個の階層ロックボックス機構により、アクセス権が、メタデータツリーノード５１及び暗号化ＥＨＲ８０に対して別個に付与されることが可能になる。
【００２４】
各ノード鍵ロックボックス６２は、対応するノード５１のノード鍵のセット（即ち、現在のノード鍵および任意の取り消されたノード鍵）を格納する。各ノード鍵は、対応するノード５１を暗号化および暗号解読するために使用可能であり、取り消される前に、対応するノード５１の下にある各ノード５１における各ノード鍵ロックボックス６２をロックおよびロック解除するために使用可能である。例えば、中間ノード５６のノード鍵ロックボックス６２からのノード鍵は、当該中間ノード５６の直下にある各葉ノード５８の各ノード鍵ロックボックス６２、並びに当該中間ノード５６の直下にある他の中間ノード５６のあらゆる他のノード鍵ロックボックス６２（図２には示されない）をロック及びロック解除するために使用され得る。
【００２５】
各記録鍵ロックボックス６４は、対応するノード５１の記録鍵を格納する。各記録鍵は、暗号化ノードの下にある各暗号化ノードにおける記録鍵ロックボックスをロック及びロック解除するために、又は対応する暗号化ＥＨＲ８０を暗号化および暗号解読するために使用可能である。例えば、中間ノード５６の記録鍵ロックボックス６４からの記録鍵は、当該中間ノード５６の直下にある各葉ノード５８の各記録鍵ロックボックス６４、並びに当該中間ノード５６の直下にある他の中間ノード５６のあらゆる他の記録鍵ロックボックス６４（図２には示されない）をロック及びロック解除するために使用され得る。各葉ノード５８からの記録鍵は、対応する暗号化ＥＨＲ８０を暗号化および暗号解読するために使用され得る。
【００２６】
メタデータツリー５０により、仲間入りを許されていない医療参加者（例えば、異なる関係の無い企業体で業務を行う提供者）が、患者の様々な暗号化ＥＨＲ８０を暗号化データ記憶装置２４に格納し、他の医療参加者とこれら暗号化ＥＨＲ８０を共用することが可能になる。暗号化ＥＨＲ８０はそれぞれ、１つの暗号化ＥＨＲ８０の記録鍵が任意の他の暗号化ＥＨＲ８０を暗号解読するために使用されることができないように、異なる記録鍵で暗号化される。医療参加者は、アクセスする必要がある暗号化ＥＨＲ８０がどれかを特定するためにメタデータツリー５０を使用することができ、必要な暗号化ＥＨＲ８０を生成した他の医療参加者または患者からのアクセス（即ち、ノード鍵および記録鍵）を要求することができる。
【００２７】
患者、医療提供者、支払者、研究者、及び患者の医療プロセスに必要とされる他の適切な人物を含む、参加者（図示せず）は、患者のＥＨＲ８０を作成、当該ＥＨＲ８０にアクセス、当該ＥＨＲ８０を記憶（格納）、管理（操作）、及び共用するために、対応するデータアクセスアダプター３２を用いてＥＨＲ記憶装置２０と通信するために、対応する参加者システム３０と相互作用する。各データアクセスアダプター３２は、暗号化データ記憶装置２４及びメタデータ記憶装置２６にアクセスするために、ＥＨＲ記憶装置２０のデータアクセスフロント２２と通信する。
【００２８】
１つ又は複数の医療参加者は、メタデータツリー５０の各サブツリーノード５４から生じる様々なサブツリーを管理することができる。サブツリーを管理する医療参加者は、サブツリーノード及びサブツリーノード５４（即ち、サブツリーの最上位のノード）のサブツリー記録鍵を維持し、サブツリーノード及びサブツリー記録鍵は、患者の患者鍵から導出される（例えば、患者が医療参加者に登録された際に、医療参加者に提供される）。図２の例において、サブツリーノード及びサブツリーノード５４のサブツリー記録鍵は、医療参加者システム３０にのみ格納される（即ち、サブツリーノード５４に対応するロックボックス６２及び６４ではない）。図示されない他の例において、サブツリーノード及びサブツリーノード５４のサブツリー記録鍵は、医療参加者システム３０に格納されることに加えて、メタデータツリー５０のサブツリーノード５４に対応するロックボックス６２及び６４に格納され得る。
【００２９】
参加者は、参加者システム３０を用いてメタデータツリー５０のサブツリーを管理（操作）する。そうするために、参加者システム３０は、他の参加者システム３０を用いて患者の他の認定された医療参加者に対するアクセスを許可および取り消すために、サブツリーの対応するノード５４、５６及び５８のノード鍵および記録鍵を管理する。参加者システム３０は、選択されたノード鍵および記録鍵を別の参加者システム３０に提供することにより、アクセスを許可する。サブツリーの所与のノード５４、５６又は５８におけるノード鍵および記録鍵が、所与のノード５４、５６又は５８の下にある全ノード５６及び／又は５８における対応するロックボックスをロック解除するために使用され得るので、参加者システム３０は、どのノード鍵および記録鍵を他の参加者システム３０と共用するかを選択することにより、アクセスのレベルを制御する。
【００３０】
環境１０において、ＥＨＲ記憶装置２０及び参加者システム３０は、任意の適切なタイプ、数、及び構成の処理システムで実現されることができ、当該処理システムはそれぞれ、１つ又は複数のメモリ（即ち、コンピュータ可読媒体）に格納された命令を実行するための１つ又は複数のプロセッサを含む。特に、幾つかの実施形態において、データアクセスフロント２２、暗号化データ記憶装置２４、及びメタデータ記憶装置２６は、異なる処理システムを用いて実現され得る。参加者システム３０の例が図４に示され、以下で更に詳述される。更に、任意の適切なタイプ、数、及び構成の有線および／または無線ネットワークデバイス（図示せず）を用いて、処理システムが通信することを可能にすることができる。
【００３１】
図４は、参加者システム３０の一例を示すブロック図である。参加者システム３０は、メモリシステム１０４に格納された命令のセットを実行するように構成された１つ又は複数のプロセッサ１０２のセット、メモリシステム１０４、及び少なくとも１つの通信デバイス１０６を含む。プロセッサ１０２、メモリシステム１０４、及び通信デバイス１０６は、任意の適切なタイプ、数、及び／又は構成のコントローラ、バス、インターフェース、及び／又は他の有線または無線接続を含む相互接続１０８のセットを用いて通信する。
【００３２】
参加者システム３０は、サーバコンピュータ、ラップトップコンピュータ、タブレット型コンピュータ、デスクトップコンピュータ、処理能力を有する携帯電話（即ち、スマートフォン）、又は処理能力を有する別の適切なタイプの電子デバイスのような、任意の適切な処理デバイス又は処理デバイスの一部を表す。各プロセッサ１０２は、メモリシステム１０４に格納された命令にアクセスして命令を実行する、及びデータにアクセスしてデータをメモリシステム１０４に格納するように構成される。メモリシステム１０４は、命令およびデータを格納するように構成された、任意の適切なタイプ、数、及び構成の揮発性または不揮発性機械可読記憶媒体を含む。メモリシステム１０４の機械可読記憶媒体の例には、ハードディスクドライブ、ランダムアクセスメモリ（ＲＡＭ）、読み出し専用メモリ（ＲＯＭ）、フラッシュメモリドライブ及びカード、及び他の適切なタイプの磁気ディスク及び／又は光ディスクが含まれる。機械可読記憶媒体は、品物または製品の一部であると考えられる。品物または製品は、１つ又は複数の製造されたコンポーネントを意味する。通信デバイス１０６は、参加者システム３０が１つ又は複数の有線または無線ネットワークを介して通信することを可能にするように構成された、任意の適切なタイプ、数、及び／又は構成の通信デバイスを含む。
【００３３】
データアクセスアダプター３２は、プロセッサ１０２により実行された場合に、プロセッサ１０２にデータアクセスアダプター３２の機能を実行させる命令を含み、当該アダプター３２の機能はここで、図５、図６及び図７に関連して説明される。図５は、階層ロックボックス６２及び６４を有するメタデータツリー５０を用いて暗号化記録８０を格納する一例を示す略図である。図６は、階層ロックボックス６２及び６４を有するメタデータツリー５０を用いて、暗号化記録８０にアクセスする一例を示す略図である。図７は、階層ロックボックスを有するメタデータツリーを用いて、鍵取り消しを行う一例を示す略図である。
【００３４】
図４及び図５を参照すると、データアクセスアダプター３２は、矢印１４１により示されるように、データアクセスフロント２２を介してメタデータ記憶装置２６から患者のメタデータツリー５０にアクセスする。メタデータ記憶装置２６は、矢印１４２により示されるように、データアクセスフロント２２を介して提供者システム３０にメタデータツリー５０を提供する。データアクセスアダプター３２は、矢印１４３により示されるように、新たな又は更新されたＥＨＲ１２０に対応する葉ノード５８のメタデータツリー５０における場所を特定する。当該場所に基づいて、データアクセスアダプター３２は、メタデータツリー５０の場所の上にあるサブツリーの別のノード鍵を用いてノード鍵１１２を生成する、又はサブツリーを管理する別の参加者システム３０からノード鍵１１２を受け取る。また、データアクセスアダプター３２は、メタデータツリー５０の場所の上にあるサブツリーの別の記録鍵を用いて記録鍵１１４を生成する、又はサブツリーを管理する別の参加者システム３０から記録鍵１１４を受け取る。
【００３５】
データアクセスアダプター３２は、矢印１４４により示されるように、暗号化ＥＨＲ８０を生成するために、記録鍵１１４を用いてＥＨＲ１２０を暗号化する。データアクセスアダプター３２は、矢印１４５により示されるように、データアクセスフロント２２を介して暗号化ＥＨＲ８０を暗号化データ記憶装置２４に提供する。暗号化データ記憶装置２４は、矢印１４６により示されるように、データアクセスフロント２２を介してデータアクセスアダプター３２にステータスを提供する。暗号化ＥＨＲ８０の格納が成功しなかったことを当該ステータスが示す場合、データアクセスアダプター３２は、当該格納を再試行することができる。
【００３６】
ひとたび当該格納が成功した場合、データアクセスアダプター３２は、矢印１４７により示されるように、葉ノード５８を生成して、ノード鍵１１２を用いて葉ノード５８を暗号化する。データアクセスアダプター３２は、暗号化データ記憶装置２４に成功して格納された暗号化ＥＨＲ８０に対する参照６０を含むように葉ノード５８を生成し、葉ノード５８の暗号化の一部として参照６０を暗号化する。データアクセスアダプター３２は、矢印１４８により示されるように、葉ノード５８、ノード鍵を有するノード鍵ロックボックス６２、及び記録鍵を有する記録鍵ロックボックス６４を含むようにメタデータツリー５０を更新する。データアクセスアダプター３２は、葉ノード５８の親ノード５６からのノード鍵を用いてノート鍵ロックボックス６２をロックし、葉ノード５８の親ノード５６からの記録鍵を用いて記録鍵ロックボックス６４をロックする。データアクセスアダプター３２は、矢印１４９により示されるように、データアクセスフロント２２を介して、更新されたメタデータツリー５０をメタデータ記憶装置２６に提供する。メタデータ記憶装置２６は、矢印１５０により示されるように、データアクセスフロント２２を介して、ステータスをデータアクセスアダプター３２に提供する。更新されたメタデータツリー５０の格納が成功しなかったことを当該ステータスが示す場合、データアクセスアダプター３２は、それが成功するまで当該更新を再試行することができる。
【００３７】
データアクセスアダプター３２は、暗号化データ記憶装置２４に格納されるＥＨＲ毎に、図５に示されたプロセスを繰り返す。
【００３８】
ひとたび暗号化ＥＨＲ８０が暗号化データ記憶装置２４に格納されると、対応するノード及び記録鍵を生成または取得する参加者は、図６に示されるように、暗号化データ記憶装置２４から暗号化ＥＨＲ８０にアクセスすることができる。図４及び図６を参照すると、データアクセスアダプター３２は、矢印１５１により示されるように、データアクセスフロント２２を介して、メタデータ記憶装置２６から患者のメタデータツリー５０にアクセスする。メタデータ記憶装置２６は、矢印１５２により示されるように、データアクセスフロント２２を介してメタデータツリー５０を提供者システム３０に提供する。データアクセスアダプター３２は、矢印１５３により示されるように、暗号化ＥＨＲ８０に対応するメタデータツリー５０において葉ノード５８を特定する。
【００３９】
データアクセスアダプター３２は、矢印１５４により示されるように、葉ノード５８に対応するノード鍵ロックボックス６２及び記録鍵ロックボックス６４からノード鍵１１２及び記録鍵１１４にアクセスする。データアクセスアダプター３２が葉ノード５８を含むサブツリーを管理（操作）する場合、データアクセスアダプター３２は、葉ノード５８のノード鍵１１２がアクセスされるまで、各逐次のノード鍵ロックボックス６２をロック解除することにより、任意の中間ノード５６及び葉ノード５８から逐次にノード鍵にアクセスするためにサブツリーノード鍵を使用する。データアクセスアダプター３２が葉ノード５８を含むサブツリーを管理（操作）しない場合、データアクセスアダプター３２は、ノード鍵１１２、又はサブツリーを管理する別の参加者システム３０からサブツリーの中間ノード５６からのノード鍵を受け取る。必要に応じて、データアクセスアダプター３２は、葉ノード５８のノード鍵１１２がアクセスされるまで、各逐次のノード鍵ロックボックス６２をロック解除することにより、任意の中間ノード５６及び葉ノード５８から逐次にノード鍵にアクセスするために、受け取ったノード鍵を使用する。
【００４０】
同様に、データアクセスアダプター３２が葉ノード５８を含むサブツリーを管理（操作）する場合、データアクセスアダプター３２は、葉ノード５８の記録鍵１１４がアクセスされるまで、各逐次の記録鍵ロックボックス６４をロック解除することにより、任意の中間ノード５６及び葉ノード５８から逐次に記録鍵にアクセスするためにサブツリー記録鍵を使用する。データアクセスアダプター３２が葉ノード５８を含むサブツリーを管理（操作）しない場合、データアクセスアダプター３２は、記録鍵１１４、又はサブツリーを管理する別の参加者システム３０からサブツリーの中間ノード５６からの記録鍵を受け取る。必要に応じて、データアクセスアダプター３２は、葉ノード５８の記録鍵１１４がアクセスされるまで、各逐次の記録鍵ロックボックス６４をロック解除することにより、任意の中間ノード５６及び葉ノード５８から逐次に記録鍵にアクセスするために、受け取った記録鍵を使用する。
【００４１】
ノード鍵１１２にアクセス後、データアクセスアダプター３２は、矢印１５５により示されるように、所望の暗号化ＥＨＲ８０に対する参照６０を取得するために、ノード鍵１１２でもって葉ノード５８を暗号解読する。データアクセスアダプター３２は、矢印１５６により示されるように、データアクセスフロント２２を介して、暗号化データ記憶装置２４から暗号化ＥＨＲ８０にアクセスする。暗号化データ記憶装置２４は、矢印１５７により示されるように、データアクセスフロント２２を介して、所望の暗号化ＥＨＲ８０を提供する。データアクセスアダプター３２は、矢印１５８により示されるように、記録鍵１１４を用いて、暗号化ＥＨＲ８０を暗号解読されたＥＨＲ１２０へ暗号解読する。データアクセスアダプター３２は、矢印１５９により示されるように、暗号解読されたＥＨＲ１２０を参加者に出力する（例えば、暗号解読されたＥＨＲ１２０を表示することにより）。
【００４２】
データアクセスアダプター３２は、暗号化データ記憶装置２４からアクセスされた暗号化ＥＨＲ毎に、図６に示されたプロセスを繰り返す。
【００４３】
上記の例において、各サブツリーのノード鍵および記録鍵が患者の患者鍵から導出されるので、患者は、サブツリーノード及び各サブツリーノード５４の記録鍵を生成することができ、患者の全てのＥＨＲにアクセスできるために各サブツリーの全レベルにおけるノード鍵ロックボックス６２及び記録鍵ロックボックス６４をロック解除するためにサブツリーノード鍵および記録鍵を使用することができる。
【００４４】
患者を含む参加者は、図７の方法を用いた取り消しの後に格納されたＥＨＲに対して、別の参加者のアクセスを取り消すことができる。図４及び図７を参照すると、データアクセスアダプター３２は、矢印１６１により示されるように、データアクセスフロント２２を介して、メタデータ記憶装置２６から患者のメタデータツリー５０にアクセスする。メタデータ記憶装置２６は、矢印１６２により示されるように、データアクセスフロント２２を介して、メタデータツリー５０を提供者システム３０に提供する。データアクセスアダプター３２は、矢印１６３により示されるように、鍵取り消しのためのノード５６をメタデータツリー５０において特定する。データアクセスアダプター３２は、矢印１６４により示されるように、ノード５６に新たなノード鍵を格納する別のノード鍵ロックボックス６２を追加することにより、ノード５６のノード鍵を取り消す。データアクセスアダプター３２は、ノード鍵が取り消された場合に新たなノード鍵を選択するために、ノード鍵を前へ回転させる所定の鍵回転アルゴリズムを用いて新たなノード鍵を生成する。
【００４５】
図８に示された鍵回転の例において、データアクセスアダプター３２は、鍵取り消しのためのノード５６（１）を特定する。データアクセスアダプター３２は、時間ｔRにおけるノード５６（１）のノード鍵ロックボックス６２（０）に格納されたノード鍵を、新たなノード鍵を格納する別のノード鍵ロックボックス６２（１）をノード５６（１）に追加することによって取り消す。取り消し後、取り消されたノード鍵は、取り消し前に格納されたノード鍵ロックボックス６２をロック解除するための能力を保持する。従って、ノード鍵ロックボックス６２（０）の取り消されたノード鍵は、矢印１７２により示されるように、時間ｔRより前に格納された葉ノード５８（１）及び５８（２）のノード鍵ロックボックス６２（０）（１）及び６２（０）（２）をそれぞれロック解除するために使用され得る。
【００４６】
ノード５６の下に追加されたノード鍵ロックボックス６２は、ノード５６のごく最近に追加されたノード鍵を用いてロックされる。矢印１７４により示されるように、ノード５６（１）の鍵取り消し後に格納されたノード５８（３）に関して、ノード鍵ロックボックス６２（１）（１）は、ノード５６（１）のノード鍵ロックボックス６２（１）に格納されたノード鍵、即ち、鍵取り消しにより追加されたノード鍵を用いてロックされる。ノード鍵ロックボックス６２（０）の取り消されたノード鍵は、取り消し後に格納されたノード鍵ロックボックス６２（１）（１）又は他のノード鍵ロックボックス６２をロック解除するために使用できない。従って、取り消されたノード鍵は、ノード５８（３）の参照６０が暗号解読されることを可能にするためにノード鍵ロックボックス６２（１）（１）に格納されたノード鍵へのアクセスを提供しない。
【００４７】
ノード５６の鍵取り消しの一部として追加されたノード鍵は、鍵取り消し後にノード５６の下に追加された全てのノード鍵ロックボックス６２をロック解除するために使用可能である。従って、ノード鍵ロックボックス６２（１）からのノード鍵は、ノード５８（３）の参照６０が暗号解読されるのを可能にするノード鍵にアクセスするためにノード５８（３）のノード鍵ロックボックス６２（１）（１）をロック解除するために使用可能である。鍵取り消し前にノード５６の下に追加されたノード鍵ロックボックス６２に関して、新たなノード鍵は、取り消されたノード鍵を取得するために逆回転される。従って、ノード鍵ロックボックス６２（１）からのノード鍵は、ノード５８（１）及び５８（２）のノード鍵ロックボックス６２（０）（１）及び６２（０）（２）をロック解除する取り消されたノード鍵（ノード鍵ロックボックス６２（０）にも格納されている）を取得するために逆回転される。
【００４８】
鍵取り消しが生じた、取り消されたノード（以降、取り消しノード）５６の上にある全ノード５４及び５６からのノード鍵は、取り消しノード５６にある及びその下にある全ノード鍵ロックボックス６２をロック解除するために使用可能な状態のままである。従って、鍵取り消しは、取り消しノード５６の上にあるノード鍵に対するアクセスに影響を与えない。
【００４９】
図７に戻って参照すると、取り消しノード５６は、メタデータツリー５０において取り消しノード５６の下に任意の中間ノード５６を有し、データアクセスアダプター３２は、矢印１６５により示されるように、メタデータツリー５０における取り消しノード５６の下にある全ての中間ノード５６に鍵取り消しを伝達する。そうするために、データアクセスアダプター３２は、図９の例に示されるように、取り消しノード５６の下にある各中間ノード５６に、新たなノード鍵を格納する別のノード鍵ロックボックス６２を追加する。
【００５０】
図９において、データアクセスアダプター３２は、鍵取り消しのためのノード５６（２）を特定する。データアクセスアダプター３２は、時間ｔRにおけるノード５６（２）のノード鍵ロックボックス６２（２）に格納されたノード鍵を、新たなノード鍵を格納する別のノード鍵ロックボックス６２（３）をノード５６（２）に追加することによって取り消す。また、データアクセスアダプター３２は、矢印１８０により示されたように、個々の新たなノード鍵を格納するノード鍵ロックボックス６２（３）（１）及び６２（３）（２）をそれぞれ中間ノード５６（３）及び５６（４）に追加することにより、中間ノード５６（３）及び５６（４）に鍵取り消しを伝達する。
【００５１】
ノード鍵ロックボックス６２（２）の取り消されたノード鍵は、矢印１８２及び１９２により示されたように、時間ｔRの前に格納されたノード５６（３）及び５６（４）のノード鍵ロックボックス６２（２）（１）及び６２（２）（２）をそれぞれロック解除するための能力を保持する。同様に、ノード鍵ロックボックス６２（２）（１）のノード鍵は、ノード５８（４）及び５８（５）のノード鍵ロックボックス６２（２）（１）（１）及び６２（２）（１）（２）をロック解除するための能力を保持する。
【００５２】
矢印１８４により示されたように、ノード５６（２）の鍵取り消し後に格納されたノード５６（５）のノード鍵ロックボックス６２（３）（３）は、ノード５６（２）のノード鍵ロックボックス６２（３）に格納されたノード鍵を用いてロックされる。同様に、矢印１９４により示されたように、ノード５６（２）の鍵取り消し及びノード５６（３）への伝達の後に格納されたノード５８（６）のノード鍵ロックボックス６２（３）（１）（１）は、ノード５６（３）のノード鍵ロックボックス６２（３）（１）に格納されたノード鍵を用いてロックされる。ノード鍵ロックボックス６２（２）の取り消されたノード鍵は、ノード鍵ロックボックス６２（３）（１）又は６２（３）（３）をロック解除するために使用できない。
【００５３】
ノード鍵ロックボックス６２（３）（１）から伝達されたノード鍵は、ノード５８（６）の参照６０が暗号解読されることを可能にするノード鍵にアクセスするためにノード５８（６）のノード鍵ロックボックス６３（３）（１）（１）をロック解除するために使用可能である。ノード鍵ロックボックス６２（３）（１）からのノード鍵は、ノード５８（４）及び５８（５）のノード鍵ロックボックス６２（２）（１）（１）及び６２（２）（１）（２）をロック解除する、ノード鍵ロックボックス６２（２）（１）に格納されたノード鍵を取得するために逆回転される。
【００５４】
図７の鍵取り消し方法に関して、記録鍵ロックボックス６４の記録鍵は、ノード鍵の何らかの鍵取り消しの結果として変更されないままである。ノード鍵の取り消しは、取り消し後に格納されたＥＨＲへのアクセスを阻止するのに十分である。その理由は、新たなノード鍵の使用により、新たなノード鍵を持っていない参加者（例えば、取り消されたノード鍵だけを持っている参加者）が、取り消し後に格納されたＥＨＲへの参照６０にアクセスすることが阻止されるからである。
【００５５】
メタデータツリー５０のサブツリーを管理する参加者システム３０は、上記の鍵回転を実行するために、対応するサブツリーノード５４の、サブツリーノード及びサブツリー記録鍵からそれぞれ生成されたノードシード及び記録シード（seed：種）を使用する。ノード５１のノード鍵ロックボックス６２のノードシードは、ノード識別子９１（図３に示された）及びサブツリーノード鍵のハッシュとして計算され得る。ノード５１の記録鍵ロックボックス６４の記録シードは、ノード識別子９１（図３に示された）及びサブツリー記録鍵のハッシュとして計算され得る。
【００５６】
有利な点は、上記の実施形態により、医療参加者が、階層ロックボックスを有するメタデータツリーを用いて共通の暗号化データ記憶装置のＥＨＲを安全に管理（操作）および共用することが可能になることができる。医療参加者は、メタデータツリーの各ノードのノード鍵および記録鍵を用いて、患者の選択されたＥＨＲにアクセスする及び当該ＥＨＲを格納するために他の医療参加者の能力を制御する。患者鍵から導出されたサブツリー鍵を、選択された医療参加者に提供することにより、患者は、患者鍵を用いて患者の全ＥＨＲにアクセスするための能力を維持する。また、患者を含む医療参加者は、メタデータツリーの任意のレベルにおける鍵取り消しを用いて、他の医療参加者のアクセスを選択的に取り消すための能力も保持する。
【図１】
0005948503.tif 000002
【図２】
0005948503.tif 000003
【図３】
0005948503.tif 000004
【図４】
0005948503.tif 000005
【図５】
0005948503.tif 000006
【図６】
0005948503.tif 000007
【図７】
0005948503.tif 000008
【図８】
0005948503.tif 000009
【図９】
0005948503.tif 000010