電子カルテからの患者データ吸い出し 2

以前に電子カルテのデータ抽出の仕事をしたことがあるので、その話。

具体的な案件はこんな感じ。

数年間、A市で開業していたが、開業していた父親の突然の不幸があり、そちらを承継することになった。こちらとそちらの電子カルテにデータの互換性はない。何らかの形でそれまでの診療データを保管しておかなくてはならない。さて、どうする? といった案件。

ラッキーだったのは、使っていた電子カルテが OpenDolphin というオープンソースのものだったこと。データベースの構造をチェックし、ソースを読むと「ああ、これはいけるかな」と。

結論から言うと、データベース(PostgreSQL)からデータを吸い出し、文字情報はテキストファイルに、画像情報は画像ファイルに書き出すプログラムを書いて、これがうまく動いた。

元の dolphin のカルテ画面はこんな感じ。

で、変換プログラムの表示画面はこんな感じ。

元の dolphin の画面がかなり凝ったこと(java swing の JTextPane をカスタマイズして使用)をしていたため、そのあたりの処理をどうしようか迷ったが、画像が貼られていた位置にタグを打ち込む形で表示・保存させることにした。

上の図でいえば、元カルテのスズキジムニーの画像が表示されている箇所に
<image schemaholder 0>
というタグを表示させてます。

ならべくなら、カルテの書式情報も損失なく変換させたかったので。

というわけで、今回は電子カルテの実運用後の保管形態に関するお話でした。

ところで、噂に聞くに、電子カルテのデータ構造を秘匿化していわゆる「データを人質に取る」といった商売をしている業者もあるようです。 ビジネスだから、と思う反面、それっていわゆる電子カルテの3要件に違反するんじゃないの?といった感想も持った。なんかすっきりしてない。

こういった時に、適当なガイドラインがあると便利なんですけどね。
ここら辺の話はまた次回にでも。

(注)上ではテキスト情報と書いてますが、データベースから直接データを拾ってきているので、書式情報の取得も可能です。

フォントの種類、大きさ、色あたりまでは完全に再現できてますね。
Mac では、画像を埋め込んだ .rtf ファイルを表示できるアプリが普及していないため(テキストエディットで開こうとしてもできなかった)、画像の埋め込みまではやってませんが、理屈の上では可能です。
→ その後、画像表示などが容易な html ファイルに書き出せるように修正。
例えば、
という画面(のデータ)をデータベースレベルから抜いてきて html ファイルに再構成すると
ほぼ完璧に再現できていると思います。

 

(追記)なお、このソフトは、Save the DolphinS プロジェクトに発展しました。
我々が直接聞いた話ではないが、増田茂(増田ファクトという独自バージョンを作成していた医師)という人が「カルテ記載内容を取り出すのにこんなものは不要。getText で取ってこれる」という主張をしていたようです。
この主張は完全に間違ってます。
getText で取ってこれるのは JTextPane の(プレーンな)テキスト情報のみです。書式情報や、ましてや独自タグの位置や画像までは取ってこれません。
(→ あった。これだ。今はページ自体消したようですが)

また、「WildFly を経由せずに PostgreSQL 内にある dolphin データベースの情報は取ってこれない」のような主張もしていたようです。
これも完全に間違っています。
WildFly と連動していても PostgreSQL 自体は、特に変わりなく通常のサーバープロセスとして動作しているので、適切な接続情報があれば情報は取得できます。(プロセスの意味などを知っていれば間違えないような事柄です。医学部しか出ていない医師ですから、詳しくないのはしょうがないにしても、知らないことをさもその道の専門家のようにいうのは社会人としてどうなんでしょう?)
確かに OpenDolphin が稼働している状態で別のプログラムから情報を保存しようとすれば、スキーマが崩れてしまうことは考えられますが、ここで想定しているのはそんな状況ではありません。
OpenDolphin はもちろん、WildFly すら止まった状態で PostgreSQL から直接 dolphin データベース内に保存してある情報を取得できるかどうか?を(かなり真剣に)検討してわけです。
ユーザーさんの置かれた状況を考えたら、かなり不謹慎で常識のない人の言動のように思えますし、極めて遺憾です。
(上記プロジェクト一同)

(追記2)その後(事業がメドレーに譲渡されて以降)、増田茂はメドレー的には 「OpenDolphin への関与はほとんどない」ということになったようです。
なぜ、オープンソースのプロジェクトで contribution があったり、なくなったりするのかよくわからない部分もあるのですが、「LSC との契約上、著作権表記が与えられていたが、(事業譲渡に伴い契約が切れたため)メドレー的には貢献者としては取り扱わない」ということのようです。
そうだとすると、本来の意味での(コードを書いたという意味での)著作権を彼は有しておらず、契約上持っていたに過ぎない著作権表記権(かなり大雑把にいえば、こちらは金銭的に取得することはできます)に基づいて我々を批難していたということになります。
ちょっとひどい話ですね。

 


 

クリックclose

“電子カルテからの患者データ吸い出し 2” への3件の返信

  1. ええ、どうぞ。
    「問い合わせ」ページからコンタクトを取れますので、もう少し詳しいお話などお聞かせください。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です