ORCA

概要

ORCA (オルカ)は、日本医師会 ORCA 管理機構が開発・配布している医療保険請求用のレセコン(レセプトコンピュータ)ソフトである。名称は Online Receipt Computer Advantage から来ている。Linux の Ubuntu ディストリビューション上で稼働する。
公式 HP は、http://www.orca.med.or.jp/
メーリングリストは、ユーザー向け・開発者向けなどが別個に用意されており、こちらで案内されている。

経緯

公式 HP の記載が、ORCA プロジェクト発足意図を上手く表現していると思われので引用しておく(太字加工は筆者による)。

現在、全国約10万箇所の医療機関の8割以上が、毎月の診療報酬を請求するため、専用コンピュータ(レセコン)を使用しています。このレセコンは、主に民間企業主体で開発・販売され、メンテナンス費用を含めると、高いものでは700万円から800万円、安いものでも300万円から400万円の投資が必要でした。また、それぞれの企業が独自に開発を進めた結果、データの形式にほとんど互換性がなく、ネットワーク化も進んでいません。
そこで日本医師会では、医療のIT化、医療情報の標準化を進めるためにORCAプロジェクトを立ち上げ、その1つの手段として、ネットワーク端末としても利用できるレセコンの開発に着手してきました。そして、これを日本医師会独自のものにおしとどめることなく、国民に良質の医療を提供するため、広く一般に利用できるよう公共財的な位置付けで、このプログラムを公開することを決定しました。

この意図はそれなりに成果をあげ、2020 年 7 月現在、並いる商用ソフトと互して、国内2位のシェア数を誇っている(全国17151施設で導入されている)。

しかしながら、全国の医療機関は約10万施設あり、その3割は PHC (母体は三洋)のメディコム(medicom)シリーズが稼働している。シェアの絶対数では、若干水をあけられた格好になっている。

ライセンス

ORCA 本体自身のライセンスは、「日医オープンソース使用許諾」という独自のライセンスを採用している。ソースコード及びマスタデータを利用することは許されているが、マスターデータを変更して再配布することは「健康や治療への悪影響を回避するため」に禁止されている。
ただし、サーバー機能を受け持つ panda (以前の MONTSUQI)は GPLv2 である。

技術的特徴

しばしば「ORCA は COBOL で書かれている」と言われるが、COBOL コンパイラーである GnuCOBOL(以前の OpenCOBOL) は COBOL コードを GCC コードに変換しているのみで、実際のバイナリへのコンパイルは GCC がおこなっている。
サーバー部の panda は、C/C++ で書かれている。
また、Windows, Mac の ORCA クライアント(monjiaj)の開発言語は Java である。

運用形態

もともと無償診療所向けの医療事務の IT 化のために開発されていたため、これ一台で患者の登録・窓口レベルの診療にかかる負担金の算定・領収書の発行・処方箋の発行・月毎の保険金請求のための専用のファイル作成などができる。

しかし、医療職がおこなった診療行為をオペレーターがその都度手入力するのは煩雑であるため、後述するように電子カルテと連動させて運用する場合が多い。

ORCA 連動型電子カルテ

デジカル、きりんカルテ、CLIUS、OpenDolphin などがある。

WebORCA

上述のように日本の医療情報の実務面でそれなりのインパクトを与えた ORCA であるが、度重なる改修などで不具合が目立つようになってきた。

この問題を解消するため、あるユーザーからの提案を受けてウェブフレームワークの採用が図られ 2021 にリリースされた。

将来的には医療情報の類はクラウドに上げて一元管理・ビッグデータとしての活用を図る・・云々みたいな話は、まあそうだろうなとは思うのですが、このとき医療機関側が欲しい情報を取ってこれる環境になっていないとデメリットの方が大きく、実際には誰も参加しないだろうなと思います。
(法的にも医療情報の管理責任は、現状だと医療機関側です。業者ではありません)
欲しい情報を効率よく取ってこれるかどうかは、データ構造の整合性に大きく依存するのではないでしょうか。
これを実現する割と有効な選択肢は現在だといわゆるウェブフレームワークの採用かなと思ったわけです。

https://ml.orca.med.or.jp/orca-users/msg14678.html

ご指摘ごもっともです。
仰るとおりで、ぐうの音も出ません。
フレームワークの採用も検討してまいります。

https://ml.orca.med.or.jp/orca-users/msg14679.html

クリックで公式サイトに飛べます

クラウド版、オンプレミス版も継続して開発されていたため、当初はその位置付けが曖昧であったが、将来的にはクラウド版・オンプレミス版も WebORCA に統合される予定であることが公式にアナウンスされた。

WebORCAは、私どもで次世代のORCAと位置づけており、従来のクラウド版(ginbee)を独自に開発した、Webアプリのフレームワークに移植したものです。
画面は同じまま、安定性や動作速度で大幅に優れています。

> オンブレミスは廃止の方向ですか?

ginbee についてはWebORCAへの移行を進めておりますがオンプレミス版は継続の方向です。
ただし、現状のオンプレミス版は、近い将来、WebORCAのオンプレミス版(ブラウザで利用できるORCAのWebサーバ)としてリリースしたいと考えています。

オンプレとクラウドのWebORCAスキームへの統一には、メンテナンスコストを削減するという点以外に、大規模な災害や障害に強いハイブリッドな環境を提供するという目標があります。

https://ml.orca.med.or.jp/orca-users/msg14996.html

なお、採用したフレームワークは上記のように独自開発したものとされておりソースコード全体も現在(2024/2)のところ公開されていない。

API の変更

従来の日レセORCAのAPIは、

というものであったが、WebORCA では、各 API の前に /api を加える必要がある。

WebORCA のポートは 8000 であるから、IP アドレスを XXX.XXX.XXX.XXX としたとき、

http://XXX.XXX.XXX.XXX:8000/api/api01rv02/patientgetv2?id=12345

となる。

仮想環境へのインストール

WebORCA は本来は物理的な Ubuntu マシン上にインストールするものであるが、テスト環境として MS Windows や MacOS 上で使いたいということはしばしばある。

MS Windows

Windows11 WSL2 へのインストール方法が示唆されている。
WSL2 上の Ubuntu に WebORCA をインストールしただけでは、ホスト Windows11 のみから http://localhost:8000 でしかアクセスできないが、ホスト OS に一種のポートフォーワードの機能を追加することで LAN 上の各マシンから、ゲスト OS と通信できるようになる。

例えば、Win11 から見た WSL Ubuntu のIPが 172.24.94.173 だった場合、ホストWin11 で以下のインターフェイスを追加する。

netsh interface portproxy add v4tov4 listenport=8000
listenaddress=0.0.0.0 connectport=8000 connectaddress=172.24.94.173

追加されたインターフェイスの効果でホストWin11ポート8000 に送られてきたパケットは、内部の Ubuntu のポート 8000 に転送される。
逆向きの WSL Ubuntu → LAN 各マシンへの通信はデフォルトアダプタの機能でもともと転送可能となっているため(そうでなければ、外部通信できない)、これで LAN上の各マシンとの双方向の通信が可能になる。

なお、「Win11 から見た WSL Ubuntu のIP」は以下のコマンドで調べることが可能だ。

hostname -I
インターフェイスを追加すれば、ホストwin11から内部IPでアクセスできる
LAN 上の Mac からもホストwin11のIPでアクセス可能になる

参考:『UbuntuをWindows11上で動かす その12: 外部から接続する

MacOS

WebORCA 自体が amd64 アーキテクチャ向けにビルドされているためであろうか、arm Mac 上の arm アーキテクチャの Ubuntu にはインストールできないようである。

医療DX への対応

オンライン資格確認

onshi-tools が公開されている。

電子処方箋

オンプレミス WebORCA 単独で使用する場合には、既に各種機能は実装されている。

しかし、電子カルテ上から ORCA の電子処方箋発行機能を呼び出す API は非公開となっている。

 

(随時更新予定)

DolphORCA 開発チーム