|
@@ -30,30 +30,42 @@ public class BEH0002 extends QCCatalogue {
|
|
|
private RedisUtil redisUtil;
|
|
|
|
|
|
public void start(InputInfo inputInfo, OutputInfo outputInfo) {
|
|
|
+ List<Diag> chiefDiags = inputInfo.getBeHospitalizedDoc().getChiefLabel().getDiags();
|
|
|
List<Diag> diags = inputInfo.getBeHospitalizedDoc().getInitialDiagLabel().getDiags();
|
|
|
- String mainDiag = diags.get(0).getName();
|
|
|
- status = "0";
|
|
|
- List<String> symptoms=null;
|
|
|
- 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(mainDiag);
|
|
|
- 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(chiefDiags.size()>0){
|
|
|
+ for (Diag diag:chiefDiags) {
|
|
|
+ String hospitalDiagName = diag.getHospitalDiagName();
|
|
|
+ if(hospitalDiagName.contains("术后")||hospitalDiagName.contains("癌")||
|
|
|
+ hospitalDiagName.contains("瘤") || hospitalDiagName.contains("复诊")){
|
|
|
+ status = "0";
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }else {
|
|
|
+ String mainDiag = diags.get(0).getName();
|
|
|
+ List<String> symptoms=null;
|
|
|
+ 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(mainDiag);
|
|
|
+ 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.isEmpty(info)){
|
|
|
+ status = "0";
|
|
|
+ }
|
|
|
}
|
|
|
- if(StringUtils.isNotEmpty(info)){
|
|
|
- status = "-1";
|
|
|
- }
|
|
|
+
|
|
|
}
|
|
|
}
|