スポンサーサイト

--年--月--日 --:--

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

今日の診療epwing化

2011年08月13日 06:32

さて、かなり時間が経ってしまいましたが、今日の診療プレミアムのepwing化がやっとひと段落つきました。
もうVol.21が出てしまった上に、他のblog等でepwing化のやり方を書かれている方が結構いるので、今更という感じもしますが、意外とコツが必要なので、体験メモ的に纏めてみました。

vol.21は使ったことがありませんが、vol.16くらいからの過去の報告を見る限りでは、挙動に大差なさそうなのでプログラムの微修正で対応できそうではあります。


今回はewping化できたよ!って話なので、そもそもepwingって何?っていう解説は省略したいと思いますが、概略だけ。iPod/iPhoneで辞書などを使いたい場合、アプリとして提供されている場合(ステッドマンとか今日の治療薬は専用アプリが販売されていますね)はそれを購入すれば良いですが、アプリが無い場合は自力でデータ化する必要があり、それに対して最も有力な方法がepwing化です。

epwing化さえできてしまえば、そのデータを読み込んで辞書として使用できるアプリはPCでもiPodでもスマートフォンでもたくさんあるので、一度epwing化さえしてしまえば様々な媒体で使用が可能になります

ただし当然著作権が関連してくるので、epwing化は自分の持っているソフトウェアを元に各人が自分自身で変換を行う必要があり、ここがネックになります。正直作業は結構面倒で、出版元がepwing版を販売してくれればいいのにというのはみんな思ってることかもしれません。


という訳で以下本文です。長いので多分途中で分割します。



【必要なもの】
・今日の診療プレミアム
・UWSC(無料版で可。今日の診療のデータ吸い出しを自動処理するためのアプリ)
・EBStudio(有料版必須。吸い出しテキストデータをepwing化する)
この他、ipodの辞書アプリ(iDictPlusとかiDic)やipodへのデータ転送アプリ(i-funboxなど)が必要です。



【参考にしたHP】
epwing化するにあたり下記のHPを参考にさせて頂きました。というか、ほとんどそのまま使わせて頂いたので、参考にしたというよりレビューみたいなものです(^^;

市川外科さんのHP
今日の診療 EPWING化補助スクリプト Today2HTML

ただ、市川外科さんのHPでepwing化されているのはvol.19で、vol.20はアプリの挙動に少し仕様変更がありました。vol.21でも更に変更がある可能性があるので、なるべく汎用的なプログラムにしてみました。ここではtips的な記述に留めますので、手順の詳細に関しては上記の市川外科さんのHPをご覧下さい。(ここで改めて書いてもただのパクリ記事になるので…)



【手順】
1.検索
本当は辞書データをまるごと引っこ抜ければいいのですが、ソフトの仕様上できません。データの件数も分からないので、できるだけ多くの件数が引っかかるような検索を行って、それに対してデータの吸い出しを行う必要があります。vol.20ではor検索のキーが3つまで指定可能なので、それに合わせてやってみた結果がこちらです(これが最大件数とは限りません)。


・今日の治療指針 2010年版
あ|a|) 2103
・今日の診断指針 第6版
あ|e|) 907
・今日の整形外科治療指針 第5版
あ|a|) 663
・今日の小児治療指針 第14版
あ|a|) 1120
あ|e|1 1119
・救急マニュアル 第3版
あ|a|) 741
・臨床検査データブック 2009-2010
あ|a|) 1172
あ|e|1 1171
・治療薬マニュアル 2010
あ|a|) 2540
・新臨床内科学 第9版
あ|e|) 842
・内科診断学 第2版
あ|e|) 429
・今日の皮膚疾患治療指針 第3版
あ|e|) 576
・臨床中毒学 
あ|0|) 135
・医学書院 医学大辞典 第2版
あ|e|) 76225


確か、日本語は"あ"より"え"の方が、英語は"a"より"e"の方が多かったはずですが、今回の結果ではそうでもありませんでした。日本語については助詞も含むとまた結果が変わってくるかもしれませんが、どっちにしても英語と記号の方が検索件数に対する寄与が大きそうなので問題ないでしょう。

ちなみに、検索時は設定の「項目名でのヒットを優先しない」にチェックを入れておくと、辞書のページの順番に検索結果が表示されます。




2.データの吸出し
ここが一番のポイントで、これさえできてしまえば後はどうにでもなります。私も市川外科さんのHPと同様uwscというツールを使ってデータの吸出しを行っています。たのですが、vol.19と20でアプリの挙動がやや変わっているため、うまく動くように修正してみました。ちなみに私はwindowsXP上で動かしていたので、vistaや7ならうまく動くのかもしれません。

実行プログラムはこちらです。
konnichi_shinryo_vol20_uwsc.UWS
(右クリックで保存できます)



ポイントが幾つかあります。
まず、プログラム実行時のポイントとして、

・実行前に手動で保存して保存場所を決めておく
⇒何でもいいので項目を1つ保存しておかないと、プログラム実行時に変な所に保存されます。ここで保存したものは不要なので後で消しておいてください。

あとは検索件数に合わせてuwsファイルを書き換え、uwscを起動してuwsファイルを読み込んで実行するだけです。実行時は今日の診療のウインドウがアクティブになっている状態で行います。



また、プログラムそのもののポイントがたくさんあります。ここが肝です。
・エラー発生時の途中再開
uwscを使う一番の問題は、途中で動きがおかしくなってしまうことがある事で、通常のプログラムと違って個々のPCのCPU時間やメモリ、OSなどがプログラムの挙動に大きな影響を与えうるため、どうしても途中で失敗してしまうことがあります。特に私は古いXPのPCで実行したので、パソコンの調子が悪いと止まりまくってました。失敗しても変数などをいじれば再開できますが、面倒なので再開機能を付けました。再開する場合、RESTART_FLGを1にして、再開したいページの頭の件数(1ページ20件なら20n+1)をRESTART_NOに設定し、開始したいページを表示させた状態で始めます。そのページの最初からなので、タブってしまうファイルは予め消しておきます)。医学大辞典なんかは件数が多いので、途中再開できないと泣きます。

・表示した画面を毎回閉じる
vol.20ではタブ形式で10画面まで項目を表示でき、11個目からは古い順に消えていきます。この消去処理のせいでプログラム実行がうまくいかない事が結構あったので、1つの項目のデータを吸い出したらすぐにショートカットキーで消すようにしました。画面消去のショートカットはCntl+Wですが、uwscが動いていると、そっちのショートカットとして認識されてしまうため、Cntl+Alt+Wとするとうまくいきます。

・フォーカス移動のクリックの場所
変数X_VALUEとY_VALUEは、左ウインドウの検索結果一覧をアクティブにするためのクリックの座標なのですが、変なところをクリックすると画面がおかしな所に飛んだりする可能性があるので、うまくいかない場合は微調整します。デフォルトの設定値だと「書籍目次」の5mmくらい下をクリックしているイメージです。

・待ち時間
T_RSTTAB以下の定数は、クリック時などの待ち時間を設定しています。uwscは処理時間を考慮しなくても次の処理を待っててくれるはずなのですが、特に処理時間の長いページ切り替えや保存時にエラーとなってしまう事が多かったため、適当に時間を設定しています。ここの値を小さくすると処理時間が短くなるので、適宜変更してみてください。

・最終ページの最初の項目は保存されない
プログラムの修正が面倒で単にバグで残っているだけなのですが、最後のページの最初の項目はスキップされてしまうので、終わってから手動で保存を行う必要があります。最後のループで1つ処理を入れてやるだけなので、プログラムを修正した方が早いと言う話もありますが…。


プログラムについてはこんな感じです。(細かい説明は出来ませんので参考程度にお願いします)
処理が終わると、1項目1ファイルの大量のテキストデータが得られます。


いったん今日はここまでで。
これからお盆で帰省するので、更新が遅くなるかもしれません。


コメント

  1. 参考にさせて頂きます | URL | -

    Re: 今日の診療epwing化

    この年末にEPWING化を予定しています。
    こちらのサイトを参考に頑張ります。
    確かにネットで検索すると色いろと情報がありますが、
    このようにまとめて頂けると、大変助かります。

  2. shoe | URL | -

    Re: 今日の診療epwing化

    コメントありがとうございます!
    需要はかなりあると思うんですが、やっぱり自分でepwing化するのはなかなか大変ですよね。是非トライしてみてください!

コメントの投稿

(コメント編集・削除に必要)
(管理者にだけ表示を許可する)

トラックバック

この記事のトラックバックURL
http://shoecreams.blog77.fc2.com/tb.php/669-0212ba5a
この記事へのトラックバック



上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。