|
@@ -1,6 +1,7 @@
|
|
|
package com.lantone.qc.kernel.catalogue.threelevelward;
|
|
|
|
|
|
import com.lantone.qc.kernel.catalogue.QCCatalogue;
|
|
|
+import com.lantone.qc.kernel.util.CatalogueUtil;
|
|
|
import com.lantone.qc.pub.model.InputInfo;
|
|
|
import com.lantone.qc.pub.model.OutputInfo;
|
|
|
import com.lantone.qc.pub.model.doc.ward.AttendingDoctorWardDoc;
|
|
@@ -9,6 +10,7 @@ import com.lantone.qc.pub.util.StringUtil;
|
|
|
import org.springframework.stereotype.Component;
|
|
|
|
|
|
import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
|
|
|
/**
|
|
|
* @ClassName : THR0134
|
|
@@ -19,7 +21,7 @@ import java.util.List;
|
|
|
@Component
|
|
|
public class THR0134 extends QCCatalogue {
|
|
|
public void start(InputInfo inputInfo, OutputInfo outputInfo) {
|
|
|
- if (inputInfo.getThreeLevelWardDocs().size() == 0) {
|
|
|
+ if (inputInfo.getThreeLevelWardDocs().size() == 0 || inputInfo.getBeHospitalizedDoc() == null) {
|
|
|
status.set("0");
|
|
|
return;
|
|
|
}
|
|
@@ -29,6 +31,19 @@ public class THR0134 extends QCCatalogue {
|
|
|
return;
|
|
|
}
|
|
|
AttendingDoctorWardDoc firstAttendDoc = attendDocs.get(0);
|
|
|
+ //先取结构化数据判断
|
|
|
+ Map<String, String> firstAttendStructureMap = firstAttendDoc.getStructureMap();
|
|
|
+ String admisDateStr = inputInfo.getBeHospitalizedDoc().getStructureMap().get("入院日期");
|
|
|
+ String recordDateStr = firstAttendStructureMap.get("查房日期");
|
|
|
+ if (CatalogueUtil.isEmpty(admisDateStr) || CatalogueUtil.isEmpty(recordDateStr)) {
|
|
|
+ status.set("0");
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ //如果首次查房超过48小时则不判断该条规则
|
|
|
+ if (CatalogueUtil.compareTime(StringUtil.parseDateTime(admisDateStr), StringUtil.parseDateTime(recordDateStr), 48 * 60L)) {
|
|
|
+ status.set("0");
|
|
|
+ return;
|
|
|
+ }
|
|
|
ThreeLevelWardLabel firstAttendLabel = firstAttendDoc.getThreeLevelWardLabel();
|
|
|
if (firstAttendLabel == null) {
|
|
|
return;
|