うつ日記 ~うつを克服するための日記~

うつ病のため休職してから復帰するための体験、工夫、Androidアプリの紹介、アプリの作成ノウハウなど。アプリはこちら→ https://play.google.com/store/apps/details?id=tokin_kame.utunikki_app

うつに関係する薬名のリスト。(うつ日記のインポートの仕様)

簡単に処方の情報を入力できるように、うつ関係に使われる薬のリストを作成しました。

抗うつ薬のほか、精神安定薬、睡眠薬サプリメントや運動なんかも入れてみました。

ネットで調べた情報を補完して、分類や一般名も付けました。

以下のは、うつ日記の形式にしたがって作成したものです。

 

0,三環系抗うつ薬,アナフラニール,クロミプラミン
1,三環系抗うつ薬,アモキサン,アモキサピン
0,三環系抗うつ薬,アンプリット,ロフェプラミン
0,三環系抗うつ薬,スルモンチール,トリミプラミン
0,三環系抗うつ薬,トフラニールイミドール,イミプラミン
0,三環系抗うつ薬,トリプタノール,アミトリプチリン
0,三環系抗うつ薬,ノリトレン,ノルトリプチリン
0,三環系抗うつ薬,プロチアデン,ドスレピン
0,四環系抗うつ薬,テシプール,セチプチリン
0,四環系抗うつ薬,テトラミド,ミアンセリン
0,四環系抗うつ薬,ルジオミール,マプロチリン
1,SNRI,サインバルタ,デュロキセチン
0,SNRI,トレドミン,ミルナシプラン
1,SSRI,ジェイゾロフト,セルトラリン
1,SSRI,デプロメールルボックス,フルボキサミン
1,SSRI,パキシル,パロキセチン
1,NaSSA,レメロンリフレックス,ミルタザピン
0,その他抗うつ薬,アビリット,
0,その他抗うつ薬,デジレル,
0,その他抗うつ薬,ドグマチール,
0,その他抗うつ薬,ミラドールドグマチール、アンピリット,スルピリド
0,その他抗うつ薬,リーマス,
0,その他抗うつ薬,レスリン,トラゾドン
1,精神安定薬,コンスタン、ソラナックス,アルプラゾラム
0,精神安定薬,セパソン,クロキサゾラム
0,精神安定薬,セルシンホリゾン,ジアゼパム
0,精神安定薬,ダイアップ,ジアゼパム
0,精神安定薬,ダルメートベノジール,フルラゼパム
0,精神安定薬,デパス,エチゾラム
0,精神安定薬,ドラール,クアゼパム
0,精神安定薬,ハルシオン,トリアゾラム
0,精神安定薬,バルビタール,バルビタール
0,精神安定薬,フェノバール,クロラゼプ酸
0,精神安定薬,メイラックス,ロフラゼプ酸エチル
0,精神安定薬,メンドン,エスタゾラム
0,精神安定薬,ユーロジン,エスタゾラム
1,精神安定薬,レキソタンセニラン,ブロマゼパム
0,精神安定薬,ワイパックス,ロラゼパム
0,精神安定薬,ワコビタール,フェノバルビタール
0,抗精神病薬,オーラップ,ピモジド
0,非定型抗精神病薬,クロザリル,クロザピン
0,非定型抗精神病薬,エビリファイ,アリピプラゾール
0,非定型抗精神病薬,ジプレキサ,オランザピン
0,非定型抗精神病薬,セロクエル,クエチアピン
0,非定型抗精神病薬,リスパダール,リスペリドン
0,非定型抗精神病薬,ルーラン,ペロスピロン
0,非定型抗精神病薬,ロナセン,ブロナンセリン
0,睡眠導入剤,エバミール,ロルメタゼパム
0,睡眠導入剤,ハルラック,
0,睡眠導入剤,パルレオン,
0,睡眠導入剤,マイスリー,ゾルピデム酒石酸塩
0,自律神経剤,ウブレチド,ジスチグミン臭化物
0, 抗てんかん剤,アレビアチン、ヒダントール,フェニトイン
0, 抗てんかん剤,テグレトール,カルバマゼピン
0, 抗てんかん剤,デパケン,バルプロ酸
0, 抗てんかん剤,ヒダントールD,フェニトイン、フェノバルビタール
0, 抗てんかん剤,ラミクタール,ラモトリギン
0, 抗てんかん剤,複合アレビアチン,フェニトイン、フェノバルビタール
0,抗パーキンソン剤,タスモリン,ビペリデン塩酸塩
0,抗パーキンソン剤,ビカモール,
0,緩下剤,アローゼン,
0,緩下剤,プルセニド,
0,消化管運動改善剤,ナウゼリン,
0,低血圧治療剤,メトリジン,
0,その他,アドビオール,
0,その他,アモバン,
0,その他,インヴェガ,パリペリドン
0,その他,インプロメン,ブロムペリドール
0,その他,ウインタミンコントミン,クロルプロマジン
0,その他,クレミン,モサプラミン
0,その他,クロフェクトン,クロカプラミン
0,その他,サノレックス,マジンドール
0,その他,ストラテラ,アトモキセチン
0,その他,スピロピタン,スピペロン
0,その他,セレネース,ハロぺリドール
0,その他,デフェクトン,カルピプラミン
0,その他,トリフロペラジン,トリフロペラジン
0,その他,トリラホン,ペルフェナジン(錠)
0,その他,トロペロン,チミペロン
0,その他,ニューレプチル,プロペリシアジン
0,その他,ノバミン,プロクロルペラジン
0,その他,バルネチール,スルトプリド
0,その他,フルメジン,フルフェナジン
0,その他,プロピタン,ピパンペロン
0,その他,ベゲタミン錠-A(B),ベゲタミンA(製)
0,その他,ベゲタミン錠-B(A),ベゲタミンB(製)
0,その他,ベサコリン,
0,その他,ラクタミール,
0,その他,リタリンコンサータ,メチルフェニデート
0,その他,レクサプロ,エスシタロプラム
0,その他,ロゼレム,ラメルテオン
0,その他,ロドピン,ゾテピン
0,その他,ロラメット,
0,その他,ロヒプノール,
0,その他,レンドルミン,
0,その他,ピーゼットシー,ペルフェナジン
0,その他,レボトミンヒルナミン,レボメプロマジン
0,サプリメント,プロテイン,
0,サプリメント,ビタミン,
0,サプリメント,セントジョンズワート,
0,サプリメント,トリプトファン,
0,サプリメント,その他のサプリメント,
0,運動,歩行,
0,運動,ランニング,
0,運動,ストレッチ,
0,リラクゼーション,お風呂,
0,リラクゼーション,アロマセラピー,
0,リラクゼーション,瞑想,

 

形式はカンマ区切りで、各列は以下のような意味を持っています。

 1列目:処方を記録する画面に表示するかどうか

    0または1で、0なら非表示、1なら表示

    ※表示項目選択画面で変更可能です。

    ※自分に関係ないものを0にしておけば、画面にたくさんの項目が出過ぎて煩雑になるようなことがありません。

 

 2列目:薬の分類

 3列目:薬の製品名

    ※処方の入力画面に表示されます。 

    ※複数ある場合は、「、」で区切って書いています。

 4列目:薬の一般名

    ※省略可

 

1列目の初期値は、ネット上の掲示板で薬の名前の出現頻度を集計した結果を元に決めました。

2列目と4列目は探しやすいように入れているもので、アプリの内部では使われていません。

ただ、作りの都合上、2列目を省略するとエラーを出すようにしていたと思います。

参考程度に、サプリメントや運動やリラクゼーションなども入れていますが、実際に薬以外に効果があるものも色々あると思いますので、こんな感じで入れて頂けるとアプリ上で扱えるようになります。

ただし、処方入力の画面での単位は、全て「mg」なのですが。

 

このアプリはAndroidのPlayストアで公開しています。

よろしければ、お試し頂き、ご意見など頂けましたら幸いです。

 

うつ日記 ~うつを克服するための日記~
https://play.google.com/store/apps/details?id=tokin_kame.utunikki_app

 

何で体調を判断するか。(うつ日記のインポートの仕様)

毎日の体調を見るために、何を記録すれば良いかと考えた時に、うつの症状、薬の副作用、活動具合を記録しておけば、あとから振り返った時に飲んでいる薬との相性が見えてくるように思いました。

それで、最初は自分が実感している症状や副作用について、チェックするようにしていましたが、症状や副作用は人や薬によって違いますので、もう少し一般的なリストをつくろうと思って、ネットの情報などを参考にしてリストを作成しました。

以下のは、うつ日記の形式にしたがって作成したものです。

 

1,活動具合,よくできた<2>:ある程度できた<1>:最低限できた<0>:できなかった<-1>,p

1,仕事をした,残業した<4>:フルタイム<3>:半日程度<2>:出社はした<1>:休日<0>:休んだ<-1>,p
0,学校へ行った,欠席なし<3>:半日程度<2>:登校はした<1>:休日<0>:休んだ<-1>,p
1,家事をした,よくできた<2>:ある程度できた<1>:最低限できた<0>:できなかった<-1>,p
0,朝食を作った,作った<1>:作らなかった<0>,p
0,昼食を作った,作った<1>:作らなかった<0>,p
1,夕食を作った,作った<1>:作らなかった<0>,p
1,片づけをした,よくできた<2>:ある程度できた<1>:最低限できた<0>:できなかった<-1>,p
1,掃除をした,よくできた<2>:ある程度できた<1>:最低限できた<0>:できなかった<-1>,p
1,洗濯をした,よくできた<2>:ある程度できた<1>:最低限できた<0>:できなかった<-1>,p
1,調子が良い,良い<2>:まあまあ<1>:ない<0>,p
1,調子が悪い,すごく悪い<-2>:少し悪い<-1>:悪くない<0>,n
1,憂鬱感,強い<-2>:ある<-1>:ない<0>,n
1,不安感,強い<-2>:ある<-1>:ない<0>,n
1,気が重い、不快感,強い<-2>:ある<-1>:ない<0>,n
1,つらい、しんどい,強い<-2>:ある<-1>:ない<0>,n
1,倦怠感、疲れた感じ,強い<-2>:ある<-1>:ない<0>,n
1,気力,ない<-2>:弱い<-1>:普通<0>:ある<+1>:強い<+2>,n
1,イライラ,強い<-2>:ある<-1>:ない<0>,n
1,集中力,ない<-2>:弱い<-1>:普通<0>:ある<+1>:強い<+2>,p
0,躁転,強い<-2>:ある<-1>:ない<0>,n
1,日中の眠気,起きていられない<-3>:強い<-2>:弱い<-1>:ほとんどない<0>,n
1,早く目が覚める,ある<-1>:ない<0>,n
0,朝起きられない,すごく悪い<-2>:少し悪い<-1>:悪くない<0>,n
1,寝つき,すごく悪い<-2>:少し悪い<-1>:悪くない<0>,n
1,夜中に目が覚める,ある<-1>:ない<0>,n
0,めまい,強い<-2>:ある<-1>:ない<0>,n
0,ろれつ,すごく悪い<-2>:少し悪い<-1>:悪くない<0>,n
0,アカシジア、静座不能,強い<-2>:ある<-1>:ない<0>,n
0,手の震え,強い<-2>:ある<-1>:ない<0>,n
0,ジスキネジア,強い<-2>:ある<-1>:ない<0>,n
0,麻痺,強い<-2>:ある<-1>:ない<0>,n
0,千鳥足,すごく悪い<-2>:少し悪い<-1>:悪くない<0>,n
1,頭痛,強い<-2>:ある<-1>:ない<0>,n
0,脳の過回転,強い<-2>:ある<-1>:ない<0>,n
1,耳鳴り,強い<-2>:ある<-1>:ない<0>,n
0,口、喉の乾き,すごく悪い<-2>:少し悪い<-1>:悪くない<0>,n
0,動悸,すごく悪い<-2>:少し悪い<-1>:悪くない<0>,n
0,胸の痛み,強い<-2>:ある<-1>:ない<0>,n
0,胸焼け,強い<-2>:ある<-1>:ない<0>,n
0,体重,減り過ぎた<-2>:減った<-1>:維持<0>:増えた<1>:増え過ぎた<2>,n
0,食欲,ない<-2>:弱い<-1>:普通<0>:ある<1>:あり過ぎる<2>,n
0,吐き気,強い<-2>:ある<-1>:ない<0>,n
0,胃部不快,すごく悪い<-2>:少し悪い<-1>:悪くない<0>,n
1,腹痛,強い<-2>:ある<-1>:ない<0>,n
0,便秘,すごく悪い<-2>:少し悪い<-1>:悪くない<0>,n
0,下痢,すごく悪い<-2>:少し悪い<-1>:悪くない<0>,n
0,排尿困難,すごく悪い<-2>:少し悪い<-1>:悪くない<0>,n
0,頻尿,すごく悪い<-2>:少し悪い<-1>:悪くない<0>,n
0,髪が抜ける,すごく悪い<-2>:少し悪い<-1>:悪くない<0>,n
0,薬疹,すごく悪い<-2>:少し悪い<-1>:悪くない<0>,n
0,車酔い,すごく悪い<-2>:少し悪い<-1>:悪くない<0>,n
0,母乳,すごく悪い<-2>:少し悪い<-1>:悪くない<0>,n

 

形式はカンマ区切りで、各列は以下のような意味を持っています。

 1列目:体調を記録する画面に表示するかどうか

    0または1で、0なら非表示、1なら表示

    ※表示項目選択画面で変更可能です。

    ※自分に関係ないものを0にしておけば、画面にたくさんの項目が出過ぎて煩雑になるようなことがありません。

 

 2列目:症状、副作用の内容

    10文字以下の文字列

    ※この文字列が体調を記録する画面に表示されます。

 

 3列目:選択肢

    1つの選択肢は10文字以下の文字列で、複数の選択肢をコロン(:)区切りで並べて書く

    症状や副作用の程度に応じて、選択肢の中に<数字>を埋め込む

    ※ここで与えた並び順で表示されます。

    ※<数字>の数字の部分と設定画面で設定する集計基準を比較して集計するかどうかを判別します。

    ※症状、副作用の程度を表し、体調を記録するときに選択します。

 

 4列目:プラス集計かマイナス集計か

    pまたはn

    pならプラス集計(選択肢に埋め込まれた数字が正の数で、絶対値が集計基準以上の時に集計される)

    n:マイナス集計(選択肢に埋め込まれた数字が負の数で、絶対値が集計基準以上の時に集計される)

    ※活動状況など、良い場合に記録するものはプラス集計、症状や副作用のように悪い場合に記録する場合にはマイナス集計として使うのを想定しています。

 

このような仕様に従っていれば、チェック項目を増やしたり、選択肢を変更したり、うつとは関係ない項目に入れ替えたりしても使用できます。

問題になるのは、既に体調データを入力した後に、既にあったチェック項目について症状や副作用の名前を変えたり、選択肢を変えるような場合で、入力済みのデータとの不整合を生じてしまいます。

新たに追加する分には問題ないはずです。

 

チェック項目と薬のリストを入れ替えれば、別の病気にも使えますし、ダイエット日記なんかにも活用できると思います。

別のアプリとして公開した方がユーザ増えるかな...

 

このアプリはAndroidのPlayストアで公開しています。

よろしければ、お試し頂き、ご意見など頂けましたら幸いです。

 

うつ日記 ~うつを克服するための日記~
https://play.google.com/store/apps/details?id=tokin_kame.utunikki_app

うつに効く薬ってなんだろうか?(その2)~うつに関するSNSの分析(集合知)~

うつの人が経験談などを書いている掲示板から有用な知識を抽出してみようという目的で、今回は、前回挙げた掲示板のうちの1つについて、肯定的な表現(「効いている」「効果があった」「調子が良い」「相性が良い」など)を取り出して集計してみた。 

削除されずに残っている書き込み860記事について、記事を文単位に分けて、およそ3文以内で、肯定的に書かれている薬の名前(複数の名前が書いてあって1つに特定することができない場合も含む)の部分を抜き出した。
この結果、105記事まで絞られた。

残りの記事が否定的な書き込みというわけではなく、質問やその回答、アドバイス、肯定でも否定でもなく薬の名前を書いているもの、書いている本人の感想ではなく一般論的なものなどがあった。
そう思うと、意外と肯定的な表現が多いように思う。

今回は、この105記事を用いて、それぞれの薬が肯定的に書かれている回数を集計した。
3記事以上で肯定的に書かれていた薬を以下に示す。

記事数 薬の名前         分類
13   デプロメールルボックス SSRI 
9   パキシル         SSRI 
9   レメロンリフレックス  NaSSA 
9   ジェイゾロフト      SSRI 
9   サインバルタ       SNRI
9   アモキサン        三環系抗うつ薬 
9   レキソタンセニラン   精神安定薬 
8   コンスタン、ソラナックス 精神安定薬 
6   トレドミン        SNRI 
5   ワイパックス       精神安定薬 
4   デパス          精神安定薬 
3   漢方 
3   ミラドールドグマチール、アンピリット その他抗うつ薬 
3   メイラックス       精神安定薬
3   マイスリー        入眠剤 
3   トリプタノール      三環系抗うつ薬 
3   アナフラニール      三環系抗うつ薬 

ここには入らなかったが、以下の2つもそれぞれ2つの記事で肯定的に書かれていた。

記事数 薬の名前
2   ハーブ
2   サプリ

今回は、ジェネリックなどはまとめて集計することにした。
この16種類について、出現頻度で順位を付けて、肯定的な記事の数での順位と比較してみると以下のようになった。

出現頻度 肯定的な
の順位  記事の順位 出現頻度 薬の名前
  2位 →  1位    118   デプロメールルボックス
  1位 →  2位    154   パキシル
  3位 →  2位    109   レメロンリフレックス
  4位 →  2位    105   ジェイゾロフト
  5位 →  2位    103   サインバルタ
  6位 →  2位    98   アモキサン
 10位 →  2位↑   57   レキソタンセニラン
 12位 →  8位    52   コンスタン、ソラナックス
  9位 →  9位    66   トレドミン
 15位 → 10位↑   36   ワイパックス
  7位 → 11位    79   デパス
  8位 → 13位↓   73   ミラドールドグマチール
 13位 → 13位    39   メイラックス
 14位 → 13位    37   マイスリー
 16位 → 13位    16   トリプタノール
 11位 → 13位↓   56   アナフラニール

一応、5位以上、上下したものに矢印を付けてみたが、それ程大きくは変わってない感じ。
有名なものは、効くから有名ということなのかもしれない。

肯定的な記事の量がそれ程多くないので、はっきりとは言えないが、肯定的な記事の数は、2位が同数で6種類並んでいた。
その中には、SSRI、NaSSA、SNRI、三環系抗うつ薬、精神安定薬がそれぞれ含まれていた。
このことから、万能な薬とか、万能なタイプとかいうのがあるわけではなく、飲む人と相性の合う薬が効くという経験則が裏付けられたような気がする。
なんか、それっぽい結果が出て、かえってうそっぽい気がするので、別の掲示板でも似たような結果が出るのか調べてみる必要があるかな。
ちょっと大変だけど。

じゃぁ、相性の合う薬をどうやって見つけるかというのが問題なので、どういう人にどういう薬が効くのかとか調べてみたいかな。

まぁ、そんなに単純じゃないだろうけど。

 

とりあえず、体調と処方を記録して自分が飲んでいる薬が自分と合っているかを見てみることは有効かと思います。

手軽に体調を記録できるアプリを以下で公開していますので、よろしければお試しください。

 

 うつ日記 ~うつを克服するための日記~
https://play.google.com/store/apps/details?id=tokin_kame.utunikki_app

 

 

バックアップ機能の実装 ~Androidアプリの作り方~

実用的なアプリを作るには、バックアップ機能は必須だと思うので何とか作ってみた。

わかってみるとそんなに難しくないんだけど、ちょっとつっかかるところもあったので、まとめてご紹介します。

 

○バックアップを保存する機能の実装

・保存するディレクトリ名を決める

毎回入力するのは面倒なので、年月日と時間で勝手にディレクトリ名を生成するようにした。

日時を取得する方法を使って以下のようにした。

 Calendar now = Calendar.getInstance();
 date = String.format("%04d%02d%02d_%02d%02d%02d", now.get(now.YEAR), now.get(now.MONTH) + 1, now.get(now.DATE), now.get(Calendar.HOUR_OF_DAY), now.get(Calendar.MINUTE), now.get(Calendar.SECOND));

毎回桁数が変わらないようにString.formatを使って、「1」→「01」のように0を追加している。

 

・ディレクトリを作成する

上記で作成した文字列に、わかりやすいように「backup_」という文字列を足して、ディレクトリを作成する。

  String dir = getFilesDir() + "/backup_" + date;
  File file = new File(dir);
  if(file.mkdir() == true){

    //ここにファイルをコピーする処理を書く

  }

file.mkdir()を実行して、ディレクトリの作成に成功したらファイルのコピーを行うようにする。

 

・ファイルをコピーする

ファイルを単純にコピーできればよかったんだけど、調べても方法がわからなかったので、一旦読み込んで、書き込むということをする。

以下の例では、readStringにデータを読み込んであるとした時の、書き込み処理。

  try {
    OutputStream fileOutputStream = new FileOutputStream(dir + "/" + file_name);
    fileOutputStream.write(readString.getBytes());
    fileOutputStream.close();
    err_flag = "OK";
  } catch (FileNotFoundException e) {
    err_flag = "NG";
  } catch (IOException e) {
    err_flag = "NG";
  }

ファイルの書き込みは、上記のようにFileOutputStreamを使うと、パス(ディレクトリ名)を指定できる。

openFileOutputでは、パスは指定できないらしい。

 

○バックアップを削除する機能の実装

削除するバックアップのディレクトリを取得する操作は別途作るとして、削除するバックアップのディレクトリがdirとして得られたとすると以下のように削除することができる。

  if(dir.matches(".*/backup_[0-9]+_[0-9]+") == true){

    int i;

    for(i = 0; i < 6; i++){
      File file = new File(dir + "/" + file_name[i]);
      file.delete();
    }
    File del_dir = new File(dir);
    del_dir.delete();

  }

念のため、ディレクトリ名をチェックした後、ファイル名のリストfile_name[i]について、file.delete()でファイルを削除した後に、del_dir.delete()でディレクトリを削除している。

 

○バックアップを復元する機能の実装

処理的には、バックアップを保存する処理とたいして変わらないが、パスを指定して、読み込む場合には、BufferedReaderというのを使うとパスを指定して読み込むことができる。

  File file = new File(dir + "/" + file_name[i]);

  FileReader filereader = new FileReader(file);
  BufferedReader br = new BufferedReader(filereader);
  while ( (readText = br.readLine()) != null ){
    readString += readText;

  }
  br.close();

・バックアップリストを表示する機能 の実装

特定のディレクトリの下にあるファイル名のリストを取得して、ディレクトリ名のパターンで絞り込んでいる。

  File cd = getFilesDir();
  for(int j = 0; j < cd.listFiles().length; j++){
    if(cd.listFiles()[j].getName().matches("backup_[0-9]+_[0-9]+") == true){
      text += cd.listFiles()[j].getName() + BR;

      id++;
    }
  }

 

これらを組み合わせると、アプリがインストールされているディレクトリの下にバックアップを保存することができるようになる。

 

うつ日記をつけてみて

毎日体調をつけるようになって、客観的に自分と薬との相性がわかるようになった気がする。

うつ日記の効果について、具体的に書いてみたいと思う。

今回は、公開しているうつ日記のアプリに入れているサンプルデータ(実際の自分のデータ)を見ながら振り返ってみたいと思う。

 

サンプルデータは、2014年の7月末頃から、2014年の11月末頃までの約4ヶ月分で、試行錯誤して合う薬を探している経過から、合う薬が見つかるまでの期間になる。

 

まず、7月末~8月中旬頃。

f:id:tokin_kame:20150328104103j:plain

※上段の表のセルの中は、開始日から終了日の間でその症状があった日数と、期間に対するその症状があった日数の割合

※下段の表はその期間の処方量

 

このころは、活動具合(活発に活動できた日の割合)が60%を超えていて、うつの症状は、薬の効果で抑えられている。

だけど、日中の眠気が50%を超えていて、2日に1度は強い眠気に悩まされていた。

このことから、アモキサンジプレキサは効果はあるものの、副作用が強いため、別の薬を試すことになった。

 

次に、8月下旬頃から9月上旬頃。

f:id:tokin_kame:20150328105043j:plain

試したのはデプロメールという薬。

50mgから100mg、150mgへ量を増やしていくと、体調は一気に悪くなった。

活動具合は下がり、気力も低下、眠気も多い。

そこで、デプロメールはあきらめ、今度は、トフラニールという薬を試すことにした。

f:id:tokin_kame:20150328105546j:plain

9月中旬から、デプロメールを減らしつつ、トフラニールを増やしていった。

9月中は徐々に活動具合は上がっているものの、眠気も続いている。

ただ、副作用は体が慣れてくれば弱まることもあるということで、時間をかけて慣らしてみることになった。

 

9月末から10月中旬頃。

f:id:tokin_kame:20150328105938j:plain

活動具合は高いところで安定しながら、日中の眠気は徐々に少なくなってきた。

気力が弱い日があったりして、体調が完全に安定しているわけではいないが、眠気が少ないのは良い傾向だ。

 

10月中旬頃から11月上旬頃。

f:id:tokin_kame:20150328110229j:plain

活動具合は高いところで安定、日中の眠気は、眠気というほどもなくなり、倦怠感として感じるようになった。

ただ、朝早く目が覚める日が目立つようになった。

もう一息を補うために、補助的に、うつ症状への効果が確認できていたアモキサンを足すことになった。

 

11月上旬から11月下旬頃。

f:id:tokin_kame:20150328104037j:plain

実は、11月5日から18日の間で風邪をひいてしまって、調子を崩してしまった。

それで、気力が低下したものの、活動具合はほとんど落ちることもなく、風邪が治れば調子も安定した。

 

その後、体調は安定し、処方も固定になって、復職に向けて本格的な活動を行うことになった。

 

体調を記録しているおかげで、医者に体調を正確に伝えられるし、体調の変化を長い目で見られる。

結果、薬と自分との相性を見極めやすくなったと思う。

 

手書きでも効果はあると思いますので、お困りの方は始めてみてはいかがでしょうか。

以下のアプリは、手軽につけられるように作成したものです。

 

うつ日記 ~うつを克服するための日記~
https://play.google.com/store/apps/details?id=tokin_kame.utunikki_app

 

うつに効く薬ってなんだろうか?~うつに関するSNSの分析(集合知)~

今回が初回なので簡単な趣旨から書きます。 
Wikipediaを利用している人も多いと思うけど、Wikipediaは不特定多数の人がそれぞれ持っている知識を出し合って作られているもので、このような多くの人の知識を結集させて得られる知識は集合知と呼ばれる。 

SNS
は、集合知として活用されることが第一の目的として作られているわけではないと思うけど、有益な知識が蓄積されていることは確かだ。 
そこで、SNSに結集されている知識をどのように活用できるか試してみたいと思っている。 

まず、注目したのは、医薬品の情報。 
今回は、手始めとして、2つの抗うつ薬に関する掲示板について集計を行った。 
これらの掲示板には、よく飲まれている薬にどのようなものがあるか、どの薬で効果を実感しているか、どんな副作用に悩まされているかなどの知識が蓄積されている。 
いきなり内容に踏み込むのは難しいので、とりあえず、基礎情報として、コメントの数、書き込んでいるユーザの数、頻繁に話題になる薬のランキングなどについて調べてみた。 
(集計は大雑把なものなので頻度に誤差があることはご了承ください) 

・1つ目の掲示板
 集計期間:2006年3月30日(掲示板立ち上げ時)~2014年12月21日 
 コメント数:901(削除済みも含む) 
 書き込んでいるユーザ数:204人(SNS退会者を除く) 
 2回以上書き込んでいるユーザ数:80人(SNS退会者を除く) 
 5回以上書き込んでいるユーザ数:18人(SNS退会者を除く) 

 薬の名前の出現頻度ランキング(トップ30) 
  頻度  薬の名前 
  154 パキシル 
  105 リフレックス 
  105 ジェイゾロフト 
  103 サインバルタ 
  098 アモキサン 
  079 デパス 
  068 ドグマチール 
  066 トレドミン 
  063 デプロメール 
  056 アナフラニール 
  055 ルボックス 
  053 レキソタン 
  042 リーマス 
  039 メイラックス 
  038 ソラナックス 
  037 マイスリー 
  036 ワイパックス 
  035 デパケン 
  033 エビリファイ 
  028 リタリン 
  025 レスリン 
  024 ジプレキサ 
  023 ハルシオン 
  021 テトラミド 
  019 テグレトール 
  019 セパゾン 
  019 サイレース 
  018 スルピリド 
  018 アモキサンカプセル 
  017 レンドルミン 

・2つ目の掲示板 
 集計期間:2008年1月1日(掲示板立ち上げ時)~2014年11月25日 
 コメント数:718(削除済みも含む) 
 書き込んでいるユーザ数:330人(SNS退会者を除く) 
 2回以上書き込んでいるユーザ数:67人(SNS退会者を除く) 
 5回以上書き込んでいるユーザ数:5人(SNS退会者を除く) 

 薬の名前の出現頻度ランキング(トップ30) 
  頻度  薬の名前 
  235 デパス 
  171 レキソタン 
  160 パキシル 
  158 ジェイゾロフト 
  130 ソラナックス 
  121 ワイパックス 
  115 マイスリー 
  112 アモキサン 
  104 サインバルタ 
  102 ロヒプノール 
  086 ハルシオン 
  085 エビリファイ 
  083 サイレース 
  082 リフレックス 
  081 セロクエル 
  080 レンドルミン 
  072 デプロメール 
  065 トレドミン 
  064 デパケン 
  062 メイラックス 
  059 ドグマチール 
  057 リボトリール 
  053 ルボックス 
  045 レボトミン 
  045 アモバン 
  044 ベンザリン 
  043 トリプタノール 
  042 レメロン 
  039 コントミン 
  038 テトラミド 

別名やジェネリックを考慮せずに、ただ名前の出現回数を集計しただけで、また、どういう文脈で書かれているかということも考慮していないので、今の時点では下手な解釈は控えた方が良いが、見向きもされないものが何度も挙がるとは考えにくいので、良くも悪くもよく使われるものが上位に上がる傾向にはあると思う。 
実際、2つの掲示板を比較すると、順位の差はあるが、上位に上がる薬はおおよそ一致しているようである。 
ただ、比較的上位でも片方にしか出てこないものや、聞きなれないものもあった。 
薬の役割(抗うつ薬とか、睡眠薬とか)に着目して集計したり、良い文脈で使われているのか悪い文脈で使われているのかに分けで集計するなどした方が良いかもしれない。 

次回からは、徐々に内容に踏み込んでいきたいと思う。
 
 

画面に合わせてサイズを決める ~Androidアプリの作り方~

Androidのアプリを作る時に戸惑ったのが、端末の画面に合わせて、ボタンやスクロールなどのviewの大きさを調節すること。
端末によって解像度(1インチ幅のドット数)も違えば、画面の大きさも違うので、どの端末でも画面からはみ出したり、余計な隙間を作ったりしないようにするのは、結構難しかった。

ネットで調べると、解像度や画面の大きさを取得する方法や、画像を一旦設定して画面上でのサイズを取得する方法が見つかったので、色々試してはみたものの、上手くいかなかった。
デバイスのDPIを取得 と dip ⇔ px の変換 - 戌印-INUJIRUSHI- (Androidあれこれ) -
【Android】画面サイズに合わせて、動的にView要素のサイズの変更 - Qiita
まぁ、やり方が悪かっただけかもしれないが。
結局のところ、ぴったり合わせるのは難しかったが、簡単な方法でおおよそ上手くいったので、書き残しておく。

今回のは、大雑把に言うと、画面の大きさを取得して、viewのサイズは画面の大きさに対する比率で計算するという方法。

そもそも、画面上の部品にサイズを指定する方法には、2種類ある。
1つ目は、xmlファイルに書く方法で、文字のサイズを指定する場合には、以下のような感じ。

もう1つは、javaで後から変更する方法で、上記のxmlタグに対して、IDを使って以下のように設定する。
TextView text = (TextView) findViewById(R.id.text_id);
text.setTextSize(24);

サイズが固定のボタンやタイトルのようなものは、xmlファイルに書く方が無難。
画面に合わせて、ボタンを大きくしたり、できるだけviewを広くしたい場合には、javaで指定する方法を使うことになる。
javaで指定する場合には、多分ピクセル数を引数として与えるんだけど、いくつにすれば良いのかよくわからない。
解像度が高くなったり、画面が大きくなったりすればピクセル数が多くなるはずなので、その分引数に大きな値を入れてやれば良いのかなと思うんだけど、結局良くわからなかった。
しょうがないので、絶対値で与えるのはあきらめて、画面サイズに対する比率で与えることにした。

まず、画面サイズは以下のように取得する。
WindowManager wm = (WindowManager)getSystemService(WINDOW_SERVICE);
Display disp = wm.getDefaultDisplay();
これで、disp.getHeight()としてやれば、画面の高さが得られるし、disp.getWidth()としてやれば、幅が得られる。
例えば、以下のようにすれば、画面の半分の幅のボタンにできる。
Button b = (Button)findViewById(R.id.button_id);
b.setWidth( (int)(Double.valueOf(disp.getWidth()) / 2.0));

スクロールビューの場合はちょっと複雑で、以下のように、一旦パラメータを取得してからサイズを指定すると上手くいった。

ScrollView scrollview1 = (ScrollView)findViewById(R.id.scroll_id);
LayoutParams params1;
params1 = scrollview1.getLayoutParams();
params1.height = (int)(Double.valueOf(disp.getHeight()) * 4.0 / 7.0);
scrollview1.setLayoutParams(params1);

ここでは、画面の大きさの4/7をサイズとして指定している。
ボタンやテキストと並べたりする時に、画面の大きさとの比率をどれぐらいにするかは、試行錯誤するしかない。
そういう意味では、かなり雑な方法ではあるけど、実用的ではある。