# DentAssist プロダクト仕様

## 1. 文書目的

本書は、DentAssist のプロダクト仕様を定義するものです。

DentAssist は、個人歯科医院が治療前の説明動画を患者に提示し、患者の不安軽減と説明業務の効率化を支援する歯科医療 SaaS です。

本仕様は、事業企画、開発、営業、カスタマーサクセス、法務・セキュリティ確認の共通認識を形成することを目的とします。

初期リリースでは、開業 10 年目以降の個人開業歯科医を主な対象とし、導入負荷を抑えた実用的な患者教育機能を提供します。

本書に記載する数値、利用率、処理量、価格帯、短縮時間などは、現時点では合理的推定であり、実運用データまたは顧客ヒアリングにより検証が必要です。

## 2. プロダクト概要

DentAssist は、歯科医院が患者に対して治療前の説明動画を提示できるクラウド型サービスです。

歯科医師やスタッフは、治療内容に応じた動画を選択し、院内タブレット、受付端末、または患者のスマートフォンに表示できます。

患者は、診療前または待合時間に説明動画を視聴し、治療の流れ、想定される不安点、注意事項を事前に把握できます。

医院側は、患者の視聴状況を確認し、説明済み内容を踏まえて診療時の補足説明に集中できます。

本サービスは、歯科医師の説明責任を代替するものではなく、説明品質の標準化と補助を目的とします。

## 3. 想定ユーザー

主な導入意思決定者は、開業 10 年目以降の個人開業歯科医です。

対象医院は、スタッフ数 3 名から 15 名程度、ユニット数 2 台から 6 台程度の中小規模歯科医院を想定します。[要検証]

利用者は、院長、勤務医、歯科衛生士、受付スタッフ、トリートメントコーディネーターを想定します。

患者側の利用者は、一般歯科、予防歯科、補綴、インプラント、矯正、歯周病治療などの説明を受ける成人患者を主に想定します。

高齢患者や IT 操作に不慣れな患者も含まれるため、視聴導線は極力短く、文字サイズと操作性に配慮します。

## 4. 提供価値

患者に対して、治療前に分かりやすい説明を提供し、不安や疑問の整理を支援します。

医院に対して、毎回繰り返される基礎説明の負担を軽減し、診療時間をより本質的な対話に配分できるよう支援します。

スタッフに対して、説明内容のばらつきを抑え、新人スタッフでも一定水準の案内を行いやすくします。

院長に対して、患者満足度、説明品質、スタッフ教育、診療オペレーション改善の一体的な基盤を提供します。

月額導入しやすい価格帯を前提とし、小規模医院でも継続利用しやすい費用対効果を目指します。

## 5. スコープ

初期スコープは、説明動画ライブラリ、患者への動画提示、視聴履歴管理、院内ユーザー管理、簡易レポートを対象とします。

動画制作そのものは、DentAssist 側で標準コンテンツを用意し、医院ごとの独自動画アップロードは後続フェーズとします。

診療録、電子カルテ、レセコンとの深い双方向連携は、初期リリースでは必須範囲外とします。

医療判断、診断、治療方針の自動提案は提供しません。

患者に対する同意取得の法的効力を保証する電子署名機能は、初期リリースでは対象外とします。

## 6. 機能一覧

### 6.1 管理者向け機能

医院アカウントの作成、編集、停止、契約プラン確認を行えます。

院内ユーザーの招待、権限変更、無効化を行えます。

医院プロフィールとして、医院名、所在地、電話番号、診療科目、ロゴを登録できます。

動画カテゴリの表示設定を医院単位で変更できます。

利用状況ダッシュボードで、月間視聴数、よく使われる動画、未視聴率を確認できます。

請求情報として、契約プラン、請求先情報、支払いステータスを確認できます。

### 6.2 スタッフ向け機能

患者に提示する説明動画を治療カテゴリから検索できます。

治療名、症状、キーワード、タグで動画を絞り込めます。

患者用 QR コードまたは短縮 URL を発行できます。

院内タブレット表示用のシンプルな視聴画面を起動できます。

患者への説明メモを登録できます。

視聴済み、未視聴、途中離脱の状態を確認できます。

### 6.3 患者向け機能

患者は、QR コードまたは SMS・メールで受け取った URL から動画を視聴できます。

ログインなしで視聴できる一時リンクを基本導線とします。

動画視聴画面では、再生、一時停止、字幕表示、チャプター選択を利用できます。

動画終了後に、理解度確認の簡易チェックを行えます。

患者は、気になる点を「質問したい項目」として選択できます。

患者向け画面では、医療広告的な表現を避け、説明補助に徹した表現を採用します。

### 6.4 コンテンツ管理機能

標準動画ライブラリを治療カテゴリ別に管理します。

動画カテゴリは、虫歯治療、根管治療、歯周病、予防、補綴、インプラント、矯正、抜歯、小児歯科、ホワイトニングを想定します。[要検証]

各動画には、タイトル、説明文、想定視聴時間、対象患者、注意事項、タグを設定します。

字幕ファイルを管理し、日本語字幕を標準提供します。

将来的な多言語対応に備え、字幕データは言語コード付きで保持します。

コンテンツ更新時には、バージョン番号と公開日を記録します。

### 6.5 レポート機能

医院別の月間視聴回数を表示します。

動画別の平均視聴完了率を表示します。

治療カテゴリ別の利用傾向を表示します。

患者質問項目の集計を表示します。

説明時間の短縮効果は、医院アンケートまたは入力値に基づく推定値として表示します。[要検証]

CSV ダウンロード機能を提供し、医院内の振り返り資料として利用できるようにします。

### 6.6 通知機能

患者に視聴 URL を送信するため、メール通知を提供します。

SMS 通知は、送信単価が発生するためオプション機能とします。[要検証]

視聴期限が近い患者に対して、リマインド通知を送信できます。

医院スタッフには、患者が視聴完了した際の通知を表示できます。

通知本文は、医院名と視聴リンクを含む簡潔な内容とします。

通知の送信履歴を保存し、誤送信時の確認に備えます。

## 7. ユーザーフロー

受付スタッフは、患者の来院目的または予約内容を確認します。

スタッフは DentAssist にログインし、該当する治療カテゴリを選択します。

スタッフは動画を選び、院内視聴または患者スマートフォン視聴の方式を選択します。

患者は待合時間または来院前に動画を視聴します。

動画終了後、患者は理解度確認と質問項目の選択を行います。

歯科医師またはスタッフは視聴状況を確認し、診療時に不足説明を補足します。

診療後、医院は利用状況をレポートで確認し、説明導線の改善に活用します。

## 8. アーキテクチャ概要

DentAssist は、マルチテナント型の SaaS アーキテクチャを採用します。

フロントエンドは、医院管理画面、スタッフ操作画面、患者視聴画面を単一アプリケーション内で提供します。

バックエンドは、認証、医院管理、動画メタデータ管理、視聴リンク発行、視聴履歴記録、通知送信を担当します。

動画本体は、アプリケーションサーバーでは保持せず、オブジェクトストレージと CDN から配信します。

データベースは、医院、ユーザー、動画、患者視聴セッション、視聴イベント、通知履歴を管理します。

テナント分離は、医院 ID を基準とした論理分離を基本とし、アクセス制御をアプリケーション層とデータ層で二重に確認します。

監査ログは、認証、権限変更、患者リンク発行、動画視聴記録へのアクセスを対象に保存します。

### 8.1 論理構成

Web クライアントは、HTTPS 経由で API Gateway または Web アプリケーションサーバーにアクセスします。

API サーバーは、認証基盤、RDB、キャッシュ、メール配信サービス、SMS 配信サービス、動画配信基盤と連携します。

動画配信は、CDN 付きオブジェクトストレージを利用し、署名付き URL または限定公開 URL で制御します。

バッチ処理は、期限切れリンクの無効化、日次集計、レポート生成、通知リトライを担当します。

運用監視は、ログ、メトリクス、トレース、アラートを統合して確認できる構成とします。

### 8.2 データモデル概要

Tenant は医院単位の契約主体を表します。

User は院内利用者を表し、Tenant に所属します。

Role は管理者、スタッフ、閲覧専用などの権限を表します。

Video は標準動画コンテンツのメタデータを表します。

VideoVersion は動画の改訂履歴を表します。

PatientSession は患者向け視聴リンク単位のセッションを表します。

ViewingEvent は再生開始、完了、離脱、質問選択などのイベントを表します。

NotificationLog はメール、SMS、アプリ内通知の送信履歴を表します。

AuditLog は管理操作と重要データアクセスの証跡を表します。

## 9. 主要技術

フロントエンドは、React または Next.js を想定します。[要検証]

バックエンドは、Node.js、TypeScript、または Python 系フレームワークを想定します。[要検証]

データベースは、PostgreSQL を第一候補とします。

キャッシュおよび短期トークン管理には Redis を候補とします。

動画ファイルの保存には、Amazon S3 互換のオブジェクトストレージを候補とします。

動画配信には CDN を利用し、医院および患者の地域差による遅延を抑制します。

認証には、メールアドレスとパスワード、または外部認証基盤を利用します。

患者向け一時リンクには、推測困難なトークンと有効期限を設定します。

インフラは、初期段階ではマネージドサービス中心の構成とし、運用負荷を抑えます。

CI/CD は、main ブランチへのマージ後にステージング環境へ自動デプロイし、承認後に本番反映する運用を想定します。

## 10. API 設計

API は REST 形式を基本とし、将来的な管理画面拡張に応じて GraphQL の採用余地を残します。

すべての API は HTTPS を必須とします。

リクエストとレスポンスの形式は JSON を基本とします。

認証済み API は、Bearer Token またはセッション Cookie により認可します。

患者向け一時リンク API は、ログイン不要としますが、トークン、有効期限、アクセス制限を必須とします。

### 10.1 認証 API

`POST /api/v1/auth/login` は、院内ユーザーのログインを行います。

`POST /api/v1/auth/logout` は、セッションまたはトークンを無効化します。

`POST /api/v1/auth/password-reset` は、パスワード再設定メールを送信します。

`GET /api/v1/auth/me` は、ログイン中ユーザーの情報と権限を返却します。

### 10.2 医院管理 API

`GET /api/v1/tenants/current` は、現在の医院情報を取得します。

`PATCH /api/v1/tenants/current` は、医院プロフィールを更新します。

`GET /api/v1/users` は、院内ユーザー一覧を取得します。

`POST /api/v1/users` は、院内ユーザーを招待します。

`PATCH /api/v1/users/{userId}` は、ユーザー権限または有効状態を更新します。

### 10.3 動画 API

`GET /api/v1/videos` は、動画一覧をカテゴリ、タグ、キーワードで検索します。

`GET /api/v1/videos/{videoId}` は、動画詳細情報を取得します。

`GET /api/v1/video-categories` は、利用可能なカテゴリ一覧を取得します。

`GET /api/v1/videos/{videoId}/playback` は、院内視聴用の再生情報を取得します。

### 10.4 患者視聴 API

`POST /api/v1/patient-sessions` は、患者向け視聴リンクを発行します。

`GET /api/v1/patient-sessions/{token}` は、患者視聴画面に必要な情報を取得します。

`POST /api/v1/patient-sessions/{token}/events` は、視聴イベントを記録します。

`POST /api/v1/patient-sessions/{token}/questions` は、患者が選択した質問項目を保存します。

`POST /api/v1/patient-sessions/{token}/complete` は、視聴完了状態を記録します。

### 10.5 レポート API

`GET /api/v1/reports/usage-summary` は、指定期間の利用サマリーを返却します。

`GET /api/v1/reports/video-performance` は、動画別の視聴完了率を返却します。

`GET /api/v1/reports/questions` は、患者質問項目の集計を返却します。

`GET /api/v1/reports/export.csv` は、指定条件の CSV を生成します。

### 10.6 通知 API

`POST /api/v1/notifications/email` は、患者に視聴 URL をメール送信します。

`POST /api/v1/notifications/sms` は、患者に視聴 URL を SMS 送信します。

`GET /api/v1/notifications/logs` は、通知送信履歴を取得します。

`POST /api/v1/notifications/{notificationId}/retry` は、失敗した通知を再送します。

## 11. セキュリティ要件

DentAssist は医療分野で利用されるサービスであるため、個人情報および要配慮情報に近いデータの取り扱いを前提に設計します。

初期設計では、患者氏名や詳細な診療情報を最小限に抑え、匿名または仮名の視聴セッション運用を推奨します。

患者の電話番号、メールアドレスを保存する場合は、通知送信と履歴確認に必要な範囲に限定します。

通信は TLS 1.2 以上を必須とし、可能であれば TLS 1.3 を優先します。[要検証]

保存データは、データベース暗号化、バックアップ暗号化、オブジェクトストレージ暗号化を適用します。

パスワードは、bcrypt、Argon2 などの安全なハッシュ方式で保存します。

管理画面には、一定回数以上のログイン失敗に対するレート制限を適用します。

管理者権限の操作には、監査ログを必ず記録します。

患者向け一時リンクは、推測困難なランダムトークンを使用し、有効期限を 7 日から 30 日程度に設定します。[要検証]

一時リンクは、必要に応じて医院側で手動失効できるようにします。

テナント間のデータ参照を防ぐため、すべてのクエリで Tenant ID によるスコープ制御を行います。

API には入力バリデーションを実装し、SQL インジェクション、XSS、CSRF、SSRF への対策を行います。

患者向け画面では、不要な Cookie やトラッキングを利用しない方針とします。

外部サービスに個人情報を連携する場合は、委託先管理とデータ処理契約を確認します。

ログには、患者メールアドレス、電話番号、トークン全文などの秘匿情報を出力しないよう制御します。

本番環境へのアクセスは、必要最小限の担当者に限定します。

運用者の管理コンソールアクセスには、多要素認証を必須とします。

脆弱性診断は、正式リリース前および主要機能追加時に実施します。

セキュリティインシデント発生時の初動手順、連絡体制、影響範囲確認手順を運用文書として整備します。

## 12. SLA

初期商用版の月間稼働率目標は 99.5% とします。[要検証]

将来的な上位プランでは、月間稼働率 99.9% を目標値として設定する余地があります。[要検証]

計画メンテナンスは、原則として診療時間外の夜間または休日に実施します。

緊急メンテナンスが必要な場合は、可能な限り事前に管理画面またはメールで通知します。

重大障害の初期応答目標は、営業時間内で 2 時間以内とします。[要検証]

通常問い合わせの初期応答目標は、営業日 1 日以内とします。[要検証]

動画配信の再生開始時間は、標準的な通信環境で 3 秒以内を目標とします。[要検証]

API の通常レスポンスタイムは、95 パーセンタイルで 500 ミリ秒以内を目標とします。[要検証]

日次バックアップを取得し、少なくとも 30 日間保持します。[要検証]

復旧時点目標 RPO は 24 時間以内、復旧時間目標 RTO は 8 時間以内を初期目標とします。[要検証]

障害情報は、影響範囲、発生時刻、復旧時刻、暫定対応、再発防止策を整理して報告します。

無料トライアルまたは検証環境は、商用 SLA の対象外とします。

## 13. 非機能要件

UI は、歯科医院の受付や診療前説明で短時間に操作できることを重視します。

主要操作は、3 クリック以内で患者視聴リンクを発行できることを目標とします。[要検証]

患者向け画面は、スマートフォンの標準ブラウザで快適に閲覧できることを必須とします。

タブレット表示では、スタッフが患者に手渡しても迷いにくいシンプルな画面構成とします。

アクセシビリティとして、十分な文字サイズ、コントラスト、字幕表示を提供します。

動画は、低速回線でも視聴しやすいよう複数ビットレート配信を検討します。

管理画面は、医院スタッフが短時間で習熟できる用語と導線を採用します。

システムは、初期段階で 500 医院、月間 10 万視聴程度まで拡張可能な構成を目指します。[要検証]

ピーク時の視聴集中に備え、動画配信はアプリケーションサーバーから分離します。

データ集計は、診療中の操作レスポンスに影響しないよう非同期処理を基本とします。

## 14. 権限設計

Owner は、契約情報、請求情報、医院設定、ユーザー管理にアクセスできます。

Admin は、医院設定、ユーザー管理、レポート、患者視聴セッションを管理できます。

Staff は、動画検索、視聴リンク発行、視聴状況確認を行えます。

Viewer は、レポート閲覧のみを行えます。

Support は、運営会社のサポート担当者向け権限であり、明示的な承認または問い合わせ対応時のみ利用します。

Support 権限の利用時には、操作理由、対象医院、担当者、日時を監査ログに記録します。

## 15. 画面設計概要

ログイン画面では、医院スタッフがメールアドレスとパスワードで認証します。

ホーム画面では、本日の発行リンク、最近使った動画、利用状況の要約を表示します。

動画一覧画面では、カテゴリ、タグ、検索窓を中心に構成します。

動画詳細画面では、対象治療、視聴時間、説明ポイント、患者向け注意事項を表示します。

リンク発行画面では、視聴期限、送信方法、患者連絡先の入力を行います。

患者視聴画面では、動画、字幕、チャプター、質問選択、完了ボタンを提供します。

レポート画面では、月次の利用量、カテゴリ別傾向、質問集計を表示します。

設定画面では、医院情報、ユーザー、通知テンプレート、契約情報を管理します。

## 16. コンテンツ方針

動画は、医学的に断定しすぎない表現を採用し、個別判断は歯科医師の診察に委ねる構成とします。

患者の不安をあおる表現、過度な治療誘導、効果保証に見える表現は避けます。

治療のメリットだけでなく、一般的な注意点、選択肢、治療後のケアも説明します。

動画の長さは、1 本あたり 2 分から 5 分程度を目安とします。[要検証]

専門用語は必要最小限とし、使用する場合は平易な説明を添えます。

字幕とナレーションの内容は一致させ、音声なしでも理解できる構成とします。

コンテンツ監修は、歯科医師または関連専門家による確認プロセスを設けます。

更新履歴を管理し、法令、ガイドライン、臨床慣行の変化に応じて改訂します。

## 17. 導入・オンボーディング

導入時には、医院アカウント作成、初期ユーザー招待、動画カテゴリ設定を行います。

初回オンボーディングは、30 分程度のオンライン説明を想定します。[要検証]

医院スタッフ向けに、リンク発行、患者案内、視聴状況確認の基本操作を説明します。

導入初月は、利用頻度が高い治療カテゴリを 3 つから 5 つに絞って定着を図ります。[要検証]

導入後 1 か月で、利用状況レポートを確認し、運用課題を整理します。

サポート資料として、操作マニュアル、院内掲示用案内、患者向け説明文例を提供します。

## 18. 料金・プラン前提

料金は、小規模医院が月額で導入しやすい水準を前提とします。

ライトプランは、月額 9,800 円から 14,800 円程度を仮説とします。[要検証]

スタンダードプランは、月額 19,800 円から 29,800 円程度を仮説とします。[要検証]

SMS 送信、独自動画アップロード、多言語字幕、詳細レポートは上位またはオプション機能とします。

無料トライアルは、14 日から 30 日程度を想定します。[要検証]

年間契約では、月額換算の割引を提供する余地があります。[要検証]

## 19. 運用・監視

アプリケーションログ、監査ログ、エラーログを用途別に管理します。

ログ保持期間は、通常ログ 90 日、監査ログ 1 年以上を初期案とします。[要検証]

メトリクスとして、API エラー率、レスポンスタイム、動画再生失敗率、通知失敗率を監視します。

アラートは、重大障害、認証失敗急増、通知失敗急増、ストレージ容量逼迫を対象とします。

日次バッチの成功・失敗を監視し、失敗時には運用担当者へ通知します。

コンテンツ配信の不具合を検知するため、代表動画の定期的な疎通確認を行います。

## 20. 法務・コンプライアンス留意事項

DentAssist は、医師または歯科医師による診断や治療方針決定を代替しないことを明示します。

患者向け画面には、最終的な治療判断は担当歯科医師の説明に基づく旨を表示します。

個人情報保護法に基づき、利用目的、第三者提供、委託、保存期間を整理します。

医療広告ガイドラインに抵触する可能性がある表現は、動画および画面文言から排除します。

患者同意、説明義務、診療録記載との関係は、法務または専門家確認が必要です。[要検証]

医院との契約では、データ管理責任、障害時対応、解約時データ削除、再委託先を明記します。

## 21. 成功指標

導入医院数を主要な事業指標とします。

医院あたり月間視聴回数を利用定着指標とします。

動画視聴完了率を患者側の理解支援指標とします。

患者質問項目の記録率を診療時活用指標とします。

医院スタッフの説明時間短縮実感をアンケートで測定します。[要検証]

月次解約率を継続価値の指標とします。

サポート問い合わせ件数と初期設定完了率をオンボーディング品質の指標とします。

## 22. リスクと対応方針

説明動画が実際の診療方針と合わない場合、患者の誤解につながるリスクがあります。

対応として、動画は一般説明に限定し、個別判断は担当歯科医師が行う文言を徹底します。

患者が動画視聴のみで説明を受けたと誤認するリスクがあります。

対応として、視聴完了画面に診療時の確認を促す文言を表示します。

医院スタッフが運用に定着しないリスクがあります。

対応として、受付フローに組み込みやすい短い導線と初月フォローを提供します。

コンテンツの医学的正確性が維持できないリスクがあります。

対応として、監修者レビュー、更新履歴、定期見直しを運用に組み込みます。

個人情報漏えいリスクがあります。

対応として、最小取得、暗号化、アクセス制御、監査ログ、委託先管理を徹底します。

## 23. ロードマップ案

フェーズ 1 では、標準動画ライブラリ、視聴リンク発行、視聴履歴、基本レポートを提供します。

フェーズ 2 では、SMS 通知、詳細レポート、医院別おすすめ動画セット、CSV 出力を強化します。

フェーズ 3 では、独自動画アップロード、多言語字幕、電子カルテ連携の検証を行います。

フェーズ 4 では、患者アンケート、説明満足度分析、複数医院グループ管理を検討します。

各フェーズの優先度は、導入医院の利用データ、営業ヒアリング、サポート問い合わせに基づき見直します。

## 24. 初期リリース判定基準

主要カテゴリの動画が最低 20 本以上準備されていることを目標とします。[要検証]

医院ユーザーが 5 分以内に初回リンク発行を完了できることを確認します。[要検証]

患者がスマートフォンでリンクを開き、動画視聴と完了送信を問題なく行えることを確認します。

管理者がユーザー追加、権限変更、無効化を行えることを確認します。

視聴イベントが欠損なく記録され、レポートに反映されることを確認します。

通知メールが主要メールサービスで迷惑メール扱いされにくい設定になっていることを確認します。

脆弱性診断で重大または高リスクの指摘が解消されていることを確認します。

障害時の連絡先、運用担当、一次対応手順が明確になっていることを確認します。

## 25. 未決事項

標準動画の制作本数、制作費、監修体制は追加検証が必要です。[要検証]

医療広告ガイドライン上の表示文言は専門家レビューが必要です。[要検証]

電子カルテおよびレセコン連携の優先度は、営業ヒアリングに基づき判断します。[要検証]

患者情報をどこまで保持するかは、利便性とリスクのバランスを踏まえて決定します。[要検証]

料金プランは、競合調査、顧客ヒアリング、提供原価を踏まえて調整します。[要検証]

SMS 送信費用の医院負担方式は、従量課金または上位プラン内包のどちらが適切か検証します。[要検証]

## 26. まとめ

DentAssist は、個人歯科医院における治療前説明の標準化と効率化を支援する患者教育 SaaS です。

本プロダクトは、歯科医師の説明責任を置き換えるものではなく、患者が治療前に基礎情報を理解し、不安や疑問を整理するための補助基盤として位置付けます。

初期リリースでは、導入しやすさ、操作の簡潔さ、コンテンツの堅実性、セキュリティを重視します。

今後は、実際の医院利用データと患者・スタッフのフィードバックをもとに、機能、料金、コンテンツ、運用体制を段階的に改善します。
