特許第6261573号(P6261573)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ オラクル・インターナショナル・コーポレイションの特許一覧

特許6261573オフライン機能のためのモバイル治験モニターフレームワーク
<>
  • 特許6261573-オフライン機能のためのモバイル治験モニターフレームワーク 図000002
  • 特許6261573-オフライン機能のためのモバイル治験モニターフレームワーク 図000003
  • 特許6261573-オフライン機能のためのモバイル治験モニターフレームワーク 図000004
  • 特許6261573-オフライン機能のためのモバイル治験モニターフレームワーク 図000005
  • 特許6261573-オフライン機能のためのモバイル治験モニターフレームワーク 図000006
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6261573
(24)【登録日】2017年12月22日
(45)【発行日】2018年1月17日
(54)【発明の名称】オフライン機能のためのモバイル治験モニターフレームワーク
(51)【国際特許分類】
   G16H 10/00 20180101AFI20180104BHJP
【FI】
   G06Q50/24
【請求項の数】9
【全頁数】16
(21)【出願番号】特願2015-518406(P2015-518406)
(86)(22)【出願日】2013年5月15日
(65)【公表番号】特表2015-529872(P2015-529872A)
(43)【公表日】2015年10月8日
(86)【国際出願番号】US2013041096
(87)【国際公開番号】WO2013191824
(87)【国際公開日】20131227
【審査請求日】2015年12月24日
(31)【優先権主張番号】13/827,073
(32)【優先日】2013年3月14日
(33)【優先権主張国】US
(31)【優先権主張番号】61/662,050
(32)【優先日】2012年6月20日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】502303739
【氏名又は名称】オラクル・インターナショナル・コーポレイション
(74)【代理人】
【識別番号】110001195
【氏名又は名称】特許業務法人深見特許事務所
(72)【発明者】
【氏名】ラインス,マシュー
(72)【発明者】
【氏名】マトスキフ,ビクター
(72)【発明者】
【氏名】トーマス,ジャヤント
【審査官】 月野 洋一郎
(56)【参考文献】
【文献】 特開2003−196391(JP,A)
【文献】 米国特許出願公開第2008/0256128(US,A1)
【文献】 特開平11−134277(JP,A)
【文献】 特開2003−280931(JP,A)
【文献】 特表2005−528706(JP,A)
【文献】 特開平04−299758(JP,A)
【文献】 特開2010−050742(JP,A)
【文献】 米国特許第06480847(US,B1)
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 50/24
(57)【特許請求の範囲】
【請求項1】
コンピュータによって実行されると前記コンピュータに方法を実行させる、コンピュータ読取可能なプログラムであって、前記方法は、
バイル装置からネットワーク通信を通じて、前記コンピュータにトリップレポートスケルトンを作成するように要求する作成要求を受信することを含み、前記トリップレポートスケルトンは、臨床研究に関するトリップレポートデータを前記モバイル装置に入力しかつ格納することができるようにするテンプレートであり、
さらに、前記コンピュータによって、第1のスレッドおよび第2のスレッドを初期化することを含み、前記第1のスレッドおよび前記第2のスレッドは、非同期で実行され、
前記第1のスレッドにおいて、前記コンピュータによって、前記作成要求が実行され、
前記第1のスレッドにおいて、前記作成要求に応答して、前記モバイル装置へ前記作成要求の受信を確認する確認応答を送信することを含み、
前記第2のスレッドにおいて、前記コンピュータによって前記トリップレポートスケルトンを生成することを含み、前記トリップレポートスケルトンを生成することは、データベースから標準トリップレポートを取得して、前記モバイル装置のディスプレイ上で前記トリップレポートスケルトンをレンダリングするために、前記標準トリップレポートをメタデータとを組み合わせることを含み、
さらに、前記第2のスレットにおいて、前記組み合わされた前記標準トリップレポートと前記メタデータとから自己記述オブジェクト(SDO)フォーマットの前記トリップレポートスケルトンを作成することと
前記トリップレポートスケルトンに所定の割合のトリップレポートデータが入力されたと判断されたときにサーバ側ロジックへトリップレポートを送信することとを含む、コンピュータ読取可能なプログラム。
【請求項2】
前記方法は、さらに、
前記モバイル装置から、前記コンピュータによって、前記トリップレポートスケルトンに対するフェッチ要求を受信することと、
前記トリップレポートスケルトンが作成されたかどうかを判断することと、
前記トリップレポートスケルトンがまだ作成されていないときに、前記フェッチ要求をタイムアウトさせて、前記モバイル装置が、前記トリップレポートスケルトンに対する次のフェッチ要求をすることができるようにし、
前記トリップレポートスケルトンが作成されているときに、前記トリップレポートスケルトンを前記モバイル装置へ送信することとを含み、
前記メタデータによって、前記モバイル装置が前記トリップレポートスケルトンをレンダリングすることが可能となり、前記モバイル装置と前記コンピュータとの間のネットワークインタラクションを最小化するために、前記モバイル装置が前記コンピュータとオフラインのときに、前記トリップレポートスケルトンによって、前記モバイル装置がデータを入力することが可能となる、請求項1に記載のコンピュータ読取可能なプログラム。
【請求項3】
前記次のフェッチ要求は、予め定められたスケジュール、前記フェッチ要求のタイムアウトの直後、または、前記フェッチ要求のタイムアウトから予め定められた時間の経過後、のうちのいずれかに従って、送信される、請求項2に記載のコンピュータ読取可能なプログラム。
【請求項4】
前記方法はさらに、
前記モバイル装置を用いて、前記トリップレポートデータを入力して、前記トリップレポートを作成することと、
治験モニター(CRA)アプリケーションフレームワーク内の前記サーバ側ロジックとのネットワークリンクを確立することによって、前記トリップレポートを前記サーバ側ロジックに送信することとを含む、請求項1〜のいずれか1項に記載のコンピュータ読取可能なプログラム。
【請求項5】
データは、サーバからの前記データのアクセシビリティにかかわらず、前記モバイル装置によって前記トリップレポートスケルトンに入力される、請求項1〜のいずれか1項に記載のコンピュータ読取可能なプログラム。
【請求項6】
標準トリップレポートとメタデータとを格納するように構成されたデータベースと、
トリップレポートスケルトンを作成するように要求する作成要求モバイル装置から受信するように構成されたサーバ側ロジックを備え前記トリップレポートスケルトンは、臨床研究に関するトリップレポートデータを前記モバイル装置に入力しかつ格納することができるようにするテンプレートであり、
さらに、前記標準トリップレポートと前記メタデータとを組み合わせてSDOフォーマットのトリップレポートスケルトンを作成するように構成された自己記述オブジェクト(SDO)トランスフォーマ備え、
記作成要求は、前記モバイル装置から第1のスレッドで送信され、前記トリップレポートスケルトンは前記モバイル装置に第2のスレッドで送信され、
前記第1のスレッドと、前記第2のスレッドは、非同期であ
前記サーバ側ロジックは、前記モバイル装置から、コンピュータによって、前記トリップレポートスケルトンに対するフェッチ要求を受信し、、
前記トリップレポートスケルトンが作成されたかどうかを判断し、
前記トリップレポートスケルトンがまだ作成されていないときに、前記フェッチ要求をタイムアウトさせて、前記モバイル装置が、前記トリップレポートスケルトンに対する次のフェッチ要求をすることができるようにし、
前記トリップレポートスケルトンが作成されているときに、前記トリップレポートスケルトンを前記モバイル装置へ送信し、
前記メタデータによって、前記モバイル装置が前記トリップレポートスケルトンをレンダリングすることが可能となり、前記モバイル装置と前記コンピュータとの間のネットワークインタラクションを最小化するために、前記モバイル装置が前記コンピュータとオフラインのときに、前記トリップレポートスケルトンによって、前記モバイル装置がデータを入力することが可能となる、計算システム。
【請求項7】
前記メタデータは前記トリップレポートスケルトンをレンダリングし易くする、請求項に記載の計算システム。
【請求項8】
前記標準トリップレポートは、異なる前記モバイル装置を用いる多数のユーザに前記標準トリップレポートを配布できるように一般化される、請求項6または7に記載の計算システム。
【請求項9】
前記サーバ側ロジックはさらに、前記モバイル装置が前記トリップレポートスケルトンのロードおよび同期化を容易にするためのアプリケーションプログラミングインターフェイスを提供するように構成される、請求項6〜8のいずれか1項に記載の計算システム。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本開示は、2013年3月14日に出願され「Mobile Clinical Research Associate Framework for Offline Capability」と題された米国非仮特許出願第13/827,073号および2012年6月20日に出願され「Mobile Clinical Research Associate Framework for Offline Capability」と題された米国仮特許出願第61/662,050号の利益を主張し、その全体を本明細書に引用により援用する。
【背景技術】
【0002】
背景
臨床試験は、健康管理対策(たとえば薬剤、診断、装置、治療プロトコル)における薬剤の有害反応および治療の有害効果に関する情報等の、安全性と効能のデータを生成する、医療研究および薬剤開発における複数組のテストである。さらに、薬剤、診断、装置、およびプロトコルに関する情報等の、臨床研究の設計に関する情報も含まれる場合がある。
【0003】
トリップレポートには、臨床研究に関する情報が保存されている。このため、トリップレポートは、カスタマイズ性が高く、重要なデータを含む。モバイル装置に対するインターフェイスをカスタマイズせずに、または、遠隔サーバに繰返しアクセスせずに、モバイル装置上でトリップレポートを編集し表示することが望ましい。また、ビジネスコンポーネントとトリップレポートウェブサービスのインタラクションが、トリップレポートを標準化することを困難にしている。
【発明の概要】
【課題を解決するための手段】
【0004】
概要
概して、この明細書のある局面は、コンピュータによって実行されるとこのコンピュータに方法を実行させる、コンピュータで実行可能な命令が格納された、非一時的な(non-transitory)コンピュータ読取可能な媒体を開示する。この方法は、モバイル装置からトリップレポートスケルトン作成要求を送信することを含む。トリップレポートスケルトンにより、臨床研究に関するトリップレポートデータをモバイル装置に格納することができる。トリップレポートスケルトンに対するフェッチ要求が発行される。トリップレポートスケルトンの準備ができているか否かが判断される。トリップレポートスケルトンの準備ができている場合、自己記述オブジェクト(Self Describing Object)(SDO)フォーマットのトリップレポートスケルトンが受信される。
【0005】
一実施形態において、上記命令はさらに、上記フェッチ要求をタイムアウトさせることを含み、上記トリップレポートスケルトンの準備ができていない場合に次のフェッチ要求が発行される。上記次のフェッチ要求は、予め定められたスケジュール、上記フェッチ要求のタイムアウトの直後、または、上記フェッチ要求のタイムアウトから予め定められた時間の経過後、のうちのいずれかに従って、送信される。
【0006】
別の実施形態において、上記命令は、上記トリップレポートスケルトンに埋込まれたメタデータを用いて、上記トリップレポートスケルトンを上記モバイル装置上でレンダリングすることを含む。
【0007】
いくつかの実施形態において、上記命令は、上記モバイル装置を用いてトリップレポートデータを入力してトリップレポートを作成することを含む。いくつかの実施形態において、上記命令はさらに、治験モニター(clinical research associate)(CRA)アプリケーションフレームワーク内のサーバ側ロジックとのネットワークリンクを確立することによって、上記トリップレポートをサーバ側ロジックに送信することを含む。
【0008】
一実施形態において、予め定められた割合のトリップレポートデータが上記トリップレポートスケルトンに入力されたと判断されたときに、上記トリップレポートはサーバ側ロジックに送信される。
【0009】
別の実施形態において、トリップレポートスケルトンは、トリップレポートスケルトンをレンダリングするためのメタデータと標準トリップレポートとを組み合わせることによって生成される。
【0010】
いくつかの実施形態において、データは、サーバからのこのデータのアクセシビリティにかかわらず、上記モバイル装置によって上記トリップレポートスケルトンに入力される。
【0011】
一実施形態において、上記トリップレポート作成要求は上記モバイル装置から第1のスレッドで送信され、上記トリップレポートスケルトンは上記モバイル装置に第2のスレッドで送信される。
【0012】
概して、この明細書の別の局面は、オフライン機能のためのモバイル治験モニターフレームワークに対する計算システムを開示する。この計算システムは、データベースと、サーバ側ロジックと、自己記述オブジェクト(SDO)とを含む。データベースは、標準トリップレポートとメタデータとを格納する。サーバ側ロジックは、トリップレポートスケルトン作成要求をモバイル装置から受信する。SDOトランスフォーマは、上記標準トリップレポートと上記メタデータとを組み合わせてSDOフォーマットのトリップレポートスケルトンを作成する。
【0013】
概して、この明細書のもう1つの局面は、オフライン機能のためのモバイル治験モニターフレームワークに対する計算システムを開示する。この計算システムは、臨床研究に関連するトリップレポートデータを格納する自己記述オブジェクト(SDO)フォーマットのトリップレポートスケルトンを含む。この計算システムはまた、上記トリップレポートスケルトンに埋込まれたメタデータを用いて上記トリップレポートスケルトンをレンダリングするレンダリングロジックを含む。この計算システムは、上記トリップレポートスケルトンに生じた変化を追跡し、かつ、上記トリップレポートデータが上記トリップレポートスケルトンに入力されたときに上記トリップレポートスケルトンを更新する持続スタックを含む。
【0014】
本明細書に組込まれてその一部を構成する添付の図面は、本開示のさまざまなシステム、方法、およびその他の実施形態を示している。図面において示されている要素の境界線(たとえばボックス、ボックス群、またはその他の形状)は、境界線の一実施形態を表わすことが理解されるであろう。実施形態によっては、1つの要素が複数の要素として設計されることがあり、または、これら複数の要素が1つの要素として設計されることがある。実施形態によっては、ある要素が別の要素の内部コンポーネントとして示されている場合に前者の要素が外部コンポーネントとして実現されてもよく、その逆であってもよい。さらに、要素は正しい縮尺で描かれていない場合がある。
【図面の簡単な説明】
【0015】
図1】オフライン機能のための治験モニター(CRA)フレームワークと関連する方法の一実施形態を示す。
図2】オフライン機能のためのCRAフレームワークと関連する方法の別の実施形態を示す。
図3】オフライン機能のためのCRAフレームワークと関連するシステムの別の実施形態を示す。
図4】オフライン機能のためのCRAフレームワークと関連するシステムの別の実施形態を示す。
図5】計算システムのある実施形態を示し、このシステムにおいて、代表的なシステムおよび方法、ならびにこれらと均等なものが機能し得る。
【発明を実施するための形態】
【0016】
詳細な説明
本明細書では、オフライン機能をサポートするために構築されるモバイル治験モニター(CRA)アプリケーションフレームワークを提供するシステムおよび方法について説明する。このCRAアプリケーションフレームワークは、モバイル装置上のデータベースおよびファイルシステムに対する宣言型タグを用いて、データを暗号化しキャッシュする一般的な方法を提供する。宣言型プログラミングを使用することにより、CRAアプリケーションフレームワークを可能にするのに必要な符号化の量を最小にする。CRAアプリケーションフレームワークによって、ユーザはオフラインデータをキャッシュすることができ、データをモバイル装置にダウンロードすることができ、モバイル装置をオフライン中に操作することができる。
【0017】
一実施形態において、CRAアプリケーションフレームワークは、トリップレポートに関連するアクティビティを実行する。トリップレポートの作成は、リソースを最も使用する作業のうちの1つである。一般的に、トリップレポート作成要求を処理するスレッドは、次にそのトリップレポートを生成する。CRAアプリケーションフレームワークに課される負担の量を減らすために、トリップレポートに関連するアクティビティは、非同期で実行される。よって、異なるスレッドが、トリップレポート作成要求を処理し、トリップレポートを生成する。多くのリソースを使用する作業を、別々のスレッドに分けることによって、CRAアプリケーションフレームワークは、サーバリソースに対する制御をより良好に行なうことができ、より高い拡張性を可能にし、システムの信頼性を高める。
【0018】
たとえば、図1は、オフライン機能を有するCRAアプリケーションフレームワークに関連する方法の代表的な実施形態を示す。この方法100は、臨床研究からのデータを管理するために使用されるCRAアプリケーションフレームワーク内で実行される。このCRAアプリケーションフレームワークによって、モバイル装置とサーバの間の通信が容易になる。
【0019】
臨床試験現場を訪れるユーザは、その医療機関へのトリップに関するデータを保存し管理するために使用されるモバイル装置を有している。所望のデータを確実に取得するために、ユーザは、トリップレポートデータを、トリップレポートスケルトンの中の予め定められたスペースに入力する。トリップレポートスケルトンを受信するために、110で、トリップレポートスケルトン作成要求が、モバイル装置から、この要求を第1のスレッドで処理するサーバに送信される。120で、この作成要求が、サーバによって確認される。130で、トリップレポートスケルトンが、サーバ上の第2のスレッドで作成される。サーバのリソースをより良好に分散させるために、第1のスレッドは第2のスレッドと非同期で動作する。
【0020】
140で、モバイル装置は、作成されたトリップレポートスケルトンを取出すためのフェッチ要求を発行する。第1のスレッドと第2のスレッドが非同期で動作するので、トリップレポートスケルトンが要求されたときにトリップレポートスケルトンは準備できていない場合がある。150で、トリップレポートスケルトンをモバイル装置に送信する準備ができているか否かが判断される。トリップレポートスケルトンの準備ができていなければ、この方法100は160に進み、160でフェッチ要求はタイムアウトする。170で、モバイル装置は、トリップレポートスケルトンを取出すために次のフェッチ要求を発行する。追加のフェッチ要求を送信するタイミングは、予め定められたスケジュールに従うものであってもよい。その代わりに、160でフェッチ要求がタイムアウトした直後に追加のフェッチ要求を送信してもよく、または、160でフェッチ要求がタイムアウトしてから予め定められた時間が経過した後に追加のフェッチ要求を送信してもよい。次に、この方法100はステップ150に戻り、トリップレポートをモバイル装置に送信する準備ができているか否かが判断される。
【0021】
トリップレポートスケルトンの準備ができていれば、この方法100はステップ180に進み、180において、モバイル装置がトリップレポートスケルトンを受信する。180で、モバイル装置は、トリップレポートスケルトンを、自己記述オブジェクト(Self Describing Object)として受信する。臨床研究のカスタマイズとは無関係に、臨床データを、モバイル装置上のSDOに入力することができる。SDOは、モバイル装置がトリップレポートスケルトンをモバイル装置上でレンダリングできるようにするメタデータを含む。したがって、モバイル装置は、データがトリップレポートスケルトンに入力されているときに遠隔サーバにアクセスする必要はない。これにより、モバイル装置が遠隔サーバにアクセスしなければならない回数を少なくする。
【0022】
図2は、オフライン機能を有するCRAアプリケーションフレームワークに関連する方法の、ある実施形態を示す。トリップレポートスケルトンは自己記述オブジェクト(SDO)として生成される。SDOフォーマットであるトリップレポートスケルトンの1つの利点として、トリップレポートデータを操作するのに汎用ツールを使用できることが挙げられる。自己記述データは、さまざまな種類のデータをツールが正確に操作する必要があるという情報を含む。SDOフォーマットであるトリップレポートスケルトンの別の利点として、これがCRAアプリケーションフレームワークをよりロバストでフレキシブルなものにすることが挙げられる。異なる装置(たとえばモバイル装置、サーバ)上で実行している複数のプログラムが、これら異なる装置がトリップレポートデータを配置する場所が異なっているにもかかわらず、1つのプログラムにインターフェイスしてもよい。
【0023】
210で、トリップレポートをモバイル装置上でレンダリングするためのメタデータが作成され、サーバ上に格納される。220で、格納されたメタデータは、標準トリップレポートと組合わされて、SDOフォーマットのスケルトントリップレポートが作成される。230で、このスケルトントリップレポートはモバイル装置によってフェッチされる。240で、モバイル装置は、埋込まれたメタデータに基づいてスケルトントリップレポートをレンダリングする。250で、トリップレポートデータはスケルトントリップレポートに入力される。トリップレポートスケルトンはモバイル装置上でSDOとして維持されるので、データは、モバイル装置によって、スケルトントリップレポートに、サーバがこのデータへの即時アクセスを有しているか否かにかかわらず、入力される。データは、モバイル装置がオフライン(すなわちサーバから切断されている)ときに入力することができる。
【0024】
モバイル装置がモバイル装置パラメータを満たしていることに応じ、260で、完成したトリップレポートはサーバに返送されて格納される。上記装置パラメータは、予め定められた割合のトリップレポートデータを含んでトリップレポートスケルトンを完成させることを含み得る。その代わりに、装置パラメータは、モバイル装置とサーバの間の関係の関数であってもよい。たとえば、完成したトリップレポートは、モバイル装置とサーバの間でネットワークリンクが確立されたときに、ロジックに送信されてもよい。
【0025】
図3は、オフライン機能を有するCRAアプリケーションフレームワークに関連するシステムの、代表的な一実施形態を示す。トリップレポートは大幅にカスタマイズされている。トリップレポートのカスタマイズによって、下にあるデータ構造、関連する臨床コンポーネント、および、サーバ側ロジック310とモバイル装置350の間の通信を容易にするトリップレポートウェブサービスが、変化する。サーバ側ロジック310とモバイル装置350は、CRAアプリケーションフレームワーク300を用いてトリップレポートデータを伝達する。
【0026】
サーバ側ロジック310は、標準トリップレポート320とメタデータ330とを格納している。標準トリップレポート320は、カスタムトリップレポートにリンクされた、一般化された構造である。したがって、カスタムトリップレポートを、高度にカスタマイズして、カスタムトリップレポート形態が複数のユーザへの配布に適さなくなるようにしてもよい。標準トリップレポート320は、多数のトリップについて、多数のユーザに、たとえこれらのユーザが異なるモバイル装置を使用しているときでも、標準トリップレポート320を配布できるよう、一般化される。
【0027】
メタデータ330は、標準トリップレポート320をモバイル装置350上でレンダリングする(たとえば、個々の画面レンダリング、個々のフィールドレンダリングおよび検証、画面遷移、およびデータ変更イベントのハンドリング)ために使用される。たとえば、標準トリップレポート320は、カスタムアクティビティ属性(たとえばチェックリスト機能性)をサポートする。メタデータ330は、カスタムアクティビティ属性をモバイル装置350上でレンダリングする。管理者によってメタデータ330が生成されサーバ側ロジック310上に格納される。メタデータが一旦格納されると、任意の数の、モバイル装置350のようなモバイル装置は、レンダリングのためにメタデータを使用することができる。モバイル装置が送信する作成要求は、モバイル装置にとって正しいメタデータがわかるよう、モバイル装置識別子等のデバイスデータを含んでいてもよい。
【0028】
標準トリップレポート320およびメタデータ330は、サーバ側ロジック310上のSDOトランスフォーマ315によって組合わされてトリップレポートスケルトン340を作成する。トリップレポートスケルトン340は自己記述オブジェクト(SDO)である。SDOは、標準トリップレポート320と同様、オブジェクト指向コンピュータプログラミング言語(たとえばJAVA(登録商標))によって定義される。たとえば、サーバ側ロジックから見ると、トリップレポートスケルトン340は、Java(登録商標)からJavaScript(登録商標)オブジェクト表記法(JavaScript Object Notation)(JSON)への非直列化のためにJSONにおいて構築された平易なJava(登録商標)オブジェクトである、SDOである。標準トリップレポート320は、特殊な表記法を含むクラスを用いてXMLの直列化を使用し易くする。
【0029】
したがって、SDOクラスは、標準トリップレポートクラスと構造的に類似する。標準トリップレポート320とトリップレポートスケルトン340の相違点は、トリップレポートスケルトン340がSDOフォーマットでありメタデータ330をさらに含むことである。サーバ側ロジック310はまた、モバイル装置350がトリップレポートスケルトン340をロードして同期させるためのアプリケーションプログラミングインターフェイス(application programming interface)(API)を提供する。
【0030】
SDOトランスフォーマ315はまた、トリップレポートスケルトン340を標準トリップレポート320に逆変換する。カスタムトリップレポートが標準トリップレポート320に変換されるときに、カスタムトリップレポートの特徴のうちのいくつかが失われる場合がある。したがって、カスタムトリップレポートから標準トリップレポート320への変換は「損失が多い」と考えられる。しかしながら、カスタムトリップレポートから標準トリップレポート320への変換中に失われた情報は、逆変換中にリストアされる。たとえば、サーバ側ロジック310は、カスタムトリップレポートを、カスタムトリップレポートを保存することによって持続する。サーバ側ロジックがトリップレポートスケルトン340を、トリップに関する情報とともに受信したとき、結果として得られる修正されたトリップレポートスケルトンは、逆変換中にカスタムトリップレポートとマージされる。このように、トリップレポートスケルトンの使用によって失われたトリップレポートデータは、リストアすることができる。
【0031】
図4は、オフライン機能を有するCRAアプリケーションフレームワークと関連するシステムの別の典型的な実施形態を示す。モバイル装置350はトリップレポートスケルトン360を既に受信している。モバイル装置350は、図1について説明したやり方でトリップレポートスケルトン360を受信してもよい。モバイル装置350は、トリップレポートデータ370を入力し、トリップレポートデータ370を、CRAアプリケーションフレームワークシステム300のモバイル装置350上のトリップレポートスケルトン360に局所的に格納する。
【0032】
モバイル装置350から見ると、トリップレポートスケルトン360は、汎用再帰的辞書/アレイ構造に非直列化されたSDOである。レンダリングロジック375は、トリップレポートスケルトン360に含まれるメタデータに基づいて、トリップレポートスケルトン360をレンダリングする。トリップレポートデータ370は、モバイル装置350がネットワークに接続されているか、ネットワークから切断されているか、または接続が間欠的であるかにかかわらず、操作することができる。トリップレポートデータ370をサーバ側ロジック310と同期させる必要があるとき、トリップレポートデータ370を含むトリップレポートスケルトン360をサーバ側ロジック310に送り返すことができる。よって、ネットワークインタラクションは、トリップレポートデータ370をモバイル装置上350で操作し都合がよいときに送信できるので、最小になる。
【0033】
トリップレポートスケルトン360は、持続(persistence)スタック380を用いてモバイル装置350上に局所的に格納される。持続スタック380は、モバイル装置350上でトリップレポートデータ370の暗号化を実行する。持続スタック380はまた、トリップレポートスケルトン360を格納し、取出し、トリップレポートデータ370の変更を追跡し、更新を実行する。
【0034】
持続スタック380は、持続コンテキスト385と、持続モデル390と、持続記憶装置395とを含む。持続コンテキスト385は、SDOであるトリップレポートスケルトン360等のオブジェクトを、オブジェクトをユニークキーと関連付けることによって、登録する。オブジェクトをユニークキーと関連付けるやり方は多数存在することを当業者は認識するであろう。たとえば、持続コンテキスト385は、持続コンテキスト委譲(delegate)方法を用いてユニークキーをオブジェクトに関連付けてもよい。
【0035】
持続コンテキスト385はまた、トリップレポートスケルトン360に生じた変化を、トリップレポートデータ370が変更されたことを持続スタック380が検出したときに、トリップレポートスケルトン360がダーティ状態であると評価することによって、追跡する。トリップレポートスケルトン360がダーティであると考えられる場合、トリップレポートデータ370に対する更新アクションをスケジュールする。更新アクションによって、フラグ付のトリップレポートスケルトン360が持続コンテキスト385に保存され、こうすることによってトリップレポートデータ370を保存する。トリップレポートスケルトン360が依然としてダーティであれば、更新をファイナライズし、結果として「ダーティ」フラグがクリアされる。
【0036】
持続コンテキスト385は、多数のイベント(たとえば実行されている変更、初期化)に応じて、トリップレポートスケルトン360の変化を検出する。たとえば、初期化時に、持続コンテキスト385は、管理されているトリップレポートスケルトン360のうちのいずれかがダーティ状態であるか否か検証する。トリップレポートスケルトン360等のトリップレポートスケルトンがダーティであれば、持続コンテキスト385は、更新動作が完了していなかったと判断し、続いて、持続コンテキスト385は、トリップレポートスケルトンに対する更新動作を再度スケジュールする。
【0037】
持続モデル390は、トリップレポートデータ370のインメモリコレクションを提供する。持続モデル390はまた、以前に持続されたトリップレポートスケルトンを、持続コンテキストからロードする。持続モデル390は、前に持続されたダーティ状態のアイテム、または、入ってきたトリップレポートデータ370のタイムスタンプよりも大きなタイムスタンプを有するオブジェクトは、更新しない。持続記憶装置395は、トリップレポートスケルトン360のようなトリップレポートスケルトンを保存する。持続記憶装置395はまた、トリップレポートデータ370を暗号化し解読する。
【0038】
CRAアプリケーションフレームワーク300は、宣言型プログラミングを用いてオフラインデータのキャッシュを容易にすることができ、かつ、ユーザがデータをモバイル装置350にダウンロードしオフライン中にこのデータを管理することを、可能にする。システムは、モバイル装置上でデータをキャッシュし、キャッシュされたデータのライフサイクルをモニターし、動的同期機能を提供する。別の実施形態では、システムは、宣言型プログラミングを用いてさまざまなフォーマットでキャッシュされたデータを表示するように構成されたウィジェット(widget)を提供する。一実施形態において、システムは、設定を用いてセンシティブデータがHIPAA法およびCFR(連邦規則集)第11条に準拠するようにすることができる。
【0039】
別の実施形態において、上記方法および/またはこれら方法と均等なものは、コンピュータで実行可能な命令を用いて実現されてもよい。よって、一実施形態では、非一時的なコンピュータ読取可能な媒体が、コンピュータで実行可能な命令を格納して構成され、この命令は、マシン(たとえばプロセッサ、コンピュータ等)によって実行されると、このマシン(および/または関連するコンポーネント)に、上記方法を実行させる。別の実施形態では、上記システム、方法、および/またはこれらと均等なものを、ロジックにおいて実現してもよい。
【0040】
図5は、本明細書に記載の代表的なシステムおよび方法、ならびにこれらと均等なものが機能し得る、代表的な計算装置を示す。この代表的な計算装置は、バス508によって、動作可能に接続された、プロセッサ502と、メモリ504と、入出力ポート510とを含む、コンピュータ500であってもよい。一例において、コンピュータ500は、CRAアプリケーションフレームワーク上で動作するように、かつ、モバイル装置がオフラインで機能できるようにするように構成された、サーバ側ロジック530を含み得る。他の例において、サーバ側ロジック530は、ハードウェア、命令が格納されている非一時的なコンピュータ読取可能な媒体、ファームウェア、および/またはこれらを組み合わせたものにおいて実現されてもよい。サーバ側ロジック530はバス508に装着されたハードウェアコンポーネントとして示されているが、一例ではサーバ側ロジック530をプロセッサ502内で実現できることが理解されるはずである。
【0041】
一実施形態において、サーバ側ロジック530は、標準トリップレポートをメタデータと組み合わせてSDOを作成するための手段(たとえばハードウェア、非一時的なコンピュータ読取可能な媒体、ファームウェア)を有する。この手段は、たとえば、SDOを作成するようにプログラムされたASICとして実現されてもよい。また、この手段は、データ516としてコンピュータ500に与えられ、一時的にメモリ504に保存されその後プロセッサ502によって実行される、格納された、コンピュータで実行可能な命令として、実現されてもよい。これに代えて、サーバ側ロジックの機能をモバイル装置上で実現してもよい。
【0042】
コンピュータ500の代表的な構成を大まかに説明すると、プロセッサ502は、デュアルマイクロプロセッサおよびその他のマルチプロセッサアーキテクチャを含む多種多様なプロセッサであってもよい。メモリ504は、揮発性メモリおよび/または不揮発性メモリを含み得る。不揮発性メモリは、たとえば、ROM、PROM等を含み得る。揮発性メモリは、たとえば、RAM、SRAM、DRAM等を含み得る。
【0043】
ディスク506は、たとえば、入出力インターフェイス(たとえばカード、装置)518および入出力ポート510を介して、コンピュータ500に動作可能に接続されてもよい。ディスク506は、たとえば、磁気ディスクドライブ、ソリッドステートディスクドライブ、フロッピー(登録商標)ディスクドライブ、テープドライブ、Zipドライブ、フラッシュメモリカード、メモリスティック等であってもよい。さらに、ディスク506は、CD−ROMドライブ、CD−Rドライブ、CD−RWドライブ、DVD ROM等であってもよい。メモリ504は、たとえば、プロセス514および/またはデータ516を格納することができる。ディスク506および/またはメモリ504は、コンピュータ500のリソースを制御し割当てるオペレーティングシステムを格納することができる。
【0044】
バス508は、1つの内部バス相互接続アーキテクチャおよび/またはその他のバスもしくはメッシュアーキテクチャであってもよい。1本のバスが示されているが、コンピュータ500が、その他のバス(たとえばPCIE、1394、USB、イーサネット(登録商標))を用いてさまざまな装置、ロジック、および周辺機器と通信し得ることが、理解されるはずである。バス508は、たとえば、メモリバス、メモリコントローラ、周辺バス、外部バス、クロスバースイッチ、および/またはローカルバスを含む種類のものであってもよい。
【0045】
コンピュータ500は、入出力インターフェイス518および入出力ポート510を介して入出力装置と対話してもよい。入出力装置は、たとえば、キーボード、マイク、ポインティングおよびセレクトデバイス、カメラ、ビデオカード、ディスプレイ、ディスク506、ネットワーク装置520等であってもよい。入出力ポート510は、たとえば、シリアルポート、パラレルポート、およびUSBポートを含み得る。
【0046】
コンピュータ500は、ネットワーク環境において動作することができ、したがって、入出力インターフェイス518および/または入出力ポート510を介してネットワーク装置520に接続されてもよい。ネットワーク装置520を通して、コンピュータ500はネットワークと対話し得る。このネットワークを通して、コンピュータ500は、遠隔コンピュータ(たとえばモバイル装置)に論理的に接続されてもよい。コンピュータ500が対話し得るネットワークは、LAN、WAN、およびその他のネットワークを含むが、これに限定されない。
【0047】
別の実施形態において、上記方法および/またはこれら方法と均等なものは、コンピュータで実行可能な命令で実現されてもよい。よって、一実施形態では、非一時的なコンピュータ読取可能な媒体が、コンピュータで実行可能な命令を格納して構成され、この命令は、マシン(たとえばプロセッサ、コンピュータ等)によって実行されると、このマシン(および/または関連するコンポーネント)に、図1および図2の方法を実行させる。
【0048】
説明を簡潔にするために、図面において説明されている手法は、一連のブロックとして示され説明されているが、この手法はブロックの順序によって限定されるものではないことが理解されるはずである。いくつかのブロックは、示され説明されているものと、順序が異なっている可能性があり、および/または同時である可能性がある。加えて、代表的な手法を実現するために、示されているブロックすべてを使用しなくてもよい場合がある。ブロックを組み合わせてまたは分離して複数のコンポーネントにしてもよい。さらに、追加のおよび/または代替の手法が、示されていない追加のブロックを用いることができる。
【0049】
以下の記載には、本明細書で使用される選択された用語の定義が含まれる。これらの定義は、用語の範囲に含まれ実現のために使用し得る、コンポーネントのさまざまな例および/または形態を含む。上記例は、限定を意図したものではない。用語は、その単数形および複数形どちらも定義の範囲に含まれ得る。
【0050】
「一実施形態」、「ある実施形態」、「一例」、「ある例」等は、このように記載された実施形態または例が、特定の特徴、構造、特性、性質、要素、または限定を含み得るものの、必ずしもすべての実施形態または例が上記特定の特徴、構造、特性、性質、要素、または限定を含むとは限らないことを、示している。さらに、「一実施形態において」という表現を繰返し使用している場合、同一の実施形態を指していることもあるが、必ずしも同一の実施形態を指している訳ではない。
【0051】
ASIC(application specific integrated circuit):アプリケーション専用集積回路
CD(compact disk):コンパクトディスク
CD−R(CD recordable):書込み可能なCD
CD−RW(CD rewriteable):書換え可能なCD
DVD(digital versatile disk and/or digital video disk):デジタル多用途ディスクおよび/またはデジタルビデオディスク
HTTP(hypertext transfer protocol):ハイパーテキスト転送プロトコル
LAN(local area network):ローカルエリアネットワーク
PCI(peripheral component interconnect):周辺コンポーネント相互接続
PCIE(PCI express):PCIエクスプレス
RAM(random access memory):ランダムアクセスメモリ
DRAM(dynamic RAM):ダイナミックRAM
SRAM(synchronous RAM):同期RAM
ROM(read only memory):読取り専用メモリ
PROM(programmable ROM):プログラマブルROM
EPROM(erasable PROM):消去可能PROM
USB(universal serial bus):ユニバーサルシリアルバス
XML(extensible markup language):拡張マークアップ言語
WAN(wide area network):ワイドエリアネットワーク
本明細書で使用される「コンピュータコンポーネント」は、コンピュータに関連するエンティティ(たとえばハードウェア、ファームウェア、実行中の命令、その組合せ)を意味する。コンピュータコンポーネントは、たとえば、プロセッサ上で実行するプロセス、プロセッサ、オブジェクト、実行可能なもの、実行のスレッド、およびコンピュータを含み得る。コンピュータコンポーネントは、プロセスおよび/またはスレッドの中に存在するものであってもよい。コンピュータコンポーネントは、一つのコンピュータ上に配置されていてもよく、および/または複数のコンピュータ間に分散されていてもよい。
【0052】
本明細書で使用される「コンピュータ通信」は、計算装置(たとえばコンピュータ、携帯情報端末、携帯電話)間の通信を意味し、たとえば、ネットワーク転送、ファイル転送、アプレット転送、電子メール、HTTP転送等であってもよい。コンピュータ通信は、たとえば、無線システム(例としてIEEE802.11)、イーサネット(登録商標)システム(たとえばIEEE802.3)、トークンリングシステム(たとえばIEEE802.5)、LAN、WAN、二点間システム、回路交換システム、パケット交換システム等を通して行なわれるものであってもよい。
【0053】
本明細書で使用される「コンピュータ読取可能な媒体」は、命令および/またはデータを格納する非一時的な媒体を意味する。コンピュータ読取可能な媒体が取り得る形態は、不揮発性媒体および揮発性媒体を含むが、これに限定されない。不揮発性媒体は、たとえば、光ディスク、磁気ディスク等を含み得る。揮発性媒体は、たとえば、半導体メモリ、動的メモリ等を含み得る。コンピュータ読取可能な媒体の一般的な形態は、フロッピー(登録商標)ディスク、フレキシブルディスク、ハードディスク、磁気テープ、その他の磁気媒体、ASIC、CD、その他の光媒体、RAM、ROM、メモリチップまたはカード、メモリスティック、および、コンピュータ、プロセッサ、またはその他の電子機器による読取が可能なその他の媒体を含み得るが、これに限定されない。
【0054】
いくつかの例では、「データベース」を用いて1つのテーブルを意味する。その他の例では、「データベース」を用いて一組のテーブルを意味する場合がある。さらにその他の例では、「データベース」が一組のデータ記憶装置およびこれらデータ記憶装置に対するアクセスおよび/または操作のための方法を意味する場合がある。
【0055】
本明細書で使用される「ロジック」は、ハードウェア、ファームウェア、命令を格納している非一時的なコンピュータ読取可能な媒体、マシン上で実行中の命令、および/または、これら各々の組合せであって、1つの(複数の)機能または1つの(複数の)動作を実施する、および/または別のロジック、方法、および/またはシステムからの機能または動作を生じさせる、組合せを含むが、これに限定されない。ロジックは、アルゴリズムによって制御されるマイクロプロセッサ、離散ロジック(たとえばASIC)、アナログ回路、デジタル回路、プログラムされたロジック装置、命令を含むメモリ装置等を含み得る。ロジックは、1つ以上のゲート、ゲートの組合せ、または、その他の回路コンポーネントを含み得る。複数のロジックについて説明する場合、これら複数のロジックを1つの物理ロジックに組込むことが可能であろう。同様に、1つのロジックについて説明する場合、この1つのロジックを複数の物理ロジック間に分散させることが可能であろう。
【0056】
「動作可能な接続」、または、エンティティが「動作可能に接続される」ようにする接続とは、信号、物理的に伝達されるもの、および/または論理的に伝達されるものを、送信および/または受信し得るようにする接続を意味する。動作可能な接続は、物理的インターフェイス、電気的インターフェイス、および/またはデータインターフェイスを含み得る。動作可能な接続は、動作可能な制御を可能にするのに十分な、インターフェイスおよび/または接続の、異なる組合せを含み得る。たとえば、2つのエンティティを動作可能に接続することによって、これらの間で、信号を、直接、または、1つ以上の中間エンティティ(たとえばプロセッサ、オペレーティングシステム、ロジック、非一時的なコンピュータ読取可能な媒体)を通して、伝達することができる。論理的および/または物理的な通信チャネルを用いて、動作可能な接続をなすことができる。
【0057】
本明細書で使用される「ユーザ」は、1人以上の人、1つ以上のコンピュータもしくはその他の装置、またはこれらの組合せを含むが、これに限定されない。
【0058】
代表的なシステム、方法等を、例を説明することによって示し、例は、非常に詳細に説明してきたが、出願人は、以下の特許請求の範囲をこのような詳細事項に制限することも限定することも全く意図していない。当然ながら、本明細書に記載のシステム、方法等を説明することを目的としてコンポーネントまたは手法の考えられる組合せをすべて説明することは不可能である。このため、本開示は、示され説明されている、特定の詳細事項、典型的な装置、説明のための例に、限定されない。よって、本願は、以下の特許請求の範囲に含まれる、変更、修正、および変形を包含することを意図している。
【0059】
詳細な説明または請求項において「含む(includes)」または「含んでいる(including)」という用語が使用されている場合、「備える(comprising)」という用語が請求項における移行語として用いられているときの解釈と同様に、上記用語が包括的であることが意図されている。
【0060】
詳細な説明または請求項において「または」という用語が使用されている場合(たとえばAまたはB)、「AまたはBまたはAとB双方」を意味することが意図されている。出願人が「AのみまたはBのみであってAとB双方ではない」ことを示すことを意図する場合は、「AのみまたはBのみであってAとB双方ではない」という表現を使用する。よって、本明細書における「または」という用語の用法は、包括的用法であって、排他的用法ではない。Bryan A. Garner, A Dictionary of Modern Legal Usage 624 (2d. Ed. 1995)参照。
【0061】
本明細書において「A、B、およびCのうちの1つ以上」という表現が使用されている場合(たとえば、A、B、およびCのうちの1つ以上を記憶するように構成されたデータ記憶装置)、これは、A、B、C、AB、AC、BC、および/またはABCという1組の可能性(たとえば、データ記憶装置は、Aのみ、Bのみ、Cのみ、A&B、A&C、B&C、および/またはA&B&Cを記憶し得ること)を意味することを意図する。Aのうちの1つ、Bのうちの1つ、およびCのうちの1つを要求することを意図しているのではない。出願人が「Aのうちの少なくとも1つ、Bのうちの少なくとも1つ、およびCのうちの少なくとも1つ」を示すことを意図する場合は、「Aのうちの少なくとも1つ、Bのうちの少なくとも1つ、およびCのうちの少なくとも1つ」という表現を使用する。
図1
図2
図3
図4
図5