久しぶりに電子カルテ OpenDolphin-2.7m(実質的には OpenOcean 0.0.1 と一緒)を臨床現場に投入するかもしれないということで、データ抽出ツールも数年ぶりにテスト稼働させる。
開発言語である Java のバージョンも上がっているし、まるっきり動かないかと思っていたら、そうでもなかった。
#OpenDolphin ひさびさに実戦投入?ということでデータ抽出ツールも試運転。
細かいチューニングの必要はあるが、基本動作は無問題。
テキストと画像も分離できてる。
確定カルテ3つに対してそれより多いカルテがあるのは、修正した版も抜いてきているから。 pic.twitter.com/ap9yOipJ66— air-h-128k-il (@air_h_128k_ilI) March 13, 2021
細かいところではもちろん不具合はあるのだが、データベース(PostgreSQL)に永続化されているカルテ記載内容を OpenDolphin を経由せずに取り出してくれた。
ちょっとほっとした。
なんで、こういうものが必要なのかは一般の人にはわかりにくいと思うが、電子カルテには縛りがあるためだ。具体的に気にかけておくべきは
・カルテ自体に保管義務がある
・電子カルテには3要件(真正性・見読性・保存性)が求められている
・3要件自体はガイドラインで罰則はないが、e-文書法(電子文書法)が適用される場合には罰則の対象になる可能性がある
の三つくらいだろうか。
ここらへんの解説は『OpenDolphin と電子カルテの3要件とメドレー』あたりを読んでみてください。
3要件のうち面倒なのは「真正性」というやつで、
電子カルテのデータを例えばデータベースに保存する場合、「誰が」書いたのか、その後「いつ、誰が」改変(あるいは消去)したのか、わかるような特別の仕組みをつくりこんでおかなければならない
とちょっとややこしい。
たいていの場合、ユーザーにシステム上の記録の「消す」作業に制限をかけることでこの条件をクリアしていると思う。こうしておくと、電子カルテ画面上である表現を削除したとしても、削除する前のバージョンは残っているので、データベース上にはこの一連の経過が残ることになる。
システムレベルで「上書き保存」ではなく「別名で保存」を採用しているといえば伝わるでしょうか。
だが、こういう作り込みをしてようやく「真正性」をクリアしたとしても、問題はまだ終わりではない。
何か問題がおこって、例えばカルテ開示を求められたような場合、そのカルテの(日付上は)最新の日時のバージョンを提示してもそれだけでは厳密にはカルテ開示したことにはならない。
想像つくかと思うが、医療者側に都合よくカルテ記載内容が書き換えられているかもしれないからだ。
この場合は、正しくは、通常使用では見えない状態になっている「消された表現」の部分も提示する必要がある。
実際、上の例でもこの患者さんのカルテは3件だが、途中経過版を含めると11件になっている。

MML 出力(という外部出力機能。ただし MML 規格はほとんど普及しなかった)を引き受けるサーバがない状態での OpenDolphin は、果たして電子カルテの3要件を満たしているのか?という疑問は実際よくあがっていた。
最近(2021 あたりからか?)では、保健所の個別指導あたりでもこの程度の開示は求められることがあるので、もはやこういった機能(途中経過版の抜き出し・修正履歴の出力など)の実装は必須だろう。
ローカルで稼働する OpenDolphin は、商用での開発が止まったため、自力運用する場合には、ここらへんの配慮をする必要があるのだ。
(追記)データ移行ツールですが、出力形式を html・PDF にも対応させました。

ですが、これは保管・閲覧向きだと思うので、移行ツールから独立させ、OpenDolphin HTML/PDF Viewer という別のソフトとしました。
開発状況などは『OpenDolphin HTML/PDF Viewer プロジェクト』をご参照ください。
(追記2)Save the DolphinS としているから、一部ユーザーから全ての opendolphin 派生プロダクツを対象としていると思われていたようだ。
そんなことはない。
2.7 系列は基本上のアプリでうまくいくと思うが、それ以外はうまく動くかどうかはあやしい。
当たり前だが、データベースの構造自体が異なり、そのソースコードも明らかにされていないようなバージョンでうまくデータの抽出ができる保証はないからだ。
例えば、いわゆる増田ファクトは、動作保証外。
そもそもテストすらできないし、開発者とされていた増田茂自身がこの手のソフトは不要、と言い切っていたので、積極的に対象とする必然性もないでしょう。


いやあ、力作ですね・