医療介護現場に笑顔を増やすプロダクトを実装したい-スマイルレポート2

医療介護現場に笑顔を増やすプロダクトとしてスマイルレポートを考えた背景を前回の記事で書きました。

https://qiita.com/naokiuc/items/db39bd2797e6eaaca643

今回の記事では、具体的な運用と技術実装の経過について書きます。
（ちなみに、現時点で何もでき上っておらず、詰まっている経過の報告になります）

#運用
仕事終わりにスマイルレポートサイトにアクセスし、報告をするというのが基本運用です。
![68747470733a2f2f71696974612d696d6167652d73746f72652e73332e61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2f302f323035313930362f66666361396433342d373731322d333531342d646437302d6439353466346434663130392e6a70.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2051906/2038974c-0d5d-a17e-6644-489d7b894338.jpeg)
上記がサイトイメージですが、まずはCodePenの手本で転用できるものがないかを調べ、「choices」「select」「button」などで調べたところ、即使いたいというものはありませんでした。

そもそも、コードの基礎が全く分かっておらず、リンクに飛ばすにはJavaScriptのコードが必要なのかと考えて「JavaScript リンク」とのキーワードでググってたどり着いたのがこちらのサイトでした。

https://techacademy.jp/magazine/37411

書いてある通りにやって、「ボタン」と書かれたものから用意されたリンクに飛ぶことはできるものの、Googleフォームで作ったサイトに飛ばそうとしても、うまく飛びませんでした。
しかも、いくつかの記事を読んでいると、リンクに飛ばす処理をするのは一般的にはJavaScriptを用いるのではなくHTML上でできるとのこと。
やはりHTMLやCSSの基本的な知識が必要と考えて、まずはProgateで「HTML＆CSS 初級編」を行ってみることに。

<details><summary>Progateでの学びを活かして作ってみたのがこちらです。</summary>
<p class="codepen" data-height="300" data-default-tab="html,result" data-slug-hash="abLmojp" data-user="naokiuc" style="height: 300px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; border: 2px solid; margin: 1em 0; padding: 1em;">
  <span>See the Pen <a href="https://codepen.io/naokiuc/pen/abLmojp">
  Untitled</a> by Naoki Ucihda (<a href="https://codepen.io/naokiuc">@naokiuc</a>)
  on <a href="https://codepen.io">CodePen</a>.</span>
</p>
<script async src="https://cpwebassets.codepen.io/assets/embed/ei.js"></script></details>

ちなみに、Progateのお手本では、html側の一番上に<!DOCTYPE html>って書くようになってるのですが、「Just HTML that goes in the <body> goes here.」のエラー出続けたので、<!DOCTYPE html>を消したところエラーが消えました。

全体の見た目がいまいちなのはBootstrapを使えばかっこよくできるのかもしれませんが、見た目はひとまず保留し機能の実装を目指します。

サンクスレポートを押すと飛ぶ先のサイトイメージがこちら。

![https___qiita-image-store.s3.ap-northeast-1.amazonaws.com_0_2051906_5e5a4bf0-88d0-b7a9-29a6-ba392137b72a.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2051906/2fdc00f4-1d4a-b182-cfd7-485e251ef400.jpeg)

<details><summary>そして上記イメージをCodePenで実装したのがこちらです。</summary>
<p class="codepen" data-height="300" data-default-tab="html,result" data-slug-hash="JjrRXyb" data-user="naokiuc" style="height: 300px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; border: 2px solid; margin: 1em 0; padding: 1em;">
  <span>See the Pen <a href="https://codepen.io/naokiuc/pen/JjrRXyb">
  サンクスレポート簡易</a> by Naoki Ucihda (<a href="https://codepen.io/naokiuc">@naokiuc</a>)
  on <a href="https://codepen.io">CodePen</a>.</span>
</p>
<script async src="https://cpwebassets.codepen.io/assets/embed/ei.js"></script>
</details>

上記CodePenで作ったアプリをnetlifyにデプロイしたのが[こちら](https://eloquent-wescoff-9ee544.netlify.app/)で、ここへのリンクを以下のコードで貼りました。

```html
<div class="contents-item">
          <h2><a href="https://eloquent-wescoff-9ee544.netlify.app/">サンクスレポート</a></h2>
```

<details><summary>それを生かしたものがこちらです。</summary>
<p class="codepen" data-height="300" data-default-tab="html,result" data-slug-hash="abLmojp" data-user="naokiuc" style="height: 300px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; border: 2px solid; margin: 1em 0; padding: 1em;">
  <span>See the Pen <a href="https://codepen.io/naokiuc/pen/abLmojp">
  SRトップページ</a> by Naoki Ucihda (<a href="https://codepen.io/naokiuc">@naokiuc</a>)
  on <a href="https://codepen.io">CodePen</a>.</span>
</p>
<script async src="https://cpwebassets.codepen.io/assets/embed/ei.js"></script></details>

また、簡易報告サイトの最終画面のイメージがこちら。

![https___qiita-image-store.s3.ap-northeast-1.amazonaws.com_0_2051906_9bf49e6e-c40c-b6a5-b7dd-dfb26d706173.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2051906/ca5c3ea6-bbe7-9550-8b2c-7903cd9e2e88.jpeg)

<details><summary>しかし、よく考えたら詳細レポートのところは「はい」「いいえ」ではなく、「サンクスレポート」「ヒヤリ・ハット レポート」「詳細入力は後日」とした方が良いと考えCodePenではこのように実装しました。</summary>
<p class="codepen" data-height="300" data-default-tab="html,result" data-slug-hash="BawLzoe" data-user="naokiuc" style="height: 300px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; border: 2px solid; margin: 1em 0; padding: 1em;">
  <span>See the Pen <a href="https://codepen.io/naokiuc/pen/BawLzoe">
  スマイルレポート最後</a> by Naoki Ucihda (<a href="https://codepen.io/naokiuc">@naokiuc</a>)
  on <a href="https://codepen.io">CodePen</a>.</span>
</p>
<script async src="https://cpwebassets.codepen.io/assets/embed/ei.js"></script>
</details>

トップページから、一通りリンクを踏んで簡易報告の最終画面からサンクスレポート詳細報告用のGoogleフォームまで飛べるサイトがこちらになります。

https://eager-jones-3c8c64.netlify.app/

これでアプリのイメージをしていただけるでしょうか。

#課題
いくつも課題があるのですが、最大の課題は点数をどう個人に積み重ねていくかです。
現時点での実装イメージとしては、リンクを踏んだことをGoogleスプレッドシートの方に記載して最終的に集計する方法を考えています。
クイズ形式で丸バツを積み上げていくようなサイトはあるでしょうから、その仕組みが応用できそうな気もします。

また、個人の区別をどう行うかも課題になります。
個人ごとにアカウントを作って、そのアカウントの中に点数が積み上がっていくようにするのか、それともトップページで名前を入れるようにして、それを何らかの方法で点数に紐づけていくか。

Googleフォームの項目を別デザインで利用する方法もあるとのこと。

https://qiita.com/inoue2002/items/78dac54dba93ea4a087a

Googleスプレッドシートに答えを集約して、まとめて集計という方法を採用する場合は、この考えが使えるかもしれません。

点数を積み上げていったり、簡易版の報告をできるようにしたのは毎日の報告のモチベーションを上げるためなので、まずは簡単に用いるとすれば１ページだけでサンクスレポートとヒヤリハットレポートの分岐があるものだけでも現状の紙ベースのヒヤリ・ハット報告だけのものよりはるかに有効なものになると考えます。
とりあえず作ってみました。

https://youthful-yonath-d59e3c.netlify.app/

こちらのサイトをまずは同僚にみせてみたところ思っていた以上に大好評。
早めに実装して、運用した上での課題も蓄積していこうと思います。