医療法人の集計業務をGoogleスプレッドシートとGASで自動化する方法

医療法人のCSV転記・集計・通知・レポート作成をGoogleスプレッドシートとGASで自動化するための要件、構成、権限、エラー設計を解説します。

医療法人の集計業務では、予約、問い合わせ、広告、売上、提出物、院別実績などのデータが複数のCSVやスプレッドシートに分かれ、毎週・毎月の転記に時間がかかることがあります。GoogleスプレッドシートとGoogle Apps Script(GAS)を使うと、データの取り込み、整形、集計、通知、PDF出力などを自動化できます。

ただし、先にコードを書き始めると、元データの形式変更、担当者の退職、権限切れ、例外データによって止まりやすくなります。最初に決めるべきなのは、自動化の処理ではなく、入力・出力・判断・運用・エラー対応です。

最初に自動化しやすい業務

最初は、人の判断をほとんど必要とせず、同じルールで繰り返す作業を選びます。

  • CSVを指定フォルダから取り込み、列名を揃える
  • 院別・施術別・担当別に集計する
  • 問い合わせフォームの内容を一覧へ追記する
  • 新しい行が追加されたらGmailやGoogle Chatへ通知する
  • 週次・月次レポート用の表を更新する
  • 決まった形式でPDFを作成し、Driveへ保存する
  • 期限超過や未対応ステータスを担当者へ通知する

例外が多く、毎回人が解釈する作業は、先に入力ルールやマスタを整えてから自動化します。

自動化前に決める5つの要件

要件決める内容
入力どのファイル・フォーム・システムから、いつデータが入るか
変換列名、日付、金額、院名、担当者名をどう揃えるか
出力誰が、どの頻度で、何を見るための表・PDF・通知か
例外欠損、重複、形式変更、未知の院名・施術名をどう扱うか
運用管理者、実行アカウント、修正担当、停止時の連絡先

「毎月のレポートを自動化したい」だけでは要件として不足します。元データ、締め日、除外条件、更新時刻、出力先、確認者まで決めます。

スプレッドシートの基本構成

シート役割
raw_取込元データを加工せず保存する
master院、施術、担当者、媒体などの表記を統一する
configフォルダID、通知先、締め日、処理条件を管理する
processed整形・名寄せ後のデータを保存する
dashboard会議や確認で使う集計結果を表示する
log実行日時、処理件数、エラー内容、対象ファイルを記録する

元データと集計結果を同じシートで上書きすると、再計算や検証が難しくなります。raw、加工後、表示用を分け、問題発生時に元データから再実行できる構成にします。

GASの処理は小さく分ける

一つの長い関数にすべてを入れず、役割ごとに分けます。

  1. 対象ファイルを取得する
  2. CSVやシートを読み込む
  3. 列名とデータ形式を検証する
  4. マスタで表記を揃える
  5. 集計・出力する
  6. ログを残す
  7. 成功またはエラーを通知する

処理単位を分けると、形式変更が起きた場所を特定しやすく、テストも行いやすくなります。

トリガー設計で注意すること

GASには、時刻、編集、フォーム送信などをきっかけに処理を動かすインストール型トリガーがあります。便利ですが、実行者と権限を明確にする必要があります。

  • インストール型トリガーは、原則として作成者の権限で実行される
  • 作成者のアカウント停止や権限変更で処理が止まる可能性がある
  • 同じ処理を複数人がトリガー登録し、重複実行しないようにする
  • 定時処理は実行時間が多少前後する前提で設計する
  • フォーム送信・編集・時刻など、目的に合うトリガーを選ぶ

個人アカウントだけに依存させず、管理用アカウント、権限移管手順、トリガー一覧を記録します。

権限とファイルの置き場所

チームで継続して使うファイルは、共有ドライブや組織管理下の場所を検討します。共有ドライブ内のファイルは個人ではなくチームに属するため、担当者が退職しても残しやすくなります。

  • 管理者、編集者、閲覧者を業務に必要な範囲で分ける
  • 外部委託先には対象フォルダ・ファイルだけを共有する
  • 通知先メールやChatスペースの管理者を複数にする
  • スクリプト、スプレッドシート、参照フォルダの権限を一覧化する
  • 退職・異動時に権限とトリガーを確認する手順を作る

エラーで止まらないための設計

  • 想定する列名が存在するか処理前に確認する
  • 日付・金額・IDが変換できない行を別シートへ出す
  • 同じファイルや同じ行を二重処理しない識別子を持つ
  • 処理件数と対象期間をログに残す
  • エラー時に担当者へ通知し、再実行方法を記載する
  • 途中失敗で元データや前回結果を消さない
  • テスト用データと本番データを分ける

自動化は、正常時の処理よりも、形式変更や欠損が起きたときに状況を説明できるかが重要です。

患者情報・機密情報を扱うときの注意

患者個人を直接特定できる情報や、診療に関わる機微な情報を安易にスプレッドシートへ集約しないでください。業務目的に必要なデータだけを扱い、匿名化・ID化、共有範囲、保存期間、ダウンロード可否、外部共有の設定を確認します。

自動化のために実データが不要な場合は、サンプルデータや匿名化データで開発・テストします。個別の法令・契約・院内規程については、情報管理責任者や専門家の確認を前提にしてください。

構成例:問い合わせを一覧・通知へつなぐ

  1. WordPressフォームから必要項目を受け取る
  2. GASのWebアプリまたは連携処理でスプレッドシートへ記録する
  3. 受付日時、問い合わせ種別、ステータス、担当者を付与する
  4. GmailやGoogle Chatへ新規問い合わせを通知する
  5. 担当者がステータスと次回対応日を更新する
  6. 未対応・期限超過を定時トリガーで通知する
  7. 週次で件数・対応状況・流入元を集計する

メール通知だけに依存すると、迷惑メールや担当者の見落としで対応が止まる可能性があります。シートへの記録、通知、ステータス管理を分けて設計します。

GoogleスプレッドシートとGASが向かないケース

  • データ量や処理頻度が大きく、実行時間やシート上限に近い
  • 複雑な同時更新や厳密なトランザクションが必要
  • システム間でリアルタイム性や高い可用性が求められる
  • アクセス制御・監査・データ保管要件がスプレッドシートでは満たせない
  • 業務ルールが決まっておらず、例外処理が毎回変わる

この場合は、データベース、BI、業務システム、クラウド基盤を含めて検討します。GASは万能な置き換えではなく、目的と規模に合う範囲で使います。

導入の進め方

  1. 棚卸し:毎週・毎月の転記、集計、通知作業を一覧化する
  2. 選定:判断を伴わず、頻度が高く、ミスが起きやすい作業を一つ選ぶ
  3. 要件定義:入力・変換・出力・例外・運用を決める
  4. 小規模テスト:匿名化したデータで一部期間を処理する
  5. 並行運用:手作業結果と自動化結果を照合する
  6. 本番化:権限、トリガー、ログ、通知、復旧手順を整える
  7. 定期確認:元データ形式、実行アカウント、エラー履歴を確認する

まとめ

医療法人の集計業務をGoogleスプレッドシートとGASで自動化する場合は、コードより先に入力・出力・例外・権限・運用を決めます。最初は、転記、集計、通知など判断を伴わない一つの業務から始め、ログと再実行方法を含めて設計します。

リットエイドのGoogle Workspace / GAS自動化支援では、業務棚卸し、スプレッドシート設計、GAS実装、Gmail・Google Chat通知、権限・運用ルールまで一体で整理しています。

集計・GAS自動化を相談する クリニックDX化チェックリストを見る

参考にした公式情報

本記事は一般的な業務設計・自動化の情報です。患者情報や機密情報を扱う場合は、組織の規程、契約、法令、セキュリティ要件を個別に確認してください。

関連して読みたいコラム

クリニックのDX化・HP改善・SEO対策を、まずは整理しませんか。

現状の課題、売上や広告の状況、今後の目標を踏まえて、最初に見るべき数字と改善の優先順位を整理します。