2019年7月31日水曜日

役割に別れて作業9

今日のゼミでは前回に引き続き、それぞれ作業を行った。

小山:とりあえず直接カレンダーに薬の予定を書き込み、表示を確認。
QRコードの情報を直接書き込んで使えば、カンマで区切られているため簡単に使用できるようになると思う。ただし処方される薬の量が増えるとQRコードの数が増え、適当な場所で情報が分けられるため複数のQRコードの情報をきれいにくっつけるように設定する必要があると思われる。

谷口・勇:AIスピーカーに「薬飲んだ」と言ったら、カレンダーに記録された。LINEに飲んだということも一緒に通知されるようになった。

平松:ファイルが混在していたため整理を行った。3つほど同じものが入っていたため、確実にいらないと思われる1つを削除した。
引き続き、googleカレンダーとの連携をしていく。

内田:google api V3を使用するにあたってのセットアップはできた。
しかしgrodeファイルを開くことができず、ファイルの編集を行うことができない。
金曜日までに何とかする予定である。

2019年7月30日火曜日

開発会議




今日はゼミメンバー全員で改めて仕様の話し合いを行った。
それぞれ次のステップに移るためにやることをまとめた。



小山:8月の半ばまでにデータフォーマットをどのようにするか考える。
今日はカレンダーに手打ちで入力したが、どのように表示すると見やすく,またデータを見に来るベアボーンが情報を読み取りやすいか考えていく必要がある。
今日は主にorcaをダウンロードしてお薬手帳のQRコードのフォーマットを確認した。

内田:8月半ばまでにどうすればGoogleカレンダーにデータを書き込めるか調べ、完成させる。9月までにQRコードリーダーとFirebase連携させる。

平松:8月23日までにFirebaseとベアボーンを連携させ情報を読み取れるようにする。
今日はGoogleカレンダーのAPIを取得した。

谷口勇:IFTTTでカレンダーに予定を打ち込むのはできた。
詳細な設定というのがあったが色を変えることができるか次回調べる。
カレンダーの予定からAIスピーカーがしゃべるかどうかも次回。

2019年7月19日金曜日

オープンキャンパスに向けて

いよいよ今週はオープンキャンパスでそれに向けての準備を行った。
予行練習ではケーブルの問題でプロジェクターに正常に映らなかったが、ケーブルを変えることで解決した。
当日も問題なくできればいいなと思う。
また高校生が少しでも興味を持ってくれると嬉しい。

役割に別れて作業8

・機能一覧作成 担当

飲み忘れ通知がくるようにGASを使い元あるテンプレートを変えながら操作してみたがえエラーが起きてしまいLINEに通知が来ない。日付のフォーマットに問題があるとわかったため、IFTTTのスプレッドシートの所を変更してみたがまだエラーが出ている状態。


・google home notifier 

IFTTTを使い天気の情報を取得しその情報を元にAIスピーカーか
自発的に喋らそうとしたがそのためにng〇〇〇でURLを取得しなければならなかったのでそのインストール作業を行った。


・google home スキル開発 担当

AndroidStudioからAndroidにapkファイルのインストールに成功した。
次回は機能をもっと充実させる予定。



次回はオープンキャンパスの話し合い&リハーサルを行う。
なんとしてでもデモの際に5分間持たせるように、また高校生に興味を持ってもらえるためには何をするのかみんなで考える。


【補足】

IFTTTとGoogleスプレッドシートと連携して、指定の時刻が来たらLINEにメッセージを送る処理でエラーが発生した。ここではそのエラーの原因とその対処法について説明する。

原因


Google Homeに薬を飲んだことを伝えると、スプレッドシートにそのときの時刻が書き込まれる。その時刻のフォーマットは「June 28, 2019 at 03:13PM」のような形式になっている。
ところが、この日付フォーマットはスプレッドシートに埋め込まれたJavaScriptで書かれた下記のスクリプトではエラーになる。
//日付フォーマット
function formatDate(date, format) {
  date = new Date(date);
  return Utilities.formatDate(date, 'JST', format)
}
図1. 日付フォーマット関数

これは、JavaScriptでは「June 28, 2019 at 03:13PM」というフォーマットの日時をサポートしていない(解釈できない)ためである。

対策


この問題を解決するために、IFTTTの設定でスプレッドシートに書き込む日時データのフォーマットを変更しようとしたが、そのようなオプションはなかった。
そこで、このフォーマットの日時データを通常のJavaScriptで扱える形式に変換する下記の関数を作成してこの問題を回避した。

// 日付のチェック(June 28, 2019 at 03:14PM → Fri Jun 28 2019 15:22:00 GMT+0900(日本標準時))
// Modified at 2019-7-17
function check_date(target_date) {
  var pattern = /^(\w+)\s(\d+),\s(\d{4})\sat\s(\d{2}):(\d{2})(AM|PM)$/i;
  var regexp = new RegExp(pattern);
  var result = regexp.test(target_date);
  if(result) {
    var matched = target_date.match(regexp);
    var str = matched[0].replace('at ','');
    var str = str.replace(matched[6],'') + ':00';
    var new_date = new Date(str);
    if(matched[6] == 'PM') {
      new_date.setHours(new_date.getHours() + 12);
    }
    return(new Date(new_date));
  }
  return(new Date(target_date));
}
図2. 日時データのフォーマット変換関数

 これを使って図1の日付フォーマット関数を以下のように修正した。
//日付フォーマット
function formatDate(date, format) {
  date = check_date(date);
  return Utilities.formatDate(date, 'JST', format)
}

2019年7月5日金曜日

中間報告会

今日は中間報告会でした。 思いのほか先生からの好印象で、良いものができたら売りに出せるとのおほめの言葉をいただきました。 ですが、問題点やこれからしていかなければならないことも発見しました。(以下)
  • 処方箋へのQRコードは標準化されているのか 
  • 飲み忘れ時のLINEへのアラート機能はどうなっているのか 
  • レセ電を標準化している病院ではたぶんできるのではないか 
QRコードの読み込みができるようになればものすごく良いものができるのではないかという結論に至りました。

これから調べること
  • お薬手帳にQRコードを印字している調剤薬局はどのくらいあるのか 
  • 電子版お薬手帳の普及率の調査 
今回の中間報告会で印象が良くトピック賞を狙えるのではないかと思ったので残りの時間でより実用化できそうなものにしていきたいと思いました。


【補足】

電子版お薬手帳の適切な推進に向けた調査検討事業報告書」によると、電子版お薬手帳サービスの開発・運営事業者30事業者に対して行ったアンケート(25事業者から回答があった)の結果
  • サービスの約7割がJAHISフォーマットに準拠している
  • 「レセコン出力の調剤情報QRコードを利用者のスマホで読み取る」サービスを導入している薬局が19件中15件と多数を占めた
ということがわかった。

また、調剤情報や気付いた内容を利用者自らが記入したり医療機関が利用者に聞いて記入する仕組みがないシステムがほとんどだった。

図1と2はORCAで作成したお薬手帳に印字したQRコードを読み取ったものである。
図1.QRコードで読み取った患者基本情報

図2.QRコードで読み取った処方情報
これらはCSV形式のデータになっている。これらを「JAHIS電子版お薬手帳データフォーマット仕様書Ver.2.3」のP27にある「お薬手帳イメージと出力データ例」と見比べると、細かい違いはあるものの、ほぼ同じ形式になっている。つまり、ORCAはJAHIS電子版お薬手帳データフォーマット仕様書にしたがって処方内容を出力しているようだ。したがって、標準化の問題はクリアできていると考えてよさそうだ。


参考文献

  1. 平成27年度厚生労働省委託事業. 電子版お薬手帳の適切な推進に向けた調査検討事業報告書. 2015.11.
  2.  JAHIS電子版お薬手帳データフォーマット仕様書Ver.2.3. 2019.04.