Browse Source

输血记录规则修改

wangyu 5 years ago
parent
commit
8735de6327

+ 4 - 4
kernel/src/main/java/com/lantone/qc/kernel/catalogue/clinicalblood/CLI0309.java

@@ -3,6 +3,7 @@ package com.lantone.qc.kernel.catalogue.clinicalblood;
 import com.lantone.qc.kernel.catalogue.QCCatalogue;
 import com.lantone.qc.pub.model.InputInfo;
 import com.lantone.qc.pub.model.OutputInfo;
+import com.lantone.qc.pub.model.doc.ClinicBloodEffectDoc;
 import com.lantone.qc.pub.model.doc.ClinicalBloodDoc;
 import com.lantone.qc.pub.util.ListUtil;
 import org.apache.commons.lang3.StringUtils;
@@ -21,13 +22,13 @@ import java.util.Map;
 public class CLI0309 extends QCCatalogue {
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
         status.set("0");
-        List<ClinicalBloodDoc> clinicalBloodDocs = inputInfo.getClinicalBloodDocs();
+        List<ClinicalBloodDoc> clinicalBloodDocs = inputInfo.getClinicalBloodDocs();//输血记录
         if(ListUtil.isEmpty(clinicalBloodDocs)){
             return;
         }
-
+        List<ClinicBloodEffectDoc> clinicBloodEffectDocs = inputInfo.getClinicBloodEffectDocs();//输血效果评价
         if(clinicalBloodDocs != null && clinicalBloodDocs.size()>0){
-            for (ClinicalBloodDoc cliB:clinicalBloodDocs) {
+            for (ClinicBloodEffectDoc cliB:clinicBloodEffectDocs) {
                 Map<String, String> cliBStructureMap = cliB.getStructureMap();
                 if(StringUtils.isEmpty(cliBStructureMap.get("输注后效果评价"))){
                     status.set("-1");
@@ -35,6 +36,5 @@ public class CLI0309 extends QCCatalogue {
                 }
             }
         }
-
     }
 }

+ 64 - 0
trans/src/main/java/com/lantone/qc/trans/changx/ChangxClinicBloodEffectDocTrans.java

@@ -0,0 +1,64 @@
+package com.lantone.qc.trans.changx;
+
+import com.google.common.collect.Lists;
+import com.lantone.qc.pub.model.doc.BeHospitalizedDoc;
+import com.lantone.qc.pub.model.doc.ClinicBloodEffectDoc;
+import com.lantone.qc.pub.model.doc.ClinicalBloodDoc;
+import com.lantone.qc.pub.model.vo.MedrecVo;
+import com.lantone.qc.pub.util.StringUtil;
+import com.lantone.qc.trans.ModelDocTrans;
+import com.lantone.qc.trans.changx.util.CxXmlUtil;
+import com.lantone.qc.trans.comsis.ModelDocGenerate;
+import com.lantone.qc.trans.comsis.OrdinaryAssistant;
+import com.lantone.qc.trans.comsis.Preproc;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @author 王宇
+ * @create 2020-04-30 12:39
+ * @desc 输血后效果评价
+ **/
+public class ChangxClinicBloodEffectDocTrans 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(getClinicalBloodDoc(content));
+        });
+        return retList;
+    }
+    private ClinicBloodEffectDoc getClinicalBloodDoc(String content) {
+        Map<String, String> xmlNodeValueMap = CxXmlUtil.firstLevelNodeValue("//DocObjContent/Region", content);
+        Map<String, String> structureMap = OrdinaryAssistant.mapKeyContrast(xmlNodeValueMap, keyContrasts);
+
+        String text = CxXmlUtil.getTextByNodePath(content, "//DocObjContent/Region/Content_Text");
+        if (StringUtil.isBlank(text)) {
+            text = CxXmlUtil.getTextByNodePath(content, "//DocObjContent/Region");
+        }
+        Map<String, String> cutWordMap = Preproc.getCutWordMap(true, sourceTitles, text);
+        cutWordMap.putAll(structureMap);
+
+
+        ClinicBloodEffectDoc clinicBloodEffectDoc = ModelDocGenerate.clinicBloodEffectDoc(cutWordMap);
+        clinicBloodEffectDoc.setText(text);
+        clinicBloodEffectDoc.setPageData((Map) xmlNodeValueMap);
+
+        return clinicBloodEffectDoc;
+    }
+
+    private List<String> sourceTitles = Lists.newArrayList(
+            "输注时间",
+            "输注后效果评价",
+            "记录医师",
+            "记录时间"
+    );
+
+    private List<String> keyContrasts = Lists.newArrayList(
+            "记录日期=记录时间",
+            "签名++++=记录医师",
+            "签名时间="
+    );
+}

+ 4 - 0
trans/src/main/java/com/lantone/qc/trans/changx/ChangxDocTrans.java

@@ -41,6 +41,10 @@ public class ChangxDocTrans extends DocTrans {
                 ChangxClinicalBloodDocTrans clinicalBloodDocTrans = new ChangxClinicalBloodDocTrans();
                 inputInfo.setClinicalBloodDocs(clinicalBloodDocTrans.extract(i));
             }
+            if (i.getTitle().equals("输血后效果评价")) {
+                ChangxClinicBloodEffectDocTrans changxClinicBloodEffectDocTrans = new ChangxClinicBloodEffectDocTrans();
+                inputInfo.setClinicBloodEffectDocs(changxClinicBloodEffectDocTrans.extract(i));
+            }
             if (i.getTitle().equals("危急值记录")) {
                 ChangxCrisisValueReportDocTrans crisisValueReportDocTrans = new ChangxCrisisValueReportDocTrans();
                 inputInfo.setCrisisValueReportDocs(crisisValueReportDocTrans.extract(i));

+ 14 - 16
trans/src/main/java/com/lantone/qc/trans/comsis/ModelDocGenerate.java

@@ -1,21 +1,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.CrisisValueReportDoc;
-import com.lantone.qc.pub.model.doc.CriticallyIllNoticeDoc;
-import com.lantone.qc.pub.model.doc.DeathCaseDiscussDoc;
-import com.lantone.qc.pub.model.doc.DeathRecordDoc;
-import com.lantone.qc.pub.model.doc.DifficultCaseDiscussDoc;
-import com.lantone.qc.pub.model.doc.DoctorAdviceDoc;
-import com.lantone.qc.pub.model.doc.DutyShiftSystemDoc;
-import com.lantone.qc.pub.model.doc.FirstCourseRecordDoc;
-import com.lantone.qc.pub.model.doc.LeaveHospitalDoc;
-import com.lantone.qc.pub.model.doc.NursingSystemDoc;
-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.*;
 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;
@@ -249,6 +234,19 @@ public class ModelDocGenerate {
         return clinicalBloodDoc;
     }
 
+    /**
+     * 输血后效果评价
+     *
+     * @param structureMap
+     * @return
+     */
+    public static ClinicBloodEffectDoc clinicBloodEffectDoc(Map<String, String> structureMap) {
+        ClinicBloodEffectDoc clinicBloodEffectDoc = new ClinicBloodEffectDoc();
+        clinicBloodEffectDoc.setStructureMap(structureMap);
+        return clinicBloodEffectDoc;
+    }
+
+
     /**
      * 危急值记录
      *