委託先に送る今月の請求データを、前月の請求データ・前月の口座振替の結果と見比べて、送る前に直すべき行に印を付けます。前の工程での入力ミスで、引き落としてはいけない人から引き落としてしまうのを防ぎます。
- どこから
- モバカルから出力して、委託先に送ろうとしている CSV
- 中身
- 今月引き落とす請求。1 行=患者 1 人の 1 か月分
- 必要な列
- 患者ID・請求金額(あれば 氏名・請求年月・支払方法)
モバカルの未収一覧と、委託先から届く入金管理表(口座振替・銀行振込)を読み込みます。列の名前の違い、セルのずれ、「円」や全角数字があっても止まらずに読み取ります。
- どこから
- モバカルの収納管理画面から「出力」した 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 で入金確定
API が使えるようになるまでは、今の RoboTANGO をそのまま使います。確定してよい明細だけを CSV にするので、RoboTANGO には、このリストの分をモバカルに入力することだけを任せます(読み取りや突き合わせはしないので、表の崩れで止まらなくなります)。
1 件ずつ画面を操作する点は変わらないので、処理時間は大きくは縮みません。
第 2 段階:モバカル API でまとめて入金確定
API の仕様書を受け取ったあとに実装します。1 件ずつの画面操作がなくなり、処理時間が大きく縮む見込みです。API に置き換えたら、RoboTANGO は使わなくなります。
拠点ごとにモバカルから出力した請求データの CSV をまとめて読み込み、毎月手で直している点を自動で直して、1 つのファイルにまとめます。直した行は、理由と「直す前 → 直した後」を一覧にします。
| 見つけるもの | すること |
|---|---|
| 入金額が 0 円なのに入金日が入っている行 | 直す 入金日を消す |
| 免除の人(算定チームのイレギュラー一覧の「その他」に載っている人。職員の家族など)。「その他」の位置は毎月違っても探します | 直す 支払方法を「免除」にする(モバカルに「免除」の選択肢がないため) |
| 先頭の 0 が落ちた患者 ID(Excel で開いて保存したときに起きる) | 直す 拠点の桁数に合わせて 0 を補う |
| 支払方法が空欄の人/請求金額が 0 円・空欄の人 | 確認 直さずに印だけ付ける(支払方法が決まっていない人かもしれない) |
| 口座振替なのに委託者番号が空欄の人 | 確認 直さずに印だけ付ける(ワイドネットか明治安田か分からない)。口座振替の件数は収納業者ごとに数える |
- どこから
- モバカルに拠点の ID でログインし、収納管理から出力した CSV(拠点の数だけ)
- 選び方
- まとめて選べます(Ctrl / ⌘ を押しながら複数選ぶ)
- 必要な列
- 患者ID・請求金額(あれば 氏名・フリガナ・請求年月・入金額・入金日・支払方法・委託者番号・請求先)。クリニック名は、列がなければファイル名から取ります
- どこから
- 医療事務(算定チーム)から毎月届く一覧
- 使いみち
- 「その他」に載っている免除の人を見つける。区分の列がある表でも、「■その他」のような見出しの行で区切られた表でも読めます。なくても手直しはできます
請求確定のあとで直した拠点は、その拠点だけファイルを差し替えられます(ほかの拠点はそのまま)。
手直しでは使いません。消し込みの要確認や、送る前チェックで金額が変わった人を見るときの参考にします。
今月の請求データ(手直ししたもの)を前月と見比べて、委託先に伝えることを拾います。いまはその都度メールで伝えている施設の移動・支払方法の変更・収納業者の切り替え(明治安田 → ワイドネット)・請求先の変更・新規・請求なしを、連絡票(CSV)とメールの下書きにまとめます。
- どこから
- 手直しで作った「まとめた請求データ」(手直しをすると自動で入ります)
- 必要な列
- クリニック・患者ID(あれば 氏名・フリガナ・支払方法・請求先)
このツールからは送信しません。氏名などは本文に書かず、添付の連絡票で伝える形にしています。
患者ごと・月ごとに、請求額・入金日・入金額・入金方法・振込名義・未収を並べます。いまは委託先の資料を見ないと分からない「誰がいつ払ったか」を、本部で直接見られるようにします。領収書に入れる入金日もここから取れます。
本番では、消し込みで確定した入金とモバカル(API)の請求が、毎月ここに積み上がる想定です。いまは架空の 3〜9 月分を表示しています。
委託先から届いた問い合わせのメールを、そのまま貼り付けます。振込名義の名字と金額を、入金台帳の未収と突き合わせて、どの患者の入金かの候補を理由つきで出し、返信の下書きを作ります。いまはモバカルで 1 人ずつ家族を調べて返しています。
1 行に「振込日・振込名義(カナ)・金額」があれば読み取ります。書き方は多少違っていても大丈夫です(半角カナ・全角数字も読めます)。
候補の決め方
| 信頼度 | 条件 |
|---|---|
| 高 | 名字が同じで、未収の金額(または 2〜3 か月分の合計)と振込額が合う人が 1 人だけ/前に確認して覚えた名義 |
| 中 | 振込手数料を引いた額なら 1 人に絞れる/名字と金額が合う人が 2 人以上いる(拠点名や振込日で見分ける) |
| 低 | 名字が同じ人はいるが、金額が合う人がいない/名字が一致する人がいない |
このツールからは送信しません。候補を確かめてから(必要ならモバカルの家族の情報も見て)、いつものメールで返信してください。
入金台帳から未収のある人を集め、たまっている月数で振り分けます。いしくるで送れるのは 2 か月分までなので、3 か月以上の人は月ごとの明細を付けた手紙にします(ヒアリングでは、明細を付けた個別発送が月 約 170 件)。督促の電話は本部の番号だと出てもらえないことが多いため、拠点ごとの電話依頼リストにします。
口座振替の結果は、ワイドネットの振替結果コードの呼び方(1 資金不足/2 取引なし/3 預金者都合振替中止/4 口振依頼書なし)にそろえています。
拠点とはメールでやり取りし、拠点から患者さんに声をかけてもらう形です(患者さんへのメールは使いません)。このツールからは送信しません。
請求と入金の毎月の作業を手伝うツールです。画面左上のスイッチで 2 つのシステムを切り替えます。入金消し込みは、月初に委託先から届いた入金管理表とモバカルの未収一覧を突き合わせて、入金確定してよい明細を選び出します。請求サポートは、9〜14 日に拠点ごとの請求データをまとめて直して委託先への変更連絡を作り(請求を作る)、いつでも入金台帳で誰がいつ払ったかを見て、家族名義の照会や未収の督促に使います(入金・未収を見る)。請求サポートを直接開くときは、URL の末尾に #seikyu を付けます。いまは試作品(プロトタイプ)なので、架空のデータで動きを確かめるためのものです。
この画面は、モバカルと API で接続できたらこうなる、というイメージです。いまは実際のモバカルとはつながっていません。
できること
| 読み込み | モバカルの未収一覧(CSV)と、委託先の入金管理表(口座振替・銀行振込。Excel / CSV)を読み込む。列の名前が違っていても、セルが 1 つずれていても、「円」「¥」や全角数字が混ざっていても読める |
| 振り分け | 明細を「自動確定」「要確認」「未収」の 3 つに分ける。患者 ID・請求月・金額がすべて合うものだけを自動確定にする |
| 要確認の案 | 合算入金は、どの月の分を合わせた金額かを計算して案を出す。ID の先頭の 0 が落ちている人は、補えば一致することを示す。同姓同名の人は ID で見分ける |
| 承認 | 要確認を 1 件ずつ、または信頼度「高」をまとめて承認・保留できる |
| 一括入金の練習 | 収納一覧と同じ操作(チェック → 一括入金 → 入金日 → OK)で、赤が黒に変わるところまで試せる |
| 出力 | 入金確定してよい明細の一覧(CSV)、督促リスト(CSV)、合算入金の月ごとの内訳 |
| いつもの人を覚える新機能 | ID の桁違いなどで毎月要確認になる人を、承認するときに覚えさせると、次に判定するときから自動確定になる |
| 送る前チェック新機能 | 月中、委託先に送る請求データを前月と見比べて、金額 0 円・請求書払いの人・重複・前月口座解約の人などに印を付ける。「止める」の請求を除いた、委託先に送る CSV を出す |
| 領収書の下書き新機能 | 合算入金の人の領収書を、月ごとに 1 枚ずつ印刷画面に出す(PDF にも保存できる) |
| 請求データの手直し9/30 追加 | 拠点ごとの請求データの CSV をまとめて読み込み、0 円なのに入金日が入った行の日付を消す・免除の人(イレギュラー一覧の「その他」)を免除にする・先頭の 0 が落ちた ID に 0 を補う。1 つにまとめた CSV と、直した内容の一覧を出す |
| 委託先への変更連絡9/30 追加 | 前月と今月の請求データを見比べて、施設の移動(ID の変更を含む)・支払方法の変更・請求先の変更・新規・請求なしを拾い、変更連絡票(CSV)とメールの下書きを作る。口座振替の分はそのまま送る前チェックに渡せる |
| 入金台帳9/30 追加 | 患者ごと・月ごとに、請求額・入金日・入金額・入金方法・振込名義・未収を並べる。合算入金と家族名義の振込に印を付ける。選んだ月の領収書の下書きを、入金日入りで出す |
| 家族名義の照会9/30 追加 | 委託先からの問い合わせメールを貼ると、振込名義の名字と金額(合算・振込手数料の差し引きも見る)から候補の患者を理由つきで出し、返信の下書きを作る。確認した名義は覚えておける |
| 未収のまとめ請求と督促9/30 追加 | 未収の月数で振り分け(1 か月・2 か月はいしくる、3 か月以上は個別発送)、月ごとの明細付きの手紙と、拠点ごとの電話依頼リストを印刷画面に出す。理由ごとに次にすることを添える |
できないこと(いまのプロトタイプでは)
| モバカルへの反映 | しない。「一括入金」は画面の中だけの練習で、実際のモバカルには何も書き込まない。本番では、確定リストを今の RPA に渡すか、モバカル API でまとめて入金確定する予定 |
| 保存 | しない。読み込んだファイル・承認の結果は、画面を閉じたり再読み込みしたりすると消える。ただし「覚えている人」だけは、このブラウザの中に残る(別の PC やブラウザとは共有されない) |
| 領収書の正式な発行 | 下書きまで。宛名・金額・但し書きは入るが、発行番号や印影は入らない。正式な発行は今までどおりモバカル・いしくるで行う |
| 承認の記録 | 残らない(誰が・いつ承認したか)。本番で入れる |
| 領収書・督促 | 領収書の発行、督促状の送付、電話はしない。一覧を出すところまで |
| 本物のデータ | 使わない。患者さんの情報が入ったファイルは読み込まないでください |
| メールの送信 | しない。変更連絡・家族名義の照会の返信は下書きまで。内容を確かめてから、いつものメールで送る |
| 家族関係の確認 | しない。候補は名字と金額から出すだけで、本当に家族かどうかはモバカルの家族の情報などで人が確かめる |
| 入金台帳の自動の積み上げ | しない。いまはサンプルか、読み込んだ履歴ファイルを表示するだけ。本番では消し込みの確定結果とモバカル(API)の請求を毎月積み上げる |
月の予定と、このツールを使うところ
| 時期 | いまの業務 | このツール |
|---|---|---|
| 5 日ごろ・10 日ごろ | 委託先から入金管理表が届く(5 日ごろ:前月 27 日の口振と月末までの振込/10 日ごろ:5 日以降に入った分)。以降、請求書を出すまで毎日メールで入金情報が届く | 入金消し込み:① 取り込み → ② 判定結果 → ③ 要確認 → ④ 一括入金 |
| 13 日 15 時 | イレギュラー報告の締切(共有ドライブ) | — |
| 14 日 18 時 | いしくるの請求書の締切。以降は金額を変えられない | 送る前チェック(請求額が確定したら) |
| 18 日前後 | 請求書の発送(いしくるは取込から 3 営業日)。いしくるで送れない人は個別発送 | 個別発送の人の領収書の下書き |
| 9〜13 日 | 前月診療分の請求確定(9 日)。拠点ごとに請求データを出して手直しし、委託先へ渡す。変更点をメールで連絡 | 請求を作る:手直し → 変更連絡 → 送る前チェック |
| 27 日 | 口座引き落とし(土日祝で変わる) | — |
| いつでも | 家族名義の振込の問い合わせ(月末・請求書が届いた後・年金の支給日に多い)。未収の督促(電話は拠点から)。個別発送(3 か月以上は明細付きの手紙) | 入金・未収を見る:入金台帳・家族名義の照会・未収と督促 |
日付は 9/30 のヒアリングで見せていただいた請求スケジュール表と、業務マニュアルの予定をもとにしています。実際の日付は医事課のスケジュールに従ってください。
毎月の使い方
- 月中(送る前チェック):委託先に請求データを送る前に「送る前チェック」で読み込み、「止める」の行を直すか除いてから送る
- 取り込み:① モバカルの未収一覧を選ぶ。② 口座振替、③ 銀行振込の入金管理表のうち、届いているものを選ぶ。「判定する」を押す
- 判定結果:自動確定・要確認・未収の件数を見る。「読み取り結果」で、列の読み違いや補正した行がないか見る
- 要確認:理由と、承認したときに入金確定する内容を見て「承認」か「保留」を押す。補正すれば一致するもの・合算の組み合わせが見つかったもの(信頼度「高」)は、まとめて承認できる
- 一括入金:確定リスト(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/billing/* 請求まわり(手直し・変更連絡・台帳・照会・未収)/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/billing.js(請求まわり)/src/sample.js・src/sample_billing.js(ダミー)/public/(画面。請求まわりは billing.js) |
判定の決まり(お金の確定は規則だけで決める)
| 読み取り | 列の見出しを同義語で対応付け(例:患者番号・ID・カルテ番号 → 患者ID)。全角・半角をそろえる(NFKC)。「円」「¥」「,」を取り除く。行末の空セルを落としてから、見出しより列が多い行は空セルを詰めて列ずれを補正 |
| 自動確定 | 患者 ID・請求月・金額がすべて一致し、列ずれや ID の補正をしていないもの |
| 要確認(高) | ID の先頭 0 を補えば一致/列ずれを補正すれば一致/合算入金(未収の月の組み合わせで入金額に一致するものを探す。最大 12 か月) |
| 要確認(中・低) | 金額が一致しない(一部入金・過入金の疑い)/ID がない(氏名で候補を探す)/読み取れない行 |
| 未収 | 振替結果が「資金不足」「口座解約」などの振替不能、または入金額 0 |
| 同姓同名 | ID で特定できれば自動確定のまま(注記だけ付ける)。今の RPA のように名前が同じだけで止めない |
| いつもの人 | ID 補正・氏名での候補を承認するときに覚えた対応は、次から「確認済みの補正」として自動確定にする。金額と請求月は毎回照合する |
| 送る前チェック | 止める:金額 0 円以下・空欄/支払方法が請求書払いなど口座振替以外/同じ患者・同じ月の重複/前月の振替結果が口座解約など。確認:前月資金不足/前月から 2 倍以上または半分以下で差が 5,000 円以上/列ずれ補正。参考:前月に請求なし |
請求まわりの決まり(9/30 追加)
| 手直し | 入金額 0(または空欄)で入金日ありの行は入金日を消す。イレギュラー一覧の「その他」(区分の列、または「■その他」のような見出しの行で判断。位置は問わない)の人は支払方法を免除にする。ID は拠点マスタの桁数(6 桁。なければそのファイルでいちばん長い桁数)まで先頭に 0 を補う。支払方法が空欄・請求金額 0 円以下・口座振替で委託者番号が空欄は「確認」。口座振替は委託者番号で収納業者(ワイドネット/明治安田)を見分けて数える(推測:委託者番号で見分けられる前提)。拠点を差し替えたら、その拠点の行だけ入れ替えて違いを出す |
| 変更連絡 | ID が同じで口座振替のまま委託者番号が違えば収納業者の切り替え。ID が同じでクリニック・支払方法・請求先が違えば変更。前月にない ID は、前月にいて今月いない人のうちフリガナ(なければ氏名)が一致する人が 1 人なら施設の移動(ID の変更)、いなければ新規。前月にいて今月いない人は請求なし |
| 入金台帳 | 1 行=患者 1 人の 1 か月分の請求と入金。入金額 ≥ 請求額で入金、0 より大きければ一部、0 なら未収。同じ日・同じ方法で入った複数の月は合算入金。振込名義がフリガナと違えば家族名義 |
| 家族名義の照会 | 名字(カナ)が同じ患者の未収と振込額を照合。1 か月分と一致・2〜3 か月の連続した合計と一致・振込手数料(110〜880 円)を引いた額と一致の順に候補にする。前月までに同じ振込名義で入金があった人は上に出す(金額が合う人が複数でも、過去の名義で 1 人に絞れれば信頼度「高」)。覚えた名義は最優先。家族かどうかの判断はしない |
| 未収と督促 | 未収・一部の月を数え、1〜2 か月はいしくる、3 か月以上は個別発送。いちばん新しい未収の月の結果(資金不足・口座解約・依頼書不備など)で次にすることを決める |
AI の使いどころ(次の段階)
| いま | 第 1 段階のプロトタイプは AI を使っていない。すべて規則で判定しているので、同じ入力なら毎回同じ結果になり、理由を説明できる |
| 足す予定 | 見出しが想定外のファイルでの列の推定、理由の文章の自然な言い換え(Workers AI など)。金額の一致判定や確定には使わない |
| 時間の見込み | 月 約 8,000 件で、規則だけなら約 1〜3 秒、生成 AI も使うと約 1〜3 分(推測)。AI は列の読み取り(ファイルごとに 1 回)と、要確認(約 3%)の理由の文章だけに使い、25 件ずつまとめて同時に流す前提。1 件ずつ順番に呼ぶと約 10〜15 分 |
本番にするときに決めること
| 患者データの置き場所 | お客様の環境の中で動かすか、承認を得たクラウドにするか。AI に渡すのは見出しと伏せ字にした値だけにする |
| モバカル API | 入金確定(一括入金)まで書き込めるか。できなければ第 1 段階の形(確定リスト + RPA)で運用する |
| RoboTANGO | API が使えるようになるまでは残す。確定リストの分をモバカルに入力する役だけにする(シナリオの手直しは先方の IT 担当。他社に見せてよいかの契約の確認も必要)。API に置き換えたら使わなくなる |
| 認証と記録 | ログイン(Cloudflare Access など)と、誰がいつ何を承認したかの記録 |