VWork バイブコーディングフレームワーク

動物病院の電子カルテをオープンソースで——OpenVPMとは。機能と自院サーバーでの動かし方、当社の変更が本家に取り込まれた話

この記事は バイブコーディング的仕事ブログ(AI OSS技術解説)へ移りました。 最新版はこちらです → https://exbridge.jp/vibeblog/2026-11-12-openvpm-dobutsu-byoin-denshi-karte.html

動物病院の電子カルテには、OpenVPM というオープンソースのシステムがあります。カルテ、予約、会計、在庫を1つの画面で扱い、自院のサーバーで動かせます。

当社は2026年9月に、このシステムを日本語にした「OpenVPM 日本語版」を公開しました。そのとき本家に送った日本向けの変更が、11月12日に本家の本体へ取り込まれました。この記事では、OpenVPM がどんなシステムか、日本で使うときに何に気をつけるか、当社が何をしたかをまとめます。

結論を先に書きます。

OpenVPM とは

OpenVPM は、2026年3月に開発が始まった動物病院向けの管理システムです。開発元は「動物病院のソフトウェアは、それを使う人たちのものであるべきだ」と掲げています。

特徴は次の4つです。

執筆時点で GitHub のスターは64、フォークは34です。規模はまだ小さいですが、開発は毎日のように動いています。

何ができるか

下は、当社の日本語版の患者一覧の画面です。左の列に、機能が並んでいます。

OpenVPM 日本語版の患者一覧。左の列にダッシュボード・患者・飼い主・予約表・カルテ・検査結果の受信箱・会計・在庫・再診のご案内・ホワイトボード・麻薬と向精神薬・レポートが並び、右に犬と猫40頭の名前・品種・飼い主・性別が表になっている

主な機能は次のとおりです。

メールや SMS の送信、AI の機能は、それぞれ外部のサービスの設定が要ります。入れただけで動くのは、カルテ・予約・会計・在庫の部分です。

使われている技術

医院ごとのデータは、アプリの側とデータベースの側の両方で分けています。データベースの行単位の制限を使っているので、設定を誤っても別の医院のデータが見える事故が起きにくい作りです。

日本で使うときに気をつけること

画面は英語

本家の画面は英語だけです。当社が9月に調べたとき、画面の文言は約2,400種類あり、すべてソースコードに直接書かれていました。翻訳を差し替える仕組みはありません。

本家には、多言語化の方針を書いた文書があります。「英語を正とする」「欠けた訳は英語で出す」「国ごとの分岐で別のコードを作らない」「小さな変更で少しずつ進める」という内容で、どの仕組みを使うかはまだ決まっていません。

円のカード決済は止めてある

これは、今回の本家とのやり取りで分かったことです。

OpenVPM の決済は、どの通貨も「100分の1の単位」で金額を扱う作りでした。ドルなら 45.00ドルを 4500 として送ります。ところが円には、100分の1の単位がありません。同じ作りのまま円を通すと、4,500円の請求が、決済サービスには450,000円として届くおそれがありました。

本家の開発者は、当社の変更を取り込む前の点検でこれを見つけ、対応を足しました。

日本の動物病院で使う場合、会計の記録には使えますが、OpenVPM からのカード決済は使えません。いまは、院内のカード端末や現金で受け取り、OpenVPM に入金を記録する使い方になります。

当社の日本語版は、この対応が入る前の本家をもとにしています。日本語版でカード決済の連携を設定するのは避けてください。

データの保存先

ファイルの保存には S3 互換のストレージが要ります。本家が使っている MinIO は、当社が9月に確かめたとき、公式のコンテナイメージを取得できなくなっていました。当社の日本語版では、同じ S3 互換の SeaweedFS に替えています。

当社が本家に送った変更

日本語版を作る途中で、医院の国に日本を選べないことに気づきました。選べたのは米国・カナダ・英国・アイルランド・豪州の5つです。

そこで9月29日に、次の変更を本家に送りました。

変更は6ファイル、足した行は27行の小さなものです。

これが11月12日に、本家の本体に取り込まれました。開発者からは、次の連絡がありました。

送ってから取り込まれるまで、1か月半かかりました。そのあいだに本家のコードが進んでいたので、開発者が最新のコードに載せ直してくれています。小さな変更でしたが、「円の決済が危ない」という点検につながったのは、送ってよかったと思える結果でした。

OpenVPM 日本語版

当社は、本家をもとに画面を日本語にした OpenVPM 日本語版 を公開しています。本家とは提携していない、非公式の日本語版です。

OpenVPM 日本語版のダッシュボード。今日の予約18件・本日の診察患者6頭・当月の収益(円表示)・保留中の請求書5件の数字と、今後の予約の一覧が日本語で並んでいる

日本語版で足したものは次のとおりです。

まだ日本語になっていないところもあります。飼い主に送るメールや PDF の文面と、サーバーの側で作る一部の文です。

当社のサーバーで本番と同じ構成を動かしたときのメモリは、画面のプログラムが約170MB、データベースが約60MB、ファイルの保存が約120MB でした。メモリだけを見れば、院内の小型のサーバー1台に収まる大きさです。

導入キット

日本語版を自院のサーバーで動かすための手順をまとめた、動物病院の電子カルテ OpenVPM 日本語版 導入キットを Kurage App Store に出しています。税込5,500円です。

入っているものは次のとおりです。

手順は、当社のサーバーで実際に通したものです。医院の登録で日本を選び、Shift_JIS の CSV を4本取り込み、バックアップを取って別のデータベースに復元し、件数が合うところまで確かめています。

本体のソースコードは GitHub で公開しています。キットは、それを自院で動かすための手順書と設定をまとめたものです。

動物病院の業務とシステムについては、動物病院向けのページにもまとめています。

まとめ

紙カルテから電子カルテへ移るとき、いちばん手間がかかるのは、これまでの記録を移す作業です。そこを CSV で取り込めるようにしたのが、日本語版でいちばん力を入れた部分です。