IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ フジフイルム ソノサイト インコーポレイテッドの特許一覧

特許7333317ポイントオブケアブラウザ内のメディカルワークシートと相互作用するための方法および装置
<>
  • 特許-ポイントオブケアブラウザ内のメディカルワークシートと相互作用するための方法および装置 図1
  • 特許-ポイントオブケアブラウザ内のメディカルワークシートと相互作用するための方法および装置 図2
  • 特許-ポイントオブケアブラウザ内のメディカルワークシートと相互作用するための方法および装置 図3
  • 特許-ポイントオブケアブラウザ内のメディカルワークシートと相互作用するための方法および装置 図4
  • 特許-ポイントオブケアブラウザ内のメディカルワークシートと相互作用するための方法および装置 図5
  • 特許-ポイントオブケアブラウザ内のメディカルワークシートと相互作用するための方法および装置 図6
  • 特許-ポイントオブケアブラウザ内のメディカルワークシートと相互作用するための方法および装置 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-08-16
(45)【発行日】2023-08-24
(54)【発明の名称】ポイントオブケアブラウザ内のメディカルワークシートと相互作用するための方法および装置
(51)【国際特許分類】
   A61B 8/00 20060101AFI20230817BHJP
   G16H 15/00 20180101ALI20230817BHJP
   G16H 30/20 20180101ALI20230817BHJP
【FI】
A61B8/00
G16H15/00
G16H30/20
【請求項の数】 18
(21)【出願番号】P 2020523272
(86)(22)【出願日】2018-09-27
(65)【公表番号】
(43)【公表日】2021-01-14
(86)【国際出願番号】 US2018053187
(87)【国際公開番号】W WO2019083677
(87)【国際公開日】2019-05-02
【審査請求日】2021-06-17
(31)【優先権主張番号】62/578,277
(32)【優先日】2017-10-27
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】519019791
【氏名又は名称】フジフイルム ソノサイト インコーポレイテッド
(74)【代理人】
【識別番号】100094569
【弁理士】
【氏名又は名称】田中 伸一郎
(74)【代理人】
【識別番号】100103610
【弁理士】
【氏名又は名称】▲吉▼田 和彦
(74)【代理人】
【識別番号】100109070
【弁理士】
【氏名又は名称】須田 洋之
(74)【代理人】
【識別番号】100067013
【弁理士】
【氏名又は名称】大塚 文昭
(74)【代理人】
【識別番号】100086771
【弁理士】
【氏名又は名称】西島 孝喜
(74)【代理人】
【識別番号】100109335
【弁理士】
【氏名又は名称】上杉 浩
(74)【代理人】
【識別番号】100120525
【弁理士】
【氏名又は名称】近藤 直樹
(74)【代理人】
【識別番号】100139712
【弁理士】
【氏名又は名称】那須 威夫
(72)【発明者】
【氏名】ヒギンボーサム ジョン ディー
【審査官】永田 浩司
(56)【参考文献】
【文献】特開2011-067549(JP,A)
【文献】特開2009-189541(JP,A)
【文献】米国特許第11494550(US,B2)
(58)【調査した分野】(Int.Cl.,DB名)
A61B 8/00
G16H 15/00
G16H 30/00
(57)【特許請求の範囲】
【請求項1】
ポイントオブケア超音波デバイスであって、
ローカルメモリと、
前記ローカルメモリに結合されたブラウザコンポーネントと、
前記ブラウザコンポーネントから切り離された中間コンポーネントと、
前記ローカルメモリ、前記ブラウザコンポーネントおよび前記中間コンポーネントに結合された一または二以上のプロセッサと、
を備え、
前記ポイントオブケア超音波デバイスがワークシートサーバへのライブ接続を有する場合、前記一または二以上のプロセッサは、前記ワークシートサーバから一または二以上のワークシートを取得して前記一または二以上のワークシートを前記ローカルメモリに格納するように構成され、
前記ポイントオブケア超音波デバイスが、前記ポイントオブケア超音波デバイスがワークシートデータを送るように構成されたサーバへの追加のライブ接続を有しない場合の少なくとも一例において、前記一または二以上のプロセッサは、
前記ローカルメモリ内の前記一または二以上のワークシートから前記ブラウザコンポーネントにワークシートをロードし、
前記中間コンポーネントを介して前記ブラウザコンポーネントにロードされた前記ワークシートに関連付けられた第一の関数に対する第一の参照を取得し、
前記第一の参照に基づいて、前記中間コンポーネントを介して前記ワークシートから前記ワークシートデータを抽出するための前記第一の関数を実行し、
前記ブラウザコンポーネントにアクセス可能でない前記ローカルメモリの一部に前記ワークシートデータを格納し、
前記ローカルメモリの前記一部からキューに前記ワークシートデータを転送する、
ように構成され、
前記サーバへの追加のライブ接続が利用可能である場合、前記一または二以上のプロセッサは、前記キューから前記サーバに前記ワークシートデータを転送するように構成され、前記一または二以上のプロセッサは、
前記ワークシートについて、前記ワークシートデータが前記ローカルメモリに格納されていることを決定し、
それに応答して、
前記ローカルメモリから前記ワークシートデータを取得し、
前記中間コンポーネントを介して前記ワークシートに関連付けられたドキュメントオブジェクトモデル(DOM)の第二の関数に対する第二の参照を取得し、
前記第二の参照に基づいて、前記中間コンポーネントを介して前記ワークシートに前記ワークシートデータを自動入力するための第二の関数を実行する、
ようにさらに構成される、
ポイントオブケア超音波デバイス。
【請求項2】
前記第一の関数はスクリプト関数である、請求項1に記載のポイントオブケア超音波デバイス。
【請求項3】
前記中間コンポーネントはコンポーネントオブジェクトモデルであり、
前記一または二以上のプロセッサは、
前記第一の関数に対する前記第一の参照を取得するための前記第一の参照へのポインタを取得するために少なくとも前記第一の関数の名前を使用する前記コンポーネントオブジェクトモデルの第一のコマンドを実行し、
前記ブラウザコンポーネントに前記第一の関数を実行させるために前記第一の関数に対する前記ポインタおよび前記コンポーネントオブジェクトモデルのために定義された引数を使用する前記コンポーネントオブジェクトモデルの第二のコマンドを実行する、
ように構成される、
請求項1に記載のポイントオブケア超音波デバイス。
【請求項4】
前記一または二以上のプロセッサは、前記ブラウザコンポーネントに前記ワークシートに関連付けられた前記DOMから離れて移動させるアクションを識別することを含むトリガ条件を識別するように構成され、
前記一または二以上のプロセッサは、前記トリガ条件を識別することに応答して、前記中間コンポーネントを介して前記ワークシートから前記ワークシートデータを抽出するように構成される、
請求項1に記載のポイントオブケア超音波デバイス。
【請求項5】
ローカルメモリおよび前記ローカルメモリに結合された一または二以上のプロセッサを備えるメディカルイメージングデバイスを操作するための方法であって、前記方法は、
前記一または二以上のプロセッサにより、ブラウザコンポーネントおよび前記ブラウザコンポーネントから切り離されたシステムコンポーネントを含むシステムソフトウェアを実行することと、
前記メディカルイメージングデバイスがワークシートサーバへのライブ接続を有する場合、前記一または二以上のプロセッサにより、前記ワークシートサーバから一または二以上のワークシートを取得して前記一または二以上のワークシートを前記ローカルメモリに格納すること、
を含み、
前記メディカルイメージングデバイスがワークシートデータを送るように構成されたサーバへの追加のライブ接続を有しない場合の少なくとも一例において、前記一または二以上のプロセッサにより、
前記ローカルメモリ内の前記一または二以上のワークシートから前記ブラウザコンポーネントにワークシートをロードすることと、
前記システムコンポーネントを介して前記ブラウザコンポーネントにロードされた前記ワークシートに関連付けられた第一の関数に対する第一の参照を取得することと、
前記第一の参照に基づいて、前記システムコンポーネントを介して前記ワークシートから前記ワークシートデータを抽出するための前記第一の関数を実行することと、
前記ブラウザコンポーネントにアクセス可能でない前記ローカルメモリの一部に前記ワークシートデータを格納することと、
前記ローカルメモリの前記一部からキューに前記ワークシートデータを転送することと、
を含む動作を実行することを含み、
前記サーバへの追加のライブ接続が利用可能である場合、前記キューから前記サーバに前記ワークシートデータを伝送することを含み、前記動作は、
前記ワークシートについて、前記ワークシートデータが前記ローカルメモリに格納されていることを決定することと、
それに応答して、
前記ローカルメモリから前記ワークシートデータを取得することと、
前記システムコンポーネントを介して前記ワークシートに関連付けられたドキュメントオブジェクトモデル(DOM)の第二の関数に対する第二の参照を取得することと、
前記第二の参照に基づいて、前記システムコンポーネントを介して前記ワークシートに前記ワークシートデータを自動入力するための前記第二の関数を実行することと、
をさらに含む、
方法。
【請求項6】
前記ワークシートを取得することと、
前記選択されたワークシートは前記メディカルイメージングデバイスがワークシートサーバへの前記ライブ接続を有した場合に前記ワークシートを前記ローカルメモリに格納することと、
をさらに含む、請求項5に記載の方法。
【請求項7】
前記ワークシートデータはストリングまたはdigital imaging and communication in medicine(DICOM)タグに入力されたデータのいずれかとして前記ワークシートデータの少なくとも一部を備える、請求項5に記載の方法。
【請求項8】
前記ワークシートはHTMLコンテンツおよび前記ローカルメモリに格納された追加のコンテンツの一または二以上の部分に対する一または二以上の参照を含み、前記追加のコンテンツの一または二以上の部分は少なくとも前記ローカルメモリに格納されたスクリプトを含み、
前記ワークシートをロードすることは前記ローカルメモリから前記追加のコンテンツを取り出すことおよび前記HTMLコンテンツおよび前記追加のコンテンツを前記DOMにコンパイルすることにより前記一または二以上の参照を解決することを含む、
請求項5に記載の方法。
【請求項9】
前記動作は
前記システムコンポーネントを介して前記ワークシートに関連付けられた前記DOMの前記第一の関数に対する前記第一の参照を取得することと、
前記第一の参照に基づいて、前記第一の関数を実行することと、
前記第一の関数の実行の結果を受け取ることであって、前記結果は前記ワークシートデータを含む、受け取ることと、
をさらに含む、
請求項5に記載の方法。
【請求項10】
前記システムコンポーネントはコンポーネントオブジェクトモデルであり、
前記第一の関数に対する前記第一の参照を取得することは前記第一の関数へのポインタを取得するため少なくとも前記第一の関数の名前を使用する前記コンポーネントオブジェクトモデルの第一のコマンドを実行することを含み、
前記第一の関数を実行することは前記第一の関数に対する前記ポインタおよび前記コンポーネントオブジェクトモデルのために構造化された引数を使用する前記コンポーネントオブジェクトモデルの第二のコマンドを実行することを含む、
請求項9に記載の方法。
【請求項11】
前記ワークシートデータを抽出することは、
前記システムコンポーネントにより前記ブラウザコンポーネントにコードを挿入することであって、前記挿入により記ブラウザコンポーネントに前記挿入されたコードが実行される、挿入することと、
前記コードの挿入に応答して、前記ワークシートデータを含む結果を受け取ることと、
を含む、
請求項5に記載の方法。
【請求項12】
前記ローカルメモリから前記ワークシートデータを取得することと、
前記システムコンポーネントを介して前記ワークシートデータの少なくとも一部を前記ワークシートに自動入力することと、
を決定することに応答して、
ワークシートメタデータに基づいて、前記ローカルメモリに格納され、かつ前記ワークシートに関連付けられた前記ワークシートデータを決定すること
をさらに含む、
請求項5に記載の方法。
【請求項13】
前記サーバは
前記ライブ接続が利用可能である場合に前記ワークシートデータを受け取り、
前記ワークシートデータから患者の識別および患者に対して完了した一または二以上の処置の識別を含む患者のデータを抽出し、
前記患者のデータを提供するために請求システムと相互作用する
ように構成される、
請求項5に記載の方法。
【請求項14】
ワークシートメタデータに基づいて前記ワークシートデータがサインされたことを決定することと、
前記ワークシートデータはサインされたという決定に応答して、前記ワークシートデータの少なくとも一部をDICOMパッケージのプライベートタグに組み入れることにより前記ワークシートデータのバージョンを作成することと、
をさらに含む、
請求項5に記載の方法。
【請求項15】
前記DICOMパッケージが完成したことを決定することであって、前記完成したDICOMパッケージは前記プライベートタグおよびメディカルデバイスにより取得された画像データを含む、決定することをさらに含み、
キューに前記ワークシートデータを転送することは前記DICOMパッケージが完成したという前記決定に応答して前記キューに前記DICOMパッケージを転送することを含む、
請求項14に記載の方法。
【請求項16】
前記ワークシートから前記ワークシートデータを抽出することは前記ブラウザコンポーネントに前記ワークシートから離れて移動させるアクションを含むトリガ条件に対する応答である、請求項5に記載の方法。
【請求項17】
コンピューティングシステムにより実行される場合に前記コンピューティングシステムにローカルメモリを備えるポイントオブケアメディカルデバイスを操作するための操作を実行させる命令を格納する非一時的なコンピュータ可読ストレージ媒体であって、前記操作は、
ブラウザコンポーネントおよび前記ブラウザコンポーネントから切り離された中間コンポーネントを含むシステムソフトウェアを実行することと、
前記ポイントオブケアメディカルデバイスがワークシートサーバへのライブ接続を有する場合、前記ワークシートサーバから一または二以上のワークシートを取得することおよび前記一または二以上のワークシートを前記ローカルメモリに格納することと、
を含み、
前記ポイントオブケアメディカルデバイスが、前記ポイントオブケアメディカルデバイスがワークシートデータを送るように構成されたサーバへの追加のライブ接続を有しない場合の少なくとも一例において、
前記ローカルメモリ内の前記一または二以上のワークシートから前記ブラウザコンポーネントにワークシートをロードすることと、
前記中間コンポーネントを介して前記ブラウザコンポーネントにロードされた前記ワークシートに関連付けられた第一の関数に対する第一の参照を取得することと、
前記第一の参照に基づいて、前記中間コンポーネントを介して前記第一の関数を実行することにより前記ワークシートから前記ワークシートデータを抽出することと、
前記ブラウザコンポーネントにアクセス可能でない前記ローカルメモリの一部に前記ワークシートデータを格納することと、
前記ローカルメモリの前記一部からキューに前記ワークシートデータを転送することと、
を含む操作を実行することを含み、
前記サーバへの追加のライブ接続が利用可能である場合、前記キューから前記サーバに前記ワークシートデータを伝送することを含み、前記操作は、
前記ワークシートについて、前記ワークシートデータが前記ローカルメモリに格納されていることを決定することと、
それに応答して、
前記ローカルメモリから前記ワークシートデータを取得することと、
前記中間コンポーネントを介して前記ワークシートに関連付けられたドキュメントオブジェクトモデル(DOM)の第二の関数に対する第二の参照を取得することと、
前記第二の参照に基づいて、前記中間コンポーネントを介して前記ワークシートに前記ワークシートデータを自動入力するための前記第二の関数を実行することと、
をさらに含む、
非一時的なコンピュータ可読ストレージ媒体。
【請求項18】
前記中間コンポーネントを介して前記ワークシートによりロードされるコードに対する参照を取得することと、
前記参照に基づいて、前記コードを実行することと、
前記コードの実行の結果を受け取ることであって、前記結果は前記ワークシートデータを含む、受け取ることと、
を含む操作を前記コンピューティングシステムに実行させる命令をさらに含む、
請求項17に記載の非一時的なコンピュータ可読ストレージ媒体。
【発明の詳細な説明】
【技術分野】
【0001】
[関連する出願の相互参照]
本出願は2017年10月27日に出願された「METHOD AND APPARATUS FOR INTERACTING WITH HTML MEDICAL WORKSHEETS RENDERED IN A BROUWSER」と題する米国仮特許出願第62/578,277号の利益を主張するものであり、その全体が参照により本明細書に組み入れられる。
【0002】
[技術分野]
本開示技術はポイントオブケアメディカルシステムに関し、特には、ライブサーバ接続を用いることなくポイントオブケア超音波システム上の患者ケアワークシートを完成させるシステムに関する。
【背景技術】
【0003】
医師または技術者は、ほとんどの医療処置の間またはその終了時に実行した検査を文書に記録し、フォームまたはワークシートを完成させることが求められる。このようなワークシートには、患者の名前、医師の名前、処理のタイプまたはイメージングモダリティ、日付および場所等のような基本的な情報を格納することができる。加えて、電子ワークシートは検査中に撮影された静止画または映像、測定結果または注釈、医師のメモ、診断結果等を含むこともできる。完成したワークシートはDigital Imaging and Communication in Medicine(DICOM)アーカイブサーバに格納される。加えて、完成したワークシート内の情報のうちのいくつかは処理に対する費用を請求するために医療請求システムにより使用されることができる。
【0004】
医師または技術者はワークシートを完成させるためにポイントオブケアシステムを使用することができる。ポイントオブケアメディカルシステムは超音波デバイス等のメディカルデバイスと統合することができ、直接、またはネットワークを介してこのようなメディカルデバイスに動作可能に接続することができ、あるいはシステムソフトウェアを実行してユーザからワークシート入力を受け取ることのできる別のコンピューティングシステム(例えば、コンピュータまたはタブレット)とすることができる。既存のポイントオブケアメディカルシステムはしばしばハードコードされたワークシートのデフォルトの組を備えている。これらは多くの場面において長過ぎるかまたは煩雑である可能性があり、そのため医師はこれらをあまり使用していない。いくつかのケースでは、ワークシートは特定の処置に所望のワークフローを反映させるためにクリニックまたはグループ診療によるカスタマイズを可能にすることができる。ワークシートサーバシステムによりワークシートの使用およびカスタマイズが容易になり、ワークシートをリモートコンピュータまたはポイントオブケアシステムのようなメディカルデバイスにダウンロードすることを可能にすることができる。加えて、ワークシートサーバまたは他のシステムは完成したワークシートに入力されたデータおよび他のDICOMデータを受け取ることができ、ワークシートデータおよび(例えばpicture archiving and communication system(PACS)内の)静止画または映像を格納することができ、また請求システムと相互作用することができる。このようなワークシートサーバシステムの一つはカナダブリティッシュコロンビア州メイプルリッジのTelexy Healthcare, Inc.から入手可能なQPath E(商標)サーバシステムである。
【0005】
先行技術では、ポイントオブケアシステムはワークシートをダウンロードして見ること、およびワークシートに入力されたデータがサーバに伝送されるためにサインオフされること(データレビューワークフローにおける次の段階に向けて承認されること)を可能にするためにライブネットワークサーバ接続を有することが必要になる。接続が失われた場合、ポイントオブケアデバイスがインターネットまたは他のコンピュータ通信接続が利用できないかまたは信頼できない現場または場所において使用される場合、ワークシートは接続が回復するまで見たり完成させたりすることができない。
【発明の概要】
【0006】
発明者はポイントオブケアシステムのユーザがワークシートサーバへのライブ接続を用いることなくワークシートと相互作用してそれを完成させることを可能にする、超音波ポイントオブケアシステムのような技術の必要性を認識してきた。本開示技術はブラウザコンポーネントと相互作用するためのシステムソフトウェアを含むポイントオブケアシステムによりこの必要性に対処する。システムソフトウェアとブラウザコンポーネントとの間の相互作用により、システムソフトウェアがブラウザコンポーネントからワークシートデータを取得し、それをローカルストレージに格納することが可能になる。この相互作用によりシステムソフトウェアがローカルストレージから格納されたワークシートを取り出すことも可能になり、ワークシートデータがブラウザコンポーネント内のワークシートに自動入力されるようにすることができる。インターネットまたは他のコンピュータ通信接続が利用可能になると、ポイントオブケアイメージングシステムはワークシートデータをサーバに伝送する。本明細書で使用されるように、「ライブ(live)」接続は二つまたはそれよりも多くのデバイス間で通信するための能力を指す。例えば、ポイントオブケアイメージングシステムが例えばインターネットを介してDICOMパッケージをサーバに送ることができる場合は、そのサーバへのライブ接続を有する。しかしながら、ポイントオブケアイメージングシステムがサーバへの接続を試みたものの接続できない場合、サーバへのライブ接続を有しないことになる。
【0007】
いくつかの実施形態では、ポイントオブケアシステムはブラウザコンポーネントを含むシステムソフトウェアを含むことができる。システムソフトウェアはそのディスプレイ内の統合された要素としてブラウザコンポーネントを含むことができ、システムソフトウェアのルックアンドフィールを維持する。ブラウザコンポーネントはポイントオブケアイメージングシステムのローカルストレージに前もって格納されるワークシートを生成することができ、またはそれらをワークシートサーバから同時に取得することができる。
【0008】
ユーザがブラウザコンポーネントを介してワークシートを開くと、ポイントオブケアイメージングシステムソフトウェアはポイントオブケアイメージングシステムのローカルメモリに格納されたこのワークシートに関連付けられたデータがあるかどうかを決定することができる。ワークシートに関連付けられたデータがある場合、ポイントオブケアイメージングシステムのシステムソフトウェアはワークシートに自動入力するためにローカルデータを取得し、ブラウザコンポーネントと相互作用することができる。ユーザは次に自動入力されたデータが存在するか否かによらずワークシートと相互作用することができる。
【0009】
例えばユーザが現在のドキュメントオブジェクトモデル(DOM)から離れて移動するアクションを実行する際、ワークシートでデータをセーブするためのトリガイベントが発生すると、ポイントオブケアシステムのシステムソフトウェアはワークシートフィールドに入力されたワークシートデータを取得するためにブラウザコンポーネントと再びインタフェースをとることができる。ワークシートからのデータはローカルメモリに格納することができる。ワークシートが完成した場合(例えばそれがサインされた場合)、ワークシートからのデータを入力することにより、ワークシートデータをDICOMパッケージに、また他の関連付けられたデータをDICOMパッケージ内の「タグ(tags)」に、組み入れることができる。DICOMタグは特定の型のデータに対して定義される、標準化されたフィールドとすることができる。いくつかの実施形態では、DICOMパッケージは「プライベート(private)」タグを含むことができ、これは異なる目的のための異なる組織により使用可能な様々なデータ構造を有することができる。本明細書に記載のデータ転送はDICOMパッケージを使用するものとして説明されるが、JSON blobまたはXML blockのような他のデータカプセル化が考えられる。例えば画像、レポート、他のワークシート等を追加してDICOMパッケージが完成すると、ライブネットワーク接続が利用可能な場合はDICOMパッケージをサーバに伝送するキューにDICOMパッケージを追加することができる。
【0010】
いくつかの実施形態では、システムソフトウェア要素とブラウザコンポーネント要素との間のインタフェースは両方のソフトウェア要素と相互作用する中間コンポーネントを用いることを含む。ブラウザコンポーネントで提供されるワークシートはワークシートについての情報を提供する所定の関数(例えば、JavaScript(登録商標)関数)を使用することができる。ポイントオブケアイメージングデバイス上で稼働中のシステムソフトウェアはそれらの名前、関数に渡される引数、および戻される結果の型等のこれらの所定の関数の識別を用いて構成することができる。システムソフトウェアはワークシートデータの取得または固有のフィールドを用いるワークシートの自動入力等の意図されたアクションに対する一または二以上の所定の関数への参照を取得するために中間コンポーネントを使用することができる。中間コンポーネントはブラウザコンポーネント内で所定の関数を実行し、結果がある場合にはそれを取得するためにこれらの参照を使用することができる。結果はシステムソフトウェアによる使用のために再フォーマットすることができる。ワークシートから情報を取り出す際、システムソフトウェアは一または二以上のプライベートDICOMタグまたは他のDICOMパッケージフィールドをもたらす関数をパッケージングすることができる。
【0011】
いくつかの実施形態では、中間コンポーネントはコンポーネントオブジェクトモデル(COM)である。COMはブラウザコンポーネントのDOM内のポインタ参照を取得するためにIDispatch関数を含むことができ、関数の名前、パラメータ、および結果のデータが与えられる。COMはまた対応する関数を実行して結果を取得するためにポインタを使用するためのIInvoke関数も含むことができる。
【0012】
いくつかの実施形態では、システムソフトウェアとブラウザコンポーネントとの間のインタフェースはブラウザコンポーネントのスクリプトインタプリタへのコードの挿入を含むことができる。例えば、コードの挿入はブラウザコンポーネントのAPIを通じてコードを渡すことを含むことができる。ブラウザは例えばワークシート値を自動入力するため、または入力されたワークシート値を取得するために、挿入されたコードを実行することができる。コードを挿入するための手順は結果に対するハンドル(handle)を提供することができる。例えば、ハンドルは呼び出したAPI関数の戻り値とすることができ、またはシステムソフトウェアによりアクセス可能な結果が記述される固有のメモリロケーションとすることができる。
【図面の簡単な説明】
【0013】
図1】本開示技術のいくつかの実施形態による、ワークシートサーバから切断されていてもユーザが検査のワークシートを完成させることを可能にするためのシステムを示す。
図2】本開示技術のいくつかの実施形態による、ワークシートに含まれる情報にアクセスするためのシステムのブロック図である。
図3】本開示技術のいくつかの実施形態による、メディカルイメージングデバイス上で稼働するシステムソフトウェアにより組み込まれたJavaScript関数と相互作用するためのシステムのブロック図である。
図4】本開示技術のいくつかの実施形態による、ワークシートデータを抽出または自動入力するために中間コンポーネントを使用してポイントオブケアシステムソフトウェアとブラウザコンポーネントとの間のインタフェースをとるためのステップのフローチャートである。
図5】本開示技術のいくつかの実施形態による、コード挿入を使用してポイントオブケアシステムソフトウェアとブラウザコンポーネントとの間のインタフェースをとるためのステップのフローチャートである。
図6】本開示技術のいくつかの実施形態による、ライブサーバ接続の代わりにローカルストレージを使用してワークシートを操作するため、およびサーバが利用可能になるとワークシートデータを伝送するためにシステムソフトウェアにより実行されるステップのフローチャートである。
図7】本開示技術のいくつかの実施形態による、ポイントオブケアメディカルイメージングシステム上でシステムソフトウェアを実行するためのコンピューティングコンポーネントの一例のブロック図である。
【発明を実施するための形態】
【0014】
オフライン設定でワークシートを利用して完成させる能力により、現場、またはコンピュータ通信リンクが周期的または準最適のみである設定において操作する提供者のポイントオブケアメディカルデバイスが改善される。例えば、超音波マシンのオペレータは検査の全期間に超音波マシンとリモートワークシートサーバとの間の接続を可能にするための十分な帯域幅を備えたコンピュータ通信リンクを有しない現場、または遠く離れたクリニックで患者を検査し得る。あるいは、メディカルイメージングデバイスはケーブルまたはコンピュータ通信リンクへの無線接続を用いることなく患者のベッドサイドで使用され得る。手術室または他の救急医療の場面では、有線ネットワーク接続は実用的でないこともあり、これらの環境における無線伝送および接続は病院の方針、干渉要件等により制限され得る。既存のシステムでは、医師がライブネットワーク接続へのアクセスを有しない場合、医師または助手は検査の間にメモをとり、これは後に接続が利用可能になるとワークシートに転記される。このようなプロセスによりワークフローは遅延し、さらなる努力が必要とされ、データを電子フォーマットに記録して転送するために潜在的なエラーが引き起こされる。
【0015】
これらおよび他の問題に対処するために、本開示技術はリモートワークシートサーバへのライブ接続を用いないワークシートを備えるポイントオブケアシステム上の相互作用を提供する。
【0016】
多くの超音波ポイントオブケアシステムにおいて、およびしばしば救急医療において、一般にスキャンを実行するのは医師であり、フルタイムの超音波検査技師ではない。フルタイムの超音波検査技師でない医師は彼らが緊急事態における患者(予定外の患者)に提供するケア全体のうちの一部としてスキャンを行っている。現在、これらの医師に対する国内の、または世界的な資格証明システムがない。したがって、各病院は医師がデバイスを操作するために必要とされる熟練度を有していると決定するための独自の方針を策定しなければならない。本明細書に開示される技術の一つの利点は、病院がトレーニング時間を記録するためにそれを使用し、また彼らが様々なアプリケーションでそれらの熟練度を達成するまでトレーニング中の医師の検査のQA/レビューを行うことができることである。本開示技術は医師が各検査の後にワークシートを完成させることを可能にすることでそのような検査の記録を補助する。
【0017】
また、緊急に使用するケースでは、超音波スキャンのおよそ90%が請求されていないことがわかっている。発生したサービスに対して請求するために、医療サービスの提供者は彼らが検査に対して請求できるように主治医が熟練していることを示すことができなければならない。医師は多忙であり、各モダリティからの検査を記録するための時間を有していないため、収益が得られない。本開示技術は「この患者に対する診断および治療を導くためにどの超音波検査を行ったのか?」という問いに対する答えを自動的に得て、それを請求システムに移動させるための方法を提供する。この情報は完成したワークシートを通じて得ることができ、病院または他のサービス提供者は発生したサービスに対して請求することができる。
【0018】
組織は、例えば救急医療または放射線科等の様々な部門のために、および実行される最も一般的なタイプの処置のために調整されたワークシートのカスタムセットを生成することができる。これにより一つのサイズが全てのアプローチに適合するということが実用的ではなく、頻度が低いかまたは適切でない使用につながるデフォルトのソフトウェアが組み込まれたワークシートに対するこのようなカスタマイズされたワークシートの使用が容易になる。
【0019】
本開示により、アクティブなコンピュータ通信接続を用いることなく、または検査の最後(またはその日の最後)にQpath E サーバのようなリモートサーバへのサインを有することなく検査が実行されるため、医師がそれらのワークシートを完成させること、およびそれらのメモを記録し、ワークシート上で「サインオフ(sign off)」することが可能になる。
【0020】
図1は本開示技術のいくつかの実施形態による超音波ポイントオブケアシステム10のブロック図である。しかしながら、本開示技術はワークシートを実施する他のメディカルデバイス(例えば心電図マシン、PETスキャナ、X線マシン等)を用いて使用することができる。
【0021】
示されている実施形態では、ポイントオブケアシステム10はコンピュータ通信接続15によりワークシートサーバ20に接続される。イメージングシステムの動作を制御するために、ポイントオブケアシステム10はコンピュータ可読メモリに格納されるプログラムされた命令(「システムソフトウェア(system software)」を実行するように構成された一または二以上のプロセッサ(図示されていない)を含む。ワークシートサーバ20への通信接続15はプライベート有線または無線LANであってもよく、またはインターネットのような公衆ネットワークであってもよい。ワークシートサーバ20は特定のユーザ、マシン、マシンのグループに合わせてカスタマイズすることができるか、または組織全体に汎用であることのできるいくつかのワークシートを格納する。例えばフォームに彼ら独自のクリニックのロゴを配置するため、またはどの情報もしくはフィールドをどの順番で含むのかもしくは含まないのか、医師もしくは技術者のメモのためのスペース、および測定結果もしくは計算を配置するための領域を決定するなどより実質的に変化させるために、ユーザはワークシートを編集することができる。
【0022】
ワークシートサーバ20はDICOM(Digital Imaging and Communication in Medicine)アーカイバ内の完成したワークシートのデータを格納することができる。DICOMはメディカルイメージングおよび記録におけるハンドリング、格納、印刷、および情報伝送の規格である。規格にはファイルフォーマット定義およびネットワーク通信プロトコルを含む。ワークシート内の情報はDICOMアーカイバにより電子医療記録(EMR)および請求システム30に送ることができる。加えて、検査中に取得された画像またはビデオクリップはpicture archiving and communication system(PACS)システム40に格納することができる。いくつかの実施形態では、患者の記録がDICOMアーカイバで取得されると、ワークシートサーバ20はEMRシステム30およびPACSシステム40から参照された情報を取得する。
【0023】
ワークシートサーバ20に接続されると、超音波イメージングシステムはコンピュータ通信接続15を介してワークシートおよび他の情報だけでなくカスタムサーバコマンドを受け取る。様々な実施形態では、ワークシートがポイントオブケアシステム上でロードされる際、ポイントオブケアシステムにおける管理者コマンド(すなわち「プル(pull)」操作)に応じて、またはワークシートサーバからの「プッシュ(push)」の際に、例えば定期的に、ワークシートを様々な時間に取得することができる。ワークシートはHRMLのようなブラウザ可読フォーマットでワークシートサーバ20から超音波イメージングマシンに伝送することができる。いくつかの実施形態では、ワークシートはJavaScriptを含むことができる。いくつかのケースでは、ワークシートは画像、スクリプト、CSSファイル等のような他のコンテンツへの参照を含むことができる。これらの参照はネットワークをベースとすることができ、またはポイントオブケアシステムにローカルにダウンロードすることができる。例えば、ワークシートおよび任意の参照項目は、ライブネットワーク接続が利用可能である場合にダウンロードされ、ポイントオブケアシステムのローカルメモリに格納することができる。ワークシートおよびワークシートにより参照される項目がローカルで利用可能であるため、ワークシートは次にライブネットワーク接続が利用可能であるか否かによらずポイントオブケアシステムにより使用されることができる。
【0024】
ポイントオブケアシステム10上で稼働するシステムソフトウェアにより実施されるブラウザコンポーネントはワークシートを表示することができ、ユーザがデータを入力し、画像またはビデオクリップを添付し、およびワークシートに電子的にサインすることが可能になる。ユーザがワークシートを完成させると、入力されたデータ、画像およびビデオクリップはコンピュータ通信接続が確立されるとDICOMアーカイブサーバに保管するためにワークシートサーバ20に返送されることができる。
【0025】
いくつかの実施形態では、ユーザがブラウザコンポーネント内でワークシートにサインをするとブラウザコンポーネントは例えばワークシートをカプセル化するフォームを提出することによりワークシートを伝送することができる。しかしながら、この操作はサーバにライブネットワーク接続していない場合には利用することができない。上記で示されたように、従来のシステムでは、ワークシートサーバ20から受け取ったワークシートはアクティブなコンピュータ通信接続15を通じてワークシート20に継続して接続されるブラウザ環境で動作するように設計される。通信シンクが失敗したかまたは利用できない場合、ワークシートに入力され、かつセーブされていない任意の情報は失われる可能性がある。加えて、ワークシート間の切換えによりエラーまたはデータの損失が発生し得る。
【0026】
ワークシートサーバ20に接続していない場合にポイントオブケアシステムのオペレータがワークシートを完成させることが可能になるように、本開示技術はポイントオブケアシステム10上で稼働するシステムソフトウェアが特定のワークシートのHTMLと関連して関数(例えばJavaScript)を稼働することのできるメカニズムを提供する。一度取り出されると、システムソフトウェアはDICOMパッケージ内または標準DICOMフィールド内にワークシートを例えば一または二以上のプライベートタグとしてカプセル化し、ライブネットワーク接続が利用可能である場合にサーバに伝送するためにアウトバウンドキューにDICOMパッケージ配置する。いくつかの実施形態では、ライブネットワーク接続があるかどうかによらず、システムソフトウェアはワークシートデータを抽出するためにブラウザコンポーネントとインタフェースをとる。他の実施形態では、ブラウザコンポーネントはライブネットワーク接続が利用可能な場合にはワークシートデータを直接提出し、ライブネットワーク接続が利用できない場合にはシステムソフトウェアとインタフェースをとる。
【0027】
図2はリモートサーバへのライブ接続を用いることなくユーザがリモートワークシートサーバから前もってダウンロードされたワークシートを完成させることを可能にするシステムのブロック図である。示されている実施形態では、ワークシートサーバ20は通信接続15を使用してポイントオブケアシステム10に接続している。ポイントオブケアシステム10内のローカルメモリ100はワークシートサーバ20から受け取った一または二以上のワークシートを定義するHTMLおよび他のファイルを格納する。
【0028】
ポイントオブケアシステム10上のシステムソフトウェア25はユーザが見ることを可能にし、ワークシートとインタフェースをとるブラウザコンポーネント120を含む。ブラウザコンポーネントを用いると、ユーザは情報を入力し、測定結果を作成して記録し、ワークシートにサインをすることができる。ブラウザコンポーネントまたはシステムソフトウェアはビデオクリップ、静止画、またはほかの情報をワークシートデータに関連付けるために使用することもできる。
【0029】
当業者により理解されるように、ワークシートサーバから受け取ったワークシートはブラウザにおいて生成されたワークシートについての情報を提供するいくつかの関数(例えばJavaScript)を含むか、または参照することができる。例えば、関数はドロップダウンメニュー、コントロールラジオボタン、ディスプレイチェックボックスを生成し、ワークシートがどのように見えるかを制御する他の操作を実行することができる。いくつかの関数はフォームが任意の情報を含むかどうか、検査を実行する医師または技術者によりサインがされたがどうか、等のようなワークシートについてのメタデータを提供することができる。このような関数は一般的にブラウザコンポーネント内にあり、他のポイントオブケアシステムソフトウェアのように外部のアプリケーションと通信しないように設計される。本開示技術は、これらの関数を実行し、その結果を取得するためのこのような外部のソフトウェアのための方法を提供する。
【0030】
本開示技術のいくつかの実施形態によると、ワークシートに含まれるかまたはそれにより参照される所定の関数へのアクセスを取得するために中間コンポーネント(例えばインタフェース35)を使用すること、または関数をブラウザコンポーネントのスクリプトインタプリタに挿入することのいずれかにより関数を実行するために、ポイントオブケアシステムのシステムソフトウェア25がブラウザコンポーネントとインタフェースをとる。いくつかの実施形態では、インタフェース35はポイントオブケアシステムのオペレーティングシステムにより提供されるコンポーネントオブジェクトモデル(COM)インタフェースとすることができる。いくつかの実施形態では以下を含むインタフェースの関数はブラウザに実行させることができる。
GetWorksheetData()-文字列で表されたデータオブジェクトにカプセル化されたフォームのユーザ入力データおよび任意のサインオフ/承認資格を取得する。このパッケージングされたデータはDICOMカプセル化およびプライベートタグを介して、またはデータをDICOMフィールドにマッピングすることにより、ワークシートサーバに伝送される。
SetWorkSheetData(worksheetData)-worksheetDataに従って任意のサインオフ/承認データを含む完全なワークシートに入力されたデータを設定し、これは文字列で表されたデータオブジェクト(例えばJSON)のカプセル化とすることができる。
IsworksheetSigned()-ワークシートがサインされているかどうかを示すブール値を戻す。
IsworksheetActive()-ワークシートがセーブされたかまたはセーブされていない任意のユーザ入力データを有するかどうかを表すブール値を戻す。
【0031】
理解されるように、上記の情報を提供する他の関数を使用することもできる。このような関数がどのように記述されるかについての詳細は、HTMLおよびJavaScriptの分野の当業者においては既知であると考えられる。中間コンポーネントを使用する実施形態では、システムソフトウェアは関数名、どの型の変数が関数に渡されるのか、関数からどの戻り値およびその型が予期されるか、コードライン番号、メモリロケーション、識別子番号、親オブジェクト、または他の識別情報のような、関数の識別情報を認識する。中間コンポーネントはこれらの関数を実行するためのアクセスを得るため、および関数の結果を取得するため、この情報を使用することができる。他の実施形態では、関数を直接ブラウザコンポーネントのスクリプトインタプリタに挿入するシステムソフトウェアにより、また任意の生成された結果を受け取ることに応答して、アクセスを得ることができる。
【0032】
このアクセスを用いて、システムソフトウェアはブラウザコンポーネントを用いてユーザがワークシートに入力した情報およびワークシート自体についてのメタデータを取り出すことができる。システムソフトウェアは取り出した情報をローカルメモリに格納する。このアクセスにより、ワークシートが再び開かれるとシステムソフトウェアがワークシートに戻るワークシートデータを自動入力することも可能になる。加えて、システムはフォームから情報を取得し、対応する標準DICOMフィールド内または一または二以上のプライベートタグ内のいずれかに情報の一部を入力して情報をDICOMファイルとして再構成することができる。DICOMアーカイブサーバは情報が特定のワークシートに適しているかどうかを決定するためにこの情報およびワークシート識別情報を抽出することができる。システムソフトウェアはライブコンピュータ通信接続が確立されるとDICOMファイルを送る。
【0033】
システムソフトウェアがこれらの関数を呼び出すことを可能にすることにより、システムソフトウェアはワークシートに入力された情報を取り出してそれをローカルメモリに格納することができる。システムソフトウェアは次に情報をDICOMパッケージに再びパッケージングし、コンピュータ通信接続が回復するとDICOMアーカイブサーバに情報を返送する。いくつかの実施形態では、システムソフトウェアは各ワークシートのDICOM情報を定期的に、かつそれが閉じている間に格納する。情報がワークシートサーバ20に伝送される前にワークシートが再び開かれた場合、システムはその以前の状態のワークシートに情報を復元するためにJavaScriptコマンドを呼び出すことができ、医師または技術者はレポートを終了することができる。
【0034】
別の実施形態では、ブラウザコンポーネントにより生成されたワークシートに関する情報は組み込まれたスクリプトを呼び出すことによるのではなく、WPFおよびUWPプラットフォームに固有のサポートされた関数を使用して追加のスクリプトをHTML DOMに挿入することを介して取得される。
【0035】
図3は本開示技術のいくつかの実施形態によるワークシートについての情報を取り出すためにシステムソフトウェアが中間コンポーネントを使用してブラウザコンポーネントとどのように相互作用できるかについてのさらなる詳細を例示している。ブラウザコンポーネントにより、ワークシートを生成するために必要な情報はワークシートサーバ20から取り出され、メディカルイメージングデバイスのローカルメモリに格納される。ワークシートを構成する情報はHTMLテキストファイル、JavaScriptファイル、カスケードスタイルシート(CSS)ファイル、またはメディア(例えば画像、オーディオ、ビデオ等)ファイルを含むことができる。これらのファイルはメディカルイメージングデバイス上に格納されたローカルディスクのディレクトリ(および必要な場合にはサブディレクトリ)に格納することができる。ユーザがグラフィックユーザインタフェースを使用してワークシートを選択すると、ブラウザコンポーネントはワークシートの情報をロードし、ワークシートに対応するドキュメントオブジェクトモデル(DOM)を作成する。
【0036】
図3に示されている例では、生成されたワークシートに対するDOM内の情報にアクセスするために、システムソフトウェアはコンポーネントオブジェクトモデル(COM)中間インタフェースを使用し、これはIDispatchおよびIInvokeコマンドを提供する。COMはワークシートについての情報を提供するかまたはそれに情報を自動入力する所定のJavaScript関数へのポインタを取り出すためにIDispatchを使用することができる。システムソフトウェアは関数により予期される引数を構成し、COMインタフェースにより理解される方法で予期される結果を定義することもできる。システムソフトウェアは次にCOM中間コンポーネントにIInvokeコマンドを使用して関数の実行をリクエストするように命令する。関数から戻された任意の結果はシステムソフトウェアに認識されるローカルメモリ100内のメモリロケーションに置かれる。
【0037】
当業者においては、例示されているブロック図およびフロー図の構成要素は様々な方法で変更され得ることを理解されたい。例えば、論理の順序は並べ替えてもよく、サブステップは並列に実行してもよく、例示されている論理は省略してもよく、他の論理が含まれてもよい、等である。いくつかの実施形態では、上述の構成要素のうち一または二以上は以下で説明するプロセスのうち一または二以上を実行することができる。
【0038】
図4は本開示技術のいくつかの実施形態によるワークシートに対応するDOMの関数を呼び出すためにシステムソフトウェアにより実行されるアクションのさらに詳細を示している。いくつかの実施形態では、図4のプロセスは図6に例示されているプロセスのブロック610またはブロック616のサブプロセスとして実施される。
【0039】
200から開始すると、ブラウザコンポーネント内の現在ロードされているDOMへのポインタを取得するために、システムソフトウェアはCOMインタフェースのIDispatch関数を呼び出す。ポインタは現在生成されているワークシートに対するハンドルを提供する。ユーザがワークシートを切り替えると、ポインタを格納することができ、現在生成されているワークシートに対する正確なポインタが使用される。
【0040】
210において、システムソフトウェアはスクリプト関数を含むDOMの一部へのポインタを取得するためにCOMインタフェースのIDispatch関数を呼び出す。いくつかの実施形態では、スクリプト関数を含むDOMの一部へのポインタの取得は現在ロードされているDOMへのポインタに基づくことができる。例えば、現在ロードされているDOMへのポインタはスクリプト関数を含むDOMの一部へのポインタを取得することになる関数の範囲または他の文脈を提供することができる。いくつかの実施形態では、スクリプトはJavaScriptであるが、他のスクリプトタイプを使用することができる。例えば、VBScript、AJAX、jQuery、C♯、Java(登録商標)等のようなスクリプトまたは他の言語を使用することができる。
【0041】
220において、その関数へのポインタを取り出すためにシステムソフトウェアはワークシートの関数のうち一つを渡してIDispatch関数を呼び出す。前述のように、識別子はこれらの関数の名前を含むことができ、これはシステムソフトウェアに対するアプリオリ(a priori)として知られる。いくつかの実施形態では、システムソフトウェアはIDispatch関数にGetWorksheetData()、SetWorkSheetData(worksheetData)、IsworksheetSigned()、およびIsworksheetActive()の名前を有する、ブラウザコンポーネント内の現在のDOMのJavaScript関数のうち一または二以上にポインタを戻すようにリクエストする。名前がシステムソフトウェアに認識される限り、関数は任意の名前を有することができるが、これらの名前を備えたどの関数が実行すると予期されるのか、およびそれらを作成することができるのかを当業者が理解することができるため、このネーミングの慣習は本明細書では例として使用する。いくつかの実施形態では、識別された関数へのポインタの取出しはスクリプト関数を含むDOMの一部へのポインタに基づくことができる。例えば、スクリプト関数を含むDOMの一部へのポインタは識別された関数へのポインタを取得する関数の範囲または他の文脈を提供することができる。
【0042】
これらの関数(例えばJavaScript)により使用され、戻される変数の型はDOMインタフェースにより使用されるこれらと同一でない可能性がある。したがって、開示される実施形態では、関数に渡され、関数から戻されるパラメータはCOMインタフェースにより理解される型に翻訳することができる。230において、システムソフトウェアは呼び出した関数をCOM適合値(VARIANT型)のコレクションとして組み立てる。いくつかの実施形態では、呼び出した関数は構造体として作成される。例えば、JavaScript関数は以下のようになる。
【0043】
240において、システムソフトウェアはCOMにIInvoke COMインタフェースを使用して関数を実行するように命令する。例えばGetWorksheetData()関数を実行するために、COMインタフェースは以下の疑似コードを実行するように命令される。
【0044】
250において、現在のDOM内部の呼び出された関数の結果が(ある場合には)関数を呼び出すために使用される構造体のメモリに格納され、COMインタフェースにより使用されるフォーマットからシステムソフトウェアにより使用されるフォーマットに変換される。例えば、JSONフォーマットのデータを含むCOMインタフェースにより使用されるBSTRはシステムソフトウェアにより使用されるstring型文字列、char[]、char*に変換され得る。
【0045】
図5は本開示のいくつかの実施形態によるワークシートを実施するブラウザコンポーネントに関数を挿入するためにシステムソフトウェアにより実行されるアクションのさらに詳細を示している。いくつかの実施形態では、図5のプロセスは図6に示されるプロセスのブロック610または616のサブプロセスとして実施される。
【0046】
ブロック502において、ポイントオブケアシステムのシステムソフトウェアはブラウザコンポーネントのスクリプトインタプリタに対するブラウザコンポーネントにコード(例えばJavaScript)を挿入することができる。様々な実施形態では、ブラウザコンポーネントへのコードの挿入はブラウザコンポーネントにより、ブラウザコンポーネントにインストールされ、またスクリプトを受け取ってそれらをワークシートにスクリプトセクションに挿入するように構成されたプラグインを使用することにより、ブラウザコンポーネント内のアクティブなDOMにアクセスすることおよびそれにスクリプトコードを追加することにより、またはURLバーのようなブラウザコンポーネントのアクセスポイントを通じてコードを追加することにより、提供されるAPIの呼び出しを使用して実行することができる。各ケースでは、コードのブラウザコンポーネントへの挿入は挿入されたコードの結果がある場合にはそれを取得するために一または二以上のハンドルを有することができる。例えば、結果のハンドルはAPIまたは呼び出したプラグイン関数からの戻り値、ブラウザコンポーネントと挿入されたコードが書き込むように構成されたシステムソフトウェアとの間で共有されるメモリロケーション、ポイントオブケアシステムのウェブサービスローカルに挿入されたコードにより作成される呼び出し、とすることができ、またはシステムソフトウェアはブラウザコンポーネントから出ていくリクエストを妨害するように構成され、またそれが挿入されたコードからのものであることを示す識別子(例えば固有の送信先、ポート等)を備えるそれらをローカルで扱うことができる。
【0047】
ブロック504において、ブラウザコンポーネントは挿入されたコードを実行することができる。上述のように、挿入されたコードは上記のGetWorksheetData()、SetWorkSheetData(worksheetData)、IsworksheetSigned()、またはIsworksheetActive()関数と適合する一または二以上の関数を含むことができる。
【0048】
いくつかの実施形態では、ブロック506および508は破線で示されているこれらのブロックにより示されるように、挿入されたコードが結果を生成することが予期される場合にのみ実行することができる。ブロック506において、システムソフトウェアは実行されたコードの結果を取得するために使用されるコード挿入の型に対するハンドルを使用することができる。
【0049】
いくつかの実施形態では、システムソフトウェアはAPIまたは呼び出したプラグイン関数に対する呼び出した関数の戻り値を受け取ることができる。他の実施形態では、システムソフトウェアはブラウザコンポーネントと挿入されたコードが結果を書き出すように構成されるシステムソフトウェアとの間で共有されるメモリロケーションから読み取ることができる。さらに他の実施形態では、挿入されたコードはリクエストの送信先をポイントオブケアシステムに対するウェブサービスローカルとすることができ、(例えばGETまたはPOSTデータとして)リクエストにカプセル化されたデータをローカルウェブサービスによりホストされたスクリプトにより抽出することのできる、ネットワークリクエストを作成するための操作(例えばHTMLHttpRequest()を使用するJavaScriptにおける操作)を含むことができる。さらに、システムソフトウェアはブラウザコンポーネントから発せられるリクエストを妨害してリクエスト内のカプセル化されたデータを抽出することができる。
【0050】
ブロック508において、挿入されたコードからの結果はシステムソフトウェアにより使用可能なフォーマットに変換することができる。例えば、結果はJSONデータ列のような結果の文字列表現であり得る。いくつかの実施形態では、文字列はトークン化することができ、特定のキーを有する値は、例えばそれらを対応するDICOMフィールドにマッピングすることにより利用することができる。他の実施形態では、完全な文字列またはトークン化された文字列からの値はDICOMプライベートタグにカプセル化することができる。
【0051】
図6は本開示技術のいくつかの実施形態による、サーバが利用可能である場合にワークシートデータを伝送するためにシステムソフトウェアより実行されるステップのフローチャートである。ブロック602において、システムソフトウェアはワークシートサーバからワークシートを取得し、それらをローカルメモリに格納することができる。様々な実施形態では、ワークシートのバージョン(version)の取得はリクエストデバイス(すなわち「プル(pull)」操作)により、またはワークシートサーバ(すなわち「プッシュ(push)」操作)により開始することができる。様々な実施形態では、ワークシートのバージョンの取得は、(ローカルに、またはリモートシステムからのいずれかの)管理者コマンドにより、ワークシートの新しいバージョンが利用可能である場合のアップデートのための周期的かつ自動的なリクエストにより、またはワークシートサーバへのアクティブな接続がある間にワークシートにアクセスするためにリクエストするユーザに応答して、トリガすることができる。
【0052】
ワークシートサーバからのワークシートを使用することにより、例えば特定のルックアンドフィールを維持するため、組織がそのポイントオブケアシステムに蓄積したいデータに対応する特定のフィールドを含むため、または特定のデータ蓄積ワークフローを可能にするためにワークシート内のフィールドがどのように組織されるのかを指定するために、ワークシートは特定の組織に合わせてカスタマイズすることができる。ワークシートは特定のポイントオブケアシステムに合わせて、またはポイントオブケアシステムのグループに合わせてカスタマイズすることができる。いくつかの実施形態では、ワークシートはHTMLを使用してフィールドを定義するファイルとすることができる。いくつかの実施形態では、ワークシートファイルはスクリプト(例えばJavaScript)、画像または他のメディア、CSS等のような、他のコンテンツを含むことができる。あるいは、または加えて、ワークシートファイルはポイントオブケアシステムのローカルストレージに格納された他のコンテンツへの参照を含むことができる。これにより、他のコンテンツをワークシート間で共有することが可能になり、またワークシートが変更されていないワークシートの一部を再びダウンロードすることを必要とせずにアップデートすることが可能になる。いくつかの実施形態では、ワークシートおよび/または追加のコンテンツはポイントオブケアシステムのソリッドステートドライブに格納することができる。いくつかの実施形態では、ワークシートおよび/または追加のコンテンツは例えば暗号化を通して安全な方法で格納することができる。
【0053】
ブロック602が完了すると、ワークシートおよびそれらの対応する他のコンテンツはローカルに格納される。加えて、また以下で論じられるように、ポイントオブケアシステムはワークシートに入力されたデータを抽出してローカルに格納することができる。その結果、ブロック602が完了すると、ポイントオブケアシステムはライブサーバ接続を用いることなく残りのブロック604-624を実施することができる。
【0054】
ブロック604において、ポイントオブケアシステムのシステムソフトウェアはブラウザコンポーネントを実行することができる。これはポイントオブケアシステムまたはChrome(登録商標)、Safari(登録商標)、Internet Explorer(登録商標)等のような、商用ブラウザのバージョンに固有のカスタムブラウザとすることができる。いくつかの実施形態では、ブラウザコンポーネントはブラウザコンポーネントがシステムソフトウェアの他の態様とは区別されることが容易には分からないようなシステムソフトウェアに統合するかまたはそれに組み込むことができる。様々な実施形態では、ブラウザコンポーネントの実行はシステムソフトウェアの初期化の一部として、またはワークシートを開くためのユーザの選択に応答して、実行することができる。
【0055】
ブロック606において、ブラウザコンポーネントは例えば患者の検査中にユーザにより選択される選択されたワークシートをローカルメモリからロードすることができる。これはブロック602において格納されたローカルメモリからブラウザコンポーネントワークシートを供給することにより達成することができる。ワークシートがローカルメモリに格納された他のコンテンツを参照している場合、ブラウザコンポーネントはワークシートを完全に生成して参照されるJavaScriptまたはCSSのような追加のコードを実行するために参照を解決して他のコンテンツを取得することができる。
【0056】
ブロック608において、システムはブロック606においてロードされたワークシートのためのローカルメモリに格納されたサインされていないかあるいは部分的なデータがあるかどうかを決定することができる。いくつかの実施形態では、これはブロック606においてどのワークシートがロードされたかを確認することおよび対応するワークシートデータが格納されているかどうかを決定することにより発生する。例えば、ワークシートを識別するメタデータはローカルメモリにワークシートデータとともに格納することができる。ワークシートデータはDICOMサーバへの伝送のためにまだサインオフされていない場合に認識されることができ、これはさらなるメタデータにより示すことができる。いくつかの実施形態では、現在の患者に対する識別子も有する場合にブロック608において決定がサインされていないワークシートデータのみをさらに識別するケースでは、ポイントオブケアシステムは現在の患者を識別するセッションデータを含むことができる。ワークシートデータはブロック608において識別され、処理はブロック610へと続く。それ以外の場合、処理はブロック612へと続く。
【0057】
ブロック610において、ブロック608において識別されたワークシートデータはローカルストレージから取得してブラウザコンポーネントに供給することができる。ワークシートに含まれるかまたはシステムソフトウェアにより挿入されるコードは、ワークシートの自動入力フィールドに供給されたワークシートデータを使用することができる。中間コンポーネント使用してワークシートデータをワークシートフィールドに挿入するためのプロセスは図4に関連して上述した。コード挿入を使用してワークシートデータをワークシートに挿入するためのプロセスは図5に関連して上述した。
【0058】
プロック612において、ユーザおよび/または自動システムはワークシートと相互作用することができる。例えば、ユーザは情報をフィールドに入力することができ、またはエンコーディングからスキャンされたデータ(例えばバーコード、QRコード(登録商標)等)、計算、測定結果、画像、読み込み、他のスキャン結果等のような、他の蓄積されたデータはワークシートに入力されるかまたはそれに関連付けることができる。
【0059】
ブロック614において、ワークシートデータをセーブするためのトリガ条件を識別することができる。いくつかの実施形態では、トリガ条件はブラウザコンポーネントに現在のページから離れて移動させるイベントとすることができ、これにより現在にワークシートのDOMをクリアするブラウザコンポーネントが得られる。例えば、このようなイベントは患者の検査を終了させるための制御を作動するユーザ、異なるワークシートまたは他のページへの移動、またはシステムソフトウェアにブラウザコンポーネントを閉じさせるポイントオブケアシステムの異なるサブシステムの起動(例えばイメージング、トランスデューサ、システムメニュー、ヘルプメニュー等)を含むことができる。
【0060】
ブロック616において、現在のワークシートに入力されたデータを抽出してローカルメモリにセーブすることができる。例えば、ワークシートからのデータの抽出は、GetWorksheetData()関数への参照を識別して関数を実行するために中間コンポーネントを使用することにより、またはGetWorksheetData()関数のコードをブラウザコンポーネントに挿入することおよび結果を取り出すことにより、達成することができる。中間コンポーネントを使用してワークシートからデータを抽出するためのプロセスは図4に関連して上述した。コード挿入を使用してワークシートからデータを抽出するためのプロセスは図5に関連して上述した。抽出されたワークシートデータは、例えば暗号化することにより安全な方法でセーブすることができる。
【0061】
ブロック618において、システムソフトウェアはワークシートデータがサインされたかどうかを決定することができる。様々な実施形態では、これは抽出されたワークシートデータ(例えばメタデータ)に組み込まれるかあるいはそれに関連付けられた変数を調べることにより、またはIsworksheetSigned()関数を実行するために中間コンポーネントまたはコードの挿入を使用することにより、達成することができる。ワークシートがサインされていなかった場合、ブラウザコンポーネントにロードするためにワークシートが再び選択されると処理はブロック606に戻る。ワークシートがサインされていた場合、処理はブロック620へと続く。
【0062】
ブロック620において、システムソフトウェアはサインされたワークシートデータのバージョンをDICOMパッケージに組み入れることができる。いくつかの実施形態では、これは例えば文字列としてワークシートデータのバージョンをDICOMパッケージ内のプライベートタグに追加することにより行われる。サーバがこのDICOMパッケージを受け取ると、プライベートタグ内のワークシートデータから個々の値を抽出することができる。他の実施形態では、ワークシートデータのバージョンはワークシートデータから抽出されてDICOMパッケージの対応する標準フィールドに追加されるワークシートの個々のフィールドの値とすることができる。
【0063】
ブロック622において、システムソフトウェアはDICOMパッケージが完成したかどうかを決定することができる。いくつかの実施形態では、画像、レポート、ワークシートデータ、他のメタデータ等のような固有の素材のセットが含まれる場合、システムソフトウェアはDICOMパッケージが完成であると決定することができる。他の実施形態では、システムソフトウェアは例えばクリックして検査の制御を終了させることによりユーザがこの効果を示すとDICOMパッケージを完成と識別する。DICOMパッケージが完成していない場合、DICOMパッケージが完成したことを示す追加の入力が受け取られるまで処理はブロック622に留まる。DICOMパッケージが完成すると、処理はブロック624へと続く。
【0064】
ブロック624において、システムソフトウェアはライブネットワーク接続が利用可能な場合、キュー内のDICOMパッケージを一または二以上のサーバに伝送するように構成されたキューに完成したDICOMパッケージを追加することができる。
【0065】
図7は本開示技術のいくつかの実施形態によるポイントオブケアメディカルイメージングシステム上でシステムソフトウェアを実行するためのコンピューティングコンポーネント700の一例のブロック図である。コンピューティングコンポーネント700の要素はデジタル電子回路で、もしくは本明細書に開示される構造およびそれらの構造等価物を含むコンピュータソフトウェア、ファームウェア、もしくはハードウェアで、またはそれらのうち一または二以上の組み合わせで、実施することができる。コンピューティングコンポーネント700は入力をプロセッサ710(例えばCPU、GPU、HPU等)に提供する一または二以上の入力デバイス720を含むことができ、アクションを通知する。アクションは入力デバイスから受け取った信号を解釈して通信プロトコルを使用してプロセッサ710に情報を通信するハードウェアコントローラにより調停することができる。入力デバイス720は、例えば、マウス、キーボード、タッチスクリーン、超音波、X線もしくは他のメディカルスキャンコンポーネント、赤外線センサ、タッチパッド、ウェアラブル入力デバイス、カメラもしくは他の視覚をベースとする入力デバイス(例えばバーコードまたはQRコード(登録商標)リーダ)、マイク、または他のユーザ入力デバイスを含む。
【0066】
プロセッサ710は一つのデバイス内の、または複数のデバイスにわたって分散する単一のプロセッシングユニットまたは複数のプロセッシングユニットとすることができる。コンピュータプログラムの実行に好適なプロセッサは、例として、汎用および特殊目的マイクロプロセッサおよび任意の種類のデジタルコンピュータの任意の一または二以上のプロセッサの両方を含む。プロセッサ710は例えばPCIまたはSCSIバス等のバスを使用して他のハードウェアデバイスに結合することができる。プロセッサ710はディスプレイ730のようなデバイスのハードウェアコントローラと通信することができる。ディスプレイ730はテキストやグラフィックを表示するために使用することができる。いくつかの実施形態では、ディスプレイ730はグラフィックまたはテキストの視覚によるフィードバックをユーザに提供する。いくつかの実施形態では、ディスプレイ730は入力デバイスがタッチスクリーンであるかまたは視線監視システムに装備されるような場合に、ディスプレイの一部として入力デバイスを含む。いくつかの実施形態では、ディスプレイは入力デバイスから切り離されている。ディスプレイデバイスの例は、LCDディスプレイスクリーン、LEDディスプレイスクリーン、(ヘッドアップディスプレイデバイスまたはヘッドマウントデバイスのような)投影型、ホログラフィック、または拡張現実ディスプレイ等である。他のI/Oデバイス740は、ネットワークカード、ビデオカード、オーディオカード、USB、カメラ、プリンタ、スピーカー、CD-ROMドライブ、DVDドライブ、ディスクドライブ、またはBlu-Ray(登録商標)デバイス等のプロセッサに結合することもできる。
【0067】
いくつかの実施形態では、コンピューティングコンポーネント700はネットワークノードと無線でまたは有線ベースで通信することのできる通信デバイスも含む。通信デバイスは例えばTCP/IPプロトコルを使用するネットワークを通じて別のデバイスまたはサーバと通信することができる。コンピューティングコンポーネント700は複数のネットワークデバイスにわたって操作を分散させるために通信デバイスを利用することができる。
【0068】
プロセッサ710はポイントオブケアシステムのメモリ750へのアクセスを有することができる。メモリは揮発性または不揮発性ストレージに適した様々なハードウェアデバイスのうち一または二以上を含み、また読取り専用および書込み可能メモリの両方を含むことができる。例えば、メモリはランダムアクセスメモリ(RAM)、様々なキャッシュ、CPUレジスタ、読取り専用メモリ(ROM)、およびフラッシュメモリ、ハードドライブ、フロッピー(登録商標)ディスク、CD、DVD、磁気ストレージデバイス、テープドライブ、デバイスバッファ等のような書込み可能不揮発性メモリを備えることができる。メモリは基盤となるハードウェアから分離した伝搬信号でなく、したがってメモリは非一時的である。メモリ750はオペレーティングシステム(例えば、Windows(登録商標)、AppleOS、Unix(登録商標)等)、ブラウザコンポーネントを有する)システムソフトウェア764、および他のアプリケーションプログラム766等のコンピュータプログラムを格納するプログラムメモリ760を含むことができる。メモリ750はプログラムメモリ760またはコンピューティングコンポーネント700の任意の要素に提供されるワークシートおよびワークシートデータのような、データを格納することのできるデータメモリ770を含むこともできる。
【0069】
(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、またはコードとしても知られる)コンピュータプログラムはコンパイルまたはインタプリタ言語、宣言型、または手続型言語を含む、任意の形態のプログラミング言語で書くことができ、スタンドアロンプログラムまたはモジュール、コンポーネント、サブルーチン、オブジェクト、もしくはコンピューティング環境における使用に好適な他のユニットを含む任意の形態で展開することができる。コンピュータプログラムはファイルシステム内のファイルに対応し得るが、これは必須ではない。プログラムは問題のプログラム専用の単一のファイル内、または複数の調整されたファイル(例えば、一または二以上のモジュール、サブプログラム、もしくはコードの一部を格納するファイル)内の、他のプログラムまたはデータ(例えば、マークアップ言語文書に格納された一または二以上のスクリプト)を保持するファイルの一部に格納することができる。コンピュータプログラムは、一つのコンピュータ上で実行されるか、または一つのサイトに配置されるかもしくは複数のサイトにわたって分散されて通信ネットワークにより相互に接続される複数のコンピュータ上で実行するために展開されることができる。
【0070】
本開示技術のいくつかの実施形態は図を参照して上述された。本明細書における「実施態様(embodiments)」または「実施形態(implementations)」(例えば「いくつかの実施形態(some implementations)」「様々な実施形態(various implementations)」、「一つの実施形態(one implementations)」、「ある実施形態(an implementations)」等)等への言及は、実施形態に関連して説明される特定の特徴、構造、または特性は本開示の少なくとも一つの実施形態に含まれることを意味する。本明細書における様々な場所におけるこれらの句の出現は全てが同一の実施形態を参照することが必要ではなく、また他の実施形態の相互に排他的な別個の、または代わりの実施形態でもない。その上、いくつかの実施形態により示され得るが他の実施形態によっては示され得ない様々な特徴が説明される。同様に、いくつかの実施形態に対する要件ではあり得るが他の実施形態に対しては要件であり得ない様々な要件が説明される。
【0071】
特に定義されていない場合、高い(high)、または重要でない(unimportant)のような相対的な用語は、値を割当て、その値が確立された閾値とどのように比較するかを決定するものとして理解することができる。例えば、「速い接続を選択すること(selecting a fast connection)」という句は、閾値を上回るその接続速度に対応して割当てられた値を有する接続を選択することを意味すると理解することができる。本明細書で使用されるように、「または(or)」という言葉は項目のセットの任意の可能な並びを指す。例えば、「A、B、またはC(A, B, or C)」という句は、A;B;C;AおよびB;AおよびC;BおよびC;A、B、およびC;のいずれか、またはAおよびA;B、B、およびC;A、A、B、C、およびC;等のような複数の任意の項目のような、A、B、Cのうち少なくとも一つ、またはそれらの任意の組合せを指す。
【0072】
主題が構造的な特徴および/または方法論的なアクションに固有の言語で説明されてきたが、添付の特許請求の範囲において定義される主題は必ずしも上述の固有の特徴またはアクションを限定するものではないことを理解されたい。固有の実施態様および実施形態は例示の目的のために本明細書において説明されてきたが、実施態様および実施形態の範囲から逸脱することなく様々な修正がなされることができる。上述の固有の特徴およびアクションは以下の特許請求の範囲を実施の例示の形態として開示される。したがって、実施態様および実施形態は添付の特許請求の範囲によるものを除いて限定されない。
【0073】
任意の特許、特許出願、および上述の他の引用文献は参照により本明細書に組み入れられる。必要に応じて、さらに実施形態を提供するために上述の様々な引用文献のシステム、関数、および概念を用いるために態様は修正されることができる。参照により組み入れられる文書内の言及または主題が本出願の言及または主題と抵触する場合、本出願は制御される。
図1
図2
図3
図4
図5
図6
図7