# 介護事故検証AIジョブ

このプロジェクトは、介護施設で発生した事故について、AIが複数の専門職視点を使い、事故原因候補と再発防止策・改善案候補を整理するための運用ファイル一式です。

AIの出力は事故原因を確定するものではありません。事故委員会、現場検討、管理者確認のための材料として使い、最終判断は人間が行います。

## フォルダ構成

- `AGENTS.md`: プロジェクト全体の最上位ルール
- `jobs/`: AIジョブの処理順を定義するYAML
- `prompts/`: 各工程で使うプロンプト
- `roles/`: 多職種の役割定義
- `checklists/`: 事故種別ごとの確認観点
- `templates/`: 入力テンプレートと出力テンプレート
- `cases/`: 個別ケースを置く場所

## 入力方法

1. `cases/sample_case/` をコピーし、`cases/case_001/` のようにケース名を付けます。
2. `incident_input.md` に事故情報を記入します。
3. 関連資料がある場合は、同じケース内の `source_files/` に入れます。
4. AIジョブは `jobs/accident_analysis_job.yaml` の流れに沿って、`outputs/` に `.txt` を出力する想定です。

## incident_input.md の使い方

`incident_input.md` は、人間が記入する必須情報フォーマットです。個人名は使わず、`利用者A`、`職員B`、`看護師C` のように匿名化してください。

不明な項目は `不明` と書いてください。空欄がある場合は分析を停止します。`不明` は空欄ではないため処理を進められますが、不足情報として最終レポートに残します。

## source_files/ に置く任意資料

写真、見取り図、介護記録、看護記録、眠りスキャン、薬剤情報、ヒヤリハット記録、同意書類、勤務表、業務分担表など、事故検討に関係しそうな資料を置きます。

任意資料の「あり／なし」は `incident_input.md` に書きません。人間が資料の存在を申告すると漏れや思い込みが起きるため、AIが `source_files/` のファイル一覧、拡張子、内容から資料種別を仮判定します。

同意書や容認書がある場合でも、それだけで「施設に問題なし」「事故は仕方ない」「再発防止策は不要」とは扱いません。リスク認識、説明経過、ケア方針、予防策の妥当性を確認する補助資料として扱います。

## accident_analysis_job.yaml の役割

`jobs/accident_analysis_job.yaml` は、どのプロンプトをどの順番で使い、どの入力を読み、どの `.txt` 出力を次工程へ渡すかを定義します。実行コードではなく、CodexやAIエージェントに処理順を理解させるためのジョブ定義です。

## 出力ファイル

分析結果は各ケースの `outputs/` に `.txt` で出力する想定です。

- `01_required_info_check.txt`: 必須情報の確認結果
- `02_file_inventory.txt`: 任意資料の分類と使用判断
- `03_fact_summary.txt`: 事実、記録内容、写真・図の読取、推測、不足情報
- `04_incident_type.txt`: 事故種別の仮判定
- `05_selected_checklists.txt`: 使用するチェックリスト
- `06_selected_roles.txt`: 参加役割の選定
- `07_role_discussion.txt`: ガードを通過した役割発言ログ
- `08_cause_candidates.txt`: 原因候補
- `09_countermeasures.txt`: 改善案候補
- `10_evidence_map.txt`: 根拠と候補の対応
- `11_ranked_candidates.txt`: 候補の順位付け
- `12_feasibility_check.txt`: 改善案の実行可能性確認
- `13_final_report.txt`: 人間が読む最終検討レポート
- `14_quality_review.txt`: 最終品質チェック

## 停止条件と人間確認

必須情報に空欄がある場合、AIは原因候補や改善案を出さず、不足項目と追記依頼だけを出します。

最終出力は、人間が事故委員会や現場検討で理解しやすいように整理した材料です。行政提出文書、家族説明文、事故報告書の完成版としてそのまま使用しないでください。
