|
@@ -1,6 +1,7 @@
|
|
package com.lantone.qc.kernel.catalogue.threelevelward;
|
|
package com.lantone.qc.kernel.catalogue.threelevelward;
|
|
|
|
|
|
import com.lantone.qc.kernel.catalogue.QCCatalogue;
|
|
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.InputInfo;
|
|
import com.lantone.qc.pub.model.OutputInfo;
|
|
import com.lantone.qc.pub.model.OutputInfo;
|
|
import com.lantone.qc.pub.model.doc.ward.AttendingDoctorWardDoc;
|
|
import com.lantone.qc.pub.model.doc.ward.AttendingDoctorWardDoc;
|
|
@@ -20,10 +21,11 @@ import java.util.Map;
|
|
@Component
|
|
@Component
|
|
public class THR0130 extends QCCatalogue {
|
|
public class THR0130 extends QCCatalogue {
|
|
public void start(InputInfo inputInfo, OutputInfo outputInfo) {
|
|
public void start(InputInfo inputInfo, OutputInfo outputInfo) {
|
|
- if (inputInfo.getThreeLevelWardDocs().size() == 0) {
|
|
|
|
|
|
+ if (inputInfo.getThreeLevelWardDocs().size() == 0 || inputInfo.getBeHospitalizedDoc() == null) {
|
|
status.set("0");
|
|
status.set("0");
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
|
|
+
|
|
List<AttendingDoctorWardDoc> attendDocs = inputInfo.getThreeLevelWardDocs().get(0).getAttendingDoctorWardDocs();
|
|
List<AttendingDoctorWardDoc> attendDocs = inputInfo.getThreeLevelWardDocs().get(0).getAttendingDoctorWardDocs();
|
|
if (attendDocs.size() == 0) {
|
|
if (attendDocs.size() == 0) {
|
|
status.set("0");
|
|
status.set("0");
|
|
@@ -32,6 +34,17 @@ public class THR0130 extends QCCatalogue {
|
|
AttendingDoctorWardDoc firstAttendDoc = attendDocs.get(0);
|
|
AttendingDoctorWardDoc firstAttendDoc = attendDocs.get(0);
|
|
//先取结构化数据判断
|
|
//先取结构化数据判断
|
|
Map<String, String> firstAttendStructureMap = firstAttendDoc.getStructureMap();
|
|
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;
|
|
|
|
+ }
|
|
if (StringUtil.isNotBlank(firstAttendStructureMap.get("体检"))) {
|
|
if (StringUtil.isNotBlank(firstAttendStructureMap.get("体检"))) {
|
|
status.set("0");
|
|
status.set("0");
|
|
return;
|
|
return;
|