|
@@ -508,47 +508,50 @@ public class PushProcess {
|
|
|
RuleBaseDTO ruleBaseDTO = new RuleBaseDTO();
|
|
|
BeanUtil.copyProperties(base, ruleBaseDTO);
|
|
|
String baseIds = base.getIds();
|
|
|
- switch (BaseDiagnoseTypeEnum.getEnum(base.getBaseType())) {
|
|
|
- case equals: // 等于术语本身
|
|
|
- switch (LexiconEnum.getEnum(base.getBaseLibType())) {
|
|
|
- case Symptom: // 症状
|
|
|
- commonRule.compareNameWithPush(clinicals, ruleBaseDTO, baseIdList, baseIds);
|
|
|
- break;
|
|
|
- case Disease: // 疾病【病史】
|
|
|
- commonRule.compareNameWithPush(wordCrfDTO.getPastLabel().getDiags(), ruleBaseDTO, baseIdList, baseIds);
|
|
|
- break;
|
|
|
- case VitalResult: // 体格检查结果
|
|
|
- vitalRule.push(wordCrfDTO.getVitalLabel(), ruleBaseDTO, baseIdList, baseIds);
|
|
|
- break;
|
|
|
- case Group: // 人群
|
|
|
- groupRule.push(wordCrfDTO, ruleBaseDTO, baseIdList, baseIds);
|
|
|
- break;
|
|
|
- case PacsResult: // 辅助检查结果
|
|
|
- commonRule.compareItemWithPush(wordCrfDTO.getPacsLabel().getRes(), ruleBaseDTO, baseIdList, baseIds);
|
|
|
- break;
|
|
|
- }
|
|
|
- break;
|
|
|
- case compare: // 比较
|
|
|
- switch (LexiconEnum.getEnum(base.getBaseLibType())) {
|
|
|
- case LisSubName: // 化验
|
|
|
- lisRule.push(wordCrfDTO.getLis(), ruleBaseDTO, baseIdList, baseIds);
|
|
|
- break;
|
|
|
- case Age: // 年龄
|
|
|
- ageRule.push(wordCrfDTO, ruleBaseDTO, baseIdList, baseIds);
|
|
|
- break;
|
|
|
- case Vital: // 体格检查项目
|
|
|
- vitalRule.push(wordCrfDTO.getVitalLabel(), ruleBaseDTO, baseIdList, baseIds);
|
|
|
- break;
|
|
|
- }
|
|
|
- break;
|
|
|
- case regexChiefSymptom: // 主诉现病史正则
|
|
|
- commonRule.getRegexResPush(wordCrfDTO.getChief() + wordCrfDTO.getSymptom(),
|
|
|
- base.getBaseEqValue(), baseIdList, baseIds);
|
|
|
- break;
|
|
|
- case regexPast: // 既往史正则
|
|
|
- commonRule.getRegexResPush(wordCrfDTO.getPasts() + wordCrfDTO.getPersonal() + wordCrfDTO.getMenstrual() + wordCrfDTO.getMarital() + wordCrfDTO.getFamily(),
|
|
|
- base.getBaseEqValue(), baseIdList, baseIds);
|
|
|
- break;
|
|
|
+ BaseDiagnoseTypeEnum diagnoseTypeEnum = BaseDiagnoseTypeEnum.getEnum(base.getBaseType());
|
|
|
+ if (diagnoseTypeEnum != null) {
|
|
|
+ switch (diagnoseTypeEnum) {
|
|
|
+ case equals: // 等于术语本身
|
|
|
+ switch (LexiconEnum.getEnum(base.getBaseLibType())) {
|
|
|
+ case Symptom: // 症状
|
|
|
+ commonRule.compareNameWithPush(clinicals, ruleBaseDTO, baseIdList, baseIds);
|
|
|
+ break;
|
|
|
+ case Disease: // 疾病【病史】
|
|
|
+ commonRule.compareNameWithPush(wordCrfDTO.getPastLabel().getDiags(), ruleBaseDTO, baseIdList, baseIds);
|
|
|
+ break;
|
|
|
+ case VitalResult: // 体格检查结果
|
|
|
+ vitalRule.push(wordCrfDTO.getVitalLabel(), ruleBaseDTO, baseIdList, baseIds);
|
|
|
+ break;
|
|
|
+ case Group: // 人群
|
|
|
+ groupRule.push(wordCrfDTO, ruleBaseDTO, baseIdList, baseIds);
|
|
|
+ break;
|
|
|
+ case PacsResult: // 辅助检查结果
|
|
|
+ commonRule.compareItemWithPush(wordCrfDTO.getPacsLabel().getRes(), ruleBaseDTO, baseIdList, baseIds);
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case compare: // 比较
|
|
|
+ switch (LexiconEnum.getEnum(base.getBaseLibType())) {
|
|
|
+ case LisSubName: // 化验
|
|
|
+ lisRule.push(wordCrfDTO.getLis(), ruleBaseDTO, baseIdList, baseIds);
|
|
|
+ break;
|
|
|
+ case Age: // 年龄
|
|
|
+ ageRule.push(wordCrfDTO, ruleBaseDTO, baseIdList, baseIds);
|
|
|
+ break;
|
|
|
+ case Vital: // 体格检查项目
|
|
|
+ vitalRule.push(wordCrfDTO.getVitalLabel(), ruleBaseDTO, baseIdList, baseIds);
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case regexChiefSymptom: // 主诉现病史正则
|
|
|
+ commonRule.getRegexResPush(wordCrfDTO.getChief() + wordCrfDTO.getSymptom(),
|
|
|
+ base.getBaseEqValue(), baseIdList, baseIds);
|
|
|
+ break;
|
|
|
+ case regexPast: // 既往史正则
|
|
|
+ commonRule.getRegexResPush(wordCrfDTO.getPasts() + wordCrfDTO.getPersonal() + wordCrfDTO.getMenstrual() + wordCrfDTO.getMarital() + wordCrfDTO.getFamily(),
|
|
|
+ base.getBaseEqValue(), baseIdList, baseIds);
|
|
|
+ break;
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
// 根据诊断依据推送诊断
|