#45 福kin 破綻するテーブルを救おう(下準備編)
※福kin(福祉の現場のkintoneシステム)
※福祉医療業界で活用できるシステム作成のnoteです
破綻するテーブルってどんなもの?
kintoneのテーブルって便利ですよね。新規レコードを作成しなくても、まとまったフィールド群を一つ増やすだけで情報が入力できる。
ついつい便利で多用したくなってしまいます。
2019年11月のアップデートで保存済みのテーブル内フィールド移動もできるようになり、ますます利便性が向上しました。
ただ、気を付けなくてはいけないのが、増え続ける項目にテーブルを使ってしまうと破綻してしまうということ。
私の失敗からお話すると、日々の報告やリハビリの報告をテーブルで行うと、あとあと物凄く後悔します。
共通しているのはテーブルがどこまで増えるのか終わりが見えないということ。
例えば週3回デイサービスに来ているAさん。1日くればリハビリ報告アプリ内のAさんレコードにあるリハビリ報告テーブルに1行追加されます。
Aさんが半年デイサービスを利用すれば、Aさんのレコードに約78行分のテーブルが追加されます。
1年間デイサービスを利用すれば156行分のテーブル…苦しくなってきました。
もう1年Aさんがデイサービスを利用したら、テーブルが300行を超えてきます。こうなってくると、レコード編集画面にしてからテーブルに書き込めるようになるまでに多くの時間がかかります。
今テーブル300行で編集できるようになるまでの時間を計測してみましたが、30秒ほどかかりました(PCのスペック・通信環境によるとも思います)。
情報を書き込めるようになるまでPCの前でジッと待つ30秒…
その日デイサービスに70人来所したら35分間ただPCの前でジッと待つ時間に…
効率化とはなんぞや?という話になってきます。
現場の職員も恐らくこのシステムは使ってくれなくなるでしょう。
しかも、この時間は減ることなく、今後も増え続けていくのです。
破綻してますね。
有効に活用しているテーブルの例
終わりが見えないテーブル活用が破綻への道なので、逆に1レコード内でテーブルの行数がある程度決まっていればうまく活用できるのです。
たとえば、日毎に1レコード作成するバイタル管理アプリ。
当日デイサービスに来所した利用者様の血圧を入力していくアプリです。
デイサービスに通所している利用者様1人につきテーブルを1行使用します。
当デイサービスの定員は90名なので、このテーブルが90行以上増える事はないのです。
また、医療機関の方で利用している訪問診療予定アプリ。
こちらも同じようにその日に訪問診療を行う患者数以上にテーブルが増える事はありません。
このように、1レコード内で活用するテーブルの数が予め決まっていれば、テーブルを使う事を検討していいかもしれません。
とはいえ、個人的な感覚ではテーブルの行が100行を超えてくると運用が厳しくなってくる印象です。
破綻してしまったテーブルを救おう
とはいえ、先に紹介したリハビリ報告アプリは既に走り始めてしまっています。一人の利用者さんにつきテーブル150行分はテーブルデータが入力されている状況。当デイサービスの登録者数250人ほどなので、
この膨大な数のテーブルデータをまずは1行1行レコードとして扱えるようにしないといけません。
それでは私なりのやり方を記載していきます。
まずは下ごしらえ。テーブルのデータを移す用に新しくアプリを作成することからはじまるのですが、注意点としてはテーブルのデータ型と同じフィールドを準備するということ。テーブルのデータをレコードとして格納するのでこの手続きは必要です。
ポイントとして、ドロップダウン等のフィールドでは、設定項目も同一のものを設定しておかないとうまく移行できません。
同様にフィールド名も同一のものにしておきましょう。
新しいアプリの作成を終えたら、元のアプリ(テーブルの方)のデータを「ファイルに書き出し」ましょう。
もちろんですが、テーブルの項目もキチンと書き出しましょう。
書き出したCSVファイルを新しく作成したアプリに読み込んでいきます。
フィールド名が同じならば、元のアプリのテーブル内フィールドが、新しく作成したアプリのフィールドに対応しています。対応していない場合はフィールド名が違う可能性がありますが、この下の画面で対応してあげれば大丈夫です。
また、「値の重複を禁止する」設定にしているフィールドがある場合は解除しておきましょう。
さぁ読み込みましょう!
順調にいけば少し待てば終了です。
テーブルの1行1行がレコード化されて、19562件のレコードになりました。
これでテーブルからレコードへの変換は終了です。
ちょっと待って!日々の運用は??
テーブルデータ→レコード化には成功しましたが、日々の入力の手間はどうなったでしょうか?
デーサービスの定員は1日90名。リハビリの報告は全員に必要です。
レコード化した新しいリハビリ報告アプリで入力しようとすると、
①新規レコード作成して
②ルックアップで情報を引っ張ってきて
③リハビリ情報を入力
×90名
せっかくテーブルの書き込み待ち時間から解放されたのに、また手間が増えてしまいました。
しかも今度はただ待つ時間ではなく、作業が増えたのです。
テーブルのままでは破綻する、レコードにしても手間が増える…
どうすればいいのか…
次回は当デイサービスでの解決方法を記載していきます。
この記事が気に入ったらサポートをしてみませんか?