|
@@ -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.FirstCourseRecordDoc;
|
|
@@ -12,6 +13,7 @@ import com.lantone.qc.pub.util.StringUtil;
|
|
|
import org.springframework.stereotype.Component;
|
|
|
|
|
|
import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
|
|
|
/**
|
|
|
* @ClassName : THR0701
|
|
@@ -22,8 +24,9 @@ import java.util.List;
|
|
|
@Component
|
|
|
public class THR0701 extends QCCatalogue {
|
|
|
public void start(InputInfo inputInfo, OutputInfo outputInfo) {
|
|
|
+ status.set("0");
|
|
|
if (inputInfo.getThreeLevelWardDocs().size() == 0 || inputInfo.getFirstCourseRecordDoc() == null) {
|
|
|
- status.set("0");
|
|
|
+ return;
|
|
|
}
|
|
|
List<AttendingDoctorWardDoc> attendDocs = inputInfo.getThreeLevelWardDocs().get(0).getAttendingDoctorWardDocs();
|
|
|
FirstCourseRecordDoc firstCourseRecordDoc = inputInfo.getFirstCourseRecordDoc();
|
|
@@ -33,13 +36,23 @@ public class THR0701 extends QCCatalogue {
|
|
|
return;
|
|
|
}
|
|
|
if (attendDocs.size() == 0) {
|
|
|
- status.set("0");
|
|
|
return;
|
|
|
}
|
|
|
AttendingDoctorWardDoc firstAttendDoc = attendDocs.get(0);
|
|
|
+ Map<String, String> firstAttendStructureMap = firstAttendDoc.getStructureMap();
|
|
|
+ if (inputInfo.getBeHospitalizedDoc() != null) {
|
|
|
+ String admisDateStr = inputInfo.getBeHospitalizedDoc().getStructureMap().get("入院日期");
|
|
|
+ String recordDateStr = firstAttendStructureMap.get("查房日期");
|
|
|
+ if (CatalogueUtil.isEmpty(admisDateStr) || CatalogueUtil.isEmpty(recordDateStr)) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ //如果首次查房超过48小时则不判断该条规则
|
|
|
+ if (CatalogueUtil.compareTime(StringUtil.parseDateTime(admisDateStr), StringUtil.parseDateTime(recordDateStr), 48 * 60L)) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ }
|
|
|
ThreeLevelWardLabel firstAttendLabel = firstAttendDoc.getThreeLevelWardLabel();
|
|
|
if (firstAttendLabel == null) {
|
|
|
- status.set("0");
|
|
|
return;
|
|
|
}
|
|
|
if (firstAttendLabel.getDiffDiag().size() != 0) {
|
|
@@ -48,18 +61,21 @@ public class THR0701 extends QCCatalogue {
|
|
|
if (StringUtil.isBlank(diffDiagName)) {
|
|
|
continue;
|
|
|
}
|
|
|
- if (firstCourseDiffDiag.equals(diffDiagName)) {
|
|
|
- status.set("0");
|
|
|
+ if (firstCourseDiffDiag.contains(diffDiagName)) {
|
|
|
+ status.set("-1");
|
|
|
return;
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
}
|
|
|
if (StringUtil.isNotBlank(firstAttendLabel.getDiffDiagText())) {
|
|
|
if (firstAttendLabel.getDiffDiagText().equals(firstCourseDiffDiag)) {
|
|
|
- status.set("0");
|
|
|
+ status.set("-1");
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ if (firstAttendLabel.getDiffDiag().size() == 0 && StringUtil.isBlank(firstAttendLabel.getDiffDiagText())){
|
|
|
+ status.set("0");
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
/**
|