医薬品のリスク区分を写真で確認できるLINE Bot

　私はスーパーマケットの商品部で仕事をしています。
最近、**デジタル**の勉強を始め、デジタルを活用し新しいことができることに
日々**感動**と**驚き**の毎日を過ごしています。

　日常の会話から**業務課題**を見つけ解決案を考えてみました。
他部署の方とお話をさせて頂いた際に、医薬品のリスク区分の話になりました。
パッケージに記載はあるが、それをすぐに判別したり、「区分がどういうものなのかを確認できるといいな」と。医薬品には「第1類医薬品」から「第3類医薬品」まであり副作用によってリスク区分が分類されています。そのリスク区分によって、情報提供が必要かどうかの判断材料の1つとなっています。医薬品にかかわったことがない場合、説明義務があるのかどうかがわかりません。そこで、医薬品のリスク区分や説明が必要かどうかの判断ができる仕組みを考えてみました。
　私もお店にいた時、医薬品の販売に携わっていましたが、お客さまから医薬品の問い合わせがあった際に、成分や効能などすぐにでてこないことがありました。そんな時、すぐに添付文章など簡単に確認出来たら便利だなと感じたことがありました。
　今回はLINEで撮影した医薬品のリスク区分をTeachable Machineを使用し判定、リスク区分を返してくれるLINEBotを作成してみました。

医薬品の画像判定
-
<blockquote class="twitter-tweet"><p lang="ja" dir="ltr"><a href="https://twitter.com/hashtag/protoout?src=hash&amp;ref_src=twsrc%5Etfw">#protoout</a><a href="https://twitter.com/hashtag/LINEBot?src=hash&amp;ref_src=twsrc%5Etfw">#LINEBot</a><br>医薬品の画像判定～ <a href="https://t.co/4XhHzKEmJ7">pic.twitter.com/4XhHzKEmJ7</a></p>&mdash; 勝又慎司 (@KatsumataS80528) <a href="https://twitter.com/KatsumataS80528/status/1649033407324889088?ref_src=twsrc%5Etfw">April 20, 2023</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

使用するもの
-
・Teachable Machine
・Node-RED
・LINE Developers

作り方
-
1.Teachable Machineで医薬品のリスク区分を学習させます。
2.Node-REDでフローを作成します。
3.LINE Developersを設定し連携させます。

**Teachable Machineの学習**
今回は医薬品のリスク区分で学習させます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3291625/8065e7cd-30d4-6858-ad9d-22f61de5da3d.png)
①Teachable MachineのClassに学習させたいモノの名称を入力します。
②次にウェブカメラを使用し学習させたいモノのサンプルを取得します。
③学習させたいモノのサンプルが取得できたらトレーニングをし、モデルエクスポートします。
④モデルをエクスポートし、モデルのアップロードを行い完了したら、作成されたURLをコピーしておきます。

**Node-REDの設定**
LINE Messagin API を利用できる Node-RED のノードを追加します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3291625/f4635d61-0fa3-e950-7802-1b5fc5c6a937.png)
Node-REDのパレット管理からノードの追加を選択し下記で検索し追加します。
「node-red-contrib-line-messaging-api」
ノードの追加ができたらフローを作成していきます。

**Node-REDの全体フロー**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3291625/6b256af0-0e41-6bb0-d711-89854176597e.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3291625/9f40388c-2765-8d95-137e-f68e8859fc29.png)
webhookノードの編集でPathとNemeに「webhook]を入力します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3291625/8110da99-58fa-c7b6-fc75-18276ef5d5cf.png)
templateの編集でプロパティを「msg.messageId」に設定します。
テンプレートを{{line.event.messge.id}}にします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3291625/3cfb09a7-6f72-8c93-b54f-9bc2c3573e78.png)
http requestのURLに下記を入力します。
https://api-data.line.me/v2/bot/message/%7B%7B%7BmessageId%7D%7D%7D/content
種別を「Bearer認証」にし、LINE Developersからトークンをコピーし貼付けます。
Teachable MachineのURL欄に、学習させたTeachable MachineのURLを貼付けます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3291625/d0063586-98cb-a799-ff85-6098403c5638.png)
templateの編集でプロパティを「msg.payloadに」設定します。
テンプレートを「これは{{payload.0.class}}です。」に設定します。
最後にReplyMessageのトークンにLINE Developersからトークンをコピーし貼付けます。

最後に
-
　今回は医薬品のリスク区分の確認だけしかできませんでしたが、画像の送信で添付文章も一緒に確認できるようになると便利になると思います。また、添付文章以外にセルフメディケーションの対象に該当するかなど確認できるとさらに便利になると思います。自部署の方にこのLINEBotを見て頂いたところ、添付文章まで確認できると大変便利になるのでいいと思うと意見を頂きました。お店でお客さまから質問があった際に調べる側はより正確に早く、そして、お客さまを待たせないためにも活用できるのではないかと考えています。
　会話から課題が見つけられ、解決するために何がでできるかを考えてみました。
最後まで読んでいただきありがとうございました。