委託先に送る今月の請求データを、前月の請求データ・前月の口座振替の結果と見比べて、送る前に直すべき行に印を付けます。前の工程での入力ミスで、引き落としてはいけない人から引き落としてしまうのを防ぎます。
- どこから
- モバカルから出力して、委託先に送ろうとしている CSV
- 中身
- 今月引き落とす請求。1 行=患者 1 人の 1 か月分
- 必要な列
- 患者ID・請求金額(あれば 氏名・請求年月・支払方法)
送る前チェック
月中、委託先に請求データを送る前に、金額 0 円・請求書払いの人・重複・前月口座解約の人などに印を付けます。引き落としてはいけない人から引き落とすミスを防ぎます。
使う画面:上のタブ「送る前チェック(月中)」
いつもの人を覚える
ID の桁違いなどで毎月要確認になる人を、一度承認するときに覚えさせると、次からは自動確定になります。毎月同じ人を手で消し込む手間が減ります。
使う画面:③ 要確認(判定のあと)
領収書の下書き
合算入金でいしくるでは送れない人の領収書を、該当月ごとに 1 枚ずつ印刷画面に出します(PDF にも保存できます)。
使う画面:④ 一括入金(判定のあと)
モバカルの未収一覧と、委託先から届く入金管理表(口座振替・銀行振込)を読み込みます。列の名前の違い、セルのずれ、「円」や全角数字があっても止まらずに読み取ります。
- どこから
- モバカルの収納管理画面から「出力」した CSV
- 中身
- まだ入金確定していない請求。1 行=患者 1 人の 1 か月分
- 必要な列
- 患者ID・氏名・請求年月・請求金額(あれば クリニック・支払方法)
- どこから
- 入金関連資料として、委託先から毎月 6〜10 日ごろに届く「口座振替入金管理表」(Excel / CSV)
- 中身
- 引き落としの結果。1 行=患者 1 人(振替済・資金不足など)
- 必要な列
- 患者番号・入金額(あれば 請求対象月・請求額・引落日・振替結果)
- どこから
- 入金関連資料として、委託先から毎月 6〜10 日ごろに届く「銀行振込入金管理表」(Excel / CSV)
- 中身
- 振り込まれた入金。1 行=1 回の振込(日付は人によってばらばら)
- 必要な列
- 患者ID・金額(あれば 振込日・振込依頼人)
① は必ず、② と ③ は少なくともどちらか 1 つを読み込んでください。列の名前は多少違っていても自動で対応付けます(例:「患者番号」「ID」「カルテ番号」→ 患者ID)。
アップロードしたデータは判定に使うだけで、保存しません。
信頼度の決め方
| 信頼度 | 条件 | 当てはまるもの |
|---|---|---|
| 高 | 金額がぴったり一致していて、一致させるための補正が機械的なもの(誰がやっても同じ結果になる)だけ | ID の先頭の 0 を補えば、ID・診療月・金額が一致する/列ずれを直して読めば一致する/合算入金:未収の月の組み合わせ(例:7 月分+8 月分)が入金額とぴったり一致する |
| 中 | 金額が合わない、または ID が合わず氏名で探した | ID は合うが金額が違う(一部入金・過入金・月遅れや相殺などのイレギュラーの疑い)/ID がモバカルになく、氏名が一致する人が 1 人だけ見つかった |
| 低 | 手がかりが足りない | ID がモバカルになく、氏名で探しても見つからない、または 2 人以上いる/ID か金額が読み取れない行 |
「信頼度『高』をまとめて承認」で承認されるのは「高」だけです。「中」「低」は 1 件ずつ見てください。
第 1 段階:確定リストを出力して、今の RPA で入金確定
確定してよい明細だけを CSV にします。RoboTANGO は読み取りや突き合わせをせず、このリストの分を入金確定するだけになります。
第 2 段階:モバカル API でまとめて入金確定
API の仕様書を受け取ったあとに実装します。1 件ずつの画面操作がなくなり、処理時間が大きく縮む見込みです。
委託先から届いた入金管理表と、モバカルの未収一覧を突き合わせて、入金確定してよい明細を選び出すツールです。いまは試作品(プロトタイプ)なので、架空のデータで動きを確かめるためのものです。
この画面は、モバカルと API で接続できたらこうなる、というイメージです。いまは実際のモバカルとはつながっていません。
できること
| 読み込み | モバカルの未収一覧(CSV)と、委託先の入金管理表(口座振替・銀行振込。Excel / CSV)を読み込む。列の名前が違っていても、セルが 1 つずれていても、「円」「¥」や全角数字が混ざっていても読める |
| 振り分け | 明細を「自動確定」「要確認」「未収」の 3 つに分ける。患者 ID・請求月・金額がすべて合うものだけを自動確定にする |
| 要確認の案 | 合算入金は、どの月の分を合わせた金額かを計算して案を出す。ID の先頭の 0 が落ちている人は、補えば一致することを示す。同姓同名の人は ID で見分ける |
| 承認 | 要確認を 1 件ずつ、または信頼度「高」をまとめて承認・保留できる |
| 一括入金の練習 | 収納一覧と同じ操作(チェック → 一括入金 → 入金日 → OK)で、赤が黒に変わるところまで試せる |
| 出力 | 入金確定してよい明細の一覧(CSV)、督促リスト(CSV)、合算入金の月ごとの内訳 |
| いつもの人を覚える | ID の桁違いなどで毎月要確認になる人を、承認するときに覚えさせると、次に判定するときから自動確定になる |
| 送る前チェック | 月中、委託先に送る請求データを前月と見比べて、金額 0 円・請求書払いの人・重複・前月口座解約の人などに印を付ける。印を付けた行を除いた送信用 CSV を出す |
| 領収書の下書き | 合算入金の人の領収書を、月ごとに 1 枚ずつ印刷画面に出す(PDF にも保存できる) |
できないこと(いまのプロトタイプでは)
| モバカルへの反映 | しない。「一括入金」は画面の中だけの練習で、実際のモバカルには何も書き込まない。本番では、確定リストを今の RPA に渡すか、モバカル API でまとめて入金確定する予定 |
| 保存 | しない。読み込んだファイル・承認の結果は、画面を閉じたり再読み込みしたりすると消える。ただし「覚えている人」だけは、このブラウザの中に残る(別の PC やブラウザとは共有されない) |
| 領収書の正式な発行 | 下書きまで。宛名・金額・但し書きは入るが、発行番号や印影は入らない。正式な発行は今までどおりモバカル・いしくるで行う |
| 承認の記録 | 残らない(誰が・いつ承認したか)。本番で入れる |
| 領収書・督促 | 領収書の発行、督促状の送付、電話はしない。一覧を出すところまで |
| 本物のデータ | 使わない。患者さんの情報が入ったファイルは読み込まないでください |
| ファイルの制限 | Excel は最初のシートだけを読む。見出しの行がない表や、まったく違う形の表は読めない。3 ファイル合わせて 6 万行まで |
月の予定と、このツールを使うところ
| 時期 | いまの業務 | このツール |
|---|---|---|
| 6〜10 日ごろ | 委託先から入金関連資料(銀行振込入金管理表・口座振替入金管理表など)が届く。前月分の入金確認(消し込み) | ① 取り込み → ② 判定結果 → ③ 要確認 → ④ 一括入金 |
| 13 日 | いしくるの取込締め(23:59)。前月の領収書・当月の請求書にチェックを付ける | 送る前チェック(請求額が確定したら) |
| 18 日前後 | 請求書の発送(いしくるは取込から 3 営業日)。いしくるで送れない人は個別発送 | 個別発送の人の領収書の下書き |
| 27 日 | 口座引き落とし(土日祝で変わる) | — |
日付は業務マニュアルの予定をもとにしています。実際の日付は医事課のスケジュールに従ってください。
毎月の使い方
- 月中(送る前チェック):委託先に請求データを送る前に「送る前チェック」で読み込み、「止める」の行を直すか除いてから送る
- 取り込み:① モバカルの未収一覧を選ぶ。② 口座振替、③ 銀行振込の入金管理表のうち、届いているものを選ぶ。「判定する」を押す
- 判定結果:自動確定・要確認・未収の件数を見る。「読み取り結果」で、列の読み違いや補正した行がないか見る
- 要確認:理由と確定案を見て「承認」か「保留」を押す。補正すれば一致するもの・合算の組み合わせが見つかったもの(信頼度「高」)は、まとめて承認できる
- 一括入金:確定リスト(CSV)を出す。督促リストを出す。合算入金の人はいしくるでは送れないので個別発送になる。「領収書(下書き)」で該当月ごとに 1 枚ずつ領収書を出す
判定の見方
| 判定 | 意味 | すること |
|---|---|---|
| 自動確定 | 患者 ID・請求月・金額がすべて合っている | なし(そのまま入金確定してよい) |
| 要確認 高 | 金額がぴったり一致していて、補正が機械的なものだけ(ID の先頭の 0 を補う/列ずれを直す/未収の月の組み合わせが入金額と一致する=合算入金) | 補正の内容を見て承認 |
| 要確認 中 | 金額が合わない(一部入金・過入金・月遅れや相殺などの疑い)、または ID がモバカルになく、氏名が一致する人が 1 人だけ見つかった | 入金管理表とモバカルを見比べて判断 |
| 要確認 低 | ID がモバカルになく、氏名でも見つからない(または 2 人以上いる)、ID か金額が読み取れない行 | 元のファイルを確認 |
| 未収 | 資金不足・口座解約などで引き落とせなかった | 督促リストで対応 |
よくある質問
- 件数が合わないのはなぜ?
- 判定結果の件数は、委託先の入金管理表の行の数です(1 行=入金 1 件)。自動確定・要確認・未収を足すと、入金管理表の行数になります。「委託先の資料にまだ載っていない請求」は、モバカルにはあるのに入金管理表にない請求の数なので、この合計には入りません。また、一括入金の画面の「入金確定できる明細」は、合算入金の 1 行を月ごとに分けて数えるので、そのぶん多くなります。
- 同姓同名の人がいても大丈夫?
- ID で見分けるので、ID と金額が合っていれば自動確定になります。名前が同じというだけでは止めません。
- ID の桁が違う人(先頭の 0 が消えている人)は?
- 0 を補えば一致する場合は「要確認 高」になり、承認すれば確定します。
- 委託先のファイルの列がずれていたら?
- 空のセルが挟まったずれは自動で直して読みます。直した行は「要確認 高」にして、中身を見てもらいます。
- 間違えて承認した
- もう一度「承認」を押すと取り消せます。一括入金の練習では「一括入金取消」で戻せます。
- 途中で画面を閉じたら?
- いまのプロトタイプは保存しないので、最初からやり直しになります(「覚えている人」だけは残ります)。
- 覚えさせた人を間違えた
- 要確認の画面の「覚えている人」の一覧から、1 人ずつ「忘れる」を押すか、「すべて忘れる」を押してください。
全体の流れ
Excel・CSV の読み込み(SheetJS)
/api/judge 判定エンジン/api/precheck 送る前チェック/api/sample ダミーデータ生成いしくる連携で領収書
使っているもの
| 実行環境 | Cloudflare Pages(画面の静的ファイル + _worker.js で API を動かす)。URL は keshikomi-proto.pages.dev |
| 言語 | JavaScript(ES Modules)。フレームワークなし、ビルド工程なし |
| Excel / CSV 読み込み | SheetJS(xlsx 0.18.5、jsDelivr から読み込み)。CSV は UTF-8 と Shift_JIS を自動判別 |
| データの保存 | サーバーには何も残さない。「いつもの人」の対応(委託先の ID → 患者 ID)だけ、ブラウザの localStorage に保存し、判定のたびに送る。本番では D1 などに置き換え、担当者の間で共有する |
| 領収書の下書き | ブラウザで印刷用の画面を組み立てて window.print()。PDF はブラウザの「PDF に保存」で作る |
| 認証 | いまはなし(ダミーデータのみのため)。環境変数 BASIC_AUTH を入れると簡易認証が有効になる。本番では Cloudflare Access などに置き換える |
| 公開 | ./deploy.sh(src/ を esbuild で dist/_worker.js にまとめ、public/ と一緒に wrangler pages deploy)。手元での確認は wrangler dev。検索エンジンに載らない設定(noindex)あり |
| ソース | src/worker.js(入口)/src/judge.js(判定)/src/precheck.js(送る前チェック)/src/sample.js(ダミー)/public/(画面) |
判定の決まり(お金の確定は規則だけで決める)
| 読み取り | 列の見出しを同義語で対応付け(例:患者番号・ID・カルテ番号 → 患者ID)。全角・半角をそろえる(NFKC)。「円」「¥」「,」を取り除く。行末の空セルを落としてから、見出しより列が多い行は空セルを詰めて列ずれを補正 |
| 自動確定 | 患者 ID・請求月・金額がすべて一致し、列ずれや ID の補正をしていないもの |
| 要確認(高) | ID の先頭 0 を補えば一致/列ずれを補正すれば一致/合算入金(未収の月の組み合わせで入金額に一致するものを探す。最大 12 か月) |
| 要確認(中・低) | 金額が一致しない(一部入金・過入金の疑い)/ID がない(氏名で候補を探す)/読み取れない行 |
| 未収 | 振替結果が「資金不足」「口座解約」などの振替不能、または入金額 0 |
| 同姓同名 | ID で特定できれば自動確定のまま(注記だけ付ける)。今の RPA のように名前が同じだけで止めない |
| いつもの人 | ID 補正・氏名での候補を承認するときに覚えた対応は、次から「確認済みの補正」として自動確定にする。金額と請求月は毎回照合する |
| 送る前チェック | 止める:金額 0 円以下・空欄/支払方法が請求書払いなど口座振替以外/同じ患者・同じ月の重複/前月の振替結果が口座解約など。確認:前月資金不足/前月から 2 倍以上または半分以下で差が 5,000 円以上/列ずれ補正。参考:前月に請求なし |
AI の使いどころ(次の段階)
| いま | 第 1 段階のプロトタイプは AI を使っていない。すべて規則で判定しているので、同じ入力なら毎回同じ結果になり、理由を説明できる |
| 足す予定 | 見出しが想定外のファイルでの列の推定、理由の文章の自然な言い換え(Workers AI など)。金額の一致判定や確定には使わない |
本番にするときに決めること
| 患者データの置き場所 | お客様の環境の中で動かすか、承認を得たクラウドにするか。AI に渡すのは見出しと伏せ字にした値だけにする |
| モバカル API | 入金確定(一括入金)まで書き込めるか。できなければ第 1 段階の形(確定リスト + RPA)で運用する |
| 認証と記録 | ログイン(Cloudflare Access など)と、誰がいつ何を承認したかの記録 |