動物病院の受付スタッフ・看護師が、飼い主からの電話中に使う 獣医療緊急度判定ツール です。
ルールベース(デシジョンツリー)で即時判定。LLM不使用、外部依存なし、オフラインで動作します。
ぶっくま
- note: https://note.com/investerinarian
- Qiita: https://qiita.com/investerinarian
- GitHub: https://github.com/Vookmarket
- Python 3.10+
- 外部パッケージ不要(標準ライブラリのみ)
- OS非依存(macOS / Windows / Linux)
python3 tool.py対話形式で以下を入力します:
- 動物種(犬/猫)
- 年齢区分(子犬子猫/成犬成猫/高齢)
- 発症からの経過時間
- 症状(カテゴリ選択 or テキスト入力)
- 追加メモ
python3 tool.py --json判定結果をJSON形式で出力します。外部システムとの連携に便利です。
python3 -m pytest test_tool.py -v============================================================
電話トリアージ判定結果
============================================================
判定: 🔴 すぐ来院してください
--- 判定根拠 ---
【判定根拠】
[RED] 呼吸困難(resp_dyspnea): critical症状
[GREEN] 元気消失(neuro_lethargy): mild症状
--- 飼い主への伝達文面(読み上げ用)---
お電話ありがとうございます。お話いただいた症状から判断しますと、
できるだけ早く、すぐに病院にお連れいただく必要があります。
移動中もなるべく安静にして、すぐにお越しください。
到着までの間に準備いたしますので、到着予定時刻をお知らせいただけますか?
--- 獣医師への申し送り ---
【電話トリアージ申し送り】
動物種: 犬
年齢区分: 成犬/成猫
緊急度判定: RED
報告された症状:
- 呼吸困難 [critical]
- 元気消失 [mild]
============================================================
{
"urgency": "RED",
"urgency_label": "🔴 すぐ来院してください",
"matched_rules": [
"[RED] 呼吸困難(resp_dyspnea): critical症状",
"[GREEN] 元気消失(neuro_lethargy): mild症状"
],
"reasoning": "...",
"owner_message": "お電話ありがとうございます。...",
"handoff_note": "【電話トリアージ申し送り】...",
"disclaimer": "【免責事項】...",
"symptom_details": [
{"id": "resp_dyspnea", "name": "呼吸困難", "severity": "critical", "description": "..."}
]
}| ファイル | 役割 |
|---|---|
terminology.py |
用語辞書(症状カテゴリ、同義語、重症度タグ) |
decision_tree.py |
判定エンジン(ルールベーストリアージ) |
input_parser.py |
入力パーサー(対話式/テキスト/プログラマティック) |
output_formatter.py |
出力フォーマッター(画面/飼い主/獣医師/JSON) |
tool.py |
CLIオーケストレーター |
test_tool.py |
テストスイート |
- 呼吸困難、開口呼吸、チアノーゼ
- 意識消失、けいれん重積
- 大量出血、交通事故、高所落下
- 猫の排尿不能(尿路閉塞)
- 犬の胃捻転疑い(腹部膨張+嘔吐)
- 熱中症、低体温
- 致死性毒物摂取
- 子犬・子猫の元気消失、ミルク拒否
- 24時間以上の嘔吐・下痢
- 食欲不振24時間以上
- 咬傷、骨折疑い
- 毒物摂取
- 運動失調、震え
- 血尿、排尿困難
- 1回の嘔吐(元気あり・飲水可・血液なし・腹部膨張なし)
- 軽い咳(呼吸困難なし)
- 軽度の目やに
- 軽度の掻痒
⚠️ GREEN判定でも「電話だけでは正確な判断が難しいため、症状が続く場合や不安がある場合は来院を」と必ず伝えます。
- 複数の軽度症状が組み合わさると自動で緊急度が上がります
- 子犬・子猫は軽度症状でもYELLOW以上に判定されます
- 24時間以上経過した症状は緊急度が上がります
- 症状が特定できない場合はYELLOW(安全側)に判定されます
本ツールの症状分類・緊急度判定基準は、以下の獣医学文献に基づいています:
-
Merck Veterinary Manual — XABCDE primary survey(一次トリアージフレームワーク) https://www.merckvetmanual.com/emergency-medicine-and-critical-care/evaluation-and-initial-treatment-of-small-animal-emergency-patients/initial-triage-and-resuscitation-of-small-animal-emergency-patients
-
Thomovsky E, Ilie L. "Basic triage in dogs and cats: Part I." (2024) — 色分けトリアージ分類 (Red/Orange/Yellow/Green) https://pmc.ncbi.nlm.nih.gov/articles/PMC10783570/
-
Ruys LJ et al. "Evaluation of a veterinary triage list modified from a human five-point triage system in 485 dogs and cats." (2012) — Manchester Triage System の獣医療適用(TWT 0/15/30-60/120分 → Red/Orange/Yellow/Green) https://pubmed.ncbi.nlm.nih.gov/22702436/
-
Veterinary Emergency of Midlothian — 5段階トリアージコード (White/Green/Yellow/Red/Black) https://midloervet.com/hospital-triage-status-codes/
-
森田動物医療センター — 日本語での緊急症状分類(呼吸器、神経・循環器、消化器、外傷、眼科、温度異常、犬猫特有症状) https://www.animal-hospital.jp/blog/1075
このツールは電話トリアージの参考補助を目的としており、獣医師による診断の代替ではありません。最終的な判断は必ず獣医師が行ってください。緊急性に疑いがある場合は、常に安全側(より高い緊急度)に判断してください。
MIT License