問題の自動生成プログラム
お久しぶりです。
Twitterの方ではよく呟いていましたが、blogは2,3ヶ月近く更新していませんでした。
何分、仕事が忙しく…というのは言い訳ですが。
さて、今日は薬剤師国家試験の本番ですね。
自分にもいろいろな思い出がありますが、それは置いておいて。
ランダムで文章を表示するコードを書こうと思い立ち作ってみました。
データベースに登録された医薬品名からランダムに簡単な(受容体正誤の暇つぶしレベルの)薬理機序の問題を表示します。
医薬品ごとに種別をタグ付けし、送信したデータを照合できるようにすると、暇つぶしぐらいにはなるのかなと思います。
問題は簡単なものをいくつかしか登録していません。
いろいろとゼロから作るのは楽しいですね。
テスト中:問題自動生成プログラム
web医薬品マスタの更新 12/10
ご助言いただいたものを参考に、医薬品マスタの検索部分を修正しました。
1,半角英数カナを全角に変換するようにしました。
"0.5%"で検索しても、"0.5%"で検索されるようになりました。
2,正規表現使用時の禁止文字の登録
%のみで検索すると正規表現の特性上、全医薬品が表示されるので、一部の文字の使用を拒否するようにしました。
最近、画面を見ることが多く目が痛くてなかなか作業が進みません。
今後もゆっくりと続けていこうと思います。
--------
傷病名検索
医薬品検索
Drug search (autocomplete test)
--------
webからの新規登録は募集していませんが、処方例データベースのβtest中です。
現在、テストアカウントで一部機能が利用可能です。(PC推奨、スマホ非対応)
メールアドレス:test
パスワード:test
登録型処方例データベース
web医薬品マスタ作りました
いろいろとデータが足りず、メーカー名や一般名が空欄の場所もありますが、とりあえず作ってみました。
このままCYPも登録してみようかと思います。
薬価や毒劇物分類、一般名などを検索できます。
そのうち液剤や散剤の分類も追加する予定です。
--------
傷病名検索
医薬品検索
Drug search (autocomplete test)
--------
webからの新規登録は募集していませんが、処方例データベースのβtest中です。
現在、テストアカウントで一部機能が利用可能です。(PC推奨、スマホ非対応)
メールアドレス:test
パスワード:test
登録型処方例データベース
CYPの話
CYPに関する内容をTweetしたところ、かなりの反響がありました。
医薬品ごとにCYPでの代謝等々を登録して、処方画面的なものを作って入力すると、この薬とこの薬は相互作用によって増強・減弱されます的な表示が出るようなwebアプリケーションを作ってみようかと思っています。電子カルテではないので、処方登録に関してはwebDatabaseの方で合わせようかなと。
— NOCHIKA (@pharmacist753) 2017年11月30日
自分はソフトウェアよりも「『誰でも関わることのできる』webアプリケーション」を開発することを重きに置いていますので、ダウンロード型のコンテンツの開発は今のところ考えていません。(ただ、誰でも接続できるということは、工夫しないとサーバーレンタル代やらの管理費用ぐらいの利益を得ることも難しいということでして、webまたはスマートフォンのアプリケーション開発も視野には入れています。)
本来は、これらは国営または医療法人やある程度の組織によってデータベース化されるべきものであり、一個人がどうこうするような問題とも思います。現在日本で使用されている医薬品数は商品名で約20,000品目。これらについて一人の人間が全ての添付文書を閲覧し、確認し、代謝経路をデータベース化するというのは不可能に近い所業です。(可能であれば、薬剤師を総動員して添付文書を全て書き直した方が早いのかもしれません。)
しかし、日本には添付文書というものがあります。公的なデータがあるのであれば、それをしっかりと一覧に示せばよいのですが、この添付文書も表記ゆれが多く、あまり当てにならない部分があるのが現状です。今回作成しているCYPに関するデータは外国から取得しています。ネット上または書籍上では代表的な医薬品や、CYPを強く阻害・誘導する医薬品についてはところどころで記載されていますが、一覧については記載されているところは見受けられませんでした。信憑性については論文等を根拠にしているため、各々の判断に任せるところがありますが。
根拠URL:SuperCYP
本来であれば電子カルテの入力段階でCYPの影響は表示すべきですし、薬剤師が管理する薬局であるならば、薬歴システムに組み込むべき内容でもあります。
配合禁忌、併用禁忌についてはソフトウェア開発会社もしくは薬剤部がデータ登録してあれば表示されるであろうことではありますが、CYPの相互作用については明らかに禁忌であるもの以外はほとんど記載がありません。これらは薬剤師の脳内での計算に頼っているところがありますし、添付文書の表記が統一されていないこと(表記ゆれ)が多いのと、CYPの阻害・誘導についての「強さ」の表記が具体的でないことも原因があります。
※薬物相互作用の強さについてはPISCSという概念があります。相互作用の強さをFDA基準の"strong","moderate","weak"に分けることを基本とし、それらを臨床試験に基いて式で表し位置づける概念です。学問としては薬物動態学に分類されます。
臨床薬物相互作用のシミュレーションによる予測
https://www.jstage.jst.go.jp/article/faruawpsj/50/7/50_664/_pdf
例えばテオフィリンはCYP1A2が主な代謝経路ということは皆さんよくご存知かと思われますが、添付文書にはこのように記載されています。
テオフィリンの代謝にはP450の分子種のうちCYP1A2が主たる分子種として,3A4や2E1がマイナーな分子種として関与することが示唆されている.
もちろん、医薬品の主要代謝経路である3A4が関わることは知っていても、エタノールに代表される代謝酵素の2E1が関わるということを知っている薬剤師はどの程度居るかということです。
しかし、それらを全ての医薬品に関して覚えることは非常に困難かと思われます。
今や、医薬品の種類・作用機序は多岐に渡り、これらは覚えるよりも調べたほうが遥かに早い量になっています。薬剤師として、知っていることは重要ですが、如何にして早く・正しく調べるかという能力も重要になってくると思います。"正しい知識"ですら、数年ごとにアップデートされる世の中です。
CYP3A43やCYP4F22なんかを把握している薬剤師が居るのかどうかと言われれば、多分居ないでしょう。もちろん自分自身も初めて目にしました。ただ、それを把握し、理解し、考慮してこそ、意味のある存在になれるのではないのかなと思います。ただし、これらがdatabase化し、誰でもアクセスできるようになった瞬間、薬剤師である意味は失います。医師や看護師がそれらを把握して処方を始めた瞬間に、それらは薬剤師が考慮する必要は少しずつ失われていくのかもしれません。
薬剤師の業務は"知っていること"から、"判断すること"にシフトしてきています。
薬剤師とは何なのでしょうか。そろそろ、結論が出るのかもしれません。
頭がうまく回らないので、今日はこの辺で。
社会保険診療報酬支払基金のマスタと厚労省の医薬品マスタが異なる件について
これが社会保険診療報酬支払基金が公表している医薬品マスタです。
もう既に細々しすぎて何も見えないですが、そもそもがまずこれ、それぞれに書いてある番号や名前の意味を書いておらず、別紙参照という形です。しかも別紙がPDF…(PDF文化が嫌い)。
というか、excelファイル形式が古くて形式保存できませんでした。ちなみに傷病名マスタはテキストファイル形式です。統一しない理由は…?
フィルタかけるために自分で左から順番にその数字や言葉の意味するところを入力していって…。ほんと無駄です。そして製品名は書いてあるのに成分名が書いてません。先発後発は1や2と番号で記載されています。麻毒覚原向の欄も数字表記です。ソフトウェアに導入した際に1="麻薬"とすれば良いのでしょうけれども、そもそもが echo $bunrui['xxx'] (これはphp表記ですが)とすればいいのではないかとかもうなんかいろいろ、いやc言語とかだと楽なんでしょうけれども。
問題はやはり成分名との紐付けができてないことで、「ブロプレス」はあくまで「ブロプレス」だけの表記になっています。「カンデサルタン」では検索できないので、こちらから新たに入力してやる必要があります。これを厚労省の方のマスタから一般名処方と成分名を商品名に紐付けしてやればいいのですが、そもそもが製品名の表記が異なっている部分もあります。
例)
厚労省マスタ:アミカリック輸液
社会保険診療報酬支払基金マスタ:アミカリック輸液 200mL
こう表記されると、データベース内では別物扱いされるので、正規表現で探して書き換える必要があります。この辺を統一しないから、院内マスタと薬局マスタで齟齬が発生するんでしょうね…。たまにエンシュアなんかでマスタおかしくなってる病院の処方箋を見たことがありますが、多分そういうことなのかもしれません。
というか、なんでどちらのマスタも全品目全規格が全角になっているんだろう…。そういう取り決めでもあるんだろうか…。半角だとシステム誤作動起こすとか?うーん…
今回はいろいろ思うところがあったので、ただのストレス発散記事でした。
そのうち、HatenaBlogからwordpressに引っ越そうかとも思っています。定期的に50人/日ぐらいで来ていただいているので、嬉しい限りです。一部のツイートがバズってるのもありますが、こっそり生きてるのでそっとしておいてください。
次回は添付文書の表記ブレについてストレスをぶちまけようと思います。
--------
傷病名検索
医薬品検索
Drug search (autocomplete test)
薬価検索
--------
webからの新規登録は募集していませんが、処方例データベースのβtest中です。
現在、テストアカウントで一部機能が利用可能です。(PC推奨、スマホ非対応)
メールアドレス:test
パスワード:test
処方例データベース
傷病名マスタから傷病名databaseの作成
作ってみました。あれこれ試行錯誤したところ、SQLのINSERT構文を高速化する方法を思いついたので、早めに設定できました。
この傷病名マスタは厚労省の方ではなく、レセプト請求用の社会保険診療報酬支払基金の方からお借りしたものですので、またちょっと内容が違います。
というか、医薬品マスタも厚労省と微妙に違ってたりするのですが、どういうことやらと…。
傷病名をサーチできるので、こんな病気あるんだーへー程度に使ってみて下さい。
処方例データベースの方では、疾患名が特定出来ている場合は処方に紐付けして入力できるようにしたいと思います。同じ要領でautocompleteも作れるので、ちょっと試してみようかなとも思っています。
--------
傷病名検索
医薬品検索
Drug search (autocomplete test)
薬価検索
--------
webからの新規登録は募集していませんが、処方例データベースのβtest中です。
現在、テストアカウントで一部機能が利用可能です。(PC推奨、スマホ非対応)
メールアドレス:test
パスワード:test
処方例データベース
薬価サーチっぽいの作りました
今のところ内服だけですが。
phpの方は問題無いのですが、MySQLのINSERTが1000行ずつぐらいしか読み取ってくれないので疲れました。
その後、UPDATEで薬価単位を追加したのですが、こっちは10000行を一瞬で追加してくれたので楽でしたね。
厚労省の方から医薬品コードについてはexcelファイルがダウンロードできるようになっているのですが、ここから薬価単位を修正するのは結構面倒です。自動化できるとよいのですが。
SQL構文については、Sublime Textで全文一気にまとめて入力できる方法があるので、それをexcelを併用してまとめて書いてます。
こんな感じ↓
元々はこんな感じのexcelファイルで非常に使いづらいです。
薬価単位の部分は自分で直してますので、薬価単位が"50mg1錠"(しかも全角)とかになってるんですよね。これをいろいろして"錠”だけの表記にしたりしてます。
全置換使って数字を全消ししたりと、根気のいる作業です。
で、今回できたのはこんな感じです。
内服だけの薬価サーチみたいなものですが、使ってみてください。
良い使い方あったら教えてください。autocompleteと合わせると楽なのかな。
ちなみに、一般名処方マスタも厚労省かどこだかから出ているので、これを合わせれば薬歴システムぐらいなら作れそうな気もしますね。時代も時代ですので薬局に自前したサーバーで保管するよりもクラウドで管理した方がメンテナンスもbackupも楽で安全かもしれません。ネットに繋がることが条件ですから、個人情報保護的にどうなのかは議論の余地がありますが。
面白そうだと思ったら遊んでみてください。
--------
webからの新規登録は募集していませんが、処方例データベースのβtest中です。
現在、テストアカウントで一部機能が利用可能です。(PC推奨、スマホ非対応)
メールアドレス:test
パスワード:test