Browse Source

1、增加疑难病例、输血效果评价、病理送检三个模块

louhr 5 years ago
parent
commit
481eb2c786

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

@@ -40,6 +40,8 @@ public class InputInfo {
     private BeHospitalizedDoc beHospitalizedDoc;
     //输血/血制品病程记录
     private List<ClinicalBloodDoc> clinicalBloodDocs = new ArrayList<>();
+    //输血后效果评价
+    private List<ClinicBloodEffectDoc> clinicBloodEffectDocs = new ArrayList<>();
     //危急值记录
     private List<CrisisValueReportDoc> crisisValueReportDocs = new ArrayList<>();
     //病危通知书
@@ -76,6 +78,8 @@ public class InputInfo {
     private List<InvasiveOperationDoc> invasiveOperationDocs = new ArrayList<>();
     //病历书写规范
     private List<MedicalWritingDoc> medicalWritingDocs = new ArrayList<>();
+    //病理检验送检单
+    private List<PathologyShipDoc> pathologyShipDocs = new ArrayList<>();
     //诊疗合理性
     private List<ReasonableDiagnosisDoc> reasonableDiagnosisDocs = new ArrayList<>();
 

+ 10 - 0
public/src/main/java/com/lantone/qc/pub/model/doc/ClinicBloodEffectDoc.java

@@ -0,0 +1,10 @@
+package com.lantone.qc.pub.model.doc;
+
+/**
+ * @ClassName : ClinicBloodEffectDoc
+ * @Description : 输血效果评价
+ * @Author : 楼辉荣
+ * @Date: 2020-04-19 17:47
+ */
+public class ClinicBloodEffectDoc extends ModelDoc {
+}

+ 12 - 0
public/src/main/java/com/lantone/qc/pub/model/doc/PathologyShipDoc.java

@@ -0,0 +1,12 @@
+package com.lantone.qc.pub.model.doc;
+
+import com.lantone.qc.pub.model.doc.ModelDoc;
+
+/**
+ * @ClassName : PathologyShipDoc
+ * @Description :病理检验送检单
+ * @Author : 楼辉荣
+ * @Date: 2020-04-19 17:48
+ */
+public class PathologyShipDoc extends ModelDoc {
+}

+ 41 - 0
trans/src/main/java/com/lantone/qc/trans/taizhou/TaiZhouClinicBloodEffectDocTrans.java

@@ -0,0 +1,41 @@
+package com.lantone.qc.trans.taizhou;
+
+import com.google.common.collect.Lists;
+import com.lantone.qc.pub.model.doc.ClinicBloodEffectDoc;
+import com.lantone.qc.pub.model.vo.MedrecVo;
+import com.lantone.qc.trans.ModelDocTrans;
+import com.lantone.qc.trans.comsis.OrdinaryAssistant;
+import com.lantone.qc.trans.taizhou.util.TzXmlUtil;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @ClassName : TaiZhouClinicBloodEffectDocTrans
+ * @Description : 输血后效果评价
+ * @Author : 楼辉荣
+ * @Date: 2020-04-19 17:53
+ */
+public class TaiZhouClinicBloodEffectDocTrans extends ModelDocTrans {
+    @Override
+    public List<ClinicBloodEffectDoc> extract(MedrecVo medrecVo) {
+        List<ClinicBloodEffectDoc> retList = Lists.newArrayList();
+        List<String> contents = (List) medrecVo.getContent().get("content");
+        contents.forEach(content -> {
+            retList.add(getClinicBloodEffectDoc(content));
+        });
+        return retList;
+    }
+
+    private ClinicBloodEffectDoc getClinicBloodEffectDoc(String content) {
+        Map<String, String> sourceMap = TzXmlUtil.getXmlToMapForTZ(content);
+        Map<String, String> structureMap = OrdinaryAssistant.mapKeyContrast(TzXmlUtil.getXmlToMapForTZ(content), keyContrasts);
+
+        ClinicBloodEffectDoc clinicBloodEffectDoc = new ClinicBloodEffectDoc();
+        clinicBloodEffectDoc.setStructureMap(structureMap);
+        clinicBloodEffectDoc.setPageData((Map)sourceMap);
+        return clinicBloodEffectDoc;
+    }
+
+    private List<String> keyContrasts = Lists.newArrayList();
+}

+ 41 - 0
trans/src/main/java/com/lantone/qc/trans/taizhou/TaiZhouPathologyShipDocTrans.java

@@ -0,0 +1,41 @@
+package com.lantone.qc.trans.taizhou;
+
+import com.google.common.collect.Lists;
+import com.lantone.qc.pub.model.doc.PathologyShipDoc;
+import com.lantone.qc.pub.model.vo.MedrecVo;
+import com.lantone.qc.trans.ModelDocTrans;
+import com.lantone.qc.trans.comsis.OrdinaryAssistant;
+import com.lantone.qc.trans.taizhou.util.TzXmlUtil;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @ClassName : PathologyShipDocTrans
+ * @Description : 病理检验送检单
+ * @Author : 楼辉荣
+ * @Date: 2020-04-19 17:49
+ */
+public class TaiZhouPathologyShipDocTrans extends ModelDocTrans {
+    @Override
+    public List<PathologyShipDoc> extract(MedrecVo medrecVo) {
+        List<PathologyShipDoc> retList = Lists.newArrayList();
+        List<String> contents = (List) medrecVo.getContent().get("content");
+        contents.forEach(content -> {
+            retList.add(getPathologyShipDoc(content));
+        });
+        return retList;
+    }
+
+    private PathologyShipDoc getPathologyShipDoc(String content) {
+        Map<String, String> sourceMap = TzXmlUtil.getXmlToMapForTZ(content);
+        Map<String, String> structureMap = OrdinaryAssistant.mapKeyContrast(TzXmlUtil.getXmlToMapForTZ(content), keyContrasts);
+
+        PathologyShipDoc pathologyShipDoc = new PathologyShipDoc();
+        pathologyShipDoc.setStructureMap(structureMap);
+        pathologyShipDoc.setPageData((Map)sourceMap);
+        return pathologyShipDoc;
+    }
+
+    private List<String> keyContrasts = Lists.newArrayList();
+}

+ 17 - 3
trans/src/main/java/com/lantone/qc/trans/taizhou/TaizhouDocTrans.java

@@ -106,6 +106,14 @@ public class TaizhouDocTrans extends DocTrans {
                     TaiZhouThreeLevelWardDocTrans threeLevelWardDocTrans = new TaiZhouThreeLevelWardDocTrans();
                     inputInfo.setThreeLevelWardDocs(threeLevelWardDocTrans.extract(i));
                     break;
+                case "输血后效果评价":
+                    TaiZhouClinicBloodEffectDocTrans clinicBloodEffectDocTrans = new TaiZhouClinicBloodEffectDocTrans();
+                    inputInfo.setClinicBloodEffectDocs(clinicBloodEffectDocTrans.extract(i));
+                    break;
+                case "病理检验送检单":
+                    TaiZhouPathologyShipDocTrans pathologyShipDocTrans = new TaiZhouPathologyShipDocTrans();
+                    inputInfo.setPathologyShipDocs(pathologyShipDocTrans.extract(i));
+                    break;
                 default:
                     break;
             }
@@ -140,15 +148,18 @@ public class TaizhouDocTrans extends DocTrans {
         if (ListUtil.isNotEmpty(inputInfo.getClinicalBloodDocs())) {
             inputInfo.getPageData().put("输血/血制品病程记录", inputInfo.getClinicalBloodDocs().stream().map(i -> i.getPageData()).collect(Collectors.toList()));
         }
+        if (ListUtil.isNotEmpty(inputInfo.getClinicBloodEffectDocs())) {
+            inputInfo.getPageData().put("输血后效果评价", inputInfo.getClinicBloodEffectDocs().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()));
         }
         if (ListUtil.isNotEmpty(inputInfo.getCriticallyIllNoticeDocs())) {
             inputInfo.getPageData().put("病危通知书", inputInfo.getCriticallyIllNoticeDocs().stream().map(i -> i.getPageData()).collect(Collectors.toList()));
         }
-        //        if (ListUtil.isNotEmpty(inputInfo.getDifficultCaseDiscussDocs())) {
-        //            inputInfo.getPageData().put("疑难病例讨论记录", inputInfo.getDifficultCaseDiscussDocs().stream().map(i -> i.getPageData()).collect(Collectors.toList()));
-        //        }
+        if (ListUtil.isNotEmpty(inputInfo.getDifficultCaseDiscussDocs())) {
+            inputInfo.getPageData().put("疑难病例讨论记录", inputInfo.getDifficultCaseDiscussDocs().stream().map(i -> i.getPageData()).collect(Collectors.toList()));
+        }
         //        if (ListUtil.isNotEmpty(inputInfo.getDoctorAdviceDocs())) {
         //            inputInfo.getPageData().put("医嘱信息", inputInfo.getDoctorAdviceDocs().stream().map(i -> i.getPageData()).collect(Collectors.toList()));
         //        }
@@ -167,6 +178,9 @@ public class TaizhouDocTrans extends DocTrans {
         if (ListUtil.isNotEmpty(inputInfo.getThreeLevelWardDocs())) {
             inputInfo.getPageData().put("查房记录", inputInfo.getThreeLevelWardDocs().get(0).getAllDoctorWradDocs().stream().map(i -> i.getPageData()).collect(Collectors.toList()));
         }
+        if (ListUtil.isNotEmpty(inputInfo.getPathologyShipDocs())) {
+            inputInfo.getPageData().put("病理检验送检单", inputInfo.getPathologyShipDocs().stream().map(i -> i.getPageData()).collect(Collectors.toList()));
+        }
 
         if (ListUtil.isNotEmpty(inputInfo.getConsultationDocs())) {
             List<Map<String, Object>> crePageDataList = inputInfo.getConsultationDocs()