機能紹介
対面業務を全て、オンラインに拡張する。
美容医療クリニックの 1 日の業務 ── 予約・受付・診察・処方・決済・配送・フォロー ── を、一気通貫で 1 つのシステムに収めます。
01
予約管理
医師シフト・休診日と連動した、二重予約防止つきリアルタイムカレンダー。
- ・Vue カレンダー(週次 / 日次)でドラッグ操作の高速 UI
- ・医師ごとのシフト管理 + テンプレート展開で一括設定
- ・休診日の一括設定で年末年始・連休も即対応
- ・二重予約防止(PostgreSQL Advisory Lock)で同時操作でも整合性確保
- ・予約状態は aasm で遷移管理(仮 → 確定 → 来院 → 完了)
- ・LINE で患者にリマインドを自動送信
02
患者管理
個人情報の暗号化と本人確認を標準装備。
- ・氏名・連絡先・住所・生年月日を全て暗号化(lockbox + blind_index)
- ・本人確認画像(運転免許証 / マイナンバーカード / パスポート / 在留カード)を CMEK 暗号化 GCS に 5 年保持
- ・アップロード画像は自動マジックバイト検証 + EXIF(GPS 等)剥離
- ・医師が承認・却下、却下時は該当 LINE JWT を全失効して端末紛失リスクをケア
- ・5 年経過した本人確認は毎日 03:30 に自動で期限切れ扱いに
- ・監査ログに閲覧・編集すべて記録
03
カルテ・問診
SOAP 形式 + 改ざん検知 + 動的問診ビルダー。
- ・SOAP エディタ(Subjective / Objective / Assessment / Plan)
- ・確定後は上書き不可。訂正は訂正履歴として追記(3省2ガイドライン 真正性)
- ・SHA-256 改ざんハッシュで内容変更を検知
- ・診療録は自動 5 年保持(医師法 24 条)
- ・動的問診ビルダーで JSON Schema 形式の問診票を院ごとにカスタマイズ
- ・画像・PDF 添付可能(GCS 暗号化 + 5 分署名 URL 配信)
04
IC(インフォームド・コンセント)
テンプレ + 電子署名 + オフラベル管理。
- ・同意書テンプレを院ごとに用意。施術カテゴリ別に管理
- ・電子署名(タブレット署名 or 画像アップロード)
- ・オンライン同意には本人確認 + オンライン診療同意がプリチェック必須
- ・オフラベル薬剤は薬機法に従い、IC で drug_id 単位で明示同意(表記揺れに強い設計)
- ・aasm 状態遷移(draft → presented → consented)で運用ステップを強制
- ・SHA-256 改ざんハッシュ + 監査ログで真正性担保
05
処方・配送
薬剤マスタ → 在庫減算 → ヤマト連携を自動化。
- ・薬剤マスタから選択して用法用量を入力
- ・調剤時に在庫 SELECT FOR UPDATEで確実に減算(負在庫防止)
- ・処方箋 PDF 自動生成(日本語フォント IPAex Gothic 標準装備)
- ・要冷蔵自動判定: 該当薬剤を含む処方はクール便を強制
- ・ヤマト B2 クラウド連携で送り状を自動発行
- ・配送追跡番号を LINE で患者に自動通知
- ・麻薬・向精神薬は処方不可(DB CHECK 制約で多層防御)
06
オンライン診察
LiveKit 連携 + 録画同意 + 緊急時連絡先。
- ・LiveKit のオープンな WebRTC 基盤を利用したビデオ診察
- ・短寿命 JWT(10 分有効)で接続。クライアント側でルーム一致を検証
- ・診察終了時にサーバー側でルームを破棄し、既存セッションを強制切断
- ・録画は事前同意取得時のみ、CMEK 暗号化 GCS に保存・5 分署名 URL 配信
- ・オンライン診療指針に従い、本人確認・識別検証方法・緊急時連絡先を必須記録
- ・医師の免許番号・専門・登録県をセッション時にスナップショット
07
決済・サブスクリプション
Stripe 完全連携で PCI DSS スコープ最小化。
- ・Stripe Checkout / Customer Portal でカード入力。カード情報は弊社で保持しない(PCI DSS 範囲外)
- ・定期処方サブスク 対応。プラン変更・スキップ・期末解約も患者画面から実行可
- ・Webhook 署名検証 + 冪等性(event_id UNIQUE で三重保護)
- ・課金成功時に自動配送トリガ(毎月 5 日 9:00 JST)
- ・領収書を Stripe から自動発行
- ・テナント越境ガード: webhook metadata の clinic_id と DB の clinic_id を突合
08
患者 LINE 連携 (LIFF)
専用アプリ不要、LINE 内ですべて完結。
- ・LIFF v2 で LINE 内に患者ダッシュボードを展開
- ・会員登録 → 本人確認 → 予約 → ビデオ診察 → 処方確認 → 配送追跡まで LINE 内で完結
- ・短寿命 JWT(30 分)+ サーバー側 denylist で即時失効可能
- ・端末紛失・なりすまし疑い時は該当患者の全 JWT を一斉失効
- ・予約リマインド・発送通知などを LINE Flex Message で配信
- ・患者へのプッシュは事前同意を取得した上で配信
09
KPI・売上レポート
経営指標を院ごとに毎日自動集計。
- ・KPI ダッシュボード: MRR / チャーン率 / LTV / 新患数 / 来院数
- ・売上レポート(日次・月次)を CSV / PDF で出力
- ・薬剤別の売上 / 施術別の単価分析
- ・全集計はテナント分離されており、他院のデータが混ざることはない
10
在庫管理
発注閾値アラート + 棚卸し対応。
- ・発注閾値を薬剤ごとに設定、下回ったらアラート表示
- ・在庫の変動履歴は全て記録(処方減算 / 棚卸し / 廃棄)
- ・棚卸しは CSV エクスポート → 紙運用 → 結果入力で照合
- ・複数医師が同時に処方しても、SELECT FOR UPDATE で在庫の整合性を保つ
11
監査・セキュリティ
医療法・個人情報保護法・3省2ガイドラインに準拠。
- ・全操作を監査ログに記録(誰が・いつ・何を・どこから)
- ・監査ログは追記専用(DB ロール権限で UPDATE/DELETE を剥奪)
- ・5 年自動保持(医療法)+ 期限切れの自動検知と消去運用
- ・Cloud Armor WAF(OWASP Top 10 マネージドルール)+ API レートリミット
- ・2 段階認証(医療スタッフ)+ ログイン 5 回失敗で 30 分自動ロック
- ・パスワード再設定で全端末から自動ログアウト
- ・Workload Identity Federation で CI/CD は鍵レス認証
- ・GCP CMEK で全暗号化キーを自社管理
12
マルチテナント分離
1 院運用と同等の独立性を SaaS で実現。
- ・全テーブルに clinic_id を持ち、acts_as_tenant でスコープ自動付与
- ・他院のデータはアプリ層 + Pundit + 監査の3 重防御でアクセス遮断
- ・サブドメインまたは
/c/<clinic_slug>/でクリニックを切替 - ・CI 必須要件としてテナント越境テストを全モデルに用意
- ・解約時のデータエクスポートは CSV / PDF で完全に取り出し可能
技術スタック
アプリケーション
Rails 8.1 / Ruby 3.4 / PostgreSQL 15 / Redis 7
Vue 3 + TypeScript + Vite / Tailwind CSS
外部連携
Stripe / LiveKit / LINE Messaging API + LIFF v2
ヤマト B2 クラウド / SendGrid / Sentry
インフラ
Google Cloud Run / Cloud SQL / Memorystore / GCS
Cloud Tasks / Cloud Scheduler / Cloud Armor / Secret Manager
運用
Terraform IaC / GitHub Actions / Workload Identity Federation
監査ログ → BigQuery 5 年保持 / Sentry エラー監視
導入のご相談
ご質問・デモご希望・お見積もりのご相談は、お問い合わせフォームよりお願いいたします。