|
@@ -1,7 +1,6 @@
|
|
|
package com.lantone.qc.kernel.catalogue.behospitalized;
|
|
|
|
|
|
import com.lantone.qc.kernel.catalogue.QCCatalogue;
|
|
|
-import com.lantone.qc.kernel.util.CatalogueUtil;
|
|
|
import com.lantone.qc.kernel.util.KernelConstants;
|
|
|
import com.lantone.qc.kernel.util.RedisUtil;
|
|
|
import com.lantone.qc.pub.model.InputInfo;
|
|
@@ -9,8 +8,8 @@ import com.lantone.qc.pub.model.OutputInfo;
|
|
|
import com.lantone.qc.pub.model.doc.BeHospitalizedDoc;
|
|
|
import com.lantone.qc.pub.model.entity.Clinical;
|
|
|
import com.lantone.qc.pub.model.entity.Diag;
|
|
|
-import com.lantone.qc.pub.model.entity.PD;
|
|
|
-import com.sun.org.apache.xpath.internal.operations.Bool;
|
|
|
+import com.lantone.qc.pub.model.label.ChiefLabel;
|
|
|
+import com.lantone.qc.pub.model.label.DiagLabel;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Component;
|
|
@@ -31,49 +30,57 @@ public class BEH0002 extends QCCatalogue {
|
|
|
private RedisUtil redisUtil;
|
|
|
|
|
|
public void start(InputInfo inputInfo, OutputInfo outputInfo) {
|
|
|
- if(inputInfo.getBeHospitalizedDoc() == null){
|
|
|
+ BeHospitalizedDoc beHospitalizedDoc = inputInfo.getBeHospitalizedDoc();
|
|
|
+ if (beHospitalizedDoc == null) {
|
|
|
status.set("0");
|
|
|
return;
|
|
|
}
|
|
|
- Boolean bool = false;
|
|
|
- List<Diag> chiefDiags = inputInfo.getBeHospitalizedDoc().getChiefLabel().getDiags();
|
|
|
- List<Diag> diags = inputInfo.getBeHospitalizedDoc().getInitialDiagLabel().getDiags();
|
|
|
- if(chiefDiags.size()>0){
|
|
|
- for (Diag diag:chiefDiags) {
|
|
|
+ boolean bool = false;
|
|
|
+ ChiefLabel chiefLabel = beHospitalizedDoc.getChiefLabel();
|
|
|
+ DiagLabel initialDiagLabel = beHospitalizedDoc.getInitialDiagLabel();
|
|
|
+ if (chiefLabel == null || initialDiagLabel == null) {
|
|
|
+ status.set("0");
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ List<Diag> chiefDiags = chiefLabel.getDiags();
|
|
|
+ List<Diag> diags = initialDiagLabel.getDiags();
|
|
|
+ if (chiefDiags.size() > 0) {
|
|
|
+ for (Diag diag : chiefDiags) {
|
|
|
String hospitalDiagName = diag.getHospitalDiagName();
|
|
|
- if(hospitalDiagName.contains("术后")||hospitalDiagName.contains("癌")||
|
|
|
- hospitalDiagName.contains("瘤") || hospitalDiagName.contains("复诊")){
|
|
|
+ if (hospitalDiagName.contains("术后") || hospitalDiagName.contains("癌") ||
|
|
|
+ hospitalDiagName.contains("瘤") || hospitalDiagName.contains("复诊")) {
|
|
|
status.set("0");
|
|
|
break;
|
|
|
- }{
|
|
|
+ }
|
|
|
+ {
|
|
|
bool = true;
|
|
|
}
|
|
|
}
|
|
|
- }else {
|
|
|
+ } else {
|
|
|
bool = true;
|
|
|
}
|
|
|
- if(bool){
|
|
|
+ if (bool) {
|
|
|
String mainDiag = diags.get(0).getName();
|
|
|
- List<String> symptoms=null;
|
|
|
+ List<String> symptoms = null;
|
|
|
Map<String, Map<String, Object>> diagMap = redisUtil.getJsonStringValue(KernelConstants.CONCEPT_DIAG_PROPERTY_MAP);
|
|
|
Map<String, Object> map = (Map<String, Object>) diagMap.get(mainDiag);
|
|
|
- if(map != null && map.size() >0){
|
|
|
+ if (map != null && map.size() > 0) {
|
|
|
symptoms = (List<String>) map.get("symptoms");
|
|
|
}
|
|
|
List<Clinical> clinicals = inputInfo.getBeHospitalizedDoc().getChiefLabel().getClinicals();
|
|
|
- if(clinicals != null && clinicals.size()>0){
|
|
|
- for (Clinical clinical:clinicals) {
|
|
|
+ if (clinicals != null && clinicals.size() > 0) {
|
|
|
+ for (Clinical clinical : clinicals) {
|
|
|
String clinicalName = clinical.getName();
|
|
|
- if(symptoms != null && !symptoms.contains(clinicalName)){
|
|
|
- if(StringUtils.isEmpty(info.get())){
|
|
|
+ if (symptoms != null && !symptoms.contains(clinicalName)) {
|
|
|
+ if (StringUtils.isEmpty(info.get())) {
|
|
|
info.set(clinicalName);
|
|
|
- }else {
|
|
|
+ } else {
|
|
|
info.set(info.get() + "," + clinicalName);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- if(StringUtils.isEmpty(info.get())){
|
|
|
+ if (StringUtils.isEmpty(info.get())) {
|
|
|
status.set("0");
|
|
|
}
|
|
|
}
|