モヤっとしたことなど

ネット上を彷徨っていると、気になることやモヤっとすることも多い。

思いつくまま書き留めていく。

2022-2023 年越し

小山哲央(アーク情報システム所属)とかいう人のこれはさすがに不味いでしょ。

結構な人が指摘しているが、2019 にもなってこのツィートはないよなあ。

2019 といえば確か MIA も商用版をリリースしていて、MIA に至ってはソースコードの開示もしていない。LSC は明言していないが、実務的には GPL でもなんでもなくなっていた時期だ。もはや GPL でもなんでもなくなっているのに、「故意に」「GPL 違反」したってどういうこと?
そこらへんの事実確認もせず、悪意丸出しで出鱈目なツィートしたってこと?
誹謗中傷よりもタチが悪いし、人間性疑われるレベル。
FEM あたりを使って建築・土木系の構造解析(シミュレーション)やってるみたいなんだが、建築・土木系の FEM は、はっきりいってガチ FEM 勢から大して評価されてない。建築土木系の数学力が低いからだ。
さらに評判落としかねないようなことやってどうすんだ???
Python で FEM ねえ。悪いが、まったく興味持てない。

(追記)やはり、小山哲央のツィートは逆効果だったようです。「LSC からの依頼を契機にここら辺、コードを整理して、もう少しマシなコンバーターを作ろうという雰囲気はあった」そうなんですが、このツィートのせいでこの話はおじゃん。結果的に電子カルテの基準を満たせなくなったわけです。
なんとも皮肉な話ですね。

2022 夏頃

オープンソースの電子カルテに関する tweet

ここから始まる一連の tweet 。

そのときは「こういう意見もあるのか」と流していたのだが、いわゆる「大学人」のイヤらしさとかダメさ加減がそこはかとなく出ている感じなので、取り上げる。

まず、OpenDolphin がダメな理由が「現在の Java のバージョンより古い」としているところ。
間違いではないんだが、違和感ありまくり。

というのは、現行の Java 開発環境に対応させるための改変は大して難しくないし、改変して使っている人がけっこういるから。

実際、こんな動画も上がっている。

今、見直したが、サーバーの起動から実に丁寧に記録・提示されてますね。

こういう情報を(意図的に?)無視して「古い、古い」というのは、ちょっとおかしい。
というか、単純には「私には Java コードを改変できるだけの能力がない」というだけのことなので、本当に気になるようだったら、質問なり何なりすればいいだけの話。

 

で、持ち出してきたのが omcake というソフト。

紹介するのはけっこうだが、すかさず「ログイン認証の機能がないから電子カルテの要件を満たしていない」という突っ込みが入り、撃沈。

さらに某先生から「ログイン認証にはセッション使えばいいよ」とサジェスチョンされたにも関わらず、まるっきり反応できてない。

一体、何がやりたかったのか???

WebDolphORCA

逆になんか「得した」と思われる事柄。

omcake の時に、某先生がログイン機能を提示したのだが、ここから WebDophORCA に展開していく流れ。

ログイン認証の実装などは大して驚かなかったのだが、『OpenDolphin は「真正性」すら満たしていないかもしれない』という考察記事は興味深かった。

これ、ポイントは「OpenDolphin は記録の保存には hibernate を使って blob を操作しているが、hibernate を使っている限り、blob を直接操作してデータを書き換えると、OpenDolphin のシステム自体はデータ操作(改竄)されたことに気がつかない(=検知することすらできない)」というあたりです。

よくもまあこういうケースを思いつくもんだと。

現状での現実的な回避策も示唆しているので、こういったことに興味のある人は(難解かもしれないが)一読を勧める。

 

 

Save the DolphinS -OpenDolphin データ抽出ツール・プロジェクト-

久しぶりに電子カルテ OpenDolphin-2.7m(実質的には OpenOcean 0.0.1 と一緒)を臨床現場に投入するかもしれないということで、データ抽出ツールも数年ぶりにテスト稼働させる。
開発言語である Java のバージョンも上がっているし、まるっきり動かないかと思っていたら、そうでもなかった。

細かいところではもちろん不具合はあるのだが、データベース(PostgreSQL)に永続化されているカルテ記載内容を OpenDolphin を経由せずに取り出してくれた。
ちょっとほっとした。

なんで、こういうものが必要なのかは一般の人にはわかりにくいと思うが、電子カルテには縛りがあるためだ。具体的に気にかけておくべきは

・カルテ自体に保管義務がある
・電子カルテには3要件(真正性・見読性・保存性)が求められている
・3要件自体はガイドラインで罰則はないが、e-文書法(電子文書法)が適用される場合には罰則の対象になる可能性がある

の三つくらいだろうか。

ここらへんの解説は『OpenDolphin と電子カルテの3要件とメドレー』あたりを読んでみてください。

3要件のうち面倒なのは「真正性」というやつで、

電子カルテのデータを例えばデータベースに保存する場合、「誰が」書いたのか、その後「いつ、誰が」改変(あるいは消去)したのか、わかるような特別の仕組みをつくりこんでおかなければならない

とちょっとややこしい。
たいていの場合、ユーザーにシステム上の記録の「消す」作業に制限をかけることでこの条件をクリアしていると思う。こうしておくと、電子カルテ画面上である表現を削除したとしても、削除する前のバージョンは残っているので、データベース上にはこの一連の経過が残ることになる。
システムレベルで「上書き保存」ではなく「別名で保存」を採用しているといえば伝わるでしょうか。

だが、こういう作り込みをしてようやく「真正性」をクリアしたとしても、問題はまだ終わりではない。

何か問題がおこって、例えばカルテ開示を求められたような場合、そのカルテの(日付上は)最新の日時のバージョンを提示してもそれだけでは厳密にはカルテ開示したことにはならない。
想像つくかと思うが、医療者側に都合よくカルテ記載内容が書き換えられているかもしれないからだ。
この場合は、正しくは、通常使用では見えない状態になっている「消された表現」の部分も提示する必要がある。

実際、上の例でもこの患者さんのカルテは3件だが、途中経過版を含めると11件になっている。

MML 出力(という外部出力機能。ただし MML 規格はほとんど普及しなかった)を引き受けるサーバがない状態での OpenDolphin は、果たして電子カルテの3要件を満たしているのか?という疑問は実際よくあがっていた。

最近(2021 あたりからか?)では、保健所の個別指導あたりでもこの程度の開示は求められることがあるので、もはやこういった機能(途中経過版の抜き出し・修正履歴の出力など)の実装は必須だろう。

ローカルで稼働する OpenDolphin は、商用での開発が止まったため、自力運用する場合には、ここらへんの配慮をする必要があるのだ。

 

air-h-128k-il

(追記)データ移行ツールですが、出力形式を html にも対応させました。

ですが、これは保管・閲覧向きだと思うので、移行ツールから独立させ、OpenDolphin Viewer という別のソフトとしました。
開発状況などは『OpenDolphin HTML Viewer プロジェクト』をご参照ください。

 

医師免許持ちで臨床をまったくやらない人はそれなりの理由がある場合が多い

それほど強く主張するわけではないが、この記事のタイトルみたいなことは医師界隈ではそれなりのコンセンサスは取れていると思う。

もちろん、ガチガチの基礎系の場合、意識的にやってないという人はいる
(それでも当直や老健あたりの診察業務程度ならやっている人が大半だと思うが)。

結論から言うと、キャリア初期に臨床畑に進もうとして果たせず、その後、臨床業務から離れている人は、それなりの問題を抱えている人が多い。

具体例を挙げるとわかりやすいでしょうか。

何ら経験がないのに患者さんの同意も得ずに難度の高いオペを施行して、当然、失敗。さらにそのことを隠蔽、裁判沙汰になっても自分の非を一切認めない医師。(これに近いことはたまにニュースにも取り上げられてますよね)

患者さんとまったくコミュニケーションが取れない医師。(そんな医師いないと思うでしょ? でもいるんですよ、実際。今だと面接でハジかれるとは思いますが)

・・・などなど。

で、こういった医師は、臨床現場の主流からオミットされ、いつの間にか消えているというか、行方知れずになっている場合が多い。

ところで、先日、フェイザーの方々が、こんなコメントの投稿などに関して注意喚起の記事を公開した。

著作権法違反が疑われるコメントの掲載はできかねます

細かいことには触れませんが、ここに至るまでに警告のようなことは発していたのに小林さん完全無視でしたから、しょうがないと言えるでしょう。

私も某MLに入会しようとしたとき、管理人の方から「小林慎治は喧嘩売るような感じできますから、気をつけてくださいね」とアドバイスをもらったことはある。

快く思っていなかった医師は多かったようですね。

 

ANN2b

(追記)これは某掲示板の書き込み。
出どころが出どころなので信頼性に乏しいし(まず、なにより「医者の資格はない」というのは明らかな誤り。愛媛大学第一内科に所属していたれっきとした医師)、この「小林慎治」が件の小林さんと同一かという保証はないんですが、医師-患者の信頼関係ができていないと、こういった感じの悪評立てられますね。(実際は、単なるちょっとした行き違いで患者さんが逆上して、腹いせに勢い任せで書いた、なんてのが多いんですが)

精神科なんて、こんな話は山ほどあるんで、いちいち気にしてたら身が持たないです(苦笑)。

(追記)これはある方tweet 。真偽のほどはわかりませんが、こういうことは医療現場ではよくあります。


それはともかく、旦那さんが受けた治療に大変深い憤りと不信感を持たれていることは伝わってきます。
このような事態を未然に防ぐのも医師の務めだと私は思っております。

Apple Watch の心電図アプリの計測データを外部に取り出す

iPhone の準備が整ったところで Apple Watch も導入。
6 シリーズの Nike モデルにした。


アルミスペースグレイの筐体に黒系のバンドにしたので「ちょっと重くなるかな?」と心配していたが、あまり強い自己主張なくすっきりとまとまっていてこれはこれでアリだと思うようになった。

ついでで書いておくとバンドはかなり容易に変えられるし、文字盤なども画面操作一発で変更できる。だから、購入アイテムの選択肢に迷ったとき、まず決めるべきは、シリーズ(モデル)筐体の材質と大きさと色だ。

 

それでは、本題。

私の興味の中心はやはり心電図アプリなんだが、その意義とか測定方法などは色々な人が様々なやり方で情報発信しているので、ここでは割愛。

Apple Watch で取得したデータは iPhone に送られるのだが、そのデータの取り出し方に関して書く。

手軽にできる方法は次の二通り。

PDF で書き出す

これはよく知られた方法。
ヘルスケア→心電図(ECG)→ PDF に書き出したいデータを選択
で、この画面になる。

「医師に渡すためにPDFを書き出す」をタップして適当なプリンタから打ち出すか、AirDrop などで Mac に PDF ファイルとして送りあとはファイルとして保管すればいい。

気の利いた医療者ならば、医療システム(電子カルテやPACSと呼ばれる画像サーバなど)のどこかに保管してくれる(はず)だ。

電子カルテにこのように貼ってもらえれば、心電図アプリも本望だろう。

 

PACS や画像ビューアなどにも「画像として」取り込むことはできる(後述するように「データとして」取り込む方がメリット大きいんですが)。

ちなみに PHR (Personal Health Record) という概念があり、今後は日本でも自分の医療データは自分で管理するという時代になると言われている。
今のところ、興味深い試みはあるもののなかなか実現できそうな感じがないんですが・・・。

ヘルスケアデータ全体を zip ファイルで取り出す

これはあまり知られていないかもしれないが、iPhone 内に記録されているヘルスケア系のデータを完全な形ですべて取ってこれるので、以下の方法は有用。

ヘルスケアアイコンをタップして概要のページが出てきたら、画面右上のユーザーアイコンをタップする。


すると次の画面に遷移するので、「すべてのヘルスケアデータを書き出す」を選べばよい。


データをどこに送るか iPhone が訊いてくるので、適当に選ぶ。
たぶん、一番簡単なのは AirDrop で Mac に送ること。
送受信が上手くいけば、Mac の「ダウンロード」フォルダ内に「書き出したデータ.zip」が送られているはずなので、これを解凍する。
apple_health_export フォルダがあるので、これを「書類」あたりに配置しておけばいいでしょう。
なお、心電図データは apple_health_export -> electrocardiograms フォルダ内に CSV ファイル形式で記録されています。
この方法のいい点は、(おそらく)生データが取得できるところ。

「データとして」情報が取って来れると2次的な利用もしやすくなる。
実は apple watch は心電図アプリを使って計測を始めると、生体からの電気シグナルを 1 秒間におおよそ 512 回程度サンプリングしており、そのデータを直接加工することができる。
例えば、


などというデータがあった場合、(この場合は)「S波が歪んでいるのでもうちょっと詳しくみてみたい」ということがある。
これは、適当なプログラムを組めば、以下のように実現できる。
(python という言語を使用。コードはここを参考にさせてもらった)

1550 〜 1650 回のサンプリング値のみを表示させているので、波形形状がより詳細に描かれているのがわかると思う。

もっとマニアックな方法

実は、上記二つ以外にもやり方はあるのだが、プログラミングまで踏み込まないと実現できないのでここでは説明は省略。

 

air-h-128k-il

 

SIM なしでも iPhone 自体はアクチベートできるし、eSIM のみでも回線は開通できる -楽天モバイルを例に-

スマートフォンはアンドロイドを使っていたのだが、アップルにデベロッパー登録している身としては iPhone くらいは持ってないとあかんかなと思い、遂に数年ぶりに iPhone 導入。
サブ機として利用するので回線は楽天モバイルにした(現在、絶賛1年間無料キャンペーン中)。
世間的には ahamo や povo が話題をよんでいるのだが、
・データ通信なんて3Gも使わない
・都心部のみで通話できればいい
という人にはけっこう使い勝手のいい料金体系になっている。


なお、今回は設定を若干楽にするため SIM も物理 SIM はやめて eSIM というカメラで QR コードで読み取って設定するやつにした。

ところで、ネットでは
・iPhone は(物理 SIM でも eSIM でも)SIM がないとアクチベートできない
とか
・iPhone は eSIM のみでは回線は開通できない
みたいな記事をよく見かけた。

もちろん、両方とも間違い。

初期化された状態の iPhone の電源をオンにした後、Mac や WiFi などを経由してアップルのアクチベーションサーバと通信できさえすれば iPhone 自体はアクチベートできる
電源投入時にネットに繋がっていなくても iPhone はご丁寧にも「WiFi に接続してください」や「Mac とケーブルで接続してください」といったガイド画面が出してくれるので、その指示に従っていくだけでいい。

(まずは、iPhone 自体を SIM なしでアクチベートする)

いったん iPhone 自体がアクチベートされてしまえば、SIM の設定はその後でもできる。もちろん、eSIM のみでも回線開通は可能だ。
楽天モバイルの場合は、回線開通の方法や専用通話アプリ(これを使うとかけ放題になる)のインストール方法などが書かれた冊子が送られてくるので、その指示に従えばここら辺の設定はそれほど面倒ではない。

Rakuten Link という専用通話アプリの通話品質も少なくとも横浜や東京23区内では使えるレベルにはあると感じた(三大キャリア並とは言ってない)。

なお、Rakuten Link に関してもうちょっと詳しく知りたいという人は

などをご覧ください。
現状での実装の質はひとまず置くとして、RCS(Rich Communication Services)という国際規格に乗っ取ったアプリです。アヤしくない。

 

通話サービスエリアの状況を見ると(特に)山間部では微妙(下の図は楽天モバイルサイトより2021年2月15日取得)。


(濃い赤が自社回線によるエリア。ピンクが au や docomo から借りている回線によるエリア。青が2021年夏までにサービス提供できるエリア)

楽天モバイルをメイン回線で使うのはまだちょっと無理があるかもしれないが、都心部で割り切って使う分には問題ないでしょう。

 

(環境)
iPhone 12 (SIM フリー)
楽天モバイル UN-LIMIT VI
SIM: eSIM

 

air-h-128k-il

? 楽天モバイルでは iPhone12 は動作保証外らしいので、ご利用は自己責任でお願いします。