WebDolphORCA
Inspired by OpenDolphin and ORCA
はじめに
現在(2022)、医療用ソフトでオープンソース開発方式を採用するのは下火になった感はありますが、これまでのプロジェクトを無駄にするのは惜しい気がします。そこで
電子カルテの OpenDolphin (商用開発元は メドレー)
と
レセコン ORCA (開発元は ORCAMO)
を再利用して電子カルテ (+レセコン支援機能)の作成を目指すこととしました。
OpenDolphin + ORCA で DolphORCA です。
特徴
OpenDolphin のクライアントの設計は少々時代遅れになった感じはありますが、サーバの方の出来(特に REST API の出来)は、(作成された時代を考えれば)かなり良いと思います。
従来のデスクトップアプリをクライアントに使うのではなく、クライアントはブラウザとします。
ただし、サーバに手を入れてウェブ化をはかるのではなく、サーバを再構成して、ウェブレイヤーを被せる、という設計方針を取っています。
図示するとこんな感じでしょうか。
このフロントエンドサーバを「DolphORCA」と呼んでいて、ある程度、使い物になるようにするのが最初の目標です。
ただ、ドルフィンと違いサーバがバックエンドとフロントに分離されています。
いわゆる 3 tier client server architecture (三層クライアントサーバーシステム)という構成です。
三層クラサバ構成を取ることのメリットはけっこうあります。
その一つはサキュリティの確保でしょうか。
・従来のクラサバ構成では API が外部開放されているため、不特定多数からの攻撃を受けてしまう。が、API をフロントエンドサーバにのみ開放しておけば、少なくとも本体が攻撃を受けることはなくなる。
まあ、情報の流れをコントロールするのが面倒にはなるんですが。
他には
・従来のドルフィンの 1.3.6.1.4.1.9414.* という医療機関IDの命名制約など不自然な機能をはずせる(この制約はクライアント由来でサーバにはこんな制限はありません。ログインの試行回数の5回制限もサーバではなく、クライアントによるものです)
・クライアントに使われていた oracle のコードを使う必要がなくなる
(OpenDolphin 自体のライセンスは曖昧になってますが、クライアントさえなければ GPL にしてソースを公開しようが、クローズドで開発しようがどちらでもよくなります。なお、これまで OpenDolphin は「◯△のコードが含まれており、著作権は ◯△ が有しております」的なことが主張されていましたが、これは「その時点ではそうだった」という話のようです。現在は著作権・商標権もろもろをメドレーが完全に保有しており、制約はあるものの2次的な利用も原則許可されています。もっとも OpenDolphin のコードは一切使ってませんが)
などがあるでしょうか。
ある程度完成したら phazor.jp に設置予定。
作業状況
2022/12/2 サーバー部を再構成した backend server Ver1.2を公開(こちらからダウンロードできます)。
2022/07/24 エディタを改良。
2022/07/15 ログイン認証、UIなどある程度固める。