#46 福kin 破綻するテーブルを救おう(解決編)
※福kin(福祉の現場のkintoneシステム)
※福祉医療業界で活用できるシステム作成のnoteです
前回
前回は破綻する構造のテーブルデータを新しいアプリでレコード化しました。
レコード化したのはいいが、運用時に新しくレコード作成して、マスタから情報を取得して…とするのは効率化から遠ざかる、そんなお話をしました。
今回は現場での運用編です。
プラグインとの出会い
現場の要望としては
①今(テーブル運用)よりも入力時間を短くしたい
②当日デイサービスを休んだ人は最初から抜いて欲しい
③かといって複雑な運用だと困る
なんともはや、難しい宿題です。
新規レコードだと入力時間は長くなる…
だったらエクセルに書き出して、リハビリ報告アプリに読み込ませようか?
いやいや、複雑な運用になってしまう…
そんなウンウン唸っている時にふと見つけたのが
TISさんの「テーブルデータコピープラグイン」
このプラグインの機能を一言でいうと
テーブルデータをレコードに変換し、別アプリへコピーするプラグイン
なんです。
ん?ということは、毎日新しいテーブルで利用者を管理しているアプリがあればそこから「リハビリ報告アプリ」へレコードとしてコピーできるんじゃ!
そう!デイサービスにはバイタル管理アプリがあるじゃないか!
どんなアプリか詳しくは以前記載したノートにありますが、
要はその日に来る利用者様が1レコード内にテーブルとして管理されているアプリです。
入れてみよう!プラグイン
それでは実際にプラグインを入れてみましょう。
その前にまずは今回の仕組みを考えるうえで大事なバイタルアプリ上のフィールドをご説明します。
大事なのは
①の種別フィールドと②の利用者コードフィールドです。
①にいては、当日デイサービスを休んだ利用者様については入力一覧から省いて欲しいという要望が職員からあったので、その判別のために必要なフィールドです。
②については、この主キーを元にコピー先のリハビリ報告アプリで自動ルックアップを行います。
実際のプラグインの設定画面がこちら
①のコピー先アプリは、そのままですが、現在テーブルとなっているデータをレコードとして保存する先のアプリを指定します。
②でコピーするフィールドを指定します。今回はコピー先の「リハビリ報告アプリ」にて主キーを元にマスタからルックアップで情報を取得する構造にしてますので、主キーとなる「利用者コード」のみコピー先のルックアップフィールドにコピーします(コピー先で自動的にルックアップの取得がなされます)
③でコピーする際の条件を付けられます。
今回は、当日休んでいる利用者様は省きたいので、コピー元であるバイタルアプリの種別フィールドで休みとなっている利用者以外をコピーするように設定しました。
さぁ、これで設定は終了です。
設定が終わると、コピー元のバイタルアプリにて画像のようなボタンが出現します。
これを押すと、職員の要望であった
①今(テーブル運用)よりも入力時間を短くしたい
②当日デイサービスを休んだ人は最初から抜いて欲しい
③かといって複雑な運用だと困る
この3つの条件を満たしつつ、レコードとしてリハビリ報告が運用できるようになる!本当でしょうか??
押してみよう!確認してみよう!
押す前に今一度リハビリ報告アプリのフィールドをおさらい
赤い部分はルックアップで設定されているフィールドです。今回テーブルからは主キーである利用者コード(リハビリ報告アプリではルックアップフィールド)しかコピーしてません。しかし主キーをコピーすると同時に取得も行われるので問題ありません。
もう一点、リハビリ報告アプリの一覧に、日付が今日の一覧を作成して一番上においておきましょう。
お待たせしました、では押してみます。
少し待つとコピーが終わります
完了すると自動的にコピー先のリハビリ報告アプリが開きます
どうでしょう?きちんとテーブルからレコードに変換されています。
加えて、種別フィールドが休みの方(木曜太郎・金曜太郎)は省かれていますね。
さて、利用者コードしかコピーしてませんが、リハビリ報告アプリ内のフィールド詳細をみてみましょう。
しっかり情報が取得されています。
後はレコード一覧から編集ボタンを押して入力をすれば書き込み終了となります。
どうでしょう??職員からの3つの条件を満たせたでしょうか?
①今(テーブル運用)よりも入力時間を短くしたい
→レコードを開くよりも一覧からの入力で時間短縮
②当日デイサービスを休んだ人は最初から抜いて欲しい
→プラグインの力で実現
③かといって複雑な運用だと困る
→テーブルの画面からボタンを押すだけ!
なんとか満たす事ができました!
めでたしめでたし…ですが…
業務効率化のもう一押し!
入力するために編集ボタンを押す作業が面倒だと思いませんか?
そこで導入したのが、TISさんの「一覧画面編集プラグイン」
簡単に言うとエクセルっぽく入力できるようになるプラグインです
これで編集ボタンをクリックする手間が省けました。
ただひとつ問題が発生!
ここまでは順調でしたが、ひとつ問題が発生。
コピーボタンをクリックする事からはじまりますが、このコピーボタン…
何度も押せてしまうんですよ。
するとですね、押した分だけデータが重複してしまいます。
これはまずいです。データの重複を防いでいきましょう。
まずはコピー元(テーブル側)のアプリのテーブル内に計算フィールドを一つ追加して、計算式を「日付 + 利用者コード」とします。
これで、日付と個人の利用者コード(主キー)が結びついたフィールドが出来上がります。
予めリハビリ報告アプリの方にも「数値フィールド」で「利用者コード計算」フィールドを作成しておきましょう。
重要なのは「値の重複を禁止する」のチェックを入れておくことです。
次に、「kintone テーブルデータコピープラグイン」の設定で今作成した「利用者コード計算フィールド」をコピーするように設定します。
重複が防げたか確認しよう
まずはバイタルアプリの利用者コード計算フィールドに値が入力されているか確認しましょう。
OKです。
では今一度ポチっとボタンをおします。
一回目はもちろん問題なく完了。
コピー先のリハビリ報告アプリも見てみましょう。
きちんとデータがコピーされています。
さぁ、もう一度バイタルアプリのボタンを押してみましょう。
やりました!値が重複していてコピーできませんでした!
これで職員が誤って2回コピーボタンを押してもレコードの重複を防げます!
まてまて、まだ開発できる!
もうちょっと気を利かせてみましょう。
バイタルアプリ内の「利用者コード計算フィールド」と「利用者コードフィールド」って職員には不要ですよね。
でも、見えていると気になってしまうものです。
でも、アカウントやグループでテーブルのデータを見えなくするって出来ましたっけ?
設定画面のフィールド項目で見えなくしてみましょう。
あとは見せたくないフィールドを選んで設定するだけですが…
そうなんです、テーブル内のフィールドは設定できないのです!
で、また神(TISさん)のお力を借りるわけです。
フィールド非表示プラグイン
こんな感じでプラグインの設定をしますと
「利用者コード計算フィールド」と「利用者コードフィールド」が見えなくなりすっきりした画面になりました。
まとめ
以前は一人分書き込むまで5ステップ程度かかっていました。
しかも日々テーブルが編集できるまでの時間が長くなっているというオマケ付き。
現在はコピーボタンを押したらすぐに書き込める状態になってます。
しかも保存ボタンを押す必要なし。休みに利用者様も予め一覧にでない。
そしてレコード一覧状態の画面に書き込みできるので、レコード詳細画面に行く必要すらない。
結論
評判は上々です!
職員の要望であった
①今(テーブル運用)よりも入力時間を短くしたい
②当日デイサービスを休んだ人は最初から抜いて欲しい
③かといって複雑な運用だと困る
の3つを解決したうえで、破綻するテーブル構造から継続性のあるレコード構造に変換できました。
次回はこの課題を違った角度から見てみたいと思います。