見出し画像

コードレビュー用データ置き場

スクリーンショットも中身のデータも仮想のものです。
8月のimoniCampのコードレビュー用のデータ置き場です。

カスタマイズの概要

 「申請情報」に対して、「名簿」の「かな氏名」「生年月日」「携帯電話番号」で同定を行い、同一人物と思われるデータの「一致陽性者番号」に「名簿の陽性者番号」を代入する。
 なお、同定の条件は「かな氏名と生年月日が一致」もしくは「かな氏名と携帯電話番号が一致」のいずれかの条件を満たすものとする。

  1.  絞り込んでも名簿は1万件以上、申請情報は数千件のデータ同士を照合する必要がある。
    (今回は、それぞれのデータの事前絞り込みは割愛している)

  2.  プラグインは利用できない。
    (別の話題として、このプラグインなら解決できるっていう話はあっても良さそう)

  3.  実際は、管理者のみが実行できるようにしていたが、今回は割愛。

どんなときに使われたのか?

 陽性者のうち関係者が外出できず、ネット通販の利用も困難な者からの申請に基づき、支援物資を配送する。
 なお、利用は陽性者に限り1回のみだが、「陽性者以外の申し込み」「複数回の申し込み」「別都市からの申し込み」なども一定数含まれるため、「申込みが適切か」を事前確認する必要がある。
 申込の段階では陽性者は自身の陽性者番号を知らないため、陽性者を一意に識別できる情報を入力してもらうことは困難。
 電話での聞き取りでは膨大な時間と回線が必要となるため、電話申請と電子申請の2本立てとした。

実際の事務の流れ

  1.  陽性者が発生すると、医療機関から、別システムもしくはFAXで「かな氏名」「生年月日」「携帯電話番号」を含む情報が送られてくる。
     なお、「数字」については、打間違え・文字のカスレ等により一定のエラーが含まれる。また、携帯電話番号については、家族で同一番号が使い回されることもある。

  2.  これらの情報をインポート&打ち込みにより「名簿」アプリに取り込み、「陽性者番号」を付番。

  3.  陽性者のうち、サービスを希望するものはフォームブリッジを通じて、「申請情報」に「かな氏名」「生年月日」「携帯電話番号」を含む申請情報を入力。
     なお、対象者が膨大で1度のみのサービスであること、メール認証等の仕組みの理解が困難な方も含まれることから、「個人認証」は行っていない。
     また、陽性者は医療機関に配布されたパンフレットを見て、陽性判明時に即座に申請可能なため、この時点では、自身の「陽性者番号」は知らない状態である。

  4.  1日1回、スクリプトを実行(これが今回のスクリプトで、「一致していると思われるデータに陽性者番号を付加」して、それ以外のデータと区別できるようにしている)。
     この作業により「該当すると思われるデータ」と「見当たらないデータ」に分ける。

  5.  「該当すると思われるデータ」については、同姓同名同一生年月日等のレアケースがないか確認。また、複数回申し込みがないか手作業で確認。

  6.  「該当しないデータ」については、氏名の表記ゆれなどがないか手作業で確認。

  7.   5.6.で確認した、発送対象データについては、架電により発送情報の確認を実施し、最終的なエラーを排除した上で発送。

必要なファイル

スペーステンプレート

 中には「名簿」「申請情報」の2つのアプリが入っています。
なお、「申請情報」には、Javascriptによるカスタマイズが最初から一つ入っています。
(この中に含まれるカスタマイズは「申請情報の中の全レコードの一致陽性者番号をクリアする」もので、今回のレビューの対象ではありません。)

CSVデータ

 それぞれのアプリのテストデータです。インポートしてください。
データは、ChatGPTに作ってもらった仮のものです。
(いやぁ、ChatGPTさん、有能ですね)

コードレビュー用スクリプト1

「申請情報」にスクリプトとして追加してください。
 REST APIで別アプリを参照しているため、個々の環境によってアプリ番号部分を修正する必要があります。また、拡張子のリネームが必要です。
(もし間違って実行してもエラーになるようにアプリ番号はnullと記載しています。)
 こちらが、本来のレビューの対象です。
(「今の自分が作るならこうなる」という例です。)

コードレビュー用スクリプト2(おまけ)

「申請情報」にスクリプトとして追加してください。
 REST APIで別アプリを参照しているため、個々の環境によってアプリ番号部分を修正する必要があります。また、拡張子のリネームが必要です。
(もし間違って実行してもエラーになるようにアプリ番号はnullと記載しています。)
 こちらは、「昔の自分が頑張って作ったフランケンシュタインなコード」です。
(ただ、kintone REST API clientを使っていないコードなので、きれいなコードにしたり、危うい部分を直せば、ニッチですが需要があるかもしれません。あと、Javascriptをスパルタ&エラー&トライで理解するという意味では、すごく勉強にはなったと思います。)


いいなと思ったら応援しよう!