タグ: ORCA

  • openDolphin PoCとORCA連携を試みて分かったこと

    ― AWS/Ubuntu 22.04/CLAIMの壁 ―

    はじめに

    オープンソース電子カルテ openDolphin を用いた PoC(概念実証)として、AWS上に構築した ORCA との連携(CLAIM接続)を試みた。

    結論から言えば、
    今回の構成では openDolphin と ORCA の連携は見送りとした。

    ただしこれは「失敗」ではなく、
    技術的に確認すべき点をすべて確認した上での判断である。

    本記事は、
    その過程を 記録として整理したものであり、
    同様の検証を行う人への参考、
    また医療IT理解のための資料として残すことを目的としている。


    検証の前提条件

    openDolphin 側

    • Windows Server 2022
    • サーバ/クライアント同居構成
    • PoC用途(本番想定なし)

    ORCA 側

    • AWS EC2
    • Ubuntu 22.04 LTS(Jammy)
    • ORCA公式手順書(Jammy版)に従って構築
    • 診療データは自分自身のテストデータのみ

    目標

    • openDolphin と ORCA を CLAIM(8220/8221)で疎通確認
    • 本格連携ではなく「疎通レベル」での確認

    まず結論

    • AWS上の Jammy ORCA では、CLAIM受信が有効になっていなかった
    • openDolphin は実質的に CLAIM前提設計
    • 今回の ORCA 構成では、後付けで CLAIM を有効化するのはリスクが高い
    • よって openDolphin PoC は ORCA 非連携で進める という判断に至った

    実際に起きたこと(技術的事実)

    CLAIM疎通確認

    nc -vz <ORCA_PRIVATE_IP> 8221
    

    結果:

    Connection refused
    
    • ネットワーク到達性はある
    • しかし ORCA 側で 8221 が LISTEN していない

    CLAIM設定ファイルの不存在

    ls /etc/jma-receipt/claim/
    

    結果:

    No such file or directory
    
    • 従来の ORCA(CLAIM前提構成)で存在するはずのディレクトリがない

    jma-receipt パッケージの不在

    apt-cache policy jma-receipt
    

    結果:

    パッケージ jma-receipt が見つかりません
    
    • 旧来の CLAIM 前提 ORCA パッケージ体系ではなかったことが確定(自分のローカルPCで構築したVMのORCAとは違った)

    「同じ Ubuntu 22.04 なのに違う」問題

    ローカル VM 環境では、

    • Ubuntu 22.04 Jammy
    • ORCA × CLAIM
    • RSBASE 連携

    が成立している。

    一方、AWS では成立しない。

    違いは OSのバージョンではなかった


    違いの正体:Ubuntuの「育ち方」

    整理すると、差分は以下だった。

    • ローカルVM
      • ORCA推奨の Ubuntu インストーラ
      • ORCAが暗黙に前提としている環境が揃っている
    • AWS
      • AWS公式 Ubuntu AMI
      • クラウド最適化・最小構成
      • ORCA側が想定していない初期状態

    加えて、
    ORCAから公表されているが、「CLAIM非前提」の構成が標準になっているという背景もあるのだろうか。


    CLAIMを無理に有効化しなかった理由

    理論上は、

    • 旧来の ORCA リポジトリを追加
    • CLAIM関連パッケージを導入

    という道も考えられる。

    しかし今回は以下の理由から見送った。

    • ORCAを壊すリスクが高い
    • PoC環境とはいえ、検証対象が変質する
    • 「できるかどうか」ではなく「判断材料を集める」段階だった

    openDolphin PoC のスコープ再定義

    今回の判断を踏まえ、
    openDolphin PoC のスコープを以下に再定義した。

    In-Scope

    • 受付(来院の表現)
    • 診療録作成
    • 院内オーダ入力
    • 基本マスタの考え方

    Out-of-Scope

    • ORCA連携(会計・請求)
    • RSBASE連携(画像・検査結果)
    • 実運用・本番想定

    このPoCの位置づけ

    今回の検証は、

    • openDolphin を「導入する/しない」を決めるためではなく、電子カルテとは何か医療情報システムはどう分業されているか、を理解するための PoC である

    という位置づけに切り替えた。

    特に私が所属する法人では、

    • 「電子カルテ=全部入りシステム」
    • 「ORCA=電子カルテ」

    といった誤解が多く、
    このPoCは 勉強教材として非常に有効だと判断している。


    次のステップ

    • openDolphin PoC を 教育用途として活用
    • 電子カルテ/レセコン/検査/画像の役割分担を整理
    • 本格開発は openEHR を前提に再検討

    CLAIM連携については、
    「今やらない」だけであり、
    「不要」と判断したわけではない。


    おわりに

    今回の検証で一番大きかったのは、

    できる/できないを切り分け、
    無理に進まない判断ができたこと

    だと思っている。

    医療ITは、
    技術そのもの以上に 前提条件と設計思想が支配的だ。

    この記録が、
    同じ場所で悩む誰かの参考になれば幸いである。

  • WS 上に ORCA(WebORCA)を構築した1日|EC2(Ubuntu)での実践手順とトラブルシューティング

    今日は、AWS 上に ORCA(WebORCA)を構築する作業に取り組みました。
    以前から Windows Server は構築済みでしたが、今回は Ubuntu サーバ上で ORCA をフルインストールし、WebORCA がブラウザから動作するところまで を達成しました。

    AWS と医療システム構築の良い練習にもなり、トラブルもいくつか発生しましたが、結果としてクラウド版 ORCA 環境が完成しました。

    1. 本日のゴール

    • AWS EC2(Ubuntu 22.04)へ ORCA をインストール
    • apt-line・keyring の追加
    • weborca-install によるモジュール導入
    • WebORCA(http://xxx.xxx.xxx.xxx:8000)にブラウザアクセス
    • Elastic IP を割り当てて DNS 化
    • Windows Server(同一VPC)からも疎通確認

    2. 使用した EC2 の構成

    • OS:Ubuntu 22.04 LTS(HVM)
    • インスタンスタイプ:t2.medium
    • ディスク:40GB(後から拡張可能)
    • セキュリティグループ
      • SSH(22):自分のIPのみ
      • 8000:必要なIPのみ後から開放
    • キーペア:新規作成(pem)

    3. インスタンス起動 → SSH ログインまで

    ● キーペア作成時の注意

    PuTTY形式(ppk)は不要。
    PowerShell から直接 SSH で接続できるため pem でOK。

    接続例:

    ssh -i .\mykey.pem ubuntu@ElasticIP
    

    4. ロケール設定

    初期状態では LANG=C.UTF-8 だったため、日本語ロケールへ変更。

    sudo apt update
    sudo apt install language-pack-ja
    sudo update-locale LANG=ja_JP.UTF-8
    

    確認:

    locale
    

    LANG=ja_JP.UTF-8 になっていればOK。


    5. ORCA 用 apt-key(keyring)と apt-line の追加

    ORCA公式の手順書に従う。

    ● Keyring配置

    sudo -i
    wget https://ftp.orca.med.or.jp/pub/ubuntu/archive.key -O /etc/apt/keyrings/jma.asc
    ls /etc/apt/keyrings/
    

    jma.asc が見えれば成功。

    ● apt-line 設定

    cd /etc/apt/sources.list.d/
    wget https://ftp.orca.med.or.jp/pub/ubuntu/jma-receipt-weborca-jammy10.list
    

    6. パッケージ更新

    apt update
    apt dist-upgrade
    

    ここで“GRUB の選択”画面が出たが、そのままデフォルトで進行。
    アップグレード後、以下ログで完了:

    Restarting services...
    No user sessions are running outdated binaries.
    

    7. ORCA(WebORCA)のインストール

    ● 本体インストール

    sudo apt install -y jma-receipt-weborca
    

    ● モジュール導入

    sudo weborca-install
    sudo weborca-install -l
    

    バージョン例:

    MiddleWare 20230117-5
    Compiler   20221216-3
    Application 20230402-1
    

    8. WebORCA 起動確認(最初のトラブル)

    ブラウザで:

    http://10.0.0.37:8000/
    

    Windows Server から開こうとして アクセス不可

    ● 原因

    セキュリティグループが「自分のローカルIPのみ許可」になっていた。

    ● 解決

    インバウンド 8000 に 同じVPCの Windows Server のセキュリティグループを許可


    9. Elastic IP の割り当てと DNS 登録

    • EC2 に Elastic IP をアタッチ
    • お名前.com で Aレコードを作成
    • 反映後、下記URLでアクセス可能に:
    http://(独自ドメイン):8000/
    

    nslookup で疎通確認:

    nslookup your.domain.jp
    

    10. 今日のトラブルと解決方法まとめ

    ① apt-key が非推奨と言われる

    → ORCA公式どおり /etc/apt/keyrings に配置する方式で解決。


    ② GRUBの選択画面が出て驚く

    → Ubuntuの dist-upgrade でよくある挙動。
     既定のままで問題なし。


    ③ WebORCA にアクセスできない

    → セキュリティグループの許可範囲の問題。
     VPC内の Windows Server のIPを明示的に許可。


    ④ PowerShellでSSH接続時にキーペア指定の書式を間違えた

    → 正しい書式:

    ssh -i .\mykey.pem ubuntu@IP
    

    11. 今日得られた成果

    • AWS上で ORCA フル構築が完了
    • Ubuntu / apt-line / keyring の理解が深まった
    • AWS のセキュリティグループ設計を体験
    • ElasticIP+DNS を設定し、医療用システムとして実運用可能な構成へ
    • Windows Server → Ubuntu への疎通確認
    • 実務ではできない自由な実験環境が確立