Browse Source

台州对接添加

rengb 5 năm trước cách đây
mục cha
commit
25e863ff1b
21 tập tin đã thay đổi với 982 bổ sung4 xóa
  1. 25 0
      trans/src/main/java/com/lantone/qc/trans/taizhou/TaiZhouBeHospitalizedDocTrans.java
  2. 33 0
      trans/src/main/java/com/lantone/qc/trans/taizhou/TaiZhouClinicalBloodDocTrans.java
  3. 140 0
      trans/src/main/java/com/lantone/qc/trans/taizhou/TaiZhouConsultationDocTrans.java
  4. 33 0
      trans/src/main/java/com/lantone/qc/trans/taizhou/TaiZhouCrisisValueReportDocTrans.java
  5. 33 0
      trans/src/main/java/com/lantone/qc/trans/taizhou/TaiZhouCriticallyIllNoticeDocTrans.java
  6. 25 0
      trans/src/main/java/com/lantone/qc/trans/taizhou/TaiZhouDeathCaseDiscussDocTrans.java
  7. 25 0
      trans/src/main/java/com/lantone/qc/trans/taizhou/TaiZhouDeathRecordDocTrans.java
  8. 33 0
      trans/src/main/java/com/lantone/qc/trans/taizhou/TaiZhouDifficultCaseDiscussDocTrans.java
  9. 89 4
      trans/src/main/java/com/lantone/qc/trans/taizhou/TaiZhouDocTrans.java
  10. 33 0
      trans/src/main/java/com/lantone/qc/trans/taizhou/TaiZhouDoctorAdviceDocTrans.java
  11. 33 0
      trans/src/main/java/com/lantone/qc/trans/taizhou/TaiZhouDutyShiftSystemDocTrans.java
  12. 25 0
      trans/src/main/java/com/lantone/qc/trans/taizhou/TaiZhouFirstCourseRecordDocTrans.java
  13. 25 0
      trans/src/main/java/com/lantone/qc/trans/taizhou/TaiZhouFirstPageRecordDocTrans.java
  14. 25 0
      trans/src/main/java/com/lantone/qc/trans/taizhou/TaiZhouLeaveHospitalDocTrans.java
  15. 25 0
      trans/src/main/java/com/lantone/qc/trans/taizhou/TaiZhouNursingSystemDocTrans.java
  16. 140 0
      trans/src/main/java/com/lantone/qc/trans/taizhou/TaiZhouOperationDocTrans.java
  17. 33 0
      trans/src/main/java/com/lantone/qc/trans/taizhou/TaiZhouRescueDocTrans.java
  18. 33 0
      trans/src/main/java/com/lantone/qc/trans/taizhou/TaiZhouSeriouslyIllNoticeDocTrans.java
  19. 33 0
      trans/src/main/java/com/lantone/qc/trans/taizhou/TaiZhouStagesSummaryDocTrans.java
  20. 33 0
      trans/src/main/java/com/lantone/qc/trans/taizhou/TaiZhouThreeLevelWardDocTrans.java
  21. 108 0
      trans/src/main/java/com/lantone/qc/trans/taizhou/TaiZhouTransferRecordDocTrans.java

+ 25 - 0
trans/src/main/java/com/lantone/qc/trans/taizhou/TaiZhouBeHospitalizedDocTrans.java

@@ -0,0 +1,25 @@
+package com.lantone.qc.trans.taizhou;
+
+import com.lantone.qc.pub.model.doc.BeHospitalizedDoc;
+import com.lantone.qc.pub.model.vo.MedrecVo;
+import com.lantone.qc.trans.ModelDocTrans;
+
+import java.util.List;
+
+/**
+ * @Description: 入院记录文档生成
+ * @author: rengb
+ * @time: 2020/3/5 15:47
+ */
+public class TaiZhouBeHospitalizedDocTrans extends ModelDocTrans {
+
+    @Override
+    public BeHospitalizedDoc extract(MedrecVo medrecVo) {
+        String content = ((List<String>) medrecVo.getContent().get("content")).get(0);
+
+        BeHospitalizedDoc beHospitalizedDoc = new BeHospitalizedDoc();
+
+        return beHospitalizedDoc;
+    }
+
+}

+ 33 - 0
trans/src/main/java/com/lantone/qc/trans/taizhou/TaiZhouClinicalBloodDocTrans.java

@@ -0,0 +1,33 @@
+package com.lantone.qc.trans.taizhou;
+
+import com.google.common.collect.Lists;
+import com.lantone.qc.pub.model.doc.ClinicalBloodDoc;
+import com.lantone.qc.pub.model.vo.MedrecVo;
+import com.lantone.qc.trans.ModelDocTrans;
+
+import java.util.List;
+
+/**
+ * @Description: 输血/血制品病程记录文档生成
+ * @author: rengb
+ * @time: 2020/3/17 13:21
+ */
+public class TaiZhouClinicalBloodDocTrans extends ModelDocTrans {
+
+    @Override
+    public List<ClinicalBloodDoc> extract(MedrecVo medrecVo) {
+        List<ClinicalBloodDoc> retList = Lists.newArrayList();
+        List<String> contents = (List) medrecVo.getContent().get("content");
+        contents.forEach(content -> {
+            retList.add(getClinicalBloodDoc(content));
+        });
+        return retList;
+    }
+
+    private ClinicalBloodDoc getClinicalBloodDoc(String content) {
+        ClinicalBloodDoc clinicalBloodDoc = new ClinicalBloodDoc();
+
+        return clinicalBloodDoc;
+    }
+
+}

+ 140 - 0
trans/src/main/java/com/lantone/qc/trans/taizhou/TaiZhouConsultationDocTrans.java

@@ -0,0 +1,140 @@
+package com.lantone.qc.trans.taizhou;
+
+import com.google.common.collect.Lists;
+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 java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+/**
+ * @Description: 会诊文档生成
+ * @author: rengb
+ * @time: 2020/3/17 13:22
+ */
+public class TaiZhouConsultationDocTrans extends ModelDocTrans {
+
+    @Override
+    public List<ConsultationDoc> extract(MedrecVo medrecVo) {
+        List<ConsultationDoc> retList = Lists.newArrayList();
+
+        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 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) {
+        ConsultationRecordDoc consultationRecordDoc = new ConsultationRecordDoc();
+
+        return consultationRecordDoc;
+    }
+
+
+    /**************************************************会诊结果单*******************************************************/
+    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) {
+        ConsultationResultsDoc consultationResultsDoc = new ConsultationResultsDoc();
+
+        return consultationResultsDoc;
+    }
+
+
+    /**************************************************会诊申请单*******************************************************/
+    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) {
+        ConsultationApplicationDoc consultationApplicationDoc = new ConsultationApplicationDoc();
+
+        return consultationApplicationDoc;
+    }
+
+}

+ 33 - 0
trans/src/main/java/com/lantone/qc/trans/taizhou/TaiZhouCrisisValueReportDocTrans.java

@@ -0,0 +1,33 @@
+package com.lantone.qc.trans.taizhou;
+
+import com.google.common.collect.Lists;
+import com.lantone.qc.pub.model.doc.CrisisValueReportDoc;
+import com.lantone.qc.pub.model.vo.MedrecVo;
+import com.lantone.qc.trans.ModelDocTrans;
+
+import java.util.List;
+
+/**
+ * @Description: 危急值记录文档生成
+ * @author: rengb
+ * @time: 2020/3/19 19:41
+ */
+public class TaiZhouCrisisValueReportDocTrans extends ModelDocTrans {
+
+    @Override
+    public List<CrisisValueReportDoc> extract(MedrecVo medrecVo) {
+        List<CrisisValueReportDoc> retList = Lists.newArrayList();
+        List<String> contents = (List) medrecVo.getContent().get("content");
+        contents.forEach(content -> {
+            retList.add(getCrisisValueReportDoc(content));
+        });
+        return retList;
+    }
+
+    private CrisisValueReportDoc getCrisisValueReportDoc(String content) {
+        CrisisValueReportDoc crisisValueReportDoc = new CrisisValueReportDoc();
+
+        return crisisValueReportDoc;
+    }
+
+}

+ 33 - 0
trans/src/main/java/com/lantone/qc/trans/taizhou/TaiZhouCriticallyIllNoticeDocTrans.java

@@ -0,0 +1,33 @@
+package com.lantone.qc.trans.taizhou;
+
+import com.google.common.collect.Lists;
+import com.lantone.qc.pub.model.doc.CriticallyIllNoticeDoc;
+import com.lantone.qc.pub.model.vo.MedrecVo;
+import com.lantone.qc.trans.ModelDocTrans;
+
+import java.util.List;
+
+/**
+ * @Description: 病危通知书文档生成
+ * @author: rengb
+ * @time: 2020/3/19 19:41
+ */
+public class TaiZhouCriticallyIllNoticeDocTrans extends ModelDocTrans {
+
+    @Override
+    public List<CriticallyIllNoticeDoc> extract(MedrecVo medrecVo) {
+        List<CriticallyIllNoticeDoc> retList = Lists.newArrayList();
+        List<String> contents = (List) medrecVo.getContent().get("content");
+        contents.forEach(content -> {
+            retList.add(getCriticallyIllNoticeDoc(content));
+        });
+        return retList;
+    }
+
+    private CriticallyIllNoticeDoc getCriticallyIllNoticeDoc(String content) {
+        CriticallyIllNoticeDoc criticallyIllNoticeDoc = new CriticallyIllNoticeDoc();
+
+        return criticallyIllNoticeDoc;
+    }
+
+}

+ 25 - 0
trans/src/main/java/com/lantone/qc/trans/taizhou/TaiZhouDeathCaseDiscussDocTrans.java

@@ -0,0 +1,25 @@
+package com.lantone.qc.trans.taizhou;
+
+import com.lantone.qc.pub.model.doc.DeathCaseDiscussDoc;
+import com.lantone.qc.pub.model.vo.MedrecVo;
+import com.lantone.qc.trans.ModelDocTrans;
+
+import java.util.List;
+
+/**
+ * @Description: 死亡病例讨论记录文档生成
+ * @author: rengb
+ * @time: 2020/3/17 13:22
+ */
+public class TaiZhouDeathCaseDiscussDocTrans extends ModelDocTrans {
+
+    @Override
+    public DeathCaseDiscussDoc extract(MedrecVo medrecVo) {
+        String content = ((List<String>) medrecVo.getContent().get("content")).get(0);
+
+        DeathCaseDiscussDoc deathCaseDiscussDoc = new DeathCaseDiscussDoc();
+
+        return deathCaseDiscussDoc;
+    }
+
+}

+ 25 - 0
trans/src/main/java/com/lantone/qc/trans/taizhou/TaiZhouDeathRecordDocTrans.java

@@ -0,0 +1,25 @@
+package com.lantone.qc.trans.taizhou;
+
+import com.lantone.qc.pub.model.doc.DeathRecordDoc;
+import com.lantone.qc.pub.model.vo.MedrecVo;
+import com.lantone.qc.trans.ModelDocTrans;
+
+import java.util.List;
+
+/**
+ * @Description: 死亡记录文档生成
+ * @author: rengb
+ * @time: 2020/3/17 13:23
+ */
+public class TaiZhouDeathRecordDocTrans extends ModelDocTrans {
+
+    @Override
+    public DeathRecordDoc extract(MedrecVo medrecVo) {
+        String content = ((List<String>) medrecVo.getContent().get("content")).get(0);
+
+        DeathRecordDoc deathRecordDoc = new DeathRecordDoc();
+
+        return deathRecordDoc;
+    }
+
+}

+ 33 - 0
trans/src/main/java/com/lantone/qc/trans/taizhou/TaiZhouDifficultCaseDiscussDocTrans.java

@@ -0,0 +1,33 @@
+package com.lantone.qc.trans.taizhou;
+
+import com.google.common.collect.Lists;
+import com.lantone.qc.pub.model.doc.DifficultCaseDiscussDoc;
+import com.lantone.qc.pub.model.vo.MedrecVo;
+import com.lantone.qc.trans.ModelDocTrans;
+
+import java.util.List;
+
+/**
+ * @Description: 疑难病例讨论记录文档生成
+ * @author: rengb
+ * @time: 2020/3/17 13:23
+ */
+public class TaiZhouDifficultCaseDiscussDocTrans extends ModelDocTrans {
+
+    @Override
+    public List<DifficultCaseDiscussDoc> extract(MedrecVo medrecVo) {
+        List<DifficultCaseDiscussDoc> retList = Lists.newArrayList();
+        List<String> contents = (List) medrecVo.getContent().get("content");
+        contents.forEach(content -> {
+            retList.add(getDifficultCaseDiscussDoc(content));
+        });
+        return retList;
+    }
+
+    private DifficultCaseDiscussDoc getDifficultCaseDiscussDoc(String content) {
+        DifficultCaseDiscussDoc difficultCaseDiscussDoc = new DifficultCaseDiscussDoc();
+
+        return difficultCaseDiscussDoc;
+    }
+
+}

+ 89 - 4
trans/src/main/java/com/lantone/qc/trans/taizhou/TaiZhouDocTrans.java

@@ -1,11 +1,10 @@
 package com.lantone.qc.trans.taizhou;
 
 import com.lantone.qc.pub.model.InputInfo;
+import com.lantone.qc.pub.model.vo.MedrecVo;
 import com.lantone.qc.pub.model.vo.QueryVo;
 import com.lantone.qc.trans.DocTrans;
 
-import java.util.Map;
-
 /**
  * @ClassName : TaiZhouDocTrans
  * @Description :
@@ -13,7 +12,93 @@ import java.util.Map;
  * @Date: 2020-03-03 19:47
  */
 public class TaiZhouDocTrans extends DocTrans {
-    public InputInfo extract(QueryVo queryVo) {
-        return null;
+
+    @Override
+    protected InputInfo extract(QueryVo queryVo) {
+        InputInfo inputInfo = new InputInfo();
+        for (MedrecVo i : queryVo.getMedrec()) {
+            if (i.getTitle().equals("会诊")) {
+                TaiZhouConsultationDocTrans consultationDocTrans = new TaiZhouConsultationDocTrans();
+                inputInfo.setConsultationDocs(consultationDocTrans.extract(i));
+            }
+            if (i.getTitle().equals("手术")) {
+                TaiZhouOperationDocTrans operationDocTrans = new TaiZhouOperationDocTrans();
+                inputInfo.setOperationDocs(operationDocTrans.extract(i));
+            }
+            if (i.getTitle().equals("转科记录")) {
+                TaiZhouTransferRecordDocTrans transferRecordDocTrans = new TaiZhouTransferRecordDocTrans();
+                inputInfo.setTransferRecordDocs(transferRecordDocTrans.extract(i));
+            }
+            if (i.getTitle().equals("入院记录")) {
+                TaiZhouBeHospitalizedDocTrans beHospitalizedDocTrans = new TaiZhouBeHospitalizedDocTrans();
+                inputInfo.setBeHospitalizedDoc(beHospitalizedDocTrans.extract(i));
+            }
+            if (i.getTitle().equals("输血/血制品病程记录")) {
+                TaiZhouClinicalBloodDocTrans clinicalBloodDocTrans = new TaiZhouClinicalBloodDocTrans();
+                inputInfo.setClinicalBloodDocs(clinicalBloodDocTrans.extract(i));
+            }
+            if (i.getTitle().equals("危急值记录")) {
+                TaiZhouCrisisValueReportDocTrans crisisValueReportDocTrans = new TaiZhouCrisisValueReportDocTrans();
+                inputInfo.setCrisisValueReportDocs(crisisValueReportDocTrans.extract(i));
+            }
+            if (i.getTitle().equals("病危通知书")) {
+                TaiZhouCriticallyIllNoticeDocTrans criticallyIllNoticeDocTrans = new TaiZhouCriticallyIllNoticeDocTrans();
+                inputInfo.setCriticallyIllNoticeDocs(criticallyIllNoticeDocTrans.extract(i));
+            }
+            if (i.getTitle().equals("死亡病例讨论记录")) {
+                TaiZhouDeathCaseDiscussDocTrans deathCaseDiscussDocTrans = new TaiZhouDeathCaseDiscussDocTrans();
+                inputInfo.setDeathCaseDiscussDoc(deathCaseDiscussDocTrans.extract(i));
+            }
+            if (i.getTitle().equals("死亡记录")) {
+                TaiZhouDeathRecordDocTrans deathRecordDocTrans = new TaiZhouDeathRecordDocTrans();
+                inputInfo.setDeathRecordDoc(deathRecordDocTrans.extract(i));
+            }
+            if (i.getTitle().equals("疑难病例讨论记录")) {
+                TaiZhouDifficultCaseDiscussDocTrans difficultCaseDiscussDocTrans = new TaiZhouDifficultCaseDiscussDocTrans();
+                inputInfo.setDifficultCaseDiscussDocs(difficultCaseDiscussDocTrans.extract(i));
+            }
+            if (i.getTitle().equals("医嘱信息")) {
+                TaiZhouDoctorAdviceDocTrans doctorAdviceDocTrans = new TaiZhouDoctorAdviceDocTrans();
+                inputInfo.setDoctorAdviceDocs(doctorAdviceDocTrans.extract(i));
+            }
+            if (i.getTitle().equals("值班交接制度")) {
+                TaiZhouDutyShiftSystemDocTrans dutyShiftSystemDocTrans = new TaiZhouDutyShiftSystemDocTrans();
+                inputInfo.setDutyShiftSystemDocs(dutyShiftSystemDocTrans.extract(i));
+            }
+            if (i.getTitle().equals("首次病程录")) {
+                TaiZhouFirstCourseRecordDocTrans firstCourseRecordDocTrans = new TaiZhouFirstCourseRecordDocTrans();
+                inputInfo.setFirstCourseRecordDoc(firstCourseRecordDocTrans.extract(i));
+            }
+            if (i.getTitle().equals("病案首页")) {
+                TaiZhouFirstPageRecordDocTrans firstPageRecordDocTrans = new TaiZhouFirstPageRecordDocTrans();
+                inputInfo.setFirstPageRecordDoc(firstPageRecordDocTrans.extract(i));
+            }
+            if (i.getTitle().equals("出院小结")) {
+                TaiZhouLeaveHospitalDocTrans leaveHospitalDocTrans = new TaiZhouLeaveHospitalDocTrans();
+                inputInfo.setLeaveHospitalDoc(leaveHospitalDocTrans.extract(i));
+            }
+            if (i.getTitle().equals("分级护理制度")) {
+                TaiZhouNursingSystemDocTrans nursingSystemDocTrans = new TaiZhouNursingSystemDocTrans();
+                inputInfo.setNursingSystemDoc(nursingSystemDocTrans.extract(i));
+            }
+            if (i.getTitle().equals("抢救记录")) {
+                TaiZhouRescueDocTrans rescueDocTrans = new TaiZhouRescueDocTrans();
+                inputInfo.setRescueDocs(rescueDocTrans.extract(i));
+            }
+            if (i.getTitle().equals("病重通知书")) {
+                TaiZhouSeriouslyIllNoticeDocTrans seriouslyIllNoticeDocTrans = new TaiZhouSeriouslyIllNoticeDocTrans();
+                inputInfo.setSeriouslyIllNoticeDocs(seriouslyIllNoticeDocTrans.extract(i));
+            }
+            if (i.getTitle().equals("阶段小结")) {
+                TaiZhouStagesSummaryDocTrans stagesSummaryDocTrans = new TaiZhouStagesSummaryDocTrans();
+                inputInfo.setStagesSummaryDocs(stagesSummaryDocTrans.extract(i));
+            }
+            if (i.getTitle().equals("查房记录")) {
+                TaiZhouThreeLevelWardDocTrans threeLevelWardDocTrans = new TaiZhouThreeLevelWardDocTrans();
+                inputInfo.setThreeLevelWardDocs(threeLevelWardDocTrans.extract(i));
+            }
+        }
+        return inputInfo;
     }
+
 }

+ 33 - 0
trans/src/main/java/com/lantone/qc/trans/taizhou/TaiZhouDoctorAdviceDocTrans.java

@@ -0,0 +1,33 @@
+package com.lantone.qc.trans.taizhou;
+
+import com.google.common.collect.Lists;
+import com.lantone.qc.pub.model.doc.DoctorAdviceDoc;
+import com.lantone.qc.pub.model.vo.MedrecVo;
+import com.lantone.qc.trans.ModelDocTrans;
+
+import java.util.List;
+
+/**
+ * @Description: 医嘱信息文档生成
+ * @author: rengb
+ * @time: 2020/3/19 19:41
+ */
+public class TaiZhouDoctorAdviceDocTrans extends ModelDocTrans {
+
+    @Override
+    public List<DoctorAdviceDoc> extract(MedrecVo medrecVo) {
+        List<DoctorAdviceDoc> retList = Lists.newArrayList();
+        List<String> contents = (List) medrecVo.getContent().get("content");
+        contents.forEach(content -> {
+            retList.add(getDoctorAdviceDoc(content));
+        });
+        return retList;
+    }
+
+    private DoctorAdviceDoc getDoctorAdviceDoc(String content) {
+        DoctorAdviceDoc doctorAdviceDoc = new DoctorAdviceDoc();
+
+        return doctorAdviceDoc;
+    }
+
+}

+ 33 - 0
trans/src/main/java/com/lantone/qc/trans/taizhou/TaiZhouDutyShiftSystemDocTrans.java

@@ -0,0 +1,33 @@
+package com.lantone.qc.trans.taizhou;
+
+import com.google.common.collect.Lists;
+import com.lantone.qc.pub.model.doc.DutyShiftSystemDoc;
+import com.lantone.qc.pub.model.vo.MedrecVo;
+import com.lantone.qc.trans.ModelDocTrans;
+
+import java.util.List;
+
+/**
+ * @Description: 值班交接制度文档生成
+ * @author: rengb
+ * @time: 2020/3/17 13:24
+ */
+public class TaiZhouDutyShiftSystemDocTrans extends ModelDocTrans {
+
+    @Override
+    public List<DutyShiftSystemDoc> extract(MedrecVo medrecVo) {
+        List<DutyShiftSystemDoc> retList = Lists.newArrayList();
+        List<String> contents = (List) medrecVo.getContent().get("content");
+        contents.forEach(content -> {
+            retList.add(getDutyShiftSystemDoc(content));
+        });
+        return retList;
+    }
+
+    private DutyShiftSystemDoc getDutyShiftSystemDoc(String content) {
+        DutyShiftSystemDoc dutyShiftSystemDoc = new DutyShiftSystemDoc();
+
+        return dutyShiftSystemDoc;
+    }
+
+}

+ 25 - 0
trans/src/main/java/com/lantone/qc/trans/taizhou/TaiZhouFirstCourseRecordDocTrans.java

@@ -0,0 +1,25 @@
+package com.lantone.qc.trans.taizhou;
+
+import com.lantone.qc.pub.model.doc.FirstCourseRecordDoc;
+import com.lantone.qc.pub.model.vo.MedrecVo;
+import com.lantone.qc.trans.ModelDocTrans;
+
+import java.util.List;
+
+/**
+ * @Description: 首次病程录文档生成
+ * @author: rengb
+ * @time: 2020/3/17 13:25
+ */
+public class TaiZhouFirstCourseRecordDocTrans extends ModelDocTrans {
+
+    @Override
+    public FirstCourseRecordDoc extract(MedrecVo medrecVo) {
+        String content = ((List<String>) medrecVo.getContent().get("content")).get(0);
+
+        FirstCourseRecordDoc firstCourseRecordDoc = new FirstCourseRecordDoc();
+
+        return firstCourseRecordDoc;
+    }
+
+}

+ 25 - 0
trans/src/main/java/com/lantone/qc/trans/taizhou/TaiZhouFirstPageRecordDocTrans.java

@@ -0,0 +1,25 @@
+package com.lantone.qc.trans.taizhou;
+
+import com.lantone.qc.pub.model.doc.FirstPageRecordDoc;
+import com.lantone.qc.pub.model.vo.MedrecVo;
+import com.lantone.qc.trans.ModelDocTrans;
+
+import java.util.List;
+
+/**
+ * @Description: 病案首页文档生成
+ * @author: 胡敬
+ * @time: 2020/3/16 17:47
+ */
+public class TaiZhouFirstPageRecordDocTrans extends ModelDocTrans {
+
+    @Override
+    public FirstPageRecordDoc extract(MedrecVo medrecVo) {
+        String content = ((List<String>) medrecVo.getContent().get("content")).get(0);
+
+        FirstPageRecordDoc firstPageRecordDoc = new FirstPageRecordDoc();
+
+        return firstPageRecordDoc;
+    }
+
+}

+ 25 - 0
trans/src/main/java/com/lantone/qc/trans/taizhou/TaiZhouLeaveHospitalDocTrans.java

@@ -0,0 +1,25 @@
+package com.lantone.qc.trans.taizhou;
+
+import com.lantone.qc.pub.model.doc.LeaveHospitalDoc;
+import com.lantone.qc.pub.model.vo.MedrecVo;
+import com.lantone.qc.trans.ModelDocTrans;
+
+import java.util.List;
+
+/**
+ * @Description: 出院小结文档生成
+ * @author: rengb
+ * @time: 2020/3/17 13:25
+ */
+public class TaiZhouLeaveHospitalDocTrans extends ModelDocTrans {
+
+    @Override
+    public LeaveHospitalDoc extract(MedrecVo medrecVo) {
+        String content = ((List<String>) medrecVo.getContent().get("content")).get(0);
+
+        LeaveHospitalDoc leaveHospitalDoc = new LeaveHospitalDoc();
+
+        return leaveHospitalDoc;
+    }
+
+}

+ 25 - 0
trans/src/main/java/com/lantone/qc/trans/taizhou/TaiZhouNursingSystemDocTrans.java

@@ -0,0 +1,25 @@
+package com.lantone.qc.trans.taizhou;
+
+import com.lantone.qc.pub.model.doc.NursingSystemDoc;
+import com.lantone.qc.pub.model.vo.MedrecVo;
+import com.lantone.qc.trans.ModelDocTrans;
+
+import java.util.List;
+
+/**
+ * @Description: 分级护理制度文档生成
+ * @author: rengb
+ * @time: 2020/3/17 13:26
+ */
+public class TaiZhouNursingSystemDocTrans extends ModelDocTrans {
+
+    @Override
+    public NursingSystemDoc extract(MedrecVo medrecVo) {
+        String content = ((List<String>) medrecVo.getContent().get("content")).get(0);
+
+        NursingSystemDoc nursingSystemDoc = new NursingSystemDoc();
+
+        return nursingSystemDoc;
+    }
+
+}

+ 140 - 0
trans/src/main/java/com/lantone/qc/trans/taizhou/TaiZhouOperationDocTrans.java

@@ -0,0 +1,140 @@
+package com.lantone.qc.trans.taizhou;
+
+import com.google.common.collect.Lists;
+import com.google.common.collect.Maps;
+import com.google.common.collect.Sets;
+import com.lantone.qc.pub.model.doc.operation.OperationDiscussionDoc;
+import com.lantone.qc.pub.model.doc.operation.OperationDoc;
+import com.lantone.qc.pub.model.doc.operation.OperationRecordDoc;
+import com.lantone.qc.pub.model.doc.operation.PreoperativeDiscussionDoc;
+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 java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+/**
+ * @Description: 手术文档生成
+ * @author: rengb
+ * @time: 2020/3/20 17:11
+ */
+public class TaiZhouOperationDocTrans extends ModelDocTrans {
+
+    @Override
+    public List<OperationDoc> extract(MedrecVo medrecVo) {
+        List<OperationDoc> retList = Lists.newArrayList();
+
+        Map<String, List<String>> contentMap = (Map) medrecVo.getContent().get("content");
+        if (contentMap == null) {
+            return retList;
+        }
+
+        Map<String, OperationDiscussionDoc> operationDiscussionDocMap = getOperationDiscussionDocMap(contentMap.get("术后首次病程及谈话记录"));
+        Map<String, OperationRecordDoc> operationRecordDocMap = getOperationRecordDocMap(contentMap.get("手术记录"));
+        Map<String, PreoperativeDiscussionDoc> preoperativeDiscussionDocMap = getPreoperativeDiscussionDocMap(contentMap.get("术前讨论、术前小结"));
+
+        Set<String> operationNameSet = Sets.newHashSet();
+        operationNameSet.addAll(operationDiscussionDocMap.keySet());
+        operationNameSet.addAll(operationRecordDocMap.keySet());
+        operationNameSet.addAll(preoperativeDiscussionDocMap.keySet());
+
+        operationNameSet.forEach(operationName -> {
+            OperationDoc operationDoc = new OperationDoc();
+            operationDoc.setOperationName(operationName);
+            operationDoc.setOperationDiscussionDoc(operationDiscussionDocMap.get(operationName));
+            operationDoc.setOperationRecordDoc(operationRecordDocMap.get(operationName));
+            operationDoc.setPreoperativeDiscussionDoc(preoperativeDiscussionDocMap.get(operationName));
+            retList.add(operationDoc);
+        });
+
+        return retList;
+    }
+
+
+    /*******************************************术后首次病程及谈话记录***************************************************/
+    private Map<String, OperationDiscussionDoc> getOperationDiscussionDocMap(List<String> contents) {
+        Map<String, OperationDiscussionDoc> retMap = Maps.newHashMap();
+        if (ListUtil.isEmpty(contents)) {
+            return retMap;
+        }
+        int index = 1;
+        String operationName = null;
+        for (String content : contents) {
+            if (StringUtil.isBlank(content)) {
+                continue;
+            }
+            operationName = index + "";
+            OperationDiscussionDoc operationDiscussionDoc = getOperationDiscussionDoc(content);
+            operationDiscussionDoc.setOperationName(operationName);
+            retMap.put(operationName, operationDiscussionDoc);
+            index++;
+        }
+        return retMap;
+    }
+
+    private OperationDiscussionDoc getOperationDiscussionDoc(String content) {
+        OperationDiscussionDoc operationDiscussionDoc = new OperationDiscussionDoc();
+
+        return operationDiscussionDoc;
+    }
+
+
+    /**********************************************手术记录*************************************************************/
+    private Map<String, OperationRecordDoc> getOperationRecordDocMap(List<String> contents) {
+        Map<String, OperationRecordDoc> retMap = Maps.newHashMap();
+        if (ListUtil.isEmpty(contents)) {
+            return retMap;
+        }
+        int index = 1;
+        String operationName = null;
+        for (String content : contents) {
+            if (StringUtil.isBlank(content)) {
+                continue;
+            }
+            operationName = index + "";
+            OperationRecordDoc operationRecordDoc = getOperationRecordDoc(content);
+            operationRecordDoc.setOperationName(operationName);
+            retMap.put(operationName, operationRecordDoc);
+            index++;
+        }
+        return retMap;
+    }
+
+    private OperationRecordDoc getOperationRecordDoc(String content) {
+        OperationRecordDoc operationRecordDoc = new OperationRecordDoc();
+
+        return operationRecordDoc;
+    }
+
+
+    /**********************************************术前讨论、术前小结****************************************************/
+    private Map<String, PreoperativeDiscussionDoc> getPreoperativeDiscussionDocMap(List<String> contents) {
+        Map<String, PreoperativeDiscussionDoc> retMap = Maps.newHashMap();
+        if (ListUtil.isEmpty(contents)) {
+            return retMap;
+        }
+        int index = 1;
+        String operationName = null;
+        for (String content : contents) {
+            if (StringUtil.isBlank(content)) {
+                continue;
+            }
+            operationName = index + "";
+            PreoperativeDiscussionDoc preoperativeDiscussionDoc = getPreoperativeDiscussionDoc(content);
+            preoperativeDiscussionDoc.setOperationName(operationName);
+            retMap.put(operationName, preoperativeDiscussionDoc);
+            index++;
+        }
+        return retMap;
+    }
+
+    private PreoperativeDiscussionDoc getPreoperativeDiscussionDoc(String content) {
+        PreoperativeDiscussionDoc preoperativeDiscussionDoc = new PreoperativeDiscussionDoc();
+
+        return preoperativeDiscussionDoc;
+    }
+
+}

+ 33 - 0
trans/src/main/java/com/lantone/qc/trans/taizhou/TaiZhouRescueDocTrans.java

@@ -0,0 +1,33 @@
+package com.lantone.qc.trans.taizhou;
+
+import com.google.common.collect.Lists;
+import com.lantone.qc.pub.model.doc.RescueDoc;
+import com.lantone.qc.pub.model.vo.MedrecVo;
+import com.lantone.qc.trans.ModelDocTrans;
+
+import java.util.List;
+
+/**
+ * @Description: 抢救记录文档生成
+ * @author: rengb
+ * @time: 2020/3/17 17:34
+ */
+public class TaiZhouRescueDocTrans extends ModelDocTrans {
+
+    @Override
+    public List<RescueDoc> extract(MedrecVo medrecVo) {
+        List<RescueDoc> retList = Lists.newArrayList();
+        List<String> contents = (List) medrecVo.getContent().get("content");
+        contents.forEach(content -> {
+            retList.add(getRescueDoc(content));
+        });
+        return retList;
+    }
+
+    private RescueDoc getRescueDoc(String content) {
+        RescueDoc rescueDoc = new RescueDoc();
+
+        return rescueDoc;
+    }
+
+}

+ 33 - 0
trans/src/main/java/com/lantone/qc/trans/taizhou/TaiZhouSeriouslyIllNoticeDocTrans.java

@@ -0,0 +1,33 @@
+package com.lantone.qc.trans.taizhou;
+
+import com.google.common.collect.Lists;
+import com.lantone.qc.pub.model.doc.SeriouslyIllNoticeDoc;
+import com.lantone.qc.pub.model.vo.MedrecVo;
+import com.lantone.qc.trans.ModelDocTrans;
+
+import java.util.List;
+
+/**
+ * @Description: 病重通知书文档生成
+ * @author: rengb
+ * @time: 2020/3/19 19:41
+ */
+public class TaiZhouSeriouslyIllNoticeDocTrans extends ModelDocTrans {
+
+    @Override
+    public List<SeriouslyIllNoticeDoc> extract(MedrecVo medrecVo) {
+        List<SeriouslyIllNoticeDoc> retList = Lists.newArrayList();
+        List<String> contents = (List) medrecVo.getContent().get("content");
+        contents.forEach(content -> {
+            retList.add(getSeriouslyIllNoticeDoc(content));
+        });
+        return retList;
+    }
+
+    private SeriouslyIllNoticeDoc getSeriouslyIllNoticeDoc(String content) {
+        SeriouslyIllNoticeDoc seriouslyIllNoticeDoc = new SeriouslyIllNoticeDoc();
+
+        return seriouslyIllNoticeDoc;
+    }
+
+}

+ 33 - 0
trans/src/main/java/com/lantone/qc/trans/taizhou/TaiZhouStagesSummaryDocTrans.java

@@ -0,0 +1,33 @@
+package com.lantone.qc.trans.taizhou;
+
+import com.google.common.collect.Lists;
+import com.lantone.qc.pub.model.doc.StagesSummaryDoc;
+import com.lantone.qc.pub.model.vo.MedrecVo;
+import com.lantone.qc.trans.ModelDocTrans;
+
+import java.util.List;
+
+/**
+ * @Description: 阶段小结文档生成
+ * @author: rengb
+ * @time: 2020/3/19 19:41
+ */
+public class TaiZhouStagesSummaryDocTrans extends ModelDocTrans {
+
+    @Override
+    public List<StagesSummaryDoc> extract(MedrecVo medrecVo) {
+        List<StagesSummaryDoc> retList = Lists.newArrayList();
+        List<String> contents = (List) medrecVo.getContent().get("content");
+        contents.forEach(content -> {
+            retList.add(getStagesSummaryDoc(content));
+        });
+        return retList;
+    }
+
+    private StagesSummaryDoc getStagesSummaryDoc(String content) {
+        StagesSummaryDoc stagesSummaryDoc = new StagesSummaryDoc();
+
+        return stagesSummaryDoc;
+    }
+
+}

+ 33 - 0
trans/src/main/java/com/lantone/qc/trans/taizhou/TaiZhouThreeLevelWardDocTrans.java

@@ -0,0 +1,33 @@
+package com.lantone.qc.trans.taizhou;
+
+import com.google.common.collect.Lists;
+import com.lantone.qc.pub.model.doc.ThreeLevelWardDoc;
+import com.lantone.qc.pub.model.vo.MedrecVo;
+import com.lantone.qc.trans.ModelDocTrans;
+
+import java.util.List;
+
+/**
+ * @Description: 查房记录文档生成
+ * @author: rengb
+ * @time: 2020/3/17 13:27
+ */
+public class TaiZhouThreeLevelWardDocTrans extends ModelDocTrans {
+
+    @Override
+    public List<ThreeLevelWardDoc> extract(MedrecVo medrecVo) {
+        List<ThreeLevelWardDoc> retList = Lists.newArrayList();
+        List<String> contents = (List) medrecVo.getContent().get("content");
+        contents.forEach(content -> {
+            retList.add(getThreeLevelWardDoc(content));
+        });
+        return retList;
+    }
+
+    private ThreeLevelWardDoc getThreeLevelWardDoc(String content) {
+        ThreeLevelWardDoc threeLevelWardDoc = new ThreeLevelWardDoc();
+
+        return threeLevelWardDoc;
+    }
+
+}

+ 108 - 0
trans/src/main/java/com/lantone/qc/trans/taizhou/TaiZhouTransferRecordDocTrans.java

@@ -0,0 +1,108 @@
+package com.lantone.qc.trans.taizhou;
+
+import com.google.common.collect.Lists;
+import com.google.common.collect.Maps;
+import com.google.common.collect.Sets;
+import com.lantone.qc.pub.model.doc.transferrecord.TransferIntoDoc;
+import com.lantone.qc.pub.model.doc.transferrecord.TransferOutDoc;
+import com.lantone.qc.pub.model.doc.transferrecord.TransferRecordDoc;
+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 java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+/**
+ * @Description: 转科记录文档生成
+ * @author: rengb
+ * @time: 2020/3/20 16:10
+ */
+public class TaiZhouTransferRecordDocTrans extends ModelDocTrans {
+
+    @Override
+    public List<TransferRecordDoc> extract(MedrecVo medrecVo) {
+        List<TransferRecordDoc> retList = Lists.newArrayList();
+
+        Map<String, List<String>> contentMap = (Map) medrecVo.getContent().get("content");
+        if (contentMap == null) {
+            return retList;
+        }
+
+        Map<String, TransferIntoDoc> transferIntoDocMap = getTransferIntoDocMap(contentMap.get("转入"));
+        Map<String, TransferOutDoc> transferOutDocMap = getTransferOutDocMap(contentMap.get("转出"));
+
+        Set<String> transferRecordNameSet = Sets.newHashSet();
+        transferRecordNameSet.addAll(transferIntoDocMap.keySet());
+        transferRecordNameSet.addAll(transferOutDocMap.keySet());
+
+        transferRecordNameSet.forEach(transferRecordName -> {
+            TransferRecordDoc transferRecordDoc = new TransferRecordDoc();
+            transferRecordDoc.setTransferRecordName(transferRecordName);
+            transferRecordDoc.setTransferIntoDoc(transferIntoDocMap.get(transferRecordName));
+            transferRecordDoc.setTransferOutDoc(transferOutDocMap.get(transferRecordName));
+            retList.add(transferRecordDoc);
+        });
+
+        return retList;
+    }
+
+
+    /**************************************************转入*******************************************************/
+    private Map<String, TransferIntoDoc> getTransferIntoDocMap(List<String> contents) {
+        Map<String, TransferIntoDoc> retMap = Maps.newHashMap();
+        if (ListUtil.isEmpty(contents)) {
+            return retMap;
+        }
+        int index = 1;
+        String transferRecordName = null;
+        for (String content : contents) {
+            if (StringUtil.isBlank(content)) {
+                continue;
+            }
+            transferRecordName = index + "";
+            TransferIntoDoc transferIntoDoc = getTransferIntoDoc(content);
+            transferIntoDoc.setTransferRecordName(transferRecordName);
+            retMap.put(transferRecordName, transferIntoDoc);
+            index++;
+        }
+        return retMap;
+    }
+
+    private TransferIntoDoc getTransferIntoDoc(String content) {
+        TransferIntoDoc transferIntoDoc = new TransferIntoDoc();
+
+        return transferIntoDoc;
+    }
+
+
+    /**************************************************转出*******************************************************/
+    private Map<String, TransferOutDoc> getTransferOutDocMap(List<String> contents) {
+        Map<String, TransferOutDoc> retMap = Maps.newHashMap();
+        if (ListUtil.isEmpty(contents)) {
+            return retMap;
+        }
+        int index = 1;
+        String transferRecordName = null;
+        for (String content : contents) {
+            if (StringUtil.isBlank(content)) {
+                continue;
+            }
+            transferRecordName = index + "";
+            TransferOutDoc transferOutDoc = getTransferOutDoc(content);
+            transferOutDoc.setTransferRecordName(transferRecordName);
+            retMap.put(transferRecordName, transferOutDoc);
+            index++;
+        }
+        return retMap;
+    }
+
+    private TransferOutDoc getTransferOutDoc(String content) {
+        TransferOutDoc transferOutDoc = new TransferOutDoc();
+
+        return transferOutDoc;
+    }
+
+}