소스 검색

会诊修改

rengb 5 년 전
부모
커밋
2dbd607ef4

+ 1 - 1
kernel/src/main/java/com/lantone/qc/kernel/web/controller/QCTestController.java

@@ -162,7 +162,7 @@ public class QCTestController {
                     m.put("content", r4);
                     medrecVo.setContent(m);
                     medrec.add(medrecVo);
-                } else if (r3.equals("查房记录") || r3.equals("会诊记录") || r3.equals("医嘱信息") || r3.equals("值班交接制度") || r3.equals("输血/血制品病程记录")
+                } else if (r3.equals("查房记录") || r3.equals("会诊") || r3.equals("医嘱信息") || r3.equals("值班交接制度") || r3.equals("输血/血制品病程记录")
                         || r3.equals("抢救记录") || r3.equals("危急值记录") || r3.equals("病危通知书") || r3.equals("阶段小结") || r3.equals("疑难病例讨论记录") || r3.equals("病重通知书")
                         || r3.equals("术前讨论、术前小结") || r3.equals("麻醉记录") || r3.equals("麻醉知情同意书") || r3.equals("麻醉术前访视记录")
                         || r3.equals("麻醉术后访视记录") || r3.equals("手术知情同意书") || r3.equals("手术记录") || r3.equals("术后首次病程及谈话记录")

+ 3 - 3
public/src/main/java/com/lantone/qc/pub/model/InputInfo.java

@@ -3,7 +3,6 @@ package com.lantone.qc.pub.model;
 import com.google.common.collect.Maps;
 import com.lantone.qc.pub.model.doc.BeHospitalizedDoc;
 import com.lantone.qc.pub.model.doc.ClinicalBloodDoc;
-import com.lantone.qc.pub.model.doc.ConsultationDoc;
 import com.lantone.qc.pub.model.doc.CrisisValueReportDoc;
 import com.lantone.qc.pub.model.doc.CriticallyIllNoticeDoc;
 import com.lantone.qc.pub.model.doc.DeathCaseDiscussDoc;
@@ -19,6 +18,7 @@ import com.lantone.qc.pub.model.doc.RescueDoc;
 import com.lantone.qc.pub.model.doc.SeriouslyIllNoticeDoc;
 import com.lantone.qc.pub.model.doc.StagesSummaryDoc;
 import com.lantone.qc.pub.model.doc.ThreeLevelWardDoc;
+import com.lantone.qc.pub.model.doc.consultation.ConsultationDoc;
 import com.lantone.qc.pub.model.doc.operation.OperationDoc;
 import com.lantone.qc.pub.model.doc.transferrecord.TransferRecordDoc;
 import lombok.Getter;
@@ -46,6 +46,8 @@ public class InputInfo {
     private Map<String, Map<String, String>> inputCatalogueMap = new HashMap<>();
     //页面结构化信息存储
     private Map<String, Object> pageData = Maps.newHashMap();
+    //会诊
+    private List<ConsultationDoc> consultationDocs = new ArrayList<>();
     //手术
     private List<OperationDoc> operationDocs = new ArrayList<>();
     //转科记录
@@ -54,8 +56,6 @@ public class InputInfo {
     private BeHospitalizedDoc beHospitalizedDoc;
     //输血/血制品病程记录
     private List<ClinicalBloodDoc> clinicalBloodDocs = new ArrayList<>();
-    //会诊记录
-    private List<ConsultationDoc> consultationDocs = new ArrayList<>();
     //危急值记录
     private List<CrisisValueReportDoc> crisisValueReportDocs = new ArrayList<>();
     //病危通知书

+ 0 - 15
public/src/main/java/com/lantone/qc/pub/model/doc/ConsultationDoc.java

@@ -1,15 +0,0 @@
-package com.lantone.qc.pub.model.doc;
-
-import lombok.Getter;
-import lombok.Setter;
-
-/**
- * @ClassName : ConsultationDoc
- * @Description : 会诊记录文档
- * @Author : 楼辉荣
- * @Date: 2020-03-03 19:06
- */
-@Getter
-@Setter
-public class ConsultationDoc extends ModelDoc {
-}

+ 16 - 0
public/src/main/java/com/lantone/qc/pub/model/doc/consultation/ConsultationApplicationDoc.java

@@ -0,0 +1,16 @@
+package com.lantone.qc.pub.model.doc.consultation;
+
+import com.lantone.qc.pub.model.doc.ModelDoc;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description: 会诊申请单文档
+ * @author: rengb
+ * @time: 2020/3/28 10:56
+ */
+@Getter
+@Setter
+public class ConsultationApplicationDoc extends ModelDoc {
+    private String consultationName;
+}

+ 20 - 0
public/src/main/java/com/lantone/qc/pub/model/doc/consultation/ConsultationDoc.java

@@ -0,0 +1,20 @@
+package com.lantone.qc.pub.model.doc.consultation;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description: 会诊文档
+ * @author: rengb
+ * @time: 2020/3/28 10:52
+ */
+@Getter
+@Setter
+public class ConsultationDoc {
+
+    private String consultationName;
+    private ConsultationRecordDoc consultationRecordDoc;
+    private ConsultationResultsDoc consultationResultsDoc;
+    private ConsultationApplicationDoc consultationApplicationDoc;
+
+}

+ 16 - 0
public/src/main/java/com/lantone/qc/pub/model/doc/consultation/ConsultationRecordDoc.java

@@ -0,0 +1,16 @@
+package com.lantone.qc.pub.model.doc.consultation;
+
+import com.lantone.qc.pub.model.doc.ModelDoc;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description: 会诊记录文档
+ * @author: rengb
+ * @time: 2020/3/28 10:53
+ */
+@Getter
+@Setter
+public class ConsultationRecordDoc extends ModelDoc {
+    private String consultationName;
+}

+ 16 - 0
public/src/main/java/com/lantone/qc/pub/model/doc/consultation/ConsultationResultsDoc.java

@@ -0,0 +1,16 @@
+package com.lantone.qc.pub.model.doc.consultation;
+
+import com.lantone.qc.pub.model.doc.ModelDoc;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description: 会诊结果单文档
+ * @author: rengb
+ * @time: 2020/3/28 10:55
+ */
+@Getter
+@Setter
+public class ConsultationResultsDoc extends ModelDoc {
+    private String consultationName;
+}

+ 20 - 11
public/src/main/java/com/lantone/qc/pub/model/keys/ModelStandardKeys.java

@@ -13,25 +13,41 @@ public class ModelStandardKeys {
 
     //各大模块的标准title
     private static final List<String> model_titles = Lists.newArrayList(
+            "会诊",
+            "手术",
+            "转科记录",
             "入院记录",
             "输血/血制品病程记录",
-            "会诊记录",
-            "死亡病例讨论记录",
+            "危急值记录",
+            "病危通知书",
             "死亡病例讨论记录",
             "死亡记录",
             "疑难病例讨论记录",
+            "医嘱信息",
             "值班交接制度",
             "首次病程录",
             "病案首页",
             "出院小结",
             "分级护理制度",
-            "术后首次病程及谈话记录",
-            "术前讨论、术前小结",
             "抢救记录",
+            "病重通知书",
+            "阶段小结",
             "查房记录"
     );
 
 
+    //会诊-会诊记录的标准key
+    public static final List<String> consultationRecord = Lists.newArrayList(
+            "会诊情况",
+            "记录时间",
+            "记录医师"
+    );
+    //会诊-会诊申请单的标准key
+    public static final List<String> consultationApplication = Lists.newArrayList();
+    //会诊-会诊结果单的标准key
+    public static final List<String> consultationResults = Lists.newArrayList();
+
+
     //手术-术后首次病程及谈话记录的标准key
     public static final List<String> operationDiscussion = Lists.newArrayList(
             "记录时间",
@@ -129,13 +145,6 @@ public class ModelStandardKeys {
             "记录时间"
     );
 
-    //会诊记录的标准key
-    public static final List<String> consultation = Lists.newArrayList(
-            "会诊情况",
-            "记录时间",
-            "记录医师"
-    );
-
     //危急值记录的标准key
     public static final List<String> crisisValueReport = Lists.newArrayList(
             "记录时间",

+ 196 - 15
trans/src/main/java/com/lantone/qc/trans/changx/ChangxConsultationDocTrans.java

@@ -1,17 +1,25 @@
 package com.lantone.qc.trans.changx;
 
 import com.google.common.collect.Lists;
-import com.lantone.qc.pub.model.doc.ConsultationDoc;
+import com.google.common.collect.Maps;
+import com.google.common.collect.Sets;
+import com.lantone.qc.pub.model.doc.consultation.ConsultationApplicationDoc;
+import com.lantone.qc.pub.model.doc.consultation.ConsultationDoc;
+import com.lantone.qc.pub.model.doc.consultation.ConsultationRecordDoc;
+import com.lantone.qc.pub.model.doc.consultation.ConsultationResultsDoc;
 import com.lantone.qc.pub.model.vo.MedrecVo;
+import com.lantone.qc.pub.util.ListUtil;
+import com.lantone.qc.pub.util.StringUtil;
 import com.lantone.qc.trans.ModelDocTrans;
 import com.lantone.qc.trans.comsis.ModelDocGenerate;
 import com.lantone.qc.trans.comsis.Preproc;
 
 import java.util.List;
 import java.util.Map;
+import java.util.Set;
 
 /**
- * @Description: 会诊记录文档生成
+ * @Description: 会诊文档生成
  * @author: rengb
  * @time: 2020/3/17 13:22
  */
@@ -20,15 +28,57 @@ public class ChangxConsultationDocTrans extends ModelDocTrans {
     @Override
     public List<ConsultationDoc> extract(MedrecVo medrecVo) {
         List<ConsultationDoc> retList = Lists.newArrayList();
-        List<String> contents = (List) medrecVo.getContent().get("content");
-        contents.forEach(content -> {
-            retList.add(getConsultationDoc(content));
+
+        Map<String, List<String>> contentMap = (Map) medrecVo.getContent().get("content");
+        if (contentMap == null) {
+            return retList;
+        }
+
+        Map<String, ConsultationRecordDoc> consultationRecordDocMap = getConsultationRecordDocMap(contentMap.get("会诊记录"));
+        Map<String, ConsultationResultsDoc> consultationResultsDocMap = getConsultationResultsDocMap(contentMap.get("会诊结果单"));
+        Map<String, ConsultationApplicationDoc> consultationApplicationDocMap = getConsultationApplicationDocMap(contentMap.get("会诊申请单"));
+
+        Set<String> consultationNameSet = Sets.newHashSet();
+        consultationNameSet.addAll(consultationRecordDocMap.keySet());
+        consultationNameSet.addAll(consultationResultsDocMap.keySet());
+        consultationNameSet.addAll(consultationApplicationDocMap.keySet());
+
+        consultationNameSet.forEach(consultationName -> {
+            ConsultationDoc consultationDoc = new ConsultationDoc();
+            consultationDoc.setConsultationName(consultationName);
+            consultationDoc.setConsultationRecordDoc(consultationRecordDocMap.get(consultationName));
+            consultationDoc.setConsultationResultsDoc(consultationResultsDocMap.get(consultationName));
+            consultationDoc.setConsultationApplicationDoc(consultationApplicationDocMap.get(consultationName));
+            retList.add(consultationDoc);
         });
+
         return retList;
     }
 
-    private ConsultationDoc getConsultationDoc(String content) {
-        Map<String, String> pageData = Preproc.extract_doc_pub(true, pageDataTitles, content);
+
+    /**************************************************会诊记录*********************************************************/
+    private Map<String, ConsultationRecordDoc> getConsultationRecordDocMap(List<String> contents) {
+        Map<String, ConsultationRecordDoc> retMap = Maps.newHashMap();
+        if (ListUtil.isEmpty(contents)) {
+            return retMap;
+        }
+        int index = 1;
+        String consultationName = null;
+        for (String content : contents) {
+            if (StringUtil.isBlank(content)) {
+                continue;
+            }
+            consultationName = index + "";
+            ConsultationRecordDoc consultationRecordDoc = getConsultationRecordDoc(content);
+            consultationRecordDoc.setConsultationName(consultationName);
+            retMap.put(consultationName, consultationRecordDoc);
+            index++;
+        }
+        return retMap;
+    }
+
+    private ConsultationRecordDoc getConsultationRecordDoc(String content) {
+        Map<String, String> pageData = Preproc.extract_doc_pub(true, consultationRecord_pageDataTitles, content);
         pageData.put("病程记录内容",
                 pageData.get("病程记录内容")
                         .replace(pageData.get("病程记录时间"), "")
@@ -36,7 +86,7 @@ public class ChangxConsultationDocTrans extends ModelDocTrans {
         );
 
         List<String> targetTitles = Lists.newArrayList();
-        sourceTitles.forEach(sourceTitle -> {
+        consultationRecord_sourceTitles.forEach(sourceTitle -> {
             String targetTitle = "";
             for (int index = 0; index < sourceTitle.length(); index++) {
                 if (index == sourceTitle.length() - 1) {
@@ -52,21 +102,20 @@ public class ChangxConsultationDocTrans extends ModelDocTrans {
         sourceMap.put("记录时间", sourceMap.get("病程记录时间"));
         sourceMap.put("会诊情况", sourceMap.get("病程记录内容"));
 
-        ConsultationDoc consultationDoc = ModelDocGenerate.consultationDocGen(sourceMap);
-        consultationDoc.setText(content);
-        consultationDoc.setPageData((Map) pageData);
+        ConsultationRecordDoc consultationRecordDoc = ModelDocGenerate.consultationRecordDocGen(sourceMap);
+        consultationRecordDoc.setText(content);
+        consultationRecordDoc.setPageData((Map) pageData);
 
-        return consultationDoc;
+        return consultationRecordDoc;
     }
 
-    private List<String> pageDataTitles = Lists.newArrayList(
+    private List<String> consultationRecord_pageDataTitles = Lists.newArrayList(
             "病程记录时间",
             "病程记录名称",
             "病程记录内容",
             "记录医师"
     );
-
-    private List<String> sourceTitles = Lists.newArrayList(
+    private List<String> consultationRecord_sourceTitles = Lists.newArrayList(
             "病程记录时间",
             "病程记录名称",
             "病程记录内容",
@@ -75,4 +124,136 @@ public class ChangxConsultationDocTrans extends ModelDocTrans {
             "记录医师"
     );
 
+
+    /**************************************************会诊结果单*******************************************************/
+    private Map<String, ConsultationResultsDoc> getConsultationResultsDocMap(List<String> contents) {
+        Map<String, ConsultationResultsDoc> retMap = Maps.newHashMap();
+        if (ListUtil.isEmpty(contents)) {
+            return retMap;
+        }
+        int index = 1;
+        String consultationName = null;
+        for (String content : contents) {
+            if (StringUtil.isBlank(content)) {
+                continue;
+            }
+            consultationName = index + "";
+            ConsultationResultsDoc consultationResultsDoc = getConsultationResultsDoc(content);
+            consultationResultsDoc.setConsultationName(consultationName);
+            retMap.put(consultationName, consultationResultsDoc);
+            index++;
+        }
+        return retMap;
+    }
+
+    private ConsultationResultsDoc getConsultationResultsDoc(String content) {
+        Map<String, String> pageData = Preproc.extract_doc_pub(true, consultationResults_pageDataTitles, content);
+        pageData.put("病程记录内容",
+                pageData.get("病程记录内容")
+                        .replace(pageData.get("病程记录时间"), "")
+                        .replace(pageData.get("病程记录名称"), "")
+        );
+
+        List<String> targetTitles = Lists.newArrayList();
+        consultationResults_sourceTitles.forEach(sourceTitle -> {
+            String targetTitle = "";
+            for (int index = 0; index < sourceTitle.length(); index++) {
+                if (index == sourceTitle.length() - 1) {
+                    targetTitle += sourceTitle.substring(index, index + 1);
+                } else {
+                    targetTitle += sourceTitle.substring(index, index + 1) + "[\\s\\p{Zs}]*";
+                }
+            }
+            targetTitles.add(targetTitle);
+        });
+
+        Map<String, String> sourceMap = Preproc.extract_doc_pub(true, targetTitles, content);
+        sourceMap.put("记录时间", sourceMap.get("病程记录时间"));
+
+        ConsultationResultsDoc consultationResultsDoc = ModelDocGenerate.consultationResultsDocGen(sourceMap);
+        consultationResultsDoc.setText(content);
+        consultationResultsDoc.setPageData((Map) pageData);
+
+        return consultationResultsDoc;
+    }
+
+    private List<String> consultationResults_pageDataTitles = Lists.newArrayList(
+            "病程记录时间",
+            "病程记录名称",
+            "病程记录内容",
+            "记录医师"
+    );
+    private List<String> consultationResults_sourceTitles = Lists.newArrayList(
+            "病程记录时间",
+            "病程记录名称",
+            "病程记录内容",
+            "记录医师"
+    );
+
+
+    /**************************************************会诊申请单*******************************************************/
+    private Map<String, ConsultationApplicationDoc> getConsultationApplicationDocMap(List<String> contents) {
+        Map<String, ConsultationApplicationDoc> retMap = Maps.newHashMap();
+        if (ListUtil.isEmpty(contents)) {
+            return retMap;
+        }
+        int index = 1;
+        String consultationName = null;
+        for (String content : contents) {
+            if (StringUtil.isBlank(content)) {
+                continue;
+            }
+            consultationName = index + "";
+            ConsultationApplicationDoc consultationApplicationDoc = getConsultationApplicationDoc(content);
+            consultationApplicationDoc.setConsultationName(consultationName);
+            retMap.put(consultationName, consultationApplicationDoc);
+            index++;
+        }
+        return retMap;
+    }
+
+    private ConsultationApplicationDoc getConsultationApplicationDoc(String content) {
+        Map<String, String> pageData = Preproc.extract_doc_pub(true, consultationApplication_pageDataTitles, content);
+        pageData.put("病程记录内容",
+                pageData.get("病程记录内容")
+                        .replace(pageData.get("病程记录时间"), "")
+                        .replace(pageData.get("病程记录名称"), "")
+        );
+
+        List<String> targetTitles = Lists.newArrayList();
+        consultationApplication_sourceTitles.forEach(sourceTitle -> {
+            String targetTitle = "";
+            for (int index = 0; index < sourceTitle.length(); index++) {
+                if (index == sourceTitle.length() - 1) {
+                    targetTitle += sourceTitle.substring(index, index + 1);
+                } else {
+                    targetTitle += sourceTitle.substring(index, index + 1) + "[\\s\\p{Zs}]*";
+                }
+            }
+            targetTitles.add(targetTitle);
+        });
+
+        Map<String, String> sourceMap = Preproc.extract_doc_pub(true, targetTitles, content);
+        sourceMap.put("记录时间", sourceMap.get("病程记录时间"));
+
+        ConsultationApplicationDoc consultationApplicationDoc = ModelDocGenerate.consultationApplicationDocGen(sourceMap);
+        consultationApplicationDoc.setText(content);
+        consultationApplicationDoc.setPageData((Map) pageData);
+
+        return consultationApplicationDoc;
+    }
+
+    private List<String> consultationApplication_pageDataTitles = Lists.newArrayList(
+            "病程记录时间",
+            "病程记录名称",
+            "病程记录内容",
+            "记录医师"
+    );
+    private List<String> consultationApplication_sourceTitles = Lists.newArrayList(
+            "病程记录时间",
+            "病程记录名称",
+            "病程记录内容",
+            "记录医师"
+    );
+
 }

+ 32 - 9
trans/src/main/java/com/lantone/qc/trans/changx/ChangxDocTrans.java

@@ -21,9 +21,13 @@ public class ChangxDocTrans extends DocTrans {
     protected InputInfo extract(QueryVo queryVo) {
         InputInfo inputInfo = new InputInfo();
         for (MedrecVo i : queryVo.getMedrec()) {
+            if (i.getTitle().equals("会诊")) {
+                ChangxConsultationDocTrans consultationDocTrans = new ChangxConsultationDocTrans();
+                inputInfo.setConsultationDocs(consultationDocTrans.extract(i));
+            }
             if (i.getTitle().equals("手术")) {
-                ChangxOperationDocTrans changxOperationDocTrans = new ChangxOperationDocTrans();
-                inputInfo.setOperationDocs(changxOperationDocTrans.extract(i));
+                ChangxOperationDocTrans operationDocTrans = new ChangxOperationDocTrans();
+                inputInfo.setOperationDocs(operationDocTrans.extract(i));
             }
             if (i.getTitle().equals("转科记录")) {
                 ChangxTransferRecordDocTrans transferRecordDocTrans = new ChangxTransferRecordDocTrans();
@@ -37,10 +41,6 @@ public class ChangxDocTrans extends DocTrans {
                 ChangxClinicalBloodDocTrans clinicalBloodDocTrans = new ChangxClinicalBloodDocTrans();
                 inputInfo.setClinicalBloodDocs(clinicalBloodDocTrans.extract(i));
             }
-            if (i.getTitle().equals("会诊记录")) {
-                ChangxConsultationDocTrans consultationDocTrans = new ChangxConsultationDocTrans();
-                inputInfo.setConsultationDocs(consultationDocTrans.extract(i));
-            }
             if (i.getTitle().equals("危急值记录")) {
                 ChangxCrisisValueReportDocTrans crisisValueReportDocTrans = new ChangxCrisisValueReportDocTrans();
                 inputInfo.setCrisisValueReportDocs(crisisValueReportDocTrans.extract(i));
@@ -132,9 +132,6 @@ public class ChangxDocTrans extends DocTrans {
         if (ListUtil.isNotEmpty(inputInfo.getClinicalBloodDocs())) {
             inputInfo.getPageData().put("输血/血制品病程记录", inputInfo.getClinicalBloodDocs().stream().map(i -> i.getPageData()).collect(Collectors.toList()));
         }
-        if (ListUtil.isNotEmpty(inputInfo.getConsultationDocs())) {
-            inputInfo.getPageData().put("会诊记录", inputInfo.getConsultationDocs().stream().map(i -> i.getPageData()).collect(Collectors.toList()));
-        }
         if (ListUtil.isNotEmpty(inputInfo.getCrisisValueReportDocs())) {
             inputInfo.getPageData().put("危急值记录", inputInfo.getCrisisValueReportDocs().stream().map(i -> i.getPageData()).collect(Collectors.toList()));
         }
@@ -163,6 +160,32 @@ public class ChangxDocTrans extends DocTrans {
             inputInfo.getPageData().put("查房记录", inputInfo.getThreeLevelWardDocs().stream().map(i -> i.getPageData()).collect(Collectors.toList()));
         }
 
+        if (ListUtil.isNotEmpty(inputInfo.getConsultationDocs())) {
+            inputInfo.getPageData().put(
+                    "会诊记录",
+                    inputInfo.getConsultationDocs()
+                            .stream()
+                            .filter(consultationDoc -> consultationDoc != null && consultationDoc.getConsultationRecordDoc() != null)
+                            .map(consultationDoc -> consultationDoc.getConsultationRecordDoc().getPageData())
+                            .collect(Collectors.toList())
+            );
+            inputInfo.getPageData().put(
+                    "会诊申请单",
+                    inputInfo.getConsultationDocs()
+                            .stream()
+                            .filter(consultationDoc -> consultationDoc != null && consultationDoc.getConsultationApplicationDoc() != null)
+                            .map(consultationDoc -> consultationDoc.getConsultationApplicationDoc().getPageData())
+                            .collect(Collectors.toList())
+            );
+            inputInfo.getPageData().put(
+                    "会诊结果单",
+                    inputInfo.getConsultationDocs()
+                            .stream()
+                            .filter(consultationDoc -> consultationDoc != null && consultationDoc.getConsultationResultsDoc() != null)
+                            .map(consultationDoc -> consultationDoc.getConsultationResultsDoc().getPageData())
+                            .collect(Collectors.toList())
+            );
+        }
         if (ListUtil.isNotEmpty(inputInfo.getOperationDocs())) {
             inputInfo.getPageData().put(
                     "术后首次病程及谈话记录",

+ 39 - 13
trans/src/main/java/com/lantone/qc/trans/comsis/ModelDocGenerate.java

@@ -2,7 +2,6 @@ package com.lantone.qc.trans.comsis;
 
 import com.lantone.qc.pub.model.doc.BeHospitalizedDoc;
 import com.lantone.qc.pub.model.doc.ClinicalBloodDoc;
-import com.lantone.qc.pub.model.doc.ConsultationDoc;
 import com.lantone.qc.pub.model.doc.CrisisValueReportDoc;
 import com.lantone.qc.pub.model.doc.CriticallyIllNoticeDoc;
 import com.lantone.qc.pub.model.doc.DeathCaseDiscussDoc;
@@ -17,6 +16,9 @@ import com.lantone.qc.pub.model.doc.RescueDoc;
 import com.lantone.qc.pub.model.doc.SeriouslyIllNoticeDoc;
 import com.lantone.qc.pub.model.doc.StagesSummaryDoc;
 import com.lantone.qc.pub.model.doc.ThreeLevelWardDoc;
+import com.lantone.qc.pub.model.doc.consultation.ConsultationApplicationDoc;
+import com.lantone.qc.pub.model.doc.consultation.ConsultationRecordDoc;
+import com.lantone.qc.pub.model.doc.consultation.ConsultationResultsDoc;
 import com.lantone.qc.pub.model.doc.operation.OperationDiscussionDoc;
 import com.lantone.qc.pub.model.doc.operation.OperationRecordDoc;
 import com.lantone.qc.pub.model.doc.operation.PreoperativeDiscussionDoc;
@@ -48,6 +50,42 @@ import java.util.Map;
  */
 public class ModelDocGenerate {
 
+    /**
+     * 会诊-会诊记录
+     *
+     * @param structureMap
+     * @return
+     */
+    public static ConsultationRecordDoc consultationRecordDocGen(Map<String, String> structureMap) {
+        ConsultationRecordDoc consultationRecordDoc = new ConsultationRecordDoc();
+        consultationRecordDoc.setStructureMap(structureMap);
+        return consultationRecordDoc;
+    }
+
+    /**
+     * 会诊-会诊申请单
+     *
+     * @param structureMap
+     * @return
+     */
+    public static ConsultationApplicationDoc consultationApplicationDocGen(Map<String, String> structureMap) {
+        ConsultationApplicationDoc consultationApplicationDoc = new ConsultationApplicationDoc();
+        consultationApplicationDoc.setStructureMap(structureMap);
+        return consultationApplicationDoc;
+    }
+
+    /**
+     * 会诊-会诊结果单
+     *
+     * @param structureMap
+     * @return
+     */
+    public static ConsultationResultsDoc consultationResultsDocGen(Map<String, String> structureMap) {
+        ConsultationResultsDoc consultationResultsDoc = new ConsultationResultsDoc();
+        consultationResultsDoc.setStructureMap(structureMap);
+        return consultationResultsDoc;
+    }
+
     /**
      * 手术-术后首次病程及谈话记录
      *
@@ -199,18 +237,6 @@ public class ModelDocGenerate {
         return clinicalBloodDoc;
     }
 
-    /**
-     * 会诊记录
-     *
-     * @param structureMap
-     * @return
-     */
-    public static ConsultationDoc consultationDocGen(Map<String, String> structureMap) {
-        ConsultationDoc consultationDoc = new ConsultationDoc();
-        consultationDoc.setStructureMap(structureMap);
-        return consultationDoc;
-    }
-
     /**
      * 危急值记录
      *