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

当サイトに限らず、いくつかのHPを管理している身としては、記事へのコメントなどの投稿は歓迎していますが、内容に関わらず社会常識的に不適切なものは公開できません。

一般に twitter など SNS でアニメや漫画のキャラをアイコン・アバターにしているケースは散見されますが、著作権者からの許可を得ていない場合の使用は厳密には著作権侵害にあたります。
(一般向けのわかりやすい解説がこちらにあります)

HPを管理している側からすると、投稿者が著作物の使用許可を管理団体などから受けているかどうかのチェックをすべて行うのは現実的には不可能です。
このような投稿は内容に関わらず公開はしません。

また、公的機関に所属している方の場合、その機関が保有するインフラを介しての投稿も避けてください。

所属組織の公的な見解なのか個人的な意見なのか、コメントだけからでは判断してみようがないからです。

例えば、以前に以下のようなコメントが京都大所属(当時。現在は保健医療科学院)の小林慎治という人からありました。
「公共に益する」といった表現などからさも所属組織の公式見解のような印象を受けます。

ですから、このような場合には、
・京都大の IP アドレスから送信されているため、これが京都大の公的見解なのか
・その上で京都大がこのアイコンの使用許可を得ているのか
調べる必要があります。
この作業には、それなりの労力がかかりました。
内容的に吟味する前に、形式的に違法性がないか確認するだけでこれだけの手間がかかるわけです。

内容に関してはここでは細かい話はしませんが、一般に知的財産権(著作権も含まれます)と言われる事柄に関することです。コメントの「公開」を要望されても、そのコメント関連情報が著作権法的に違法が疑われる場合は、当然ですが掲載・公開はできません。

以上、よろしくお願いします。

 

air-h-128k-il

GitHub から GitLab へ

git のホスティングサービスは GitHub だけではない。
GitLab というサイトもそれなりの趣きがあるという話だったので、試しに OpenDolphin-2.7m を
GitHub: https://github.com/Hiroaki-Inomata/OpenDolphin-2.7m
から
GitLab: https://gitlab.com/Hiroaki-Inomata/OpenDolphin-2-7m
に移動させた。
GitHub のアカウントを持っていれば比較的簡単にできるので、ちょっと触ってみたいという方は試してみてはいかがだろう。

 

猪股弘明 医師

Java の現在

Red Hat replaces Oracle as OpenJDK 8, OpenJDK 11 steward

OpenJDK に関する記事。北米の業界の方々のコメントが色々載ってます。

Java ちょっと前は好きだったんだけど、なんか微妙な感じになってるようですね。なお、Java は
初期は SUN が旗振り
→が、オラクルが買収、有償化の方針を打ち出す
→Red Hat がオープンソースとしてサポートを意思表明(←いまここ)
という経緯をたどってます。

悲観的なコメントで〆られているあたりがなんとも。

steward はオタ的には「執事」でしょうが、この場合は「世話人」・「監督係」的な意味合いでしょう。


(追記)元記事が少々おかしいのではないかと何人かの方からご指摘を受けました。(コメント欄を参照してください)確かに replace は言い過ぎなようですね。
現時点(2019/04/23)での、各ベンダーから出ているディストリビューション・有償/無償モデルに関して @u-tanic さんがまとめています(↓)。

JDKの長期商用サポート(LTS)の提供ベンダー比較(無償利用についても言及あり)

参考にしてください。

OpenOcean(仮)

OpenOcean の方は、「全面的に作り直してほしい」という要望が多くて、検討してました。
「自分で使う電子カルテは自分でつくりたい」、「OpenDolphin 使っていたが、大幅にカスタマイズしたい」という医師の方が意外に多い。作り直すなら参戦したい、協力したいという企業もちらほら。
今のところ

・データ構造は変えないでほしい

・UIは変えてほしい(これは dolphin の頃から言われてましたね)

・win でも Mac でも動くようにしてほしい

というような希望があるようです。

意思表示示してくれたところとは、コンタクトとってますし、少しだけですが、上記の要望に沿った形で手はつけてます。
まだまだ、アウトライン決めてるところですので、似たような希望を持たれている方がいたら、ご連絡のほどを。手は多い方がいいので。

最近だと BOOSTER TECHNOLOGY さんが、会社ブログ(https://www.booster-technology.com/blog/opendolphin)で「サーバーサイドはJavaである必要はなさそうなので、保守やカスタマイズを考えると、PHP等のスクリプト言語で作り直してもいいと思う」、「クライアントアプリケーションもJavaのデスクトップアプリである必要はなさそうなので、ブラウザで使える普通のWebシステムにし、iPadでも使えるようにすればよいと思う」という観点から、似たような考えを述べられてます。Web アプリ案件を数多く取り扱っているような会社だと割合自然な発想で「ブラウザ型に作り直し」は有力な選択肢になるかなあと思います。PHPということは Laravel あたりを考えているんでしょうか。十分ありだと思います。

あとは、これまで ORCA 連動型電子カルテの前提条件である ORCA の運営そのものにもある種の疑問が呈されるようになってきた、という事態があります。

そのような状況なので、とりあえず、公開は中止してます。

 

(追記)その後、dolphin のデータベースからデータ抜いてきて、ブラウザに表示させる簡単なコードを書いてみました。
こんな感じになります。

こっから、ブラウザタイプに改変して・・・といきたいところですが(OpenOcean はこんな感じで作ろうと思っていた)、それはそれで手間かかりますので、まあ試験的な試みです。

 

開いたイルカ

いるかの棲む闇』コメント欄で唐突に主要な「イルカ」のステークホルダーが揃って質疑応答が始まった。

増田氏、opendolphin-m は公開されていると主張しているけど、

本人自体が HP 上で非公開にしていることを主張しているんだよね。

え?と思って確認したけど本日(2018/10/23)もしっかりアナウンスしている。

外部サイト保管: archive

公開しているのはあくまでバックポート用のものであり、別の(本来の) OpenDolphin-m があると私は認識していたのだが。

また、LSC の方が言っていたが、「増田ファクトとLSC 商用版 OpenDolphin にはデータベースの互換性はない」そうである(そうである、というのは現時点では、私は両ソフトとも持っておらず確認してみようもないから。あくまで LSC さんから聞いた伝聞です)。

いろいろ矛盾しているように思う。
ここらへん、なんでこんなわかりにくい主張するのか私もよくわからない。

(追記)

やはり、プライベートリポジトリに移行した OpenDolphin-m がある、ということでいいようです。

なお、このツィートに関して私の友人は「増田ファクト版を商品化したベンダーがいたとかで『オープンソースを営利化するのは好まない』とクローズドにした経緯があるとかなんとか。個人の好悪で公開したり引っ込めたりする人は,そもそもオープンソースプロジェクトには向かない人ですね。」と感想を漏らしてました。その後、LSC からメドレーに運営権などが譲渡された際、メドレー担当者はひどく困惑している様子でした。

私も、ほぼ同意見です。ソースをオープンにした時点で、たとえそれが自分が気に入らない人の手に渡ろうがしょうがないと諦めるしかないと思います。

PHAZOR 関係でいうと responsive-kifu なんてパクられまくってますが(この表現、私は嫌いなんですが)、それはもうしょうがないですよ。
それが嫌だったら、プロジェクトを最初からクローズドで開発すればいいわけだし。

表現が今ひとつどうかなと思うところはありますが、せっかく OpenDolphin の開発中期の貢献者としての評判はお持ちなのですから(ただし、最近の調べでは GitHub のシステムにはほとんどソースコードを提供した記録は残されていないそうですね、これは私も知りませんでした。後は、メドレーからは「開発者」認定はされていないようです、これはメドレー担当者から直接聞きました)、あまり他者を蔑むような表現1)はしない方がいいのでは思います。

 

(1) 厚生労働省本省判断で医療広告のガイドラインに抵触したようで(おそらく「公序良俗に反する内容」ということで)、削除要請がなされたようですね。和歌山の保健所を通じて私にも確認のための連絡がありました。
同時に患者さんと思われる一般人の個人情報を SNS で流出させた形跡があるということでこれも確認させられました。どちらかといえば、こちらの方がまずいと思います。(→現在は増田内科は閉院しているようです。こういうクチコミもありますが、そんなに評判は悪くなかったようですが)

 

猪股弘明
医師:精神科(精神保健指定医)

🌟 参考
OpenDolphin について
OpenDolphin と電子カルテの3要件とメドレー
いるかの都市伝説は本当だったか

にほんブログ村 病気ブログ 医者・医師へ

 

OpenOcean/OpenDolphin をカスタマイズするために知っておいた方がよいこと 2

1 に引き続いて、軽く解説的な内容を少々。今回は少しばかりプロジェクトに接近していきます。

 

jar と war … 通常のソースコード ***.java を javac コマンドでコンパイルするとできるのは ***.class です。実行するには、「java 環境でクラスを呼び出す」必要があるので、コマンドは

java ***

となります。「コンパイル済みのクラスを呼び出す」これが Java アプリ実行の原則です。

ところが、Ocean/Dolphin プロジェクトでは、クライアントは OpenOcean.jar 、サーバーは OpenOcean.war などという名称です。

これは、ある程度まとまった機能を提供するためには、クラスだけでは足りず、設定ファイルや画像などのリソースファイルが必要なため、それらをまとめたファイル形式が必要とされたからです。jar は、その一つで Java ARchive からきています。読み方は「ジャー」でいいと思います。

Java EE を用いる Web アプリの場合には Web application ARchive 通称 war (ウォー :戦争 war と同発音)となります。

 

 

git と github … github は先日マイクロソフトに買収され、それを日経新聞が「設計図共有サイト、8200 億で買収」と報じたため、そのネーミングセンスが話題になりました。

オープンソースのソースをインターネット上で公開しておくには、何らかの場所(リポジトリ)が必要で、その一つが、GitHub (ギットハブ。ネイティブっぽく発音するならギッ ハブでしょうか)です。他には sourceforge などもありますが、ドルフィン一族は、その多くが GitHub でソースを公開しています。

公開されたソース(リモート)を自分のマシン(ローカル)にクローンすることもできます(というかしないとビルドできない)。

ローカルやリモートのリポジトリの橋渡しをしたり、改変を記録しておくためのシステムが Git (ギット)です。
雰囲気掴みたい人は『お手軽にWin機で Git や GitHub を使う』など参照。

歴史的に見るとまず Linux カーネル構築のためのバージョン管理システムとして Git がリーナス・トーバルズの手によってつくられ、そのホスティングサービスとして GitHub ができたわけですが、実用的には上のような理解でいいと思います。

windows にはデフォルトで git コマンドが入っていないため(ですよね?)、自前で git が使える環境を構築する必要があります。私は随分前に構築したっきりなのですが、それなりに面倒だった記憶があります。たぶん、ここらへんで多くの人が嫌気をさすのではないかと思います。

ただ、ここらへんくらいまでの知識があれば、ビルド・デプロイはなんとかできるでしょうか。

Open Dolphin 2.7.0b を Win10 にインストールしてみた

や、外部サイトですが

OpenDolphin 2.7(m) を Mac OSX にインストールする
OpenDolphin-2.7m を M1 Mac にインストールする

あたりの記事をどうぞ。
ソースコードは

github https://github.com/Hiroaki-Inomata/OpenDolphin-2.7m

に置いてあります。

 

デザインパターン…迂闊なことをいうと本職の方々に怒られそうなので wiki から引用しておくと

 

ソフトウェア開発におけるデザインパターン(型紙(かたがみ)または設計パターン、英: design pattern)とは、過去のソフトウェア設計者が発見し編み出した設計ノウハウを蓄積し、名前をつけ、再利用しやすいように特定の規約に従ってカタログ化したものである。

 

だそうです。ソースと最終産物との間にある中間的な機能を設計する上での定型的なパターン、とでもいったらいいんでしょうか。
apple 系のOS のフレームワーク( cocoa と cocoa touch )で頻出の「xxxxdelegate」も典型的なデザインパターンの一つです。
ですが、プログラミングの初心者コースではまずは教えないと思うので、それなりに経験積んだ人でも知らない人は知らないんではないでしょうか。OpenOcean/OpenDolphin ではシングルトンやメニューファクトリーといったパターンが使われています。
これがある程度頭に入ってないと、ソースを追っていっても何やってるかわからなくなると思います。逆に C++ あたりで過去に一回でも経験しているとその類推で何とかなることも多いと思います。

 

 

実際に改変を試みようとするとここら辺から、難しくなってくるのかなと思います。

後は、主要なライブラリなどでしょうか。私もいまだに使い方がわかっていないライブラリは山ほどあります。

Java のライブラリとしては、ORM の Hibernate が有名ですね。ORM や Hibernate に関しては、他サイトですが

ORM に関して書くよ

をご参照ください。雰囲気掴めるかと思います。

🌟 参考
より詳細なソースコードレベルでの解説は
OpenDolphin ソースコード解説
を参考にしてください。

OpenOcean / HorliX 開発チーム

 

 

にほんブログ村 病気ブログ 医者・医師へ

OpenOcean クライアントと Docker 版 OpenDolphin サーバをつなげる

Docker 版 OpenDolphin サーバは人気が高いようなので、OpenOcean クライアントとつないでみました。

クライアントのダウンロードページはこちら

 

「機能追加や細部の改変はしてもデータ構造や通信様態は本家を尊重する」という方針なので、当初、「そんなに難しくない、何もしなくてもつながる」くらいに思っていたんですが、初試行では見事につながりませんでした。

ログイン情報が違ってます

の嫌なアラートが….。

しばらく、頭上に?浮かばせてましたが、Docker の Dolphin (WildFly)が吐き出してくれるログに手掛かりがありました。(Docker 版でも設定でログを表示させることができます)

 

hibernate (JavaORM)が走ったあとに

web context '/dolphin'

という見慣れぬ表記が。これ通常だと openDolphin なんですよね。

なのでソースの該当箇所を修正。Docker 版と商用版ではここがちがっていたわけですね。通りでつながらないわけだ。

修正後は、無事つながりましたが、当方の通信環境はそれほどよくなく(たぶんルータの性能がいまいち)一台のPC(win10)上に

  • クライアント Ocean クライアント   windows10 (ホスト)
  • サーバ       Dolphin サーバ(Docker)  Ubuntu14 (VMWare の仮想マシン)
  • ORCAサーバ     ORCA Ver5                     Ubuntu16 (VMWare の仮想マシン)

が混在するという二度とやりたくないような構成になりました。なりゆき上。

ただ、データ構造さえ同一に保っていれば、出自が異なっていたとしても接続は問題なくできるわけで(少々、苦労はしますが)、互換性という点でもオープンソースはメリットがあるなと思います。

 

なお、ここらへんの機種間の API の差を埋める目的で HL7 (エイチエルセブン)という団体が FHIR という仕様を公開してます。

FHIR Ver3.0.1

一瞬、なるほど、と思ったのだが、これを採用しても、肝心かなめのデータの構造がやり取りする両者で同一でないと院内システムへは結局復号化できないまま終わってしまうような…。まあ、医療情報の「交換」規格というコンセプトが強いんでしょうね。
ユーロ圏内や北米などでは、圏内での人の移動や移民の問題などがあり、こういったシステムの構築は必要性が高いんでしょう。

 

にほんブログ村 病気ブログ 医者・医師へ

OpenOcean クライアントを Mac で動かす

OpenOcean クライアントバイナリを試験的に公開。

自分の Mac にもインターネット経由で落として使ってみる。(今まで win 機でコーディングしていたので Mac での確認はしてなかった)

まず、起動。

ログイン画面描画は問題なし。

ログインも問題なかったが、なぜか受付情報を受け取れない……。

閉塞」という嫌な文字が ORCA に表示されている。

必殺の wi-fi 切断-再接続を試みる。

当方の環境だとなぜかこれでつながり始める。一昔前のブラウン管チョップと感覚は似ている。

カルテの参照なども問題なし。やはり Mac は表示が綺麗。

しかーし、

  • 処方せん打ち出し機能が選べない
  • ホームフォルダにできてるはずのフォルダができてない

などの不具合あり。→マイナーチェンジで修正しました

と言ってたんですが、処方せん打ち出しはできますね。

という画面が現れて、「PDF 作成」を押下すると

というそれはそれは美しい処方せんが出現する。

Mac でも開発環境つくろうかな?

できた!

つか、以前に Dolphin ビルドしたときに Java 環境構築したの忘れてたわ。その時の流用。

これで HorliX との連携機能は組みやすくなるかな。

(追記)より最新の OpenDolphin 開発環境は
OpenDolphin-2.7(m) を Mac OS X にインストールする
をご参照ください。
M1 Mac へのインストール&デプロイは
OpenDolphin-2.7m を M1 Mac にインストールする
をお読みください。

 

 

 

にほんブログ村 病気ブログ 医者・医師へ

このアプローチは…

OpenDolphin から OpenOcean に改名したので、今までの仕事をまとめておこうと思い、サイトを新調した。
その際に、ネット上で情報収集をおこなったのだが、けっこう興味深かったのが、

ゼミの飛翔』というブログのこの記事

医療情報系の大学研究室のゼミの公開ブログのようなのだけど、題材として OpenDolphin が取り上げられている。将来的には Dolphin と繋がるオリジナルのスマホアプリをつくりたいらしい。それで、データ構造を把握するためにクライアント-サーバ 間で流れる通信パケットを WireShark でキャプチャして解析したという予備研究。

これはこれで SSL 通信の重要性を示すものとしてまあまあ意味はあると思うけど、目的に対するアプローチの仕方としてはどうなんだろう?

 

というのは…

サーバを走らせた場合、キャプチャしなくても通信内容は同様のものが得られる

というのがその理由の一つ。上記記事を再現してみると「嘔吐・下痢の症状が見られる」という所見を SOA 欄に書き込み、サーバに送信。

ドッカーでは無理だが、普通にサーバを走らせていた場合、Java の(というか Java のライブラリの)ロガーは優秀なので、Win だろうが Mac だろうが Ubuntu だろうが、こんなログを吐き出してくれる(今回は Win10)。

所見の平文対応文字列「PD…(略)…4K」は(当たり前だが)まったくいっしょ。

だから、サーバを走らせれば、キャプチャする意味は(ほぼ)ないのだ。

 

また、トライアンドエラーでサーバの応答をある程度まで求め、それにあわせてクライアントをつくったとしても、

LSC がサーバの仕様を変えてしまえば、そのアプリは使えなくなる

のではないかと思う。

 

そして、これは研究全体の方向性に対することだが、

改変不能なドッカー版サーバを使っている限り、クライアントの仕様はサーバに規定され、クライアントの設計の自由度が落ちるのではないか

という疑問が湧く。

最終的にどういうスマホアプリを目指されているか私程度のものが知る由もないが、個人的には、われわれのように実務家的なちまちまとした工夫を重ねるのではなく、大学には、大学の研究らしくもっと自由で大胆な発想をしてほしいと思う。

 

まあ、私のおすすめは、自由にスマホアプリをつくりたければ、サーバ・クライアントともに Java ソース読んだ方がいいでしょう、ということです。

せっかくソースを公開してくれているのだから。

幸いなことに、Dolphin にしても Ocean にしても、スマホ向けのコードは未実装のところが多いですからね(とヒント出してみる)。

 

(追記)…beanbytes の処理に関しては、元町皮膚科の松村先生のブログ記事にわかりやすい解説があったので、追記しておく。

HealthInsuranceModel,StampModel,ModuleModel には beanBytes というフィールドがあり,bean object を xml 変換して,さらにbyte 配列に変換したものが入って永続化されている。今回,REST化で json を使ったため,object が xml に変換されてさらに byte 配列に変換された beanBytes が json 化でさらに Base64 の文字列に変換されて流されるという,何だかたいそう複雑なことになってしまっていた。

 

引用元『beanBytes の処理:Rest(付録)

 

にほんブログ村 病気ブログ 医者・医師へ

OpenOcean/OpenDolphin をカスタマイズするために知っておいた方がよいこと

オープンソース(Open Source Software : しばしば OSS などと略される)の電子カルテ OpenOcean/OpenDolphin は、ビルド・デプロイするだけでも出てくる役者が多いので、整理しておきましょう。

 

Java…Win, Mac, Unix などに仮想的なマシンを設定し、それを動かすための言語。したがって、Java で開発されたソフトは Win/Mac/Unix で動く(はずですが、実際には windows と Mac OSX ではメニューの表示構成などが OS レベルで違うため、この部分は機種依存になります)。JRE は実行環境、SDK は開発用のキットです。ビルドには SDK が必要。

 

Java EE…Java Enterprise Edition の略。通常の Java をクライアント-サーバシステムを開発できるように拡張したもの、というような理解でいいと思います。機能が多彩すぎて私は全貌がまったくつかめてません。Oracle との絡み先行きは不安のようです。

 

PostgreSQL…データベースソフト。いろんなところでお世話になってます。

 

NetBeans…Java でよく使われるIDE(統合開発環境)。Java 版 VisualStudio といった方がわかりやすいか。Java の IDE は、eclipse が有名ですが、ドルフィンプロジェクトではこちらを使っていたため、私もこちらの方に慣れちゃいました。ただ先行きは不安しかない。

 

Maven…「メイヴェン」と読むのが正しいようです。「マーベン」でも通じると思うけど(内輪だけ?)。Java 用プロジェクト管理ツール、と紹介されることが多い。実用的なソフトを構築する場合、自力で書いたソースの他にライブラリが必要になってくる。OpenDolphin/OpenOcean の pom.xml に

<dependency>
 <groupId>postgresql</groupId>
 <artifactId>postgresql</artifactId>
 <version>8.4-702.jdbc4</version>
</dependency>

などと書かれてあるのは、その指定のためです(この場合は、「postgresql を使いたいので jdbc ドライバをリポジトリから取ってきてね」という意味です。ver が 8.4 と最新ではないのは古い ORCA の postgres に対応するためだと思われます)。他にもビルドの際の細かいルールを指定できる。

 

WildFly…Java EE に準拠したアプリケーションサーバ。Java EE は仕様しか決められていないため、Java で書かれた Web アプリ実運用のためにはサーバ実体が必要。このサーバ実体の一つがWildFly。 Redhat が開発し配布している。これの商用版が JBoss。Java EE 同様、機能が多彩すぎて、全体がつかみにくい。実稼働時には(アプリ名).war をWildFly 内に配置(デプロイ)する。

 

まずは、こんなところでしょうか。

OpenOcean / HorliX 開発チーム

 

 

にほんブログ村 病気ブログ 医者・医師へ