Files
fastapi/docs/02_database_table_dictionary.md
T
2026-06-01 09:25:26 +08:00

173 lines
6.5 KiB
Markdown

# 数据库表字段说明
## 1. 核心表总览
| 表 | 中文名 | 职责 |
|---|---|---|
| `case_base` | 病例主表 | 病例基础信息、标签、知识点、科室、发布状态 |
| `traditional_case` | 传统病例扩展表 | 练习模式下的标准诊断、标准治疗、指南参考 |
| `teaching_case` | 教学互动病例扩展表 | 教学互动模式下的教学目标、讨论题、教师引导、评分重点 |
| `scoring_rule` | 评分规则表 | 病例级基础评分维度和细则 |
| `case_exam_item` | 病例检查检验项目表 | 固定检查/检验结果,禁止 LLM 编造检查结果 |
| `training_session` | 训练会话表 | 一次训练的运行状态、模式、分数类型和 memory key |
| `training_order` | 训练检查申请表 | 用户在一次训练中申请过的检查结果 |
| `training_submission` | 训练诊断治疗提交表 | 用户提交的诊断、治疗、沟通和随访 |
| `training_record` | 训练记录表 | 完整训练结束后的 AI 评价、评分细则、PDF 路径 |
| `prompt_templates` | 提示词模板元数据表 | Markdown 提示词模板路径和版本 |
| `knowledge_*` | 知识库表 | 评分参考指南和人文关怀资料检索 |
| `user_learning_profiles` | 学习档案表 | 用户历史评价聚合 |
| `audit_logs` | 审计日志表 | 关键行为日志 |
## 2. `case_base`
| 字段 | 含义 |
|---|---|
| `id` | 病例 ID |
| `title` | 病例标题 |
| `case_type` | 病例/训练类型 |
| `difficulty``difficulty_score` | 难度和难度分 |
| `chief_complaint` | 主诉 |
| `description` | 病例描述,用于 AI 病人上下文 |
| `patient_age``patient_gender` | 患者年龄和性别 |
| `symptom_tags` | 关键症状标签 |
| `disease_tags` | 疾病标签 |
| `competency_tags` | 能力/考核标签 |
| `guideline_tags` | 指南标签 |
| `knowledge_points` | 知识点和关键检查提示 |
| `estimated_minutes` | 预计训练时长 |
| `osce_enabled` | 是否启用 OSCE |
| `rag_enabled` | 是否启用 RAG |
| `ai_prompt_template` | 病例 AI 提示词片段 |
| `multimodal_assets` | 多模态资源 |
| `publish_status``status` | 发布状态和启用状态 |
| `created_by_id``department_id` | 创建人和科室 |
## 3. `traditional_case`
| 字段 | 含义 |
|---|---|
| `id` | 传统病例扩展 ID |
| `case_id` | 关联 `case_base.id` |
| `standard_diagnosis` | 标准诊断 |
| `standard_treatment` | 标准治疗 |
| `guideline_reference` | 诊断和治疗参考依据 |
## 4. `teaching_case`
| 字段 | 含义 |
|---|---|
| `id` | 教学互动病例扩展 ID |
| `case_id` | 关联 `case_base.id` |
| `teaching_goal` | 教学目标 |
| `discussion_questions` | 讨论问题 |
| `teacher_guide` | 教师引导 |
| `scoring_focus` | 评分重点 |
## 5. `scoring_rule`
| 字段 | 含义 |
|---|---|
| `id` | 评分规则 ID |
| `case_id` | 关联 `case_base.id` |
| `dimension` | 一级评分维度 |
| `competency_dimension` | 能力维度 |
| `score_weight` | 分值权重 |
| `ai_auto_score` | 是否由 AI 自动评分 |
| `osce_dimension` | 是否 OSCE 维度 |
| `scoring_standard` | 评分标准文本 |
| `rubric_json` | 结构化评分细则 |
## 6. `case_exam_item`
| 字段 | 含义 |
|---|---|
| `id` | 检查项目 ID |
| `case_id` | 关联 `case_base.id` |
| `item_code` | 检查项目编码,当前会话去重依据 |
| `item_name` | 检查项目名称 |
| `item_type` | 项目类型,如 lab、imaging、vital_sign |
| `category` | 项目分类 |
| `result_text` | 固定返回结果文本 |
| `result_structured` | 结构化检查结果 |
| `is_key` | 是否关键检查 |
| `is_abnormal` | 是否异常结果 |
| `score_weight` | 评分权重 |
| `display_order` | 展示顺序 |
## 7. `training_session`
| 字段 | 含义 |
|---|---|
| `id` | 训练会话 ID |
| `session_code` | 会话编码 |
| `external_user_id` | 宿主系统用户 ID |
| `tenant_id``class_id``entry_scene` | 宿主上下文 |
| `case_id` | 关联 `case_base.id` |
| `case_type` | 训练类型 |
| `training_mode` | 训练模式,当前为 `practice``teaching` |
| `score_type` | 评分类型,`percentage``five_point` |
| `status` | 阶段状态:`inquiry -> diagnosis -> treatment -> evaluating -> completed` |
| `started_at``inquiry_completed_at``completed_at` | 阶段时间 |
| `memory_key` | Redis/进程内短期 memory key |
| `metadata` | 扩展数据 |
## 8. `training_order`
| 字段 | 含义 |
|---|---|
| `id` | 检查申请 ID |
| `session_id` | 关联 `training_session.id` |
| `external_user_id` | 宿主系统用户 ID |
| `case_id` | 关联 `case_base.id` |
| `exam_item_id` | 关联 `case_exam_item.id` |
| `item_code``item_name``item_type` | 检查项目编码、名称、类型 |
| `result_text``result_structured` | 固定检查结果 |
| `is_key``is_abnormal` | 是否关键、是否异常 |
| `ordered_at` | 申请时间 |
同一 `session_id + item_code` 唯一,重复申请返回已有记录,不重复写 memory。
## 9. `training_submission`
| 字段 | 含义 |
|---|---|
| `id` | 提交记录 ID |
| `session_id` | 关联 `training_session.id` |
| `external_user_id` | 宿主系统用户 ID |
| `primary_diagnosis` | 主要诊断 |
| `differential_diagnoses` | 鉴别诊断 |
| `diagnosis_basis` | 诊断依据 |
| `treatment_principle` | 治疗原则 |
| `treatment_measures` | 治疗措施 |
| `risk_plan` | 风险预案 |
| `communication` | 医患沟通 |
| `follow_up` | 随访安排 |
| `diagnosis_submitted_at``treatment_submitted_at` | 提交时间 |
## 10. `training_record`
| 字段 | 含义 |
|---|---|
| `id` | 训练记录 ID |
| `training_mode``case_type` | 模式和训练类型 |
| `start_time``end_time``duration_seconds` | 训练时间 |
| `total_score``ai_score``teacher_score` | 总分、AI 分、教师分 |
| `evaluation_level` | 评价等级 |
| `status` | 记录状态 |
| `feedback` | 总体反馈 |
| `thinking_chain` | 证据摘要和评分依据 |
| `diagnosis_path` | 诊断路径摘要 |
| `wrong_points` | 错误点/扣分点 |
| `missed_questions` | 遗漏问题 |
| `recommendation_result` | 改进建议和导出信息 |
| `ai_feedback_structured` | AI 结构化评价报告 |
| `prompt_version``rag_context_version` | 提示词版本和 RAG 版本 |
| `case_id` | 关联病例 |
| `user_id` | 源库数字用户 ID |
| `external_user_id` | 宿主系统用户 ID |
| `session_id` | 关联训练会话 |
| `score_type` | 评分类型 |
| `pdf_file_path` | PDF 报告路径 |
`training_record` 是历史记录、报告详情和 PDF 导出的唯一长期来源。