|
@@ -2,8 +2,10 @@ package com.lantone.qc.kernel.catalogue.beilun.majorInspection;
|
|
|
|
|
|
import com.google.common.collect.Maps;
|
|
|
import com.lantone.qc.kernel.catalogue.QCCatalogue;
|
|
|
+import com.lantone.qc.pub.Content;
|
|
|
import com.lantone.qc.pub.model.InputInfo;
|
|
|
import com.lantone.qc.pub.model.OutputInfo;
|
|
|
+import com.lantone.qc.pub.model.doc.DoctorAdviceDoc;
|
|
|
import com.lantone.qc.pub.model.doc.FirstPageRecordDoc;
|
|
|
import com.lantone.qc.pub.model.doc.LisDoc;
|
|
|
import com.lantone.qc.pub.model.doc.PacsDoc;
|
|
@@ -27,27 +29,58 @@ public class OPE0310 extends QCCatalogue {
|
|
|
status.set("0");
|
|
|
FirstPageRecordDoc firstPageRecordDoc = inputInfo.getFirstPageRecordDoc();
|
|
|
if (firstPageRecordDoc == null) {
|
|
|
- return;
|
|
|
- }
|
|
|
- Object pathologyMoney = firstPageRecordDoc.getStructureMap().get("病理诊疗费");
|
|
|
- String pathologyMoneyStr = pathologyMoney.toString();
|
|
|
- if (pathologyMoney.equals("0")&& StringUtil.isBlank(pathologyMoneyStr)) {
|
|
|
- return;
|
|
|
- }
|
|
|
- double a = Double.parseDouble(pathologyMoneyStr);
|
|
|
- if (a > 68) {
|
|
|
- List<PacsDoc> pacsDocs = inputInfo.getPacsDocs();
|
|
|
- for (PacsDoc pacsDoc : pacsDocs) {
|
|
|
- Map<String, String> pacsDocStructureMap = pacsDoc.getStructureMap();
|
|
|
- String pacsDocStr = pacsDocStructureMap.get("报告名称");
|
|
|
- if(pacsDocStr.contains("病理")){
|
|
|
- return;
|
|
|
- }else {
|
|
|
- status.set("-1");
|
|
|
- return;
|
|
|
+ //病案首页为空判断医嘱
|
|
|
+ List<DoctorAdviceDoc> doctorAdviceDocs = inputInfo.getDoctorAdviceDocs();
|
|
|
+ if (doctorAdviceDocs.size() == 0) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ for (DoctorAdviceDoc dad : doctorAdviceDocs) {
|
|
|
+ String name = dad.getStructureMap().get("医嘱项目名称");
|
|
|
+ if (name.contains("非手术") || name.contains("手术室") || (name.contains("手术") && name.contains("取消")) || (name.contains("暂停") && name.contains("手术")) || name.contains("静脉穿刺置管术") || name.startsWith("停") || name.contains("前一次")
|
|
|
+ || name.contains("特殊病人手术使用一次性卫生材料") || name.contains("人免疫缺陷病毒抗体检测免费")) {
|
|
|
+ continue;
|
|
|
}
|
|
|
+ if (name.contains("手术")) {
|
|
|
+ for (DoctorAdviceDoc doctorAdviceDoc : doctorAdviceDocs) {
|
|
|
+ String adviceDocName = doctorAdviceDoc.getStructureMap().get("医嘱项目名称");
|
|
|
+ if (adviceDocName.contains("病理")) {
|
|
|
+ List<PacsDoc> pacsDocs = inputInfo.getPacsDocs();
|
|
|
+ for (PacsDoc pacsDoc : pacsDocs) {
|
|
|
+ Map<String, String> pacsDocStructureMap = pacsDoc.getStructureMap();
|
|
|
+ String pacsDocStr = pacsDocStructureMap.get("报告名称");
|
|
|
+ if (pacsDocStr.contains("病理")) {
|
|
|
+ return;
|
|
|
+ } else {
|
|
|
+ status.set("-1");
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ String pathologyMoneyStr = firstPageRecordDoc.getStructureMap().get("病理诊疗费").toString();
|
|
|
+ String operationMoneyStr = firstPageRecordDoc.getStructureMap().get("手术费").toString();
|
|
|
+ if ((pathologyMoneyStr.equals("0") && StringUtil.isEmpty(pathologyMoneyStr)) || operationMoneyStr.equals("0") && StringUtil.isEmpty(operationMoneyStr)) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ double a = Double.parseDouble(pathologyMoneyStr);
|
|
|
+ double b = Double.parseDouble(operationMoneyStr);
|
|
|
+ if (a > Content.pathologicalFee && b > 0) {
|
|
|
+ List<PacsDoc> pacsDocs = inputInfo.getPacsDocs();
|
|
|
+ for (PacsDoc pacsDoc : pacsDocs) {
|
|
|
+ Map<String, String> pacsDocStructureMap = pacsDoc.getStructureMap();
|
|
|
+ String pacsDocStr = pacsDocStructureMap.get("报告名称");
|
|
|
+ if (pacsDocStr.contains("病理")) {
|
|
|
+ return;
|
|
|
+ } else {
|
|
|
+ status.set("-1");
|
|
|
+ return;
|
|
|
+ }
|
|
|
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
- }
|
|
|
+
|
|
|
}
|