|
@@ -1,14 +1,20 @@
|
|
|
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;
|
|
|
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.PD;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Component;
|
|
|
|
|
|
import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
|
|
|
|
|
|
/**
|
|
@@ -19,5 +25,36 @@ import java.util.List;
|
|
|
*/
|
|
|
@Component
|
|
|
public class BEH0002 extends QCCatalogue {
|
|
|
- public void start(InputInfo inputInfo, OutputInfo outputInfo) {}
|
|
|
+ @Autowired
|
|
|
+ private RedisUtil redisUtil;
|
|
|
+
|
|
|
+ public void start(InputInfo inputInfo, OutputInfo outputInfo) {
|
|
|
+ status = "0";
|
|
|
+ String initialDiagtext = inputInfo.getBeHospitalizedDoc().getInitialDiagLabel().getText();
|
|
|
+ List<String> symptoms =null;
|
|
|
+ if(!CatalogueUtil.isEmpty(initialDiagtext)){
|
|
|
+ String main_diag = initialDiagtext.split(",")[0];
|
|
|
+ Map<String, Map<String, Object>> diagMap =(Map<String, Map<String, Object>>) redisUtil.get(KernelConstants.CONCEPT_DIAG_PROPERTY_MAP);
|
|
|
+ Map<String, Object> map = (Map<String, Object>) diagMap.get(main_diag);
|
|
|
+ if(map != null || map.size() >0){
|
|
|
+ symptoms = (List<String>) map.get("symptoms");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ List<Clinical> clinicals = inputInfo.getBeHospitalizedDoc().getPresentLabel().getClinicals();
|
|
|
+ if(clinicals != null && clinicals.size()>0){
|
|
|
+ for (Clinical clinical:clinicals) {
|
|
|
+ String clinicalName = clinical.getName();
|
|
|
+ if(symptoms != null && !symptoms.contains(clinicalName)){
|
|
|
+ if(StringUtils.isEmpty(info)){
|
|
|
+ info = clinicalName;
|
|
|
+ }else {
|
|
|
+ info = info +"," +clinicalName;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(StringUtils.isNotEmpty(info)){
|
|
|
+ status = "-1";
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|