選定療養品か簡単に判断できる!シフトが簡単に見ることができる！薬剤師の妻の要望に応えたLINE bot

皆さま初めまして。ドラッグストア業界で複数店舗を巡回している、薬剤師のmiyamotoです。

Makeというツールを使ったLINE botの作成の話になります。

## なぜ選定療養品か簡単に判別できるLINE botを作成したのか
薬剤師である妻は、患者様に１分１秒でも早くお薬をお渡しするため、**時間に追われながら仕事**をしております。
診療報酬改定によって10月１日より選定療養が始まりますが、その選定療養品の品目はかなり多く（約1200品目）いちいち確認をしていては貴重な時間を無駄に浪費してしまうことになります。
妻自身もとてもじゃないが全てを覚えられない！と憤慨しております。

（選定療養品制度とは指定の処方医薬品を、ジェネリック医薬品で使わなかった場合、割り増しで自己負担金が増えますよという仕組みです）

そこで、簡単に選定療養品かどうか判断が出来るbotを作れれば、大幅に時間の短縮が出来ると考えました。
簡単なLINE botではありますが、医薬品を入力するだけで簡単に選定療養品かどうかがわかるため、調べる時間などを大幅に削減できます。

また、妻から
**「シフトが分かりにくいから日にちを入れたらどこの店舗に居るかわかるのを作ってほしい」**
**「最近ワンワンという言葉を覚えた息子の為に犬の画像が出るようにしてほしい」**

・・・頑張って一つにまとめてみました:fist:

## 使用ツール
・LINEmessagingAPI
・LINE Official Account Manager
・Make
・Googleスプレッドシート
・Stanford Dogsデータセットに基づく犬API
URL　https://dog.ceo/api/breeds/image/random

## 実際のLINE botの様子
https://x.com/331824miyamoto/status/1822999951548530812

## 完成したMakeシナリオのスクリーンショット
![スクリーンショット 2024-08-12 212455.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3839271/37ecb9d1-954d-0545-feba-922435ee00df.png)

Googleスプレッドシートは二つ用意しまして、１つは選定療養品のリスト、もう一つは自分自身のシフトです。
医薬品名を入れると選定療養品の場合は〇の回答が来ます。
それ以外の場合は犬の画像が来るようになっています。
また、半角で日にちを入れることで、その日の勤怠情報を見ることが出来るようにしました。

適当な文字を入れると犬の画像が出るようになります。子供が最近スマホでいたずらをしているので、好きな言葉を入れると犬の画像が帰ってくるという仕様になります。

・・・やっぱり初心者にはGoogleスプレッドシートが便利なのかもしれない！

## 手順
### ①まずはLINEmessagingAPIとMakeの連携
![スクリーンショット 2024-08-12 234558.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3839271/7f597ceb-9b2b-f641-d6ad-7d32deaa3216.png)
簡単なオウム返しがこれで出来るようになります。

### ②Stanford Dogsデータセットに基づく犬APIを入れてみよう
![スクリーンショット 2024-08-12 234844.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3839271/c435070f-a0db-15f1-64c5-4be24d120f9f.png)
URLにはJSONコードに書いてあったURLを入れました。
URL　https://dog.ceo/api/breeds/image/random
![スクリーンショット 2024-08-12 235126.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3839271/00e4debf-eb05-eb42-6ada-2cfb8f1283cc.png)
MessagesのTypeをimageに変えることで無事に返信が画像になります。
ここがTEXTのままだと文字で返事が返ってきます。

### ③Googleスプレッドシートを作成してMakeと連携してみよう
![スクリーンショット 2024-08-13 001316.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3839271/3040b4c4-194b-2ef4-3ba6-5c46e6337862.png)
簡単ですが、医薬品と可否の項目を作り、選定品の場合は〇といった形でシートを作成しました。
勤怠のシートも同様に作成をしています。
![スクリーンショット 2024-08-13 002235.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3839271/e3b94c04-0094-449d-d91b-43d7dca0e458.png)
間に入れて
![スクリーンショット 2024-08-13 002148.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3839271/548b134f-8a37-26ff-0f9f-37a8c15dd078.png)
自身のGoogleアカウントと連携をして、シートを選択します。
商品名は完全に一致をした場合に回答が来るように設定をしました。

### ④Routerを設置してLINEのsend a push Massageを分岐させよう
![スクリーンショット 2024-08-13 002850.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3839271/656f7830-6217-c077-464b-9b69e9d2822c.png)
Googleスプレッドシート内の医薬品名以外を入れた場合、犬の画像がでるように設定をしました。
![スクリーンショット 2024-08-13 202458.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3839271/81a21bf2-eb59-46aa-6061-fcdc1e6886f1.png)![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3839271/112fddd4-4029-4aef-3013-fbb67a7178af.png)

ルーターの分岐は、シートの「商品名」が完全一致していた場合、Googleスプレッドシートの「可否」の文字が返ってくるように設定しています。それ以外の場合は犬の画像が来るように設定をしました。

### ⑤シフトのGoogleスプレッドシートを連携させて完成させよう
では、最後にシフトを入力したGoogleスプレッドシートを連携させてみると
![スクリーンショット 2024-08-12 212455.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3839271/162ebffa-b6a0-0452-e210-4c60112045c5.png)
このような形になりまして、選定療養品ではない文字を入力したときは、次のシフト関連のGoogleスプレッドシートのほうに行きます。そこで、日にちだった場合はシフトが表示され、それ以外だったら犬の画像が出るように更に分岐をさせています。
これで完成！

## 妻からの評価
試しに使ってみてもらうと、選定品かどうかは確かにわかりやすいとのこと。ただ、完全一致だと入力がミスしていたり、ｍｇなどの規格が必要かどうかなどの判断が難しいとのことでした。んー、確かにその通りです。

あと、もっと子供の言葉遊びが出来るツールにしてほしいとのことでした。
例えば、ワンワンで犬の画像　クワクワでアヒルの画像などです。
もっと慣れれば色々な連携ができるようになるのだろうか。
子供のためにも楽しいLINE botを作成していきたいと思います。

## まとめ
Makeを使ったLINE botですが、今回の設計はシンプルで初心者がまさに作ったものだと思います。
それでも大きな一歩が踏み出せたと実感しています。今回作成したLINE botを薬局従業員と共有して、沢山の要望を形にできたらなと考えています。

## 参考資料
初めてのQiitaでの記事作成に伴い、レイアウトなどを参考にさせていただきました。
ありがとうございました。
https://qiita.com/88Eqv/items/9ca66d28599b9712b9b9
https://qiita.com/hoshieee/items/e499ecbdf2f79c0cd5d6