「コンテナアプリ」を自主開発

 そこで宮崎大学医学部附属病院では、「コンテナアプリ」と称するクロスプラットフォーム開発ツールを自主開発することに至った。

図2 電子カルテに必要な機能とマルチプラットフォーム化の実装手段(図:宮崎大学医学部附属病院の資料)
図2 電子カルテに必要な機能とマルチプラットフォーム化の実装手段(図:宮崎大学医学部附属病院の資料)
[画像のクリックで拡大表示]

 コンテナアプリは、一般的に「ハイブリッドアプリケーション」と呼ばれる一形態で、Webアプリケーションの技術を用いて、ネイティブアプリケーションを作る手法である。具体的には、HTML5+CSS(Cascading Style Sheets )+Javascriptの技術を使って、ネイティブアプリのHTMLビューア上でWebアプリを動かすことになる。また、コンテナアプリには、部門システム(Windowsプラットフォーム)、シェーマツール、バーコード、カメラなどの呼び出し機能を追加した。

 これにより、デスクトップパソコンとスマートフォンでそれぞれ異なるコンテナアプリを実装するが、中身のソースコードは1つであり、CSSを切り替えて稼働させることが可能になる。図3に示したシステム構成のイメージのように、Cachéアプリケーションサーバー上にWebサーバーを同居させ、HTML5+CSS+Javascriptで画面を作成して端末に配信する。その配信先が、WindowsデスクトップではWindows用コンテナアプリ、AndroidスマートフォンではAndroid用コンテナアプリとなる。「iOS用やMac OS用のコンテナアプリは今後、開発を進めていく」(荒木氏)という。

図3 マルチプラットフォーム型電子カルテ「Man・Go!」のシステム構成(図:宮崎大学医学部附属病院の資料)
図3 マルチプラットフォーム型電子カルテ「Man・Go!」のシステム構成(図:宮崎大学医学部附属病院の資料)
[画像のクリックで拡大表示]

 操作性については、デスクトップパソコンは従来通り(クリック、ダブルクリック、右クリック、ドラッグ&ドロップなど)、スマートフォンではタップやフリックなど固有の操作性を実現する必要がある。例えば、ダブルクリックによる画面展開はタップ操作へ、マウスカーソルを対象物の上に重ねると何らかの処理を行うマウスオーバー操作はタッチスクリーンではできないため、他の機能で補うといった点などである。

 また、マルチ画面サイズへの対応策は、複数画面の表示方法としてタイル表示という概念を導入した。デスクトップパソコンでの電子カルテ画面(初期画面)は、患者基本情報、オーバービュー、診療データ(処方など)、経過記録などの領域(タイル)が1画面上に表示。スマートフォンでは、それぞれのタイルを個別に重ねるという考えで大小の画面サイズに対応した。

図4 スマートフォンによる処方などの診療データ表示(図:宮崎大学医学部附属病院の資料)
図4 スマートフォンによる処方などの診療データ表示(図:宮崎大学医学部附属病院の資料)
[画像のクリックで拡大表示]
図5 スマートフォンによるオーバービュー表示(図:宮崎大学医学部附属病院の資料)
図5 スマートフォンによるオーバービュー表示(図:宮崎大学医学部附属病院の資料)
[画像のクリックで拡大表示]