diff --git a/virtual-patient-model/src/main/java/com/supervision/mapper/AskDefaultQuestionAnswerMapper.java b/virtual-patient-model/src/main/java/com/supervision/mapper/AskDefaultQuestionAnswerMapper.java
deleted file mode 100644
index 939e1a5f..00000000
--- a/virtual-patient-model/src/main/java/com/supervision/mapper/AskDefaultQuestionAnswerMapper.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package com.supervision.mapper;
-
-import com.supervision.model.AskDefaultQuestionAnswer;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-
-/**
-* @author flevance
-* @description 针对表【vp_ask_default_question_answer(默认问询意图)】的数据库操作Mapper
-* @createDate 2023-10-27 10:05:55
-* @Entity com.supervision.model.AskDefaultQuestionAnswer
-*/
-public interface AskDefaultQuestionAnswerMapper extends BaseMapper<AskDefaultQuestionAnswer> {
-
-}
-
-
-
-
diff --git a/virtual-patient-model/src/main/java/com/supervision/mapper/AskDiseaseQuestionAnswerMapper.java b/virtual-patient-model/src/main/java/com/supervision/mapper/AskDiseaseQuestionAnswerMapper.java
deleted file mode 100644
index 9fbbdedc..00000000
--- a/virtual-patient-model/src/main/java/com/supervision/mapper/AskDiseaseQuestionAnswerMapper.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package com.supervision.mapper;
-
-import com.supervision.model.AskDiseaseQuestionAnswer;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-
-/**
-* @author flevance
-* @description 针对表【vp_ask_disease_question_answer(诊断问询-疾病特有意图问题及回复)】的数据库操作Mapper
-* @createDate 2023-10-27 10:05:55
-* @Entity com.supervision.model.AskDiseaseQuestionAnswer
-*/
-public interface AskDiseaseQuestionAnswerMapper extends BaseMapper<AskDiseaseQuestionAnswer> {
-
-}
-
-
-
-
diff --git a/virtual-patient-model/src/main/java/com/supervision/mapper/AskPatientAnswerMapper.java b/virtual-patient-model/src/main/java/com/supervision/mapper/AskPatientAnswerMapper.java
new file mode 100644
index 00000000..fe7a172b
--- /dev/null
+++ b/virtual-patient-model/src/main/java/com/supervision/mapper/AskPatientAnswerMapper.java
@@ -0,0 +1,18 @@
+package com.supervision.mapper;
+
+import com.supervision.model.AskPatientAnswer;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+* @author flevance
+* @description 针对表【vp_ask_patient_answer(诊断问询-针对患者的回复)】的数据库操作Mapper
+* @createDate 2023-11-03 11:13:26
+* @Entity com.supervision.model.AskPatientAnswer
+*/
+public interface AskPatientAnswerMapper extends BaseMapper<AskPatientAnswer> {
+
+}
+
+
+
+
diff --git a/virtual-patient-model/src/main/java/com/supervision/mapper/AskTemplateQuestionLibraryMapper.java b/virtual-patient-model/src/main/java/com/supervision/mapper/AskTemplateQuestionLibraryMapper.java
new file mode 100644
index 00000000..22be5eb9
--- /dev/null
+++ b/virtual-patient-model/src/main/java/com/supervision/mapper/AskTemplateQuestionLibraryMapper.java
@@ -0,0 +1,18 @@
+package com.supervision.mapper;
+
+import com.supervision.model.AskTemplateQuestionLibrary;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+* @author flevance
+* @description 针对表【vp_ask_template_question_library(诊断问询意图问题库)】的数据库操作Mapper
+* @createDate 2023-11-03 11:13:26
+* @Entity com.supervision.model.AskTemplateQuestionLibrary
+*/
+public interface AskTemplateQuestionLibraryMapper extends BaseMapper<AskTemplateQuestionLibrary> {
+
+}
+
+
+
+
diff --git a/virtual-patient-model/src/main/java/com/supervision/mapper/AskTemplateQuestionMapper.java b/virtual-patient-model/src/main/java/com/supervision/mapper/AskTemplateQuestionMapper.java
deleted file mode 100644
index 7e449ccf..00000000
--- a/virtual-patient-model/src/main/java/com/supervision/mapper/AskTemplateQuestionMapper.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package com.supervision.mapper;
-
-import com.supervision.model.AskTemplateQuestion;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-
-/**
-* @author flevance
-* @description 针对表【vp_ask_template_question(诊断问询意图)】的数据库操作Mapper
-* @createDate 2023-10-27 10:05:55
-* @Entity com.supervision.model.AskTemplateQuestion
-*/
-public interface AskTemplateQuestionMapper extends BaseMapper<AskTemplateQuestion> {
-
-}
-
-
-
-
diff --git a/virtual-patient-model/src/main/java/com/supervision/mapper/MedicalRecMapper.java b/virtual-patient-model/src/main/java/com/supervision/mapper/MedicalRecMapper.java
new file mode 100644
index 00000000..17ecf939
--- /dev/null
+++ b/virtual-patient-model/src/main/java/com/supervision/mapper/MedicalRecMapper.java
@@ -0,0 +1,18 @@
+package com.supervision.mapper;
+
+import com.supervision.model.MedicalRec;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+* @author flevance
+* @description 针对表【vp_medical_rec(病历表)】的数据库操作Mapper
+* @createDate 2023-11-03 11:25:43
+* @Entity com.supervision.model.MedicalRec
+*/
+public interface MedicalRecMapper extends BaseMapper<MedicalRec> {
+
+}
+
+
+
+
diff --git a/virtual-patient-model/src/main/java/com/supervision/model/AskDiseaseQuestionAnswer.java b/virtual-patient-model/src/main/java/com/supervision/model/AskDiseaseQuestionAnswer.java
deleted file mode 100644
index e6da314b..00000000
--- a/virtual-patient-model/src/main/java/com/supervision/model/AskDiseaseQuestionAnswer.java
+++ /dev/null
@@ -1,96 +0,0 @@
-package com.supervision.model;
-
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
-
-import java.io.Serializable;
-import java.time.LocalDateTime;
-import java.util.List;
-
-import com.baomidou.mybatisplus.extension.activerecord.Model;
-import com.supervision.handler.StringListTypeHandler;
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-/**
- * 诊断问询-疾病特有意图问题及回复
- *
- * @TableName vp_ask_disease_question_answer
- */
-@TableName(value = "vp_ask_disease_question_answer", autoResultMap = true)
-@Data
-@ApiModel
-public class AskDiseaseQuestionAnswer extends Model<AskDiseaseQuestionAnswer> implements Serializable {
-    /**
-     * 主键
-     */
-    @TableId
-    private String id;
-
-    /**
-     * 病人ID
-     */
-    @ApiModelProperty("病人ID")
-    private String patientId;
-
-    /**
-     * 模板问题ID(如果not null,则从template_question表出code,desc,question)
-     */
-    @ApiModelProperty("模板问题ID(如果not null,则从template_question表出code,desc,question)")
-    private String templateQuestionId;
-
-    /**
-     * 编码
-     */
-    @ApiModelProperty("编码")
-    private String code;
-
-    /**
-     * 中文注释
-     */
-    @ApiModelProperty("中文注释")
-    private String description;
-
-    /**
-     * 问题列表
-     */
-    @ApiModelProperty("问题列表")
-    @TableField(typeHandler = StringListTypeHandler.class)
-    private List<String> question;
-
-    /**
-     * 回答列表
-     */
-    @ApiModelProperty("回答列表")
-    @TableField(typeHandler = StringListTypeHandler.class)
-    private List<String> answer;
-
-    @ApiModelProperty("是否必查-初步诊断依据 0否1是")
-    private Integer requireCheck;
-
-    /**
-     * 创建人ID
-     */
-    private String createUserId;
-
-    /**
-     * 创建时间
-     */
-    private LocalDateTime createTime;
-
-    /**
-     * 更新人
-     */
-    private String updateUserId;
-
-    /**
-     * 更新时间
-     */
-    private LocalDateTime updateTime;
-
-    @TableField(exist = false)
-    private static final long serialVersionUID = 1L;
-}
\ No newline at end of file
diff --git a/virtual-patient-model/src/main/java/com/supervision/model/AskTemplateQuestion.java b/virtual-patient-model/src/main/java/com/supervision/model/AskPatientAnswer.java
similarity index 60%
rename from virtual-patient-model/src/main/java/com/supervision/model/AskTemplateQuestion.java
rename to virtual-patient-model/src/main/java/com/supervision/model/AskPatientAnswer.java
index 8bf54832..b1c14709 100644
--- a/virtual-patient-model/src/main/java/com/supervision/model/AskTemplateQuestion.java
+++ b/virtual-patient-model/src/main/java/com/supervision/model/AskPatientAnswer.java
@@ -8,20 +8,16 @@ import java.io.Serializable;
 import java.time.LocalDateTime;
 import java.util.List;
 
-import com.baomidou.mybatisplus.extension.activerecord.Model;
 import com.supervision.handler.StringListTypeHandler;
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 /**
- * 诊断问询意图
- * @TableName vp_ask_template_question
+ * 诊断问询-针对患者的回复
+ * @TableName vp_ask_patient_answer
  */
-@TableName(value ="vp_ask_template_question",autoResultMap = true)
+@TableName(value ="vp_ask_patient_answer",autoResultMap = true)
 @Data
-@ApiModel
-public class AskTemplateQuestion extends Model<AskTemplateQuestion> implements Serializable {
+public class AskPatientAnswer implements Serializable {
     /**
      * 主键
      */
@@ -29,23 +25,25 @@ public class AskTemplateQuestion extends Model<AskTemplateQuestion> implements S
     private String id;
 
     /**
-     * 编码
+     * 病人ID
      */
-    @ApiModelProperty("编码")
-    private String code;
+    private String patientId;
 
     /**
-     * 中文注释
+     * 问题库问题ID
      */
-    @ApiModelProperty("中文注释")
-    private String description;
+    private String libraryQuestionId;
 
     /**
-     * 问题列表
+     * 回答
      */
-    @ApiModelProperty("问题列表")
     @TableField(typeHandler = StringListTypeHandler.class)
-    private List<String> question;
+    private List<String> answer;
+
+    /**
+     * 是否必查-初步诊断依据 0否1是
+     */
+    private Integer requireCheck;
 
     /**
      * 创建人ID
diff --git a/virtual-patient-model/src/main/java/com/supervision/model/AskDefaultQuestionAnswer.java b/virtual-patient-model/src/main/java/com/supervision/model/AskTemplateQuestionLibrary.java
similarity index 70%
rename from virtual-patient-model/src/main/java/com/supervision/model/AskDefaultQuestionAnswer.java
rename to virtual-patient-model/src/main/java/com/supervision/model/AskTemplateQuestionLibrary.java
index 1e1ad11d..0b7f7277 100644
--- a/virtual-patient-model/src/main/java/com/supervision/model/AskDefaultQuestionAnswer.java
+++ b/virtual-patient-model/src/main/java/com/supervision/model/AskTemplateQuestionLibrary.java
@@ -4,25 +4,20 @@ import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
-
 import java.io.Serializable;
 import java.time.LocalDateTime;
 import java.util.List;
 
 import com.supervision.handler.StringListTypeHandler;
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 /**
- * 默认问询意图
- *
- * @TableName vp_ask_default_question_answer
+ * 诊断问询意图问题库
+ * @TableName vp_ask_template_question_library
  */
-@TableName(value = "vp_ask_default_question_answer", autoResultMap = true)
+@TableName(value ="vp_ask_template_question_library", autoResultMap = true)
 @Data
-@ApiModel
-public class AskDefaultQuestionAnswer implements Serializable {
+public class AskTemplateQuestionLibrary implements Serializable {
     /**
      * 主键
      */
@@ -32,28 +27,24 @@ public class AskDefaultQuestionAnswer implements Serializable {
     /**
      * 编码
      */
-    @ApiModelProperty("编码")
     private String code;
 
     /**
      * 中文注释
      */
-    @ApiModelProperty("中文注释")
     private String description;
 
     /**
      * 问题列表
      */
-    @ApiModelProperty("问题列表")
     @TableField(typeHandler = StringListTypeHandler.class)
     private List<String> question;
 
     /**
-     * 回答列表
+     * 默认问题的回答
      */
-    @ApiModelProperty("回答列表")
     @TableField(typeHandler = StringListTypeHandler.class)
-    private List<String> answer;
+    private List<String> defaultAnswer;
 
     /**
      * 创建人ID
diff --git a/virtual-patient-model/src/main/java/com/supervision/model/DiagnosisQaRecord.java b/virtual-patient-model/src/main/java/com/supervision/model/DiagnosisQaRecord.java
index 5b118db4..d4e996d4 100644
--- a/virtual-patient-model/src/main/java/com/supervision/model/DiagnosisQaRecord.java
+++ b/virtual-patient-model/src/main/java/com/supervision/model/DiagnosisQaRecord.java
@@ -32,9 +32,6 @@ public class DiagnosisQaRecord extends Model<DiagnosisQaRecord> implements Seria
     @ApiModelProperty("诊断进程ID")
     private String processId;
 
-    @ApiModelProperty("问答类型:default,disease")
-    private String questionAnswerType;
-
     /**
      * 问题答案表ID
      */
diff --git a/virtual-patient-model/src/main/java/com/supervision/model/Disease.java b/virtual-patient-model/src/main/java/com/supervision/model/Disease.java
index 5d8c8848..a5e1796c 100644
--- a/virtual-patient-model/src/main/java/com/supervision/model/Disease.java
+++ b/virtual-patient-model/src/main/java/com/supervision/model/Disease.java
@@ -6,7 +6,9 @@ import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import java.io.Serializable;
 import java.time.LocalDateTime;
+import java.util.List;
 
+import com.supervision.handler.StringListTypeHandler;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -15,7 +17,7 @@ import lombok.Data;
  * 疾病名称
  * @TableName vp_disease
  */
-@TableName(value ="vp_disease")
+@TableName(value ="vp_disease", autoResultMap = true)
 @Data
 @ApiModel
 public class Disease implements Serializable {
@@ -68,6 +70,9 @@ public class Disease implements Serializable {
     @ApiModelProperty("其他")
     private String other;
 
+    @TableField(typeHandler = StringListTypeHandler.class)
+    private List<String> standardQuestionLibrary;
+
 
     /**
      * 创建人ID
diff --git a/virtual-patient-model/src/main/java/com/supervision/model/DiseaseAncillary.java b/virtual-patient-model/src/main/java/com/supervision/model/DiseaseAncillary.java
index e0d4599a..06af2c04 100644
--- a/virtual-patient-model/src/main/java/com/supervision/model/DiseaseAncillary.java
+++ b/virtual-patient-model/src/main/java/com/supervision/model/DiseaseAncillary.java
@@ -26,10 +26,10 @@ public class DiseaseAncillary implements Serializable {
     private String id;
 
     /**
-     * 病人ID
+     * 病历ID
      */
-    @ApiModelProperty("病人ID")
-    private String patientId;
+    @ApiModelProperty("病历ID")
+    private String medicalRecId;
 
     /**
      * 工具ID
diff --git a/virtual-patient-model/src/main/java/com/supervision/model/DiseasePhysical.java b/virtual-patient-model/src/main/java/com/supervision/model/DiseasePhysical.java
index 9a187d12..67ff78f6 100644
--- a/virtual-patient-model/src/main/java/com/supervision/model/DiseasePhysical.java
+++ b/virtual-patient-model/src/main/java/com/supervision/model/DiseasePhysical.java
@@ -26,11 +26,10 @@ public class DiseasePhysical implements Serializable {
     private String id;
 
     /**
-     * 病人ID
+     * 病历ID
      */
-    @ApiModelProperty("病人ID")
-    private String patientId;
-
+    @ApiModelProperty("病历ID")
+    private String medicalRecId;
     /**
      * 工具ID
      */
diff --git a/virtual-patient-model/src/main/java/com/supervision/model/MedicalRec.java b/virtual-patient-model/src/main/java/com/supervision/model/MedicalRec.java
new file mode 100644
index 00000000..9684caa9
--- /dev/null
+++ b/virtual-patient-model/src/main/java/com/supervision/model/MedicalRec.java
@@ -0,0 +1,91 @@
+package com.supervision.model;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+
+import java.io.Serializable;
+import java.util.List;
+
+import com.supervision.handler.StringListTypeHandler;
+import lombok.Data;
+
+/**
+ * 病历表
+ *
+ * @TableName vp_medical_rec
+ */
+@TableName(value = "vp_medical_rec", autoResultMap = true)
+@Data
+public class MedicalRec implements Serializable {
+    /**
+     * 主键
+     */
+    @TableId
+    private String id;
+
+    /**
+     * 病例编号
+     */
+    private String no;
+
+    /**
+     * 病人ID
+     */
+    private String patientId;
+
+    /**
+     * 疾病列表
+     */
+    @TableField(typeHandler = StringListTypeHandler.class)
+    private List<String> diseaseList;
+
+    /**
+     * 患者主诉
+     */
+    private String patientSelfDesc;
+
+    /**
+     * 症状
+     */
+    private String symptoms;
+
+    /**
+     * 预期诊断结果
+     */
+    private String expectDiagnosisResult;
+
+    /**
+     * 预期治疗计划
+     */
+    private String expectDiseaseTreatmentPlan;
+
+    /**
+     * 初步诊断
+     */
+    private Object primaryDiagnosis;
+
+    /**
+     * 过敏史
+     */
+    private String allergyHistory;
+
+    /**
+     * 既往史
+     */
+    private String previousHistory;
+
+    /**
+     * 家族史
+     */
+    private String familyHistory;
+
+    /**
+     * 婚育史
+     */
+    private String marriageChildHistory;
+
+    @TableField(exist = false)
+    private static final long serialVersionUID = 1L;
+}
\ No newline at end of file
diff --git a/virtual-patient-model/src/main/java/com/supervision/model/Patient.java b/virtual-patient-model/src/main/java/com/supervision/model/Patient.java
index af5d6958..5e4b4682 100644
--- a/virtual-patient-model/src/main/java/com/supervision/model/Patient.java
+++ b/virtual-patient-model/src/main/java/com/supervision/model/Patient.java
@@ -18,7 +18,7 @@ import java.util.List;
  *
  * @TableName vp_patient
  */
-@TableName(value = "vp_patient", autoResultMap = true)
+@TableName(value = "vp_patient")
 @Data
 @ApiModel
 public class Patient implements Serializable {
@@ -64,25 +64,6 @@ public class Patient implements Serializable {
     @ApiModelProperty("体重")
     private BigDecimal weight;
 
-    /**
-     * 疾病列表
-     */
-    @ApiModelProperty("疾病列表")
-    @TableField(typeHandler = StringListTypeHandler.class)
-    private List<String> diseaseList;
-
-    /**
-     * 预期诊断结果
-     */
-    @ApiModelProperty("预期诊断结果")
-    private String expectedDiagnosisResult;
-
-    /**
-     * 治疗计划
-     */
-    @ApiModelProperty("治疗计划")
-    private String diseaseTreatmentPlan;
-
     /**
      * 创建人ID
      */
diff --git a/virtual-patient-model/src/main/java/com/supervision/model/Process.java b/virtual-patient-model/src/main/java/com/supervision/model/Process.java
index fd6abade..cf172f33 100644
--- a/virtual-patient-model/src/main/java/com/supervision/model/Process.java
+++ b/virtual-patient-model/src/main/java/com/supervision/model/Process.java
@@ -32,6 +32,9 @@ public class Process implements Serializable {
     @ApiModelProperty("病人ID")
     private String patientId;
 
+    @ApiModelProperty("病历ID")
+    private String medicalRecId;
+
     /**
      * 用户ID
      */
@@ -41,7 +44,7 @@ public class Process implements Serializable {
     /**
      * 任务状态 0进行中 1已完成
      */
-    @ApiModelProperty("任务状态 0进行中 1已完成")
+    @ApiModelProperty("任务状态 -1未开始 0进行中 1已完成")
     private Integer status;
 
     /**
diff --git a/virtual-patient-model/src/main/java/com/supervision/service/AskDefaultQuestionAnswerService.java b/virtual-patient-model/src/main/java/com/supervision/service/AskDefaultQuestionAnswerService.java
deleted file mode 100644
index 2f3601f5..00000000
--- a/virtual-patient-model/src/main/java/com/supervision/service/AskDefaultQuestionAnswerService.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package com.supervision.service;
-
-import com.supervision.model.AskDefaultQuestionAnswer;
-import com.baomidou.mybatisplus.extension.service.IService;
-
-/**
-* @author flevance
-* @description 针对表【vp_ask_default_question_answer(默认问询意图)】的数据库操作Service
-* @createDate 2023-10-27 10:05:55
-*/
-public interface AskDefaultQuestionAnswerService extends IService<AskDefaultQuestionAnswer> {
-
-}
diff --git a/virtual-patient-model/src/main/java/com/supervision/service/AskDiseaseQuestionAnswerService.java b/virtual-patient-model/src/main/java/com/supervision/service/AskDiseaseQuestionAnswerService.java
deleted file mode 100644
index cad8c846..00000000
--- a/virtual-patient-model/src/main/java/com/supervision/service/AskDiseaseQuestionAnswerService.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package com.supervision.service;
-
-import com.supervision.model.AskDiseaseQuestionAnswer;
-import com.baomidou.mybatisplus.extension.service.IService;
-
-/**
-* @author flevance
-* @description 针对表【vp_ask_disease_question_answer(诊断问询-疾病特有意图问题及回复)】的数据库操作Service
-* @createDate 2023-10-27 10:05:55
-*/
-public interface AskDiseaseQuestionAnswerService extends IService<AskDiseaseQuestionAnswer> {
-
-}
diff --git a/virtual-patient-model/src/main/java/com/supervision/service/AskPatientAnswerService.java b/virtual-patient-model/src/main/java/com/supervision/service/AskPatientAnswerService.java
new file mode 100644
index 00000000..1f2f978b
--- /dev/null
+++ b/virtual-patient-model/src/main/java/com/supervision/service/AskPatientAnswerService.java
@@ -0,0 +1,13 @@
+package com.supervision.service;
+
+import com.supervision.model.AskPatientAnswer;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+* @author flevance
+* @description 针对表【vp_ask_patient_answer(诊断问询-针对患者的回复)】的数据库操作Service
+* @createDate 2023-11-03 11:13:26
+*/
+public interface AskPatientAnswerService extends IService<AskPatientAnswer> {
+
+}
diff --git a/virtual-patient-model/src/main/java/com/supervision/service/AskTemplateQuestionLibraryService.java b/virtual-patient-model/src/main/java/com/supervision/service/AskTemplateQuestionLibraryService.java
new file mode 100644
index 00000000..23cb0809
--- /dev/null
+++ b/virtual-patient-model/src/main/java/com/supervision/service/AskTemplateQuestionLibraryService.java
@@ -0,0 +1,13 @@
+package com.supervision.service;
+
+import com.supervision.model.AskTemplateQuestionLibrary;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+* @author flevance
+* @description 针对表【vp_ask_template_question_library(诊断问询意图问题库)】的数据库操作Service
+* @createDate 2023-11-03 11:13:26
+*/
+public interface AskTemplateQuestionLibraryService extends IService<AskTemplateQuestionLibrary> {
+
+}
diff --git a/virtual-patient-model/src/main/java/com/supervision/service/AskTemplateQuestionService.java b/virtual-patient-model/src/main/java/com/supervision/service/AskTemplateQuestionService.java
deleted file mode 100644
index a15af01c..00000000
--- a/virtual-patient-model/src/main/java/com/supervision/service/AskTemplateQuestionService.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package com.supervision.service;
-
-import com.supervision.model.AskTemplateQuestion;
-import com.baomidou.mybatisplus.extension.service.IService;
-
-/**
-* @author flevance
-* @description 针对表【vp_ask_template_question(诊断问询意图)】的数据库操作Service
-* @createDate 2023-10-27 10:05:55
-*/
-public interface AskTemplateQuestionService extends IService<AskTemplateQuestion> {
-
-}
diff --git a/virtual-patient-model/src/main/java/com/supervision/service/MedicalRecService.java b/virtual-patient-model/src/main/java/com/supervision/service/MedicalRecService.java
new file mode 100644
index 00000000..ceb949d8
--- /dev/null
+++ b/virtual-patient-model/src/main/java/com/supervision/service/MedicalRecService.java
@@ -0,0 +1,13 @@
+package com.supervision.service;
+
+import com.supervision.model.MedicalRec;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+* @author flevance
+* @description 针对表【vp_medical_rec(病历表)】的数据库操作Service
+* @createDate 2023-11-03 11:25:43
+*/
+public interface MedicalRecService extends IService<MedicalRec> {
+
+}
diff --git a/virtual-patient-model/src/main/java/com/supervision/service/impl/AskDefaultQuestionAnswerServiceImpl.java b/virtual-patient-model/src/main/java/com/supervision/service/impl/AskDefaultQuestionAnswerServiceImpl.java
deleted file mode 100644
index 1b74f40c..00000000
--- a/virtual-patient-model/src/main/java/com/supervision/service/impl/AskDefaultQuestionAnswerServiceImpl.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package com.supervision.service.impl;
-
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.supervision.model.AskDefaultQuestionAnswer;
-import com.supervision.service.AskDefaultQuestionAnswerService;
-import com.supervision.mapper.AskDefaultQuestionAnswerMapper;
-import org.springframework.stereotype.Service;
-
-/**
-* @author flevance
-* @description 针对表【vp_ask_default_question_answer(默认问询意图)】的数据库操作Service实现
-* @createDate 2023-10-27 10:05:55
-*/
-@Service
-public class AskDefaultQuestionAnswerServiceImpl extends ServiceImpl<AskDefaultQuestionAnswerMapper, AskDefaultQuestionAnswer>
-    implements AskDefaultQuestionAnswerService{
-
-}
-
-
-
-
diff --git a/virtual-patient-model/src/main/java/com/supervision/service/impl/AskDiseaseQuestionAnswerServiceImpl.java b/virtual-patient-model/src/main/java/com/supervision/service/impl/AskDiseaseQuestionAnswerServiceImpl.java
deleted file mode 100644
index 55ddbfef..00000000
--- a/virtual-patient-model/src/main/java/com/supervision/service/impl/AskDiseaseQuestionAnswerServiceImpl.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package com.supervision.service.impl;
-
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.supervision.model.AskDiseaseQuestionAnswer;
-import com.supervision.service.AskDiseaseQuestionAnswerService;
-import com.supervision.mapper.AskDiseaseQuestionAnswerMapper;
-import org.springframework.stereotype.Service;
-
-/**
-* @author flevance
-* @description 针对表【vp_ask_disease_question_answer(诊断问询-疾病特有意图问题及回复)】的数据库操作Service实现
-* @createDate 2023-10-27 10:05:55
-*/
-@Service
-public class AskDiseaseQuestionAnswerServiceImpl extends ServiceImpl<AskDiseaseQuestionAnswerMapper, AskDiseaseQuestionAnswer>
-    implements AskDiseaseQuestionAnswerService{
-
-}
-
-
-
-
diff --git a/virtual-patient-model/src/main/java/com/supervision/service/impl/AskPatientAnswerServiceImpl.java b/virtual-patient-model/src/main/java/com/supervision/service/impl/AskPatientAnswerServiceImpl.java
new file mode 100644
index 00000000..83f66d36
--- /dev/null
+++ b/virtual-patient-model/src/main/java/com/supervision/service/impl/AskPatientAnswerServiceImpl.java
@@ -0,0 +1,22 @@
+package com.supervision.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.supervision.model.AskPatientAnswer;
+import com.supervision.service.AskPatientAnswerService;
+import com.supervision.mapper.AskPatientAnswerMapper;
+import org.springframework.stereotype.Service;
+
+/**
+* @author flevance
+* @description 针对表【vp_ask_patient_answer(诊断问询-针对患者的回复)】的数据库操作Service实现
+* @createDate 2023-11-03 11:13:26
+*/
+@Service
+public class AskPatientAnswerServiceImpl extends ServiceImpl<AskPatientAnswerMapper, AskPatientAnswer>
+    implements AskPatientAnswerService{
+
+}
+
+
+
+
diff --git a/virtual-patient-model/src/main/java/com/supervision/service/impl/AskTemplateQuestionLibraryServiceImpl.java b/virtual-patient-model/src/main/java/com/supervision/service/impl/AskTemplateQuestionLibraryServiceImpl.java
new file mode 100644
index 00000000..a4eecea5
--- /dev/null
+++ b/virtual-patient-model/src/main/java/com/supervision/service/impl/AskTemplateQuestionLibraryServiceImpl.java
@@ -0,0 +1,22 @@
+package com.supervision.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.supervision.model.AskTemplateQuestionLibrary;
+import com.supervision.service.AskTemplateQuestionLibraryService;
+import com.supervision.mapper.AskTemplateQuestionLibraryMapper;
+import org.springframework.stereotype.Service;
+
+/**
+* @author flevance
+* @description 针对表【vp_ask_template_question_library(诊断问询意图问题库)】的数据库操作Service实现
+* @createDate 2023-11-03 11:13:26
+*/
+@Service
+public class AskTemplateQuestionLibraryServiceImpl extends ServiceImpl<AskTemplateQuestionLibraryMapper, AskTemplateQuestionLibrary>
+    implements AskTemplateQuestionLibraryService{
+
+}
+
+
+
+
diff --git a/virtual-patient-model/src/main/java/com/supervision/service/impl/AskTemplateQuestionServiceImpl.java b/virtual-patient-model/src/main/java/com/supervision/service/impl/AskTemplateQuestionServiceImpl.java
deleted file mode 100644
index a1ce81fb..00000000
--- a/virtual-patient-model/src/main/java/com/supervision/service/impl/AskTemplateQuestionServiceImpl.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package com.supervision.service.impl;
-
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.supervision.model.AskTemplateQuestion;
-import com.supervision.service.AskTemplateQuestionService;
-import com.supervision.mapper.AskTemplateQuestionMapper;
-import org.springframework.stereotype.Service;
-
-/**
-* @author flevance
-* @description 针对表【vp_ask_template_question(诊断问询意图)】的数据库操作Service实现
-* @createDate 2023-10-27 10:05:55
-*/
-@Service
-public class AskTemplateQuestionServiceImpl extends ServiceImpl<AskTemplateQuestionMapper, AskTemplateQuestion>
-    implements AskTemplateQuestionService{
-
-}
-
-
-
-
diff --git a/virtual-patient-model/src/main/java/com/supervision/service/impl/MedicalRecServiceImpl.java b/virtual-patient-model/src/main/java/com/supervision/service/impl/MedicalRecServiceImpl.java
new file mode 100644
index 00000000..fa5c2149
--- /dev/null
+++ b/virtual-patient-model/src/main/java/com/supervision/service/impl/MedicalRecServiceImpl.java
@@ -0,0 +1,22 @@
+package com.supervision.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.supervision.model.MedicalRec;
+import com.supervision.service.MedicalRecService;
+import com.supervision.mapper.MedicalRecMapper;
+import org.springframework.stereotype.Service;
+
+/**
+* @author flevance
+* @description 针对表【vp_medical_rec(病历表)】的数据库操作Service实现
+* @createDate 2023-11-03 11:25:43
+*/
+@Service
+public class MedicalRecServiceImpl extends ServiceImpl<MedicalRecMapper, MedicalRec>
+    implements MedicalRecService{
+
+}
+
+
+
+
diff --git a/virtual-patient-model/src/main/resources/mapper/AskDiseaseQuestionAnswerMapper.xml b/virtual-patient-model/src/main/resources/mapper/AskDiseaseQuestionAnswerMapper.xml
deleted file mode 100644
index 6a8e90ef..00000000
--- a/virtual-patient-model/src/main/resources/mapper/AskDiseaseQuestionAnswerMapper.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE mapper
-        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
-        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.supervision.mapper.AskDiseaseQuestionAnswerMapper">
-
-    <resultMap id="BaseResultMap" type="com.supervision.model.AskDiseaseQuestionAnswer">
-            <id property="id" column="id" jdbcType="VARCHAR"/>
-            <result property="patientId" column="patient_id" jdbcType="VARCHAR"/>
-            <result property="templateQuestionId" column="template_question_id" jdbcType="VARCHAR"/>
-            <result property="code" column="code" jdbcType="VARCHAR"/>
-            <result property="description" column="description" jdbcType="VARCHAR"/>
-            <result property="question" column="question" jdbcType="ARRAY" typeHandler="com.supervision.handler.StringListTypeHandler"/>
-            <result property="answer" column="answer" jdbcType="ARRAY" typeHandler="com.supervision.handler.StringListTypeHandler"/>
-            <result property="createUserId" column="create_user_id" jdbcType="VARCHAR"/>
-            <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
-            <result property="updateUserId" column="update_user_id" jdbcType="VARCHAR"/>
-            <result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
-    </resultMap>
-
-    <sql id="Base_Column_List">
-        id,patient_id,template_question_id,
-        code,description,question,
-        answer,create_user_id,create_time,
-        update_user_id,update_time
-    </sql>
-</mapper>
diff --git a/virtual-patient-model/src/main/resources/mapper/AskDefaultQuestionAnswerMapper.xml b/virtual-patient-model/src/main/resources/mapper/AskPatientAnswerMapper.xml
similarity index 60%
rename from virtual-patient-model/src/main/resources/mapper/AskDefaultQuestionAnswerMapper.xml
rename to virtual-patient-model/src/main/resources/mapper/AskPatientAnswerMapper.xml
index 5a7a978f..5da28e5f 100644
--- a/virtual-patient-model/src/main/resources/mapper/AskDefaultQuestionAnswerMapper.xml
+++ b/virtual-patient-model/src/main/resources/mapper/AskPatientAnswerMapper.xml
@@ -2,14 +2,14 @@
 <!DOCTYPE mapper
         PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.supervision.mapper.AskDefaultQuestionAnswerMapper">
+<mapper namespace="com.supervision.mapper.AskPatientAnswerMapper">
 
-    <resultMap id="BaseResultMap" type="com.supervision.model.AskDefaultQuestionAnswer">
+    <resultMap id="BaseResultMap" type="com.supervision.model.AskPatientAnswer">
             <id property="id" column="id" jdbcType="VARCHAR"/>
-            <result property="code" column="code" jdbcType="VARCHAR"/>
-            <result property="description" column="description" jdbcType="VARCHAR"/>
-            <result property="question" column="question" jdbcType="ARRAY" typeHandler="com.supervision.handler.StringListTypeHandler"/>
-            <result property="answer" column="answer" jdbcType="ARRAY" typeHandler="com.supervision.handler.StringListTypeHandler"/>
+            <result property="patientId" column="patient_id" jdbcType="VARCHAR"/>
+            <result property="libraryQuestionId" column="library_question_id" jdbcType="VARCHAR"/>
+            <result property="answer" column="answer" jdbcType="OTHER"/>
+            <result property="requireCheck" column="require_check" jdbcType="INTEGER"/>
             <result property="createUserId" column="create_user_id" jdbcType="VARCHAR"/>
             <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
             <result property="updateUserId" column="update_user_id" jdbcType="VARCHAR"/>
@@ -17,8 +17,8 @@
     </resultMap>
 
     <sql id="Base_Column_List">
-        id,code,description,
-        question,answer,create_user_id,
+        id,patient_id,library_question_id,
+        answer,require_check,create_user_id,
         create_time,update_user_id,update_time
     </sql>
 </mapper>
diff --git a/virtual-patient-model/src/main/resources/mapper/AskTemplateQuestionMapper.xml b/virtual-patient-model/src/main/resources/mapper/AskTemplateQuestionLibraryMapper.xml
similarity index 76%
rename from virtual-patient-model/src/main/resources/mapper/AskTemplateQuestionMapper.xml
rename to virtual-patient-model/src/main/resources/mapper/AskTemplateQuestionLibraryMapper.xml
index 5c8807fc..2d946087 100644
--- a/virtual-patient-model/src/main/resources/mapper/AskTemplateQuestionMapper.xml
+++ b/virtual-patient-model/src/main/resources/mapper/AskTemplateQuestionLibraryMapper.xml
@@ -2,13 +2,14 @@
 <!DOCTYPE mapper
         PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.supervision.mapper.AskTemplateQuestionMapper">
+<mapper namespace="com.supervision.mapper.AskTemplateQuestionLibraryMapper">
 
-    <resultMap id="BaseResultMap" type="com.supervision.model.AskTemplateQuestion">
+    <resultMap id="BaseResultMap" type="com.supervision.model.AskTemplateQuestionLibrary">
             <id property="id" column="id" jdbcType="VARCHAR"/>
             <result property="code" column="code" jdbcType="VARCHAR"/>
             <result property="description" column="description" jdbcType="VARCHAR"/>
-            <result property="question" column="question" jdbcType="ARRAY" typeHandler="com.supervision.handler.StringListTypeHandler"/>
+            <result property="question" column="question" jdbcType="OTHER"/>
+            <result property="defaultAnswer" column="default_answer" jdbcType="OTHER"/>
             <result property="createUserId" column="create_user_id" jdbcType="VARCHAR"/>
             <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
             <result property="updateUserId" column="update_user_id" jdbcType="VARCHAR"/>
@@ -17,7 +18,7 @@
 
     <sql id="Base_Column_List">
         id,code,description,
-        question,create_user_id,create_time,
-        update_user_id,update_time
+        question,default_answer,create_user_id,
+        create_time,update_user_id,update_time
     </sql>
 </mapper>
diff --git a/virtual-patient-model/src/main/resources/mapper/MedicalRecMapper.xml b/virtual-patient-model/src/main/resources/mapper/MedicalRecMapper.xml
new file mode 100644
index 00000000..3b07084b
--- /dev/null
+++ b/virtual-patient-model/src/main/resources/mapper/MedicalRecMapper.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.supervision.mapper.MedicalRecMapper">
+
+    <resultMap id="BaseResultMap" type="com.supervision.model.MedicalRec">
+            <id property="id" column="id" jdbcType="VARCHAR"/>
+            <result property="no" column="no" jdbcType="VARCHAR"/>
+            <result property="patientId" column="patient_id" jdbcType="VARCHAR"/>
+            <result property="patientSelfDesc" column="patient_self_desc" jdbcType="VARCHAR"/>
+            <result property="symptoms" column="symptoms" jdbcType="VARCHAR"/>
+            <result property="expectDiagnosisResult" column="expect_diagnosis_result" jdbcType="VARCHAR"/>
+            <result property="expectDiseaseTreatmentPlan" column="expect_disease_treatment_plan" jdbcType="VARCHAR"/>
+            <result property="primaryDiagnosis" column="primary_diagnosis" jdbcType="OTHER"/>
+            <result property="allergyHistory" column="allergy_history" jdbcType="VARCHAR"/>
+            <result property="previousHistory" column="previous_history" jdbcType="VARCHAR"/>
+            <result property="familyHistory" column="family_history" jdbcType="VARCHAR"/>
+            <result property="marriageChildHistory" column="marriage_child_history" jdbcType="VARCHAR"/>
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        id,no,patient_id,
+        patient_self_desc,symptoms,expect_diagnosis_result,
+        expect_disease_treatment_plan,primary_diagnosis,allergy_history,
+        previous_history,family_history,marriage_child_history
+    </sql>
+</mapper>
diff --git a/virtual-patient-web/src/main/java/com/supervision/controller/TestController.java b/virtual-patient-web/src/main/java/com/supervision/controller/TestController.java
index 6e95fbdf..a7b3e38a 100644
--- a/virtual-patient-web/src/main/java/com/supervision/controller/TestController.java
+++ b/virtual-patient-web/src/main/java/com/supervision/controller/TestController.java
@@ -1,23 +1,13 @@
 package com.supervision.controller;
 
-import cn.hutool.core.collection.ListUtil;
-import cn.hutool.core.lang.hash.Hash;
 import cn.hutool.crypto.digest.MD5;
-import cn.hutool.extra.pinyin.PinyinUtil;
 import cn.hutool.http.HttpUtil;
 import cn.hutool.json.JSONObject;
 import cn.hutool.json.JSONUtil;
-import cn.hutool.poi.excel.ExcelReader;
-import cn.hutool.poi.excel.ExcelUtil;
 import com.supervision.exception.BusinessException;
-import com.supervision.model.AskDiseaseQuestionAnswer;
-import com.supervision.model.AskTemplateQuestion;
 import com.supervision.model.ConfigPhysicalTool;
-import com.supervision.service.AskDiseaseQuestionAnswerService;
-import com.supervision.service.AskTemplateQuestionService;
 import com.supervision.service.ConfigPhysicalToolService;
 import lombok.RequiredArgsConstructor;
-import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.*;
 
 import java.util.*;
@@ -96,38 +86,6 @@ public class TestController {
         return signServer;
     }
 
-    @PostMapping("saveQuestion")
-    @Transactional(rollbackFor = Exception.class)
-    public void saveQuestion() {
-        ExcelReader reader = ExcelUtil.getReader("/Users/flevance/Desktop/template.xlsx");
-        List<List<Object>> read = reader.read();
-        for (List<Object> readLine : read) {
-            String desc = (String) readLine.get(0);
-            String pinyin = PinyinUtil.getPinyin((String) readLine.get(0), "_");
-            String question = (String) readLine.get(1);
-            String answer = (String) readLine.get(2);
-            String otherQuestionStr = (String) readLine.get(3);
-
-            AskTemplateQuestion templateQuestion = new AskTemplateQuestion();
-            templateQuestion.setCode("ask_" + pinyin);
-            templateQuestion.setDescription(desc);
-            List<String> questionList = JSONUtil.toList(otherQuestionStr, String.class);
-            questionList.add(0, question);
-            templateQuestion.setQuestion(questionList);
-            templateQuestion.insert();
-
-
-            AskDiseaseQuestionAnswer askDiseaseQuestionAnswer = new AskDiseaseQuestionAnswer();
-            askDiseaseQuestionAnswer.setPatientId("1");
-            askDiseaseQuestionAnswer.setTemplateQuestionId(templateQuestion.getId());
-            askDiseaseQuestionAnswer.setAnswer(ListUtil.of(answer));
-            askDiseaseQuestionAnswer.insert();
-
-
-        }
-
-
-    }
 
 
 }
diff --git a/virtual-patient-web/src/main/java/com/supervision/service/impl/AskAncillaryServiceImpl.java b/virtual-patient-web/src/main/java/com/supervision/service/impl/AskAncillaryServiceImpl.java
index 33ac6bbe..4f25834e 100644
--- a/virtual-patient-web/src/main/java/com/supervision/service/impl/AskAncillaryServiceImpl.java
+++ b/virtual-patient-web/src/main/java/com/supervision/service/impl/AskAncillaryServiceImpl.java
@@ -26,6 +26,8 @@ public class AskAncillaryServiceImpl implements AskAncillaryService {
 
     private final DiagnosisAncillaryRecordService diagnosisAncillaryRecordService;
 
+    private final MedicalRecService medicalRecService;
+
     @Override
     public List<ConfigAncillaryItemResVO> queryAncillaryItemList() {
         List<ConfigAncillaryItem> list = ancillaryItemService.lambdaQuery().list();
@@ -42,7 +44,7 @@ public class AskAncillaryServiceImpl implements AskAncillaryService {
         // 首先根据process_id查新到流程ID
         Process process = Optional.ofNullable(processService.getById(reqVO.getProcessId())).orElseThrow(() -> new BusinessException("未找到流程ID"));
         // 找到对应的项目的检查结果
-        DiseaseAncillary diseaseAncillary = diseaseAncillaryService.lambdaQuery().eq(DiseaseAncillary::getPatientId, process.getPatientId()).eq(DiseaseAncillary::getItemId, reqVO.getItemId())
+        DiseaseAncillary diseaseAncillary = diseaseAncillaryService.lambdaQuery().eq(DiseaseAncillary::getMedicalRecId, process.getMedicalRecId()).eq(DiseaseAncillary::getItemId, reqVO.getItemId())
                 .oneOpt().orElseGet(() -> {
                     DiseaseAncillary get = new DiseaseAncillary();
                     get.setResult("无相关资讯");
diff --git a/virtual-patient-web/src/main/java/com/supervision/service/impl/AskDiagnosisResultServiceImpl.java b/virtual-patient-web/src/main/java/com/supervision/service/impl/AskDiagnosisResultServiceImpl.java
index 8e7306b2..e0f5f294 100644
--- a/virtual-patient-web/src/main/java/com/supervision/service/impl/AskDiagnosisResultServiceImpl.java
+++ b/virtual-patient-web/src/main/java/com/supervision/service/impl/AskDiagnosisResultServiceImpl.java
@@ -28,7 +28,9 @@ public class AskDiagnosisResultServiceImpl implements AskDiagnosisResultService
 
     private final DiagnosisPrimaryService diagnosisPrimaryService;
 
-    private final AskDiseaseQuestionAnswerService askDiseaseQuestionAnswerService;
+    private final AskPatientAnswerService askPatientAnswerService;
+
+    private final MedicalRecService medicalRecService;
 
     private final DiagnosisQaRecordService diagnosisQaRecordService;
 
@@ -68,11 +70,12 @@ public class AskDiagnosisResultServiceImpl implements AskDiagnosisResultService
         diagnosisResultResVO.setId(processId);
         Process process = processService.getById(processId);
         Patient patient = patientService.getById(process.getPatientId());
-        List<Disease> diseasesList = diseaseService.listByIds(patient.getDiseaseList());
+        MedicalRec medicalRec = medicalRecService.getById(process.getMedicalRecId());
+        List<Disease> diseasesList = diseaseService.listByIds(medicalRec.getDiseaseList());
         // 1.生成预期诊断结果
-        diagnosisResultResVO.setExpertDiagnosisResult(creatExpertDiagnosisResult(diagnosisResult, patient, diseasesList));
+        diagnosisResultResVO.setExpertDiagnosisResult(creatExpertDiagnosisResult(medicalRec, diagnosisResult, diseasesList));
         // 2.生成初步诊断依据
-        diagnosisResultResVO.setBasisPrimaryResultResVO(createBasisPrimaryResult(processId, diseasesList));
+        diagnosisResultResVO.setBasisPrimaryResultResVO(createBasisPrimaryResult(patient, processId, diseasesList));
         // 3.生成证实诊断依据
         diagnosisResultResVO.setBasisConfirmResultResVO(createBasisConfirmResult(processId, diseasesList));
         // 4.生成鉴别诊断依据
@@ -80,15 +83,15 @@ public class AskDiagnosisResultServiceImpl implements AskDiagnosisResultService
         // 5.全面检查-(暂无相关数据) 后面再看
         diagnosisResultResVO.setFullCheck(null);
         // 6.处置方案
-        diagnosisResultResVO.setDealPlan(createDealPlan(diagnosisResult, patient));
+        diagnosisResultResVO.setDealPlan(createDealPlan(medicalRec, diagnosisResult, patient));
         return diagnosisResultResVO;
     }
 
-    private DealPlanResVO createDealPlan(DiagnosisResult diagnosisResult, Patient patient) {
+    private DealPlanResVO createDealPlan(MedicalRec medicalRec, DiagnosisResult diagnosisResult, Patient patient) {
         DealPlanResVO dealPlanResVO = new DealPlanResVO();
         dealPlanResVO.setUserTreatmentPlanType(diagnosisResult.getTreatmentPlanType());
         dealPlanResVO.setUserTreatmentPlan(diagnosisResult.getTreatmentPlan());
-        dealPlanResVO.setRealTreatmentPlan(patient.getDiseaseTreatmentPlan());
+        dealPlanResVO.setRealTreatmentPlan(medicalRec.getExpectDiseaseTreatmentPlan());
         return dealPlanResVO;
 
     }
@@ -153,7 +156,7 @@ public class AskDiagnosisResultServiceImpl implements AskDiagnosisResultService
         return basisConfirmResultResVO;
     }
 
-    private BasisPrimaryResultResVO createBasisPrimaryResult(String processId, List<Disease> diseasesList) {
+    private BasisPrimaryResultResVO createBasisPrimaryResult(Patient patient, String processId, List<Disease> diseasesList) {
         BasisPrimaryResultResVO basisPrimaryResultResVO = new BasisPrimaryResultResVO();
         basisPrimaryResultResVO.setPreliminaryDiagnosis(diseasesList.stream().map(Disease::getPreliminaryDiagnosis).collect(Collectors.toList()));
         // 根据record记录寻找符合初步诊断依据的项目
@@ -161,13 +164,11 @@ public class AskDiagnosisResultServiceImpl implements AskDiagnosisResultService
         List<BasisDiagnosisNodeResVO> basisDiagnosisNodeResVOS = new ArrayList<>();
         List<DiagnosisQaRecord> qaRecordList = diagnosisQaRecordService.lambdaQuery().eq(DiagnosisQaRecord::getProcessId, processId).list();
         if (CollectionUtil.isNotEmpty(qaRecordList)) {
-            Set<String> questionAnswerIdSet = qaRecordList.stream().map(DiagnosisQaRecord::getQuestionAnswerId).collect(Collectors.toSet());
-            List<AskDiseaseQuestionAnswer> list = askDiseaseQuestionAnswerService.lambdaQuery()
-                    .in(AskDiseaseQuestionAnswer::getId, questionAnswerIdSet)
-                    .eq(AskDiseaseQuestionAnswer::getRequireCheck, 1)
-                    .select(AskDiseaseQuestionAnswer::getId).list();
+            List<AskPatientAnswer> list = askPatientAnswerService.lambdaQuery()
+                    .eq(AskPatientAnswer::getPatientId, patient.getId())
+                    .eq(AskPatientAnswer::getRequireCheck, 1).list();
             // 获取必问的项目
-            Set<String> requireCheckIdSet = list.stream().map(AskDiseaseQuestionAnswer::getId).collect(Collectors.toSet());
+            Set<String> requireCheckIdSet = list.stream().map(AskPatientAnswer::getId).collect(Collectors.toSet());
             List<BasisDiagnosisNodeResVO> qaList = qaRecordList.stream().map(e -> {
                 BasisDiagnosisNodeResVO node = new BasisDiagnosisNodeResVO();
                 node.setType(0);
@@ -208,9 +209,12 @@ public class AskDiagnosisResultServiceImpl implements AskDiagnosisResultService
     }
 
 
-    private ExpertDiagnosisResultResVO creatExpertDiagnosisResult(DiagnosisResult diagnosisResult, Patient patient, List<Disease> diseasesList) {
+    /**
+     * 预期诊断结果
+     */
+    private ExpertDiagnosisResultResVO creatExpertDiagnosisResult(MedicalRec medicalRec, DiagnosisResult diagnosisResult, List<Disease> diseasesList) {
         ExpertDiagnosisResultResVO expertDiagnosisResultResVO = new ExpertDiagnosisResultResVO();
-        expertDiagnosisResultResVO.setDiagnosis(patient.getExpectedDiagnosisResult());
+        expertDiagnosisResultResVO.setDiagnosis(medicalRec.getExpectDiagnosisResult());
         Set<String> expertDiseaseIdSet = diseasesList.stream().map(Disease::getId).collect(Collectors.toSet());
         List<Disease> userDiagnosisDiseaseList = diseaseService.listByIds(diagnosisResult.getFinalDiagnosis());
         // 用户的诊断
diff --git a/virtual-patient-web/src/main/java/com/supervision/service/impl/AskPhysicalServiceImpl.java b/virtual-patient-web/src/main/java/com/supervision/service/impl/AskPhysicalServiceImpl.java
index 1b9ff141..b4b506cf 100644
--- a/virtual-patient-web/src/main/java/com/supervision/service/impl/AskPhysicalServiceImpl.java
+++ b/virtual-patient-web/src/main/java/com/supervision/service/impl/AskPhysicalServiceImpl.java
@@ -59,7 +59,7 @@ public class AskPhysicalServiceImpl implements AskPhysicalService {
                     .oneOpt().orElseThrow(() -> new BusinessException("未找到对应部位"));
             locationId = location.getId();
         }
-        DiseasePhysical result = diseasePhysicalService.lambdaQuery().eq(DiseasePhysical::getPatientId, process.getPatientId())
+        DiseasePhysical result = diseasePhysicalService.lambdaQuery().eq(DiseasePhysical::getMedicalRecId, process.getMedicalRecId())
                 .eq(DiseasePhysical::getToolId, tool.getId()).eq(StrUtil.isNotBlank(locationId), DiseasePhysical::getLocationId, locationId).last("limit 1")
                 .oneOpt()
                 .orElseGet(() -> {
diff --git a/virtual-patient-web/src/main/java/com/supervision/service/impl/AskServiceImpl.java b/virtual-patient-web/src/main/java/com/supervision/service/impl/AskServiceImpl.java
index 506eef7e..22d6aad7 100644
--- a/virtual-patient-web/src/main/java/com/supervision/service/impl/AskServiceImpl.java
+++ b/virtual-patient-web/src/main/java/com/supervision/service/impl/AskServiceImpl.java
@@ -1,14 +1,18 @@
 package com.supervision.service.impl;
 
 import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.RandomUtil;
 import cn.hutool.core.util.StrUtil;
 import com.supervision.exception.BusinessException;
+import com.supervision.model.AskPatientAnswer;
+import com.supervision.model.AskTemplateQuestionLibrary;
 import com.supervision.model.DiagnosisQaRecord;
 import com.supervision.model.Process;
 import com.supervision.pojo.vo.TalkReqVO;
 import com.supervision.pojo.vo.TalkResultResVO;
-import com.supervision.service.AskDefaultQuestionAnswerService;
-import com.supervision.service.AskDiseaseQuestionAnswerService;
+import com.supervision.service.AskPatientAnswerService;
+import com.supervision.service.AskTemplateQuestionLibraryService;
 import com.supervision.service.ProcessService;
 import com.supervision.util.*;
 import com.supervision.service.AskService;
@@ -31,9 +35,9 @@ public class AskServiceImpl implements AskService {
 
     private final ProcessService processService;
 
-    private final AskDiseaseQuestionAnswerService askDiseaseQuestionAnswerService;
+    private final AskTemplateQuestionLibraryService askTemplateQuestionLibraryService;
 
-    private final AskDefaultQuestionAnswerService askDefaultQuestionAnswerService;
+    private final AskPatientAnswerService askPatientAnswerService;
 
 
     @Override
@@ -56,11 +60,17 @@ public class AskServiceImpl implements AskService {
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public TalkResultResVO talk(TalkReqVO talkReqVO) throws IOException {
+    public TalkResultResVO talk(TalkReqVO talkReqVO) {
         // 根据processId找到对应的病人
         Process process = Optional.ofNullable(processService.getById(talkReqVO.getProcessId())).orElseThrow(() -> new BusinessException("未找到诊疗进程"));
         // 调用rasa获取文字内容
         String rasaResult = RasaUtil.talkRasa(talkReqVO.getText(), UserUtil.getUser().getId(), process.getPatientId());
+        // 如果rasa没有识别出来,则返回默认值
+        if (StrUtil.isBlank(rasaResult)) {
+            // 这里调用京东数字人接口首先根据token获取房间号
+            String roomId = HumanUtil.queryRoomId(talkReqVO.getRoomKey(), talkReqVO.getRoomToken());
+            HumanUtil.textDriven("您好,我没有听懂您说什么", roomId);
+        }
         TalkResultResVO talkResultResVO = new TalkResultResVO();
         // 这里校验,rasa回复的结果是不是action
         // 这里设置的模板,对于action的动作全部是用ancillary_ | tool_进行标记,详情看生成rasa的yml的代码:RasaServiceImpl.generateDomain
@@ -77,42 +87,28 @@ public class AskServiceImpl implements AskService {
                 return talkResultResVO;
             }
         } else {
-            // 语音消息,这时调用京东的接口进行播放操作
-            // 这里调用京东数字人接口首先根据token获取房间号
             String roomId = HumanUtil.queryRoomId(talkReqVO.getRoomKey(), talkReqVO.getRoomToken());
-            // 区分
-            List<String> answerIdList = StrUtil.split(rasaResult, '_');
-            String qaId = null;
-            String qaType = "miss";
-            String answer = "您好,我没有听懂您说什么";
-            if (answerIdList.size() > 1) {
-                if (rasaResult.startsWith("default_")) {
-                    qaType = "default";
-                    List<String> answerList = Optional.ofNullable(askDefaultQuestionAnswerService.getById(answerIdList.get(1)).getAnswer())
-                            .orElse(CollUtil.newArrayList("您好,我没有听懂您说什么"));
-                    answer = answerList.get(new Random().nextInt(answerList.size()));
-                    qaId = answerIdList.get(1);
-
-                } else if (rasaResult.startsWith("disease_")) {
-                    qaType = "disease";
-                    List<String> answerList = Optional.ofNullable(askDiseaseQuestionAnswerService.getById(answerIdList.get(1)).getAnswer())
-                            .orElse(CollUtil.newArrayList("您好,我没有听懂您说什么"));
-                    answer = answerList.get(new Random().nextInt(answerList.size()));
-                    qaId = answerIdList.get(1);
+            AskTemplateQuestionLibrary library = askTemplateQuestionLibraryService.getById(rasaResult);
+            if (ObjectUtil.isEmpty(library)) {
+                HumanUtil.textDriven("您好,我没有听懂您说什么", roomId);
+            } else {
+                AskPatientAnswer askPatientAnswer = askPatientAnswerService.lambdaQuery().eq(AskPatientAnswer::getPatientId, process.getPatientId())
+                        .eq(AskPatientAnswer::getLibraryQuestionId, library.getId()).last("limit 1").one();
+                if (ObjectUtil.isEmpty(askPatientAnswer) || CollUtil.isEmpty(askPatientAnswer.getAnswer())) {
+                    HumanUtil.textDriven("您好,我没有听懂您说什么", roomId);
+                } else {
+                    String resText = askPatientAnswer.getAnswer().get(RandomUtil.randomInt(0, askPatientAnswer.getAnswer().size()));
+                    HumanUtil.textDriven(resText, roomId);
+                    // 保存记录
+                    DiagnosisQaRecord record = new DiagnosisQaRecord();
+                    record.setProcessId(talkReqVO.getProcessId());
+                    record.setQuestionAnswerId(askPatientAnswer.getId());
+                    record.setQuestion(talkReqVO.getText());
+                    record.setAnswer(resText);
+                    record.setCreateUserId(UserUtil.getUser().getId());
+                    record.insert();
                 }
             }
-            // 然后这里进行播放
-            // 这里应该从对话中取结果
-            HumanUtil.textDriven(rasaResult, roomId);
-            // 保存记录
-            DiagnosisQaRecord record = new DiagnosisQaRecord();
-            record.setProcessId(talkReqVO.getProcessId());
-            record.setQuestionAnswerType(qaType);
-            record.setQuestionAnswerId(qaId);
-            record.setQuestion(talkReqVO.getText());
-            record.setAnswer(answer);
-            record.setCreateUserId(UserUtil.getUser().getId());
-            record.insert();
         }
         talkResultResVO.setType(1);
         return talkResultResVO;
diff --git a/virtual-patient-web/src/main/java/com/supervision/service/impl/RasaServiceImpl.java b/virtual-patient-web/src/main/java/com/supervision/service/impl/RasaServiceImpl.java
index ed61af87..29e70f80 100644
--- a/virtual-patient-web/src/main/java/com/supervision/service/impl/RasaServiceImpl.java
+++ b/virtual-patient-web/src/main/java/com/supervision/service/impl/RasaServiceImpl.java
@@ -7,15 +7,12 @@ import cn.hutool.core.util.StrUtil;
 import cn.hutool.http.HttpRequest;
 import cn.hutool.http.HttpResponse;
 import cn.hutool.http.HttpUtil;
-import cn.hutool.json.JSONUtil;
 import com.fasterxml.jackson.core.JsonProcessingException;
 import com.fasterxml.jackson.core.type.TypeReference;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.supervision.domain.GlobalResult;
 import com.supervision.exception.BusinessException;
 import com.supervision.model.*;
-import com.supervision.pojo.paddlespeech.res.PaddleSpeechResDTO;
-import com.supervision.pojo.paddlespeech.res.TtsResultDTO;
 import com.supervision.pojo.rasa.train.DomainYmlTemplate;
 import com.supervision.pojo.rasa.train.NluYmlTemplate;
 import com.supervision.pojo.rasa.train.QuestionAnswerDTO;
@@ -43,16 +40,13 @@ import java.util.zip.ZipOutputStream;
 @RequiredArgsConstructor
 public class RasaServiceImpl implements RasaService {
 
-    private final AskDefaultQuestionAnswerService askDefaultQuestionAnswerService;
-
-    private final AskDiseaseQuestionAnswerService askDiseaseQuestionAnswerService;
-
-    private final AskTemplateQuestionService askTemplateQuestionService;
-
     private final ConfigPhysicalToolService configPhysicalToolService;
 
     private final ConfigAncillaryItemService configAncillaryItemService;
 
+    private final AskTemplateQuestionLibraryService askTemplateQuestionLibraryService;
+
+
     private static final ObjectMapper objectMapper = new ObjectMapper();
 
     @Value("${rasa.base-url}${rasa.saveRasaFile}")
@@ -114,53 +108,20 @@ public class RasaServiceImpl implements RasaService {
                              Map<String, File> ymalFileMap) {
         // 首先生成根据意图查找到nlu文件
         List<NluYmlTemplate.Nlu> nluList = new ArrayList<>();
+
         // 默认意图
-        List<AskDefaultQuestionAnswer> defaultQuestionAnswerList = askDefaultQuestionAnswerService.lambdaQuery().isNotNull(AskDefaultQuestionAnswer::getAnswer).list();
+        List<AskTemplateQuestionLibrary> askTemplateQuestionLibraryList = askTemplateQuestionLibraryService.lambdaQuery().list();
         // 生成默认意图的nlu
-        for (AskDefaultQuestionAnswer defaultQA : defaultQuestionAnswerList) {
-            if (CollUtil.isNotEmpty(defaultQA.getQuestion()) && CollUtil.isNotEmpty(defaultQA.getAnswer())) {
-                // 开始生成
-                NluYmlTemplate.Nlu nlu = new NluYmlTemplate.Nlu();
-                // 拼接格式:code_id(防止重复)
-                String intentCode = defaultQA.getCode() + "_" + defaultQA.getId();
-                nlu.setIntent(intentCode);
-                nlu.setExamples(defaultQA.getQuestion());
-                nluList.add(nlu);
-                // 添加到map中,key为意图编码,value为意图ID
-                intentCodeAndIdMap.put(intentCode, new QuestionAnswerDTO(defaultQA.getQuestion(), CollUtil.newArrayList("default_" + defaultQA.getId()), defaultQA.getDescription()));
-            }
-        }
-        // 然后处理该疾病对应的意图
-        List<AskDiseaseQuestionAnswer> diseaseQuestionAnswerList = askDiseaseQuestionAnswerService.lambdaQuery()
-                .eq(AskDiseaseQuestionAnswer::getPatientId, patientId).list();
-        // 使用通用模板的
-        Map<String, AskTemplateQuestion> templateQuestionMap = new HashMap<>();
-        // 根据默认意图找到所有的问题
-        if (CollUtil.isNotEmpty(diseaseQuestionAnswerList)) {
-            // 首先找到使用通用模板的问题
-            List<AskDiseaseQuestionAnswer> templateQuestionList = diseaseQuestionAnswerList.stream()
-                    .filter(e -> StrUtil.isNotBlank(e.getTemplateQuestionId())).collect(Collectors.toList());
-            if (CollUtil.isNotEmpty(templateQuestionList)) {
-                Set<String> templateQuestionIdList = templateQuestionList.stream().map(AskDiseaseQuestionAnswer::getTemplateQuestionId).collect(Collectors.toSet());
-                List<AskTemplateQuestion> list = askTemplateQuestionService.lambdaQuery().in(AskTemplateQuestion::getId, templateQuestionIdList).list();
-                templateQuestionMap = list.stream().collect(Collectors.toMap(AskTemplateQuestion::getId, Function.identity()));
-            }
-        }
-        // 这里开始遍历
-        for (AskDiseaseQuestionAnswer askDiseaseQuestionAnswer : diseaseQuestionAnswerList) {
-            // 如果走模板的问题
-            if (StrUtil.isNotBlank(askDiseaseQuestionAnswer.getTemplateQuestionId()) && templateQuestionMap.containsKey(askDiseaseQuestionAnswer.getTemplateQuestionId())) {
-                AskTemplateQuestion askTemplateQuestion = templateQuestionMap.get(askDiseaseQuestionAnswer.getTemplateQuestionId());
-                // 开始生成
-                NluYmlTemplate.Nlu nlu = new NluYmlTemplate.Nlu();
-                // 拼接格式:code_answerId(防止重复)
-                String intentCode = askTemplateQuestion.getCode() + "_" + askDiseaseQuestionAnswer.getId();
-                nlu.setIntent(intentCode);
-                nlu.setExamples(askTemplateQuestion.getQuestion());
-                nluList.add(nlu);
-                intentCodeAndIdMap.put(intentCode, new QuestionAnswerDTO(askTemplateQuestion.getQuestion(), CollUtil.newArrayList("disease_" + askDiseaseQuestionAnswer.getId()), askTemplateQuestion.getDescription()));
-
-            }
+        for (AskTemplateQuestionLibrary questionLibrary : askTemplateQuestionLibraryList) {
+            // 开始生成
+            NluYmlTemplate.Nlu nlu = new NluYmlTemplate.Nlu();
+            // 拼接格式:code_id(防止重复)
+            String intentCode = questionLibrary.getCode() + "_" + questionLibrary.getId();
+            nlu.setIntent(intentCode);
+            nlu.setExamples(questionLibrary.getQuestion());
+            nluList.add(nlu);
+            // 添加到map中,key为意图编码,value为意图ID
+            intentCodeAndIdMap.put(intentCode, new QuestionAnswerDTO(questionLibrary.getQuestion(), CollUtil.newArrayList( questionLibrary.getId()), questionLibrary.getDescription()));
         }
 
         // 这里处理呼出的问题(code和问题不能为空)