電子カルテ自作派 2025
『電子カルテ自作派 2022-2025』という記事に触発されて私も。
その記事では OceanMini と OpenDolphinNext(まだ正式には決まっていないようだが、るまさんはこの名称を希望しているらしい) が取り上げられていた。
OceanMini (初版公開は 2025/11/14)と OpenDolphinNext(X の投稿が 2025/11/5)、確かに両者ともプロジェクト発足時期は近いし、OpenDolphin の影響は否定できないので、人によっては一括りにされそうだが、両者はかなり違う。
いちいち事細かに比較するのも不粋なので、わかりやすい違いを指摘しておけば「OceanMini は既に動くバージョンが存在するが(登場時点で ORCA との API 連動はできていた)、OpenDolphinNext は動いてすらいない」ということだ。
これはるまさん(Hayato Maruguchi 医師?)への悪口ではなくて、「いわゆるバイブコーディング(LLM に実装などを全て任せる開発方式)で電子カルテってできるものなのか?」という実験的な意味合いが、このプロジェクトでは特に強いってことを言いたい。
一方、OceanMini では、部分的に LLM の助けは借りているものの、基本的には古典的なコーディングスタイルを取っている。
で、現状での結論を言わせてもらえれば、「バイブコーディングって手間暇かかるね😞」っていうもの。
比較対象が比較対象なだけに割り引いて考えなきゃいけないんだろうが、後から出発した OceanMini は外来向けはおろか訪問診療向けの機能や入院向けの機能まで実装している。
Next の目標は外来機能のみなんだが、動くところまで行くのにもどうもまだ時間がかかりそうだ。
(結局、2026/5/23 にるまさん自身が「開発継続を断念します」とアナウンス。結果的には未完成)
(結局、2026/5/23 にるまさん自身が「開発継続を断念します」とアナウンス。結果的には未完成)
ところで、「いわゆるバイブコーディング(LLM に実装などを全て任せる開発方式)で電子カルテってできるものなのか?」と書いたが、現状(2026年3月)では「結局、できませんでした」というのが答えになる。
というのは、初期の時点でも猪股弘明氏からの助言があったが、データ構造の基本的な箇所で氏の設計がほぼそのままの形で採用されているから。
/**
* ModuleModel
*
* @author Kazushi Minagawa, Digital Globe, Inc.
* modified Hiroaki-Inomata
*/
@Entity
@Table(name = "d_module")
public class ModuleModel extends KarteEntryBean
implements Stamp, java.io.Serializable, java.lang.Cloneable {
@Embedded
private ModuleInfoBean moduleInfo;
@Transient
private IInfoModel model;
@ManyToOne
@JoinColumn(name="doc_id", nullable=false)
private DocumentModel document;
* ModuleModel
*
* @author Kazushi Minagawa, Digital Globe, Inc.
* modified Hiroaki-Inomata
*/
@Entity
@Table(name = "d_module")
public class ModuleModel extends KarteEntryBean
implements Stamp, java.io.Serializable, java.lang.Cloneable {
@Embedded
private ModuleInfoBean moduleInfo;
@Transient
private IInfoModel model;
@ManyToOne
@JoinColumn(name="doc_id", nullable=false)
private DocumentModel document;
@JdbcTypeCode(SqlTypes.JSON)
@Column(name = "bean_json", nullable = false, columnDefinition = "jsonb")
private String beanJson;
@Column(name = "bean_json", nullable = false, columnDefinition = "jsonb")
private String beanJson;
は、
とほぼ一緒。ほぼというか、見る人が見れば PostgreSQL での保存形式が変わっただけで機能は一緒とわかる。
これは、AI が自力で発見したものではない。
モノが電子カルテであることを加味すると、形式を変えた分、むしろ改悪になっているくらいなんだが?
これは、AI が自力で発見したものではない。
モノが電子カルテであることを加味すると、形式を変えた分、むしろ改悪になっているくらいなんだが?
あと、この件で気がついたが、対外的な折衝に関しても、最低限、マネージャーは AI が何を改変したのかの意味を読み取れるくらいになっていないとトラブルの素になりそうだ。
無効化って????
この記事へのコメント
建設的なご意見はGithubでお待ちしております。
実害のある個人攻撃と判断した場合は適切な対処を取らせていただきます。
るまさんは丸口勇人医師ということでいいのでしょうか?
>るまさん
>
>Xでブロックして頂いた上で、こんなところで言及ありがとうございます。
>建設的なご意見はGithubでお待ちしております。
>実害のある個人攻撃と判断した場合は適切な対処を取らせていただきます。
名前も特徴的なので調べていただいたらすぐにわかるかと思います。
https://x.com/MedRecMate
その信憑性を疑うことについてはおまかせいたしますが、私が実際と異なる名義をなのり、かつ医師であることを偽って発信することは医師法違反になりますので、私にはなんのメリットもございません。
「るま」「丸口勇人」、その他個人が同定できるいずれの名義で言及された場合で、私の個人的な名誉を毀損すると判断した場合、該当する人物に対して法的な対応を取らせいただくことを名言させていただきます。