タブレットで描画タスク(時計描画・五角形模写・TMT等)を実施し、ペンの速度・圧力・傾きなど22特徴量を自動抽出して認知機能リスクを判定。MMSE/MoCA-J の認知検査も統合。施設PINでデータを分離管理。
1. 全体アーキテクチャ(上から下に流れる)
2. 描画テストの流れ(TestPage.tsx)
3. 描画エンジンの仕組み(DrawingCanvas.tsx)
★ showGuide: タスクに応じたSVGガイドを重畳 — CDT→破線円 / TMT-A→数字サークル25個
4. 22特徴量の構造(featureExtractor.ts)
Kobayashi et al. (2022) に基づく実装。
5. 施設PIN認証フロー(PinGuard.tsx)
セキュリティ制約: Firestore Rules は Anonymous Auth のみ確認。PINの一致検証はクライアント側のパス構築に依存。認証済みユーザーが任意PINのデータにアクセスできる構造的リスクあり。
6. プライバシー保護の設計
患者IDの入力: type="password" で画面上から隠す。年齢正規化: ageNormalization.ts にコードはあるが、個人情報(年齢)を使わないため意図的に無効化している。
7. アーキテクチャ上の注意点
二重アーキテクチャの並存
現在使用中: フロントエンド → Firebase Firestore
残存(未使用): src/worker/index.ts → Cloudflare Workers + D1(SQLite)の旧バックエンド。フロントから呼ばれていない。