労務提供停止とECT

ねむの木訪問クリニック

昨年の11月から非常勤で週1〜2ほど働いていた『ねむの木訪問クリニック』(院長:増田章、法人名:医療法人こかげ)ですが、諸々の理由で8/5より「労務提供を停止」しています。

一応、労基と弁護士さんに相談した上での判断なので「法律的には」問題ないかと。

ただし、患者さん(家族)に対しては、治療方針も含めてもっとお話しておいた方が良かったと思うことは多く、この点は私も残念です。

(追記 2025/11/29)この記事書いて、このクリニックのことはすっかり忘れていたのだが、当時、一緒に働いていたスタッフが「けっこう大変なことになっている」と連絡をくれた。HP チェックしてみると・・・。

”理事長の不在により診療体制の維持が困難”

はああ?

詳しい事情は分かりませんが、本当に大変な事態になっていたんですね。

(追記 2025/12/02)さすがにこれは予想の斜め上を行ってました。

youtube の動画が視聴できなくなったようです。
こんなことがありました。

覚醒剤にコカイン、合成麻薬を所持していたとして、医師の男が逮捕されました。

逮捕・起訴されたのは川崎市の精神科医、増田章(44)です。

増田章(44)は精神科「ねむの木訪問クリニック」の院長でした。

麻薬取締部によりますと、増田章(44)は今年1月、ブラジルから薬物が入った郵便物を川崎市内の自宅宛てに発送。荷物は翌月に成田空港に到着し、税関で検査したところ、コカインの粉末55グラムが見つかったということです。

コカインは木製のトレーの内部に隠されていて、税関はトレーの内部を取り外し、検査して発見。

その後、麻薬取締部が増田章(44)が川崎市内に契約しているマンションを調べたところ、複数種類の薬物が見つかりました。

驚くべきは、その種類です。コカイン約3グラム、乾燥大麻約8グラム、MDMA約30グラム、複数の薬物が数グラムずつ。末端価格にして合わせて184万円相当です。

2022年に横浜にクリニックを開き、精神科の訪問診療を行っていた増田章(44)。

増田章(44)は「営利目的ではなく、自分で使用するためだった」と
供述。

麻薬取締部は背後に巨大な組織が存在するとみられ捜査を続けています。 

青木病院→飛鳥病院

2026年4月より、飛鳥病院に移動します。

現状では、ECT はやってない(これからチーム立ち上げます)ので、ご注意ください。

 

精神保健指定医
猪股弘明

 

いるかの怪文書 3

見当はずれのコメントしかできないようなレベルのスキルしか持ち合わせていないにも関わらず、増田茂の尊大な態度に何か違和感を覚えるという人が多いようだ。

最近になって「増田茂の態度が尊大なのは、2.7m のベースは自身の 2.3m が元になっていると勘違いしていたから」ということが言われるようになった。

これはありうる話で、この説を採用すると 2.7m 登場以前は win 限定の傍流プロダクツに過ぎなかった通称『増田ファクト』が、2.7m つまり

・win, linux はおろか Mac で動作する
・データ構造は当時の最新バージョン 2.7 と完全互換(=本家直系)
・コメント系のバグが完全に解消されている

というプロダクツのフォーク元と主張できるようになるからだ。
しかも本人は何の努力もしないで。
(もちろん、この認識は完全に間違っているのだが)

怪文書にもそれを窺わせる記載がある。

「ソースコードの不正利用」、「私が提供した資料とソースコードをもとに」あたりの表現は、かなりあやしい。
2.7 系のインストール方法は、高東ソフトウェアさんが突破口を開き、air-h-128k-il(この時点ではほぼ猪股弘明氏)が完成させ、さらに ANN2b 氏が Mac に拡張した、というのが経緯だ。
2.3 系の windows インストール特化の古い導入書が参考になることはない。

I 氏とあるのが 2.7m の開発者の猪股弘明氏のことだ。
直接フォークでも何でもない増田ファクトの著作権表記を別系統のプロダクツに要求したのは、彼がフォーク順を誤認していた、という理屈だ。
また、(後で主張を修正したようだが)2.3m の m は masuda の m だとも当時は主張していた。

これに関するコメントをいくつか。

「ありえない。2.7m のソースコードは公開されている。
ソースが公開されていて検証できるのに間違うのは、彼が自分が開発したと称するプログラムを把握していない証拠。自分でコーディングしてはいないのではないか?」

「『2.3m の m は masuda の m』は自己顕示欲がえぐい。
ここまで言いながら、その後に起こった変化への対応、すなわち

・Java のアップデート対応
・安全性ガイドライン対応
・医療Dx 対応

のどれもできていない。つまりまともにメンテナンスすらできていない。
にも関わらず、名称に関して自分に優先権があると主張するのはマナーの問題としてどうなんだろう」

「そもそも、LSC の経営陣が刷新されて以降、アウトプットは出せていないので、それまでの成果にしても LSC からの技術情報を元に自分の手柄として発表していただけではないか?
プログラミングの成果にしても OpenDolphin に関係するものしかなく、独立したアプリはひとつもない。
やったことといえば、2012年以降の数年間、すでにある程度完成されたソフトのカスタマイズをしたのみ。
これで俺はすごい開発者なんだアピールされても、自己評価がなんかおかしいとしかいえない」

「誤認云々は置いておいても自分のプロダクツが全ての OpenDolphin に影響を与えていると言わんばかりの主張は奇異で誇大的すぎる」

「オープンソース時代に彼らが保有した権利は、著作者人格権とは無関係な『対外的に著作権者と名乗っていい権利』だけだったのではないか?
 実際に開発して保護の対象になっているのであれば、プログラムであっても氏名表示権などは保持できるはずだが、実際にはそうはなっていない。
 LSC からメドレーへの譲渡がスムーズにいったのも、そもそも彼らが保持できるような著作者表示権を持っていなかった、つまり実際には開発には関与していなかったからだと思う。
2.3 系までの契約上の権利しか持っていなかったので、その権利を保持するために 2.7m は 2.3m の派生だと主張する必要があったのではないか?」

最後のコメントは推測を含みますが、説得力ありますね。
ここら辺はややこしいところなのですが、興味深い説なので一応解説しておきます。
プログラムであっても保護の対象になっているのであれば、著作者人格権が発生し、これは譲渡不能です。
が、メドレーが言うには、このような権利に当てはまりそうなものは一切なかったということなので、そもそも増田茂は著作権法で規定されているような保護すべき著作者人格権を保持していなかったのではないか、という仮説です。
ありうる話、というか経緯から考えるにこれ以外の説明はないように思います。

(追記)その後の状況など。

まず、X アカウントの masudanaika は自身が医師であるとは名乗らなくなった。日本の医師法では非医師が医師を名乗ることは許されていないので、その対応のためではないだろうか。

次に、皆川和史の LICENSE 文書改竄が明らかになるにつれ、『masudanaika = 皆川和史』説が囁かれるようになった。中の人が皆川和史一人であるかどうかは当然わからないが、皆川に近い人という意味だ。
彼はことあるごとに皆川和史に感謝しろ・敬意を払えというのだが、この説を採用するとその意図が明白になる。
表現がどうかと思うが、↓などは、この経緯をアイロニックによくとらえている。

copyright を書き換えて、というのは 2015/8/8 に dolphin-dev の dolphin リポジトリで行われた LSC → Kazushi Minagawa への書き換え(改竄)のことを指しています。

masudanaika=皆川和史説が本当かどうかは置いておくにしても、増田茂というネット上の存在が、皆川和史の権利を保持するためにでっち上げられたほとんど架空の存在であったとは言えるでしょう。

 

 

いるかの怪文書 2

ややこしい背景説明は終わったので、次の怪文書。

なんで彼(増田茂医師)がこの箇所を切り取ったのか考えられる背景理由もあったりするのだが、メンドくさいので割愛(知りたい人はこの記事でも)。

説明的な文章もメンドくさいので、反応を五月雨式に書いていく。

「コード上では 0/1 しか返り値はないが、拡張すれば他の整数値を返した方がいいので int にしておく方が自然」

「そもそも expired() というメソッドは、air-h-128k-il 氏が付加したものなので、それにあれこれ言うのは失礼」

「コメントは、このソフトがこの後どのように動作するかを簡潔に示したもので、どちらかといえば後で読む人のことを考えて付け加えた教育的・説明的なもの。
ここでコーディングの技量を推し量るというのが、意味わからん」

ちなみにコメントというのは以下の箇所のコメントのこと。

public static void main(String[] args) {
        //Dolphin.getInstance().start(args.length==1 ? args[0] : "i18n");
        Dolphin.getInstance().start(args.length==1 ? args[0] : "dolphin");
        //? 式1:式2は三項演算子。なお、args.length は配列の要素数。
        //引数の要素が1だった場合は args[0] でスタート。そうでなければ i18n でスタート。
        //windows環境ではダブルクリックして使いたいので i18n を pro に変更。
        //pro? dolphin? どっち?
    }

三項演算子は、プロの間でも「読みにくい」・「直感に反する」と取捨選択が取り沙汰されるほどなんだが?
(『三項演算子は仕事で使うべきではない』など)
2.7m 開発時に猪股弘明氏がドルフィンクライアントの「起動モード」の役割について明らかにしてくれたおかげで、当時最新の 2.7 系がストレスなく使えるようになったんだが?
(改変前のままビルドして起動すると、クライアントは評価モードで立ち上がり、すぐにログインできない。正直、使えない)

この成果は増田茂も「バックポートした」と称する彼のドルフィンで使っている。

2018622 の該当箇所。既に公開されていた 2.7m からコメントを削除して使用。

にもかかわらず、彼は「プロの仕事ではない」と頓珍漢なコメントをしている。
おまけに Junzo SATO 氏に対する言及は一切なし。
あり得ないと思う。

に続く)

いるかの怪文書

怪文書騒動

先日、X の dolphorca 界隈がさる怪文書でプチ盛り上がりをみせた。
こんな感じ

怪文書だけ取り出すとこうなる。

これが何か関係者以外正確にはわからなかったと思うが、簡単に説明すると増田茂という医師が自身の運営するクリニックホームページ(HP)に掲載したページのスクリーンショットだ。
なんでプログラミングに関係すると思われる文書がクリニックHPにアップされていたのか不思議に思う人もいると思う。
が、安心して欲しい。
われわれがこれを見つけたときもまるっきり同様の感想を持った(笑)。

背景事情に関しては、こちらの記事などを参考にしてほしい。
以前にも「増田茂は医療広告規制ガイドラインで厚労省から行政指導を受けており・・」などと言っていたのはこのページのことだ。
保険診療所は、ネット上での広報活動に関してガイドラインが決められており、原則、診療とは無関係なものは掲載できない。
もちろん、このページはガイドラインの規定を大きく逸脱しており、発見したときは、当局に報告し、当局経由で速やかに削除してもらった。

だから、この怪文書を再び見せられるまで、存在自体忘れていた。
それですんでいれば、この話は終わっていた・・・と思うのだが、実際にはそうでなかったらしく、いかがわしげなサイトにその痕跡がかなりはっきり記録されていたという次第だ。

反論

ページが複製されて残っている以上、閲覧した人におかしな解釈されても困るので内容に関して触れておこう。

内容はその当時ソースコードを公開していた OpenOcean という電子カルテに対する彼からの批判のようなものだ。

OpenDolphin-2.7 → OpenDolphin-2.7m → OpenOcean

の順でフォークされている。
彼は彼で、「増田ファクト」と言われていた OpenDolphin-2.2 ベースのカスタマイズバージョン 2.3m を配布していた。彼が OpenOcean に執着した理由は、彼が OpenOcean を自分のバージョンのフォークだと認識していたからだと思われるが、このフォーク順の認識は間違っている(『ソースコード嫁』参照)。

ファイルバックアップシステム

まず、われわれが実装したファイルバックアップシステムというものを彼は気に入らないらしい。
ファイルバックアップシステムというのは、カルテの記載を確定したときに使用端末の適当なフォルダにその内容をプレーンテキストファイルの形で書き出すという機能だ。

彼が切り取った実際のコードはこうだ。

KarteStyledDocument soadoc = (KarteStyledDocument)soaPane.getTextPane().getDocument();
int nleft = soadoc.getLength();
Segment stext = new Segment();
int offs = 0;
stext.setPartialReturn(true);
StringBuilder sb = new StringBuilder();
String Separator=System.getProperty("line.separator");
sb.append(""+ Separator);
while (nleft > 0) {
soadoc.getText(offs, nleft, stext);
sb.append(stext.toString()); sb.append(Separator);
  nleft -= stext.count;
  offs += stext.count;
}

彼はこの部分に関して「JTextPane からテキストだけを抽出するなら getText() で可能だ」という指摘をするのだが、これがなんと言っていいやら・・・。

「JTextPane からテキストだけを抽出するなら getText() で可能」というのは、これだけを取ると正しいのだが、そもそもここで目指していたのはそういうことではない。

というのは、このコードは、データ移行ツールと呼んでいたものからの流用だからだ。
データ移行ツールは、dolphin/ocean とは独立したアプリで以下のような動作をする。

左が dolphin クライアントのカルテ画面、右はそのカルテ情報を移行ツールを使ってデータベースから直接復号して画像とテキストに分離して表示したものだ。
見ればわかるように、画像を埋め込んだ位置に <Image: schemaHolder 0> というタグを表示させている。
だから、上で掲げたコードもちょっとした修正を加えれば、このタグを表示する程度のことはできる。
ファイルバックアップシステムでは、凝った表示をさせるよりは最低限のプレーンテキストを書き出すことを目標としたが、画像が含まれていたかどうか?含まれていたとすればどこに表示されていたのか?くらいの情報を盛り込むのはあってもいいと思い、将来的な拡張を視野に入れてこういう書き方になっている。

また、コードを見ればわかり通り、getText(int, int, int) を作用させたのは KarteStyledDocument という独自クラスのインスタンス soadoc であって、JTextPane もしくはその継承クラスではない。
仮にもしここで getText() を使うのであれば(ちなみに getText() と getText(int, int, int) は似ているが全くの別物)、JTextPane のインスタンスを取得する必要がある。
その手間や拡張性を考えたら、書式情報を最後まで保持できてなおかつ動作実績のあるこの書き方でいいと考えたわけだ。

ある機能を実装するのにどのような書き方をするかは書いた人(たち)の自由ではないか?と思う人もいるかと思う。
私たちもそう思う。

このとき彼はネット上でたびたび出現する「正義の人」になっていたのだろう。
迷惑な話だ。

その2に続く)