浏览代码

Merge branch 'develop' into dev/exportOtherLis

zhoutg 3 年之前
父节点
当前提交
07701289ae
共有 60 个文件被更改,包括 3968 次插入669 次删除
  1. 929 0
      doc/020.20211019其他值提醒和危急值提醒优化/med2021_init.sql
  2. 98 0
      doc/021.20211025接口调用日志记录、药品开单/cdss_init.sql
  3. 931 0
      doc/021.20211025接口调用日志记录、药品开单/med2021_init.sql
  4. 3 0
      doc/022.20211210开单时间间隔配置/med2021_init.sql
  5. 3 0
      src/main/java/com/diagbot/config/CacheDeleteInit.java
  6. 6 0
      src/main/java/com/diagbot/config/MybatisPlusConfigurer.java
  7. 1 0
      src/main/java/com/diagbot/config/RedisConfigurer.java
  8. 223 0
      src/main/java/com/diagbot/config/mybatisLike/AbstractLikeSqlConverter.java
  9. 79 0
      src/main/java/com/diagbot/config/mybatisLike/MapLikeSqlConverter.java
  10. 160 0
      src/main/java/com/diagbot/config/mybatisLike/MybatisLikeSqlInterceptor.java
  11. 28 0
      src/main/java/com/diagbot/config/mybatisLike/ObjectLikeSqlConverter.java
  12. 33 0
      src/main/java/com/diagbot/dto/BillDTO.java
  13. 19 0
      src/main/java/com/diagbot/dto/LisCtritalDTO.java
  14. 1 0
      src/main/java/com/diagbot/dto/LisOtherDTO.java
  15. 16 0
      src/main/java/com/diagbot/dto/PacsOtherDTO.java
  16. 4 0
      src/main/java/com/diagbot/dto/RuleExtDTO.java
  17. 14 0
      src/main/java/com/diagbot/dto/RuleSimpleDTO.java
  18. 1 1
      src/main/java/com/diagbot/entity/MappingConfig.java
  19. 5 4
      src/main/java/com/diagbot/enums/ConceptTypeEnum.java
  20. 6 3
      src/main/java/com/diagbot/enums/LexiconEnum.java
  21. 4 1
      src/main/java/com/diagbot/enums/RedisEnum.java
  22. 4 1
      src/main/java/com/diagbot/enums/RegularConfigEnum.java
  23. 2 1
      src/main/java/com/diagbot/enums/TypeEnum.java
  24. 3 0
      src/main/java/com/diagbot/facade/BillFacade.java
  25. 40 2
      src/main/java/com/diagbot/facade/CacheFacade.java
  26. 3 80
      src/main/java/com/diagbot/facade/CommonFacade.java
  27. 7 6
      src/main/java/com/diagbot/facade/KlConceptFacade.java
  28. 134 3
      src/main/java/com/diagbot/facade/KlRegularConfigFacade.java
  29. 15 9
      src/main/java/com/diagbot/facade/MedRetrievalFacade.java
  30. 3 1
      src/main/java/com/diagbot/facade/TermMatchingFacade.java
  31. 10 95
      src/main/java/com/diagbot/process/BillProcess.java
  32. 1 1
      src/main/java/com/diagbot/process/CriticalProcess.java
  33. 94 72
      src/main/java/com/diagbot/process/OtherTipProcess.java
  34. 9 12
      src/main/java/com/diagbot/rule/AgeRule.java
  35. 180 0
      src/main/java/com/diagbot/rule/BillRule.java
  36. 76 52
      src/main/java/com/diagbot/rule/CommonRule.java
  37. 12 12
      src/main/java/com/diagbot/rule/DrugRule.java
  38. 40 0
      src/main/java/com/diagbot/rule/FormRule.java
  39. 13 14
      src/main/java/com/diagbot/rule/GroupRule.java
  40. 188 135
      src/main/java/com/diagbot/rule/LisRule.java
  41. 9 14
      src/main/java/com/diagbot/rule/MedEquRule.java
  42. 5 4
      src/main/java/com/diagbot/rule/OtherRule.java
  43. 57 34
      src/main/java/com/diagbot/rule/PacsRule.java
  44. 42 0
      src/main/java/com/diagbot/rule/RouteRule.java
  45. 11 15
      src/main/java/com/diagbot/rule/SexRule.java
  46. 8 15
      src/main/java/com/diagbot/rule/VitalRule.java
  47. 76 3
      src/main/java/com/diagbot/util/CoreUtil.java
  48. 61 0
      src/main/java/com/diagbot/util/ExcelUtils.java
  49. 145 16
      src/main/java/com/diagbot/util/MsgNewUtil.java
  50. 53 18
      src/main/java/com/diagbot/util/RegexUtil.java
  51. 4 0
      src/main/java/com/diagbot/vo/Drug.java
  52. 2 2
      src/main/java/com/diagbot/vo/MappingConfigPageVO.java
  53. 6 1
      src/main/java/com/diagbot/vo/RetrievalVO.java
  54. 12 0
      src/main/java/com/diagbot/vo/RuleParamVO.java
  55. 4 0
      src/main/java/com/diagbot/vo/RuleVO.java
  56. 69 0
      src/main/java/com/diagbot/web/BigDebugController.java
  57. 1 0
      src/main/java/com/diagbot/web/CacheController.java
  58. 3 2
      src/main/java/com/diagbot/web/RetrievalController.java
  59. 1 1
      src/main/java/com/diagbot/web/TermMatchingController.java
  60. 1 39
      src/main/java/com/diagbot/web/TestController.java

+ 929 - 0
doc/020.20211019其他值提醒和危急值提醒优化/med2021_init.sql

@@ -0,0 +1,929 @@
+USE `med_2021`;
+
+DROP TABLE IF EXISTS `kl_rule_plan`;
+CREATE TABLE `kl_rule_plan` (
+  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '资源ID',
+  `is_deleted` char(1) NOT NULL DEFAULT 'N' COMMENT '是否删除,N:未删除,Y:删除',
+  `gmt_create` datetime NOT NULL DEFAULT '1970-01-01 12:00:00' COMMENT '记录创建时间',
+  `gmt_modified` datetime NOT NULL DEFAULT '1970-01-01 12:00:00' COMMENT '记录修改时间,如果时间是1970年则表示纪录未修改',
+  `creator` varchar(20) NOT NULL DEFAULT '0' COMMENT '创建人,0表示无创建人值',
+  `modifier` varchar(20) NOT NULL DEFAULT '0' COMMENT '修改人,如果为0则表示纪录未修改',
+  `plan_code` varchar(255) DEFAULT NULL COMMENT '方案编码(rule规则dis诊断依据)',
+  `rule_type` bigint(20) DEFAULT NULL COMMENT '规则类型(1:开单合理性;2:高危;3:危急值;4:其他值提醒;5:其他值提醒输血;6:正常项目重复开立)',
+  `parent_id` bigint(20) DEFAULT NULL COMMENT '-1:表示顶级,其他值表示上级菜单的id',
+  `name` varchar(255) DEFAULT NULL COMMENT '基础规则类型',
+  `type` int(2) DEFAULT NULL,
+  `number` int(11) DEFAULT NULL COMMENT '条件数量',
+  `code` varchar(255) DEFAULT NULL COMMENT '类型编码',
+  `order_no` int(11) DEFAULT NULL COMMENT '显示顺序',
+  `remark` varchar(255) DEFAULT NULL,
+  PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=27094 DEFAULT CHARSET=utf8;
+
+-- ----------------------------
+-- Records of kl_rule_plan
+-- ----------------------------
+INSERT INTO `kl_rule_plan` VALUES ('1', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '-1', '开单合理性', '1', null, '', '1', null);
+INSERT INTO `kl_rule_plan` VALUES ('2', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '2', '-1', '高危', '2', null, '', '2', null);
+INSERT INTO `kl_rule_plan` VALUES ('3', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '3', '-1', '危急值', '3', null, '', '3', null);
+INSERT INTO `kl_rule_plan` VALUES ('4', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '-1', '其他值提醒', '4', null, '', '4', null);
+INSERT INTO `kl_rule_plan` VALUES ('5', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '5', '-1', '其他值提醒输血', '5', null, '', '5', null);
+INSERT INTO `kl_rule_plan` VALUES ('6', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '6', '-1', '正常项目重复开立', '6', null, '', '6', null);
+INSERT INTO `kl_rule_plan` VALUES ('10', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1', '药品通用名', null, '1', '101', '1', null);
+INSERT INTO `kl_rule_plan` VALUES ('11', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1', '药品通用名集合', null, '1', '309', '2', null);
+INSERT INTO `kl_rule_plan` VALUES ('12', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1', '实验室检查套餐', null, '1', '107', '3', null);
+INSERT INTO `kl_rule_plan` VALUES ('13', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1', '实验室检查套餐集合', null, '1', '315', '4', null);
+INSERT INTO `kl_rule_plan` VALUES ('14', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1', '辅助检查项目', null, '1', '109', '5', null);
+INSERT INTO `kl_rule_plan` VALUES ('15', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1', '辅助检查项目集合', null, '1', '316', '6', null);
+INSERT INTO `kl_rule_plan` VALUES ('16', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1', '辅助检查子项目', null, '1', '110', '7', null);
+INSERT INTO `kl_rule_plan` VALUES ('17', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1', '辅助检查子项目集合', null, '1', '317', '8', null);
+INSERT INTO `kl_rule_plan` VALUES ('18', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1', '手术和操作', null, '1', '106', '9', null);
+INSERT INTO `kl_rule_plan` VALUES ('19', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1', '手术和操作集合', null, '1', '314', '10', null);
+INSERT INTO `kl_rule_plan` VALUES ('20', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1', '输血类型', null, '1', '113', '11', null);
+INSERT INTO `kl_rule_plan` VALUES ('21', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '2', '2', '药品通用名', null, '1', '101', '1', null);
+INSERT INTO `kl_rule_plan` VALUES ('22', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '2', '2', '药品通用名集合', null, '1', '309', '2', null);
+INSERT INTO `kl_rule_plan` VALUES ('23', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '2', '2', '手术和操作', null, '0', '106', '3', null);
+INSERT INTO `kl_rule_plan` VALUES ('24', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '2', '2', '手术和操作集合', null, '0', '314', '4', null);
+INSERT INTO `kl_rule_plan` VALUES ('30', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '3', '3', '实验室检查子项目', null, '2', '108', '1', null);
+INSERT INTO `kl_rule_plan` VALUES ('31', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '3', '3', '辅助检查结果', null, '0', '112', '2', null);
+INSERT INTO `kl_rule_plan` VALUES ('32', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '3', '3', '辅助检查结果集合', null, '0', '319', '3', null);
+INSERT INTO `kl_rule_plan` VALUES ('40', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '4', '实验室检查子项目', null, '2', '108', '1', null);
+INSERT INTO `kl_rule_plan` VALUES ('41', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '4', '辅助检查结果', null, '2', '112', '2', null);
+INSERT INTO `kl_rule_plan` VALUES ('42', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '4', '辅助检查结果集合', null, '2', '319', '3', null);
+INSERT INTO `kl_rule_plan` VALUES ('43', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '4', '辅助检查描述', null, '3', '111', '4', null);
+INSERT INTO `kl_rule_plan` VALUES ('50', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '5', '5', '实验室检查子项目', null, '2', '108', '1', null);
+INSERT INTO `kl_rule_plan` VALUES ('60', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '6', '6', '辅助检查项目', null, '1', '109', '1', null);
+INSERT INTO `kl_rule_plan` VALUES ('61', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '6', '6', '辅助检查项目集合', null, '1', '316', '2', null);
+INSERT INTO `kl_rule_plan` VALUES ('62', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '6', '6', '辅助检查子项目', null, '1', '110', '3', null);
+INSERT INTO `kl_rule_plan` VALUES ('63', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '6', '6', '辅助检查子项目集合', null, '1', '317', '4', null);
+INSERT INTO `kl_rule_plan` VALUES ('64', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '6', '6', '实验室检查套餐', null, '1', '107', '5', null);
+INSERT INTO `kl_rule_plan` VALUES ('65', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '6', '6', '实验室检查套餐集合', null, '1', '315', '6', null);
+INSERT INTO `kl_rule_plan` VALUES ('100', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '10', '开单外等于术语本身', '1', null, '', '1', null);
+INSERT INTO `kl_rule_plan` VALUES ('101', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '10', '开单外存在比较', '2', null, '', '2', null);
+INSERT INTO `kl_rule_plan` VALUES ('102', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '10', '过敏原', '4', null, '', '3', null);
+INSERT INTO `kl_rule_plan` VALUES ('103', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '100', '人群', null, null, '117', '1', null);
+INSERT INTO `kl_rule_plan` VALUES ('104', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '100', '性别', null, null, '116', '2', null);
+INSERT INTO `kl_rule_plan` VALUES ('105', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '100', '疾病', null, null, '100', '3', null);
+INSERT INTO `kl_rule_plan` VALUES ('106', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '100', '疾病集合', null, null, '308', '4', null);
+INSERT INTO `kl_rule_plan` VALUES ('107', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '100', '医疗器械及物品', null, null, '120', '5', null);
+INSERT INTO `kl_rule_plan` VALUES ('108', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '100', '医疗器械及物品集合', null, null, '324', '6', null);
+INSERT INTO `kl_rule_plan` VALUES ('109', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '100', '药品通用名', null, null, '101', '7', null);
+INSERT INTO `kl_rule_plan` VALUES ('110', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '100', '药品通用名集合', null, null, '309', '8', null);
+INSERT INTO `kl_rule_plan` VALUES ('111', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '100', '症状', null, null, '103', '9', null);
+INSERT INTO `kl_rule_plan` VALUES ('112', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '100', '症状集合', null, null, '311', '10', null);
+INSERT INTO `kl_rule_plan` VALUES ('113', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '100', '辅助检查结果', null, null, '112', '11', null);
+INSERT INTO `kl_rule_plan` VALUES ('114', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '100', '辅助检查结果集合', null, null, '319', '12', null);
+INSERT INTO `kl_rule_plan` VALUES ('115', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '100', '体格检查结果', null, null, '105', '13', null);
+INSERT INTO `kl_rule_plan` VALUES ('116', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '100', '体格检查结果集合', null, null, '313', '14', null);
+INSERT INTO `kl_rule_plan` VALUES ('117', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '100', '手术和操作', null, null, '106', '15', null);
+INSERT INTO `kl_rule_plan` VALUES ('118', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '100', '手术和操作集合', null, null, '314', '16', null);
+INSERT INTO `kl_rule_plan` VALUES ('119', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '101', '年龄', null, null, '410', '1', null);
+INSERT INTO `kl_rule_plan` VALUES ('120', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '101', '体格检查项目', null, null, '104', '2', null);
+INSERT INTO `kl_rule_plan` VALUES ('121', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '101', '体格检查项目集合', null, null, '312', '3', null);
+INSERT INTO `kl_rule_plan` VALUES ('122', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '101', '实验室检查子项目', null, null, '108', '4', null);
+INSERT INTO `kl_rule_plan` VALUES ('123', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '102', '药品通用名', null, null, '101', '1', null);
+INSERT INTO `kl_rule_plan` VALUES ('124', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '102', '药品通用名集合', null, null, '309', '2', null);
+INSERT INTO `kl_rule_plan` VALUES ('125', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '102', '药品化学物质类别', null, null, '301', '3', null);
+INSERT INTO `kl_rule_plan` VALUES ('126', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '102', '药品治疗学类别', null, null, '302', '4', null);
+INSERT INTO `kl_rule_plan` VALUES ('127', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '102', '药品药理学类别', null, null, '303', '5', null);
+INSERT INTO `kl_rule_plan` VALUES ('128', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '102', '药品解剖学类别', null, null, '304', '6', null);
+INSERT INTO `kl_rule_plan` VALUES ('129', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '102', '其他过敏原', null, null, '119', '7', null);
+INSERT INTO `kl_rule_plan` VALUES ('130', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '102', '其他过敏原集合', null, null, '323', '8', null);
+INSERT INTO `kl_rule_plan` VALUES ('200', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '11', '开单外等于术语本身', '1', null, '', '1', null);
+INSERT INTO `kl_rule_plan` VALUES ('201', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '11', '开单外存在比较', '2', null, '', '2', null);
+INSERT INTO `kl_rule_plan` VALUES ('202', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '11', '过敏原', '4', null, '', '3', null);
+INSERT INTO `kl_rule_plan` VALUES ('203', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '200', '人群', null, null, '117', '1', null);
+INSERT INTO `kl_rule_plan` VALUES ('204', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '200', '性别', null, null, '116', '2', null);
+INSERT INTO `kl_rule_plan` VALUES ('205', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '200', '疾病', null, null, '100', '3', null);
+INSERT INTO `kl_rule_plan` VALUES ('206', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '200', '疾病集合', null, null, '308', '4', null);
+INSERT INTO `kl_rule_plan` VALUES ('207', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '200', '医疗器械及物品', null, null, '120', '5', null);
+INSERT INTO `kl_rule_plan` VALUES ('208', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '200', '医疗器械及物品集合', null, null, '324', '6', null);
+INSERT INTO `kl_rule_plan` VALUES ('209', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '200', '药品通用名', null, null, '101', '7', null);
+INSERT INTO `kl_rule_plan` VALUES ('210', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '200', '药品通用名集合', null, null, '309', '8', null);
+INSERT INTO `kl_rule_plan` VALUES ('211', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '200', '症状', null, null, '103', '9', null);
+INSERT INTO `kl_rule_plan` VALUES ('212', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '200', '症状集合', null, null, '311', '10', null);
+INSERT INTO `kl_rule_plan` VALUES ('213', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '200', '辅助检查结果', null, null, '112', '11', null);
+INSERT INTO `kl_rule_plan` VALUES ('214', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '200', '辅助检查结果集合', null, null, '319', '12', null);
+INSERT INTO `kl_rule_plan` VALUES ('215', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '200', '体格检查结果', null, null, '105', '13', null);
+INSERT INTO `kl_rule_plan` VALUES ('216', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '200', '体格检查结果集合', null, null, '313', '14', null);
+INSERT INTO `kl_rule_plan` VALUES ('217', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '200', '手术和操作', null, null, '106', '15', null);
+INSERT INTO `kl_rule_plan` VALUES ('218', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '200', '手术和操作集合', null, null, '314', '16', null);
+INSERT INTO `kl_rule_plan` VALUES ('219', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '201', '年龄', null, null, '410', '1', null);
+INSERT INTO `kl_rule_plan` VALUES ('220', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '201', '体格检查项目', null, null, '104', '2', null);
+INSERT INTO `kl_rule_plan` VALUES ('221', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '201', '体格检查项目集合', null, null, '312', '3', null);
+INSERT INTO `kl_rule_plan` VALUES ('222', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '201', '实验室检查子项目', null, null, '108', '4', null);
+INSERT INTO `kl_rule_plan` VALUES ('223', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '202', '药品通用名', null, null, '101', '1', null);
+INSERT INTO `kl_rule_plan` VALUES ('224', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '202', '药品通用名集合', null, null, '309', '2', null);
+INSERT INTO `kl_rule_plan` VALUES ('225', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '202', '药品化学物质类别', null, null, '301', '3', null);
+INSERT INTO `kl_rule_plan` VALUES ('226', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '202', '药品治疗学类别', null, null, '302', '4', null);
+INSERT INTO `kl_rule_plan` VALUES ('227', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '202', '药品药理学类别', null, null, '303', '5', null);
+INSERT INTO `kl_rule_plan` VALUES ('228', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '202', '药品解剖学类别', null, null, '304', '6', null);
+INSERT INTO `kl_rule_plan` VALUES ('229', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '202', '其他过敏原', null, null, '119', '7', null);
+INSERT INTO `kl_rule_plan` VALUES ('230', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '202', '其他过敏原集合', null, null, '323', '8', null);
+INSERT INTO `kl_rule_plan` VALUES ('300', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '12', '开单外等于术语本身', '1', null, '', '1', null);
+INSERT INTO `kl_rule_plan` VALUES ('301', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '12', '开单外存在比较', '2', null, '', '2', null);
+INSERT INTO `kl_rule_plan` VALUES ('302', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '12', '过敏原', '4', null, '', '3', null);
+INSERT INTO `kl_rule_plan` VALUES ('303', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '12', '开单项', '5', null, '', '4', null);
+INSERT INTO `kl_rule_plan` VALUES ('304', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '300', '人群', null, null, '117', '1', null);
+INSERT INTO `kl_rule_plan` VALUES ('305', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '300', '性别', null, null, '116', '2', null);
+INSERT INTO `kl_rule_plan` VALUES ('306', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '300', '疾病', null, null, '100', '3', null);
+INSERT INTO `kl_rule_plan` VALUES ('307', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '300', '疾病集合', null, null, '308', '4', null);
+INSERT INTO `kl_rule_plan` VALUES ('308', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '300', '医疗器械及物品', null, null, '120', '5', null);
+INSERT INTO `kl_rule_plan` VALUES ('309', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '300', '医疗器械及物品集合', null, null, '324', '6', null);
+INSERT INTO `kl_rule_plan` VALUES ('310', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '300', '药品通用名', null, null, '101', '7', null);
+INSERT INTO `kl_rule_plan` VALUES ('311', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '300', '药品通用名集合', null, null, '309', '8', null);
+INSERT INTO `kl_rule_plan` VALUES ('312', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '300', '症状', null, null, '103', '9', null);
+INSERT INTO `kl_rule_plan` VALUES ('313', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '300', '症状集合', null, null, '311', '10', null);
+INSERT INTO `kl_rule_plan` VALUES ('314', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '300', '辅助检查结果', null, null, '112', '11', null);
+INSERT INTO `kl_rule_plan` VALUES ('315', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '300', '辅助检查结果集合', null, null, '319', '12', null);
+INSERT INTO `kl_rule_plan` VALUES ('316', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '300', '体格检查结果', null, null, '105', '13', null);
+INSERT INTO `kl_rule_plan` VALUES ('317', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '300', '体格检查结果集合', null, null, '313', '14', null);
+INSERT INTO `kl_rule_plan` VALUES ('318', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '300', '手术和操作', null, null, '106', '15', null);
+INSERT INTO `kl_rule_plan` VALUES ('319', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '300', '手术和操作集合', null, null, '314', '16', null);
+INSERT INTO `kl_rule_plan` VALUES ('320', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '301', '年龄', null, null, '410', '17', null);
+INSERT INTO `kl_rule_plan` VALUES ('321', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '301', '体格检查项目', null, null, '104', '18', null);
+INSERT INTO `kl_rule_plan` VALUES ('322', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '301', '体格检查项目集合', null, null, '312', '19', null);
+INSERT INTO `kl_rule_plan` VALUES ('323', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '301', '实验室检查子项目', null, null, '108', '20', null);
+INSERT INTO `kl_rule_plan` VALUES ('324', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '302', '药品通用名', null, null, '101', '21', null);
+INSERT INTO `kl_rule_plan` VALUES ('325', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '302', '药品通用名集合', null, null, '309', '22', null);
+INSERT INTO `kl_rule_plan` VALUES ('326', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '302', '药品化学物质类别', null, null, '301', '23', null);
+INSERT INTO `kl_rule_plan` VALUES ('327', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '302', '药品治疗学类别', null, null, '302', '24', null);
+INSERT INTO `kl_rule_plan` VALUES ('328', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '302', '药品药理学类别', null, null, '303', '25', null);
+INSERT INTO `kl_rule_plan` VALUES ('329', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '302', '药品解剖学类别', null, null, '304', '26', null);
+INSERT INTO `kl_rule_plan` VALUES ('330', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '302', '其他过敏原', null, null, '119', '27', null);
+INSERT INTO `kl_rule_plan` VALUES ('331', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '302', '其他过敏原集合', null, null, '323', '28', null);
+INSERT INTO `kl_rule_plan` VALUES ('332', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '303', '实验室检查套餐', null, null, '107', '29', null);
+INSERT INTO `kl_rule_plan` VALUES ('333', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '303', '实验室检查套餐集合', null, null, '315', '30', null);
+INSERT INTO `kl_rule_plan` VALUES ('400', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '13', '开单外等于术语本身', '1', null, '', '1', null);
+INSERT INTO `kl_rule_plan` VALUES ('401', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '13', '开单外存在比较', '2', null, '', '2', null);
+INSERT INTO `kl_rule_plan` VALUES ('402', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '13', '过敏原', '4', null, '', '3', null);
+INSERT INTO `kl_rule_plan` VALUES ('403', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '13', '开单项', '5', null, '', '4', null);
+INSERT INTO `kl_rule_plan` VALUES ('404', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '400', '人群', null, null, '117', '1', null);
+INSERT INTO `kl_rule_plan` VALUES ('405', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '400', '性别', null, null, '116', '2', null);
+INSERT INTO `kl_rule_plan` VALUES ('406', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '400', '疾病', null, null, '100', '3', null);
+INSERT INTO `kl_rule_plan` VALUES ('407', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '400', '疾病集合', null, null, '308', '4', null);
+INSERT INTO `kl_rule_plan` VALUES ('408', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '400', '医疗器械及物品', null, null, '120', '5', null);
+INSERT INTO `kl_rule_plan` VALUES ('409', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '400', '医疗器械及物品集合', null, null, '324', '6', null);
+INSERT INTO `kl_rule_plan` VALUES ('410', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '400', '药品通用名', null, null, '101', '7', null);
+INSERT INTO `kl_rule_plan` VALUES ('411', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '400', '药品通用名集合', null, null, '309', '8', null);
+INSERT INTO `kl_rule_plan` VALUES ('412', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '400', '症状', null, null, '103', '9', null);
+INSERT INTO `kl_rule_plan` VALUES ('413', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '400', '症状集合', null, null, '311', '10', null);
+INSERT INTO `kl_rule_plan` VALUES ('414', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '400', '辅助检查结果', null, null, '112', '11', null);
+INSERT INTO `kl_rule_plan` VALUES ('415', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '400', '辅助检查结果集合', null, null, '319', '12', null);
+INSERT INTO `kl_rule_plan` VALUES ('416', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '400', '体格检查结果', null, null, '105', '13', null);
+INSERT INTO `kl_rule_plan` VALUES ('417', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '400', '体格检查结果集合', null, null, '313', '14', null);
+INSERT INTO `kl_rule_plan` VALUES ('418', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '400', '手术和操作', null, null, '106', '15', null);
+INSERT INTO `kl_rule_plan` VALUES ('419', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '400', '手术和操作集合', null, null, '314', '16', null);
+INSERT INTO `kl_rule_plan` VALUES ('420', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '401', '年龄', null, null, '410', '17', null);
+INSERT INTO `kl_rule_plan` VALUES ('421', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '401', '体格检查项目', null, null, '104', '18', null);
+INSERT INTO `kl_rule_plan` VALUES ('422', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '401', '体格检查项目集合', null, null, '312', '19', null);
+INSERT INTO `kl_rule_plan` VALUES ('423', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '401', '实验室检查子项目', null, null, '108', '20', null);
+INSERT INTO `kl_rule_plan` VALUES ('424', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '402', '药品通用名', null, null, '101', '21', null);
+INSERT INTO `kl_rule_plan` VALUES ('425', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '402', '药品通用名集合', null, null, '309', '22', null);
+INSERT INTO `kl_rule_plan` VALUES ('426', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '402', '药品化学物质类别', null, null, '301', '23', null);
+INSERT INTO `kl_rule_plan` VALUES ('427', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '402', '药品治疗学类别', null, null, '302', '24', null);
+INSERT INTO `kl_rule_plan` VALUES ('428', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '402', '药品药理学类别', null, null, '303', '25', null);
+INSERT INTO `kl_rule_plan` VALUES ('429', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '402', '药品解剖学类别', null, null, '304', '26', null);
+INSERT INTO `kl_rule_plan` VALUES ('430', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '402', '其他过敏原', null, null, '119', '27', null);
+INSERT INTO `kl_rule_plan` VALUES ('431', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '402', '其他过敏原集合', null, null, '323', '28', null);
+INSERT INTO `kl_rule_plan` VALUES ('432', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '403', '实验室检查套餐', null, null, '107', '29', null);
+INSERT INTO `kl_rule_plan` VALUES ('433', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '403', '实验室检查套餐集合', null, null, '315', '30', null);
+INSERT INTO `kl_rule_plan` VALUES ('500', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '14', '开单外等于术语本身', '1', null, '', '1', null);
+INSERT INTO `kl_rule_plan` VALUES ('501', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '14', '开单外存在比较', '2', null, '', '2', null);
+INSERT INTO `kl_rule_plan` VALUES ('502', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '14', '过敏原', '4', null, '', '3', null);
+INSERT INTO `kl_rule_plan` VALUES ('503', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '14', '开单项', '5', null, '', '4', null);
+INSERT INTO `kl_rule_plan` VALUES ('504', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '500', '人群', null, null, '117', '1', null);
+INSERT INTO `kl_rule_plan` VALUES ('505', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '500', '性别', null, null, '116', '2', null);
+INSERT INTO `kl_rule_plan` VALUES ('506', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '500', '疾病', null, null, '100', '3', null);
+INSERT INTO `kl_rule_plan` VALUES ('507', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '500', '疾病集合', null, null, '308', '4', null);
+INSERT INTO `kl_rule_plan` VALUES ('508', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '500', '医疗器械及物品', null, null, '120', '5', null);
+INSERT INTO `kl_rule_plan` VALUES ('509', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '500', '医疗器械及物品集合', null, null, '324', '6', null);
+INSERT INTO `kl_rule_plan` VALUES ('510', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '500', '药品通用名', null, null, '101', '7', null);
+INSERT INTO `kl_rule_plan` VALUES ('511', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '500', '药品通用名集合', null, null, '309', '8', null);
+INSERT INTO `kl_rule_plan` VALUES ('512', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '500', '症状', null, null, '103', '9', null);
+INSERT INTO `kl_rule_plan` VALUES ('513', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '500', '症状集合', null, null, '311', '10', null);
+INSERT INTO `kl_rule_plan` VALUES ('514', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '500', '辅助检查结果', null, null, '112', '11', null);
+INSERT INTO `kl_rule_plan` VALUES ('515', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '500', '辅助检查结果集合', null, null, '319', '12', null);
+INSERT INTO `kl_rule_plan` VALUES ('516', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '500', '体格检查结果', null, null, '105', '13', null);
+INSERT INTO `kl_rule_plan` VALUES ('517', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '500', '体格检查结果集合', null, null, '313', '14', null);
+INSERT INTO `kl_rule_plan` VALUES ('518', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '500', '手术和操作', null, null, '106', '15', null);
+INSERT INTO `kl_rule_plan` VALUES ('519', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '500', '手术和操作集合', null, null, '314', '16', null);
+INSERT INTO `kl_rule_plan` VALUES ('520', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '501', '年龄', null, null, '410', '17', null);
+INSERT INTO `kl_rule_plan` VALUES ('521', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '501', '体格检查项目', null, null, '104', '18', null);
+INSERT INTO `kl_rule_plan` VALUES ('522', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '501', '体格检查项目集合', null, null, '312', '19', null);
+INSERT INTO `kl_rule_plan` VALUES ('523', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '501', '实验室检查子项目', null, null, '108', '20', null);
+INSERT INTO `kl_rule_plan` VALUES ('524', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '502', '药品通用名', null, null, '101', '21', null);
+INSERT INTO `kl_rule_plan` VALUES ('525', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '502', '药品通用名集合', null, null, '309', '22', null);
+INSERT INTO `kl_rule_plan` VALUES ('526', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '502', '药品化学物质类别', null, null, '301', '23', null);
+INSERT INTO `kl_rule_plan` VALUES ('527', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '502', '药品治疗学类别', null, null, '302', '24', null);
+INSERT INTO `kl_rule_plan` VALUES ('528', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '502', '药品药理学类别', null, null, '303', '25', null);
+INSERT INTO `kl_rule_plan` VALUES ('529', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '502', '药品解剖学类别', null, null, '304', '26', null);
+INSERT INTO `kl_rule_plan` VALUES ('530', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '502', '其他过敏原', null, null, '119', '27', null);
+INSERT INTO `kl_rule_plan` VALUES ('531', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '502', '其他过敏原集合', null, null, '323', '28', null);
+INSERT INTO `kl_rule_plan` VALUES ('532', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '503', '辅助检查项目', null, null, '109', '29', null);
+INSERT INTO `kl_rule_plan` VALUES ('533', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '503', '辅助检查项目集合', null, null, '316', '30', null);
+INSERT INTO `kl_rule_plan` VALUES ('534', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '503', '辅助检查子项目', null, null, '110', '31', null);
+INSERT INTO `kl_rule_plan` VALUES ('535', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '503', '辅助检查子项目集合', null, null, '317', '32', null);
+INSERT INTO `kl_rule_plan` VALUES ('600', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '15', '开单外等于术语本身', '1', null, '', '1', null);
+INSERT INTO `kl_rule_plan` VALUES ('601', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '15', '开单外存在比较', '2', null, '', '2', null);
+INSERT INTO `kl_rule_plan` VALUES ('602', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '15', '过敏原', '4', null, '', '3', null);
+INSERT INTO `kl_rule_plan` VALUES ('603', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '15', '开单项', '5', null, '', '4', null);
+INSERT INTO `kl_rule_plan` VALUES ('604', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '600', '人群', null, null, '117', '1', null);
+INSERT INTO `kl_rule_plan` VALUES ('605', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '600', '性别', null, null, '116', '2', null);
+INSERT INTO `kl_rule_plan` VALUES ('606', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '600', '疾病', null, null, '100', '3', null);
+INSERT INTO `kl_rule_plan` VALUES ('607', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '600', '疾病集合', null, null, '308', '4', null);
+INSERT INTO `kl_rule_plan` VALUES ('608', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '600', '医疗器械及物品', null, null, '120', '5', null);
+INSERT INTO `kl_rule_plan` VALUES ('609', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '600', '医疗器械及物品集合', null, null, '324', '6', null);
+INSERT INTO `kl_rule_plan` VALUES ('610', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '600', '药品通用名', null, null, '101', '7', null);
+INSERT INTO `kl_rule_plan` VALUES ('611', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '600', '药品通用名集合', null, null, '309', '8', null);
+INSERT INTO `kl_rule_plan` VALUES ('612', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '600', '症状', null, null, '103', '9', null);
+INSERT INTO `kl_rule_plan` VALUES ('613', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '600', '症状集合', null, null, '311', '10', null);
+INSERT INTO `kl_rule_plan` VALUES ('614', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '600', '辅助检查结果', null, null, '112', '11', null);
+INSERT INTO `kl_rule_plan` VALUES ('615', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '600', '辅助检查结果集合', null, null, '319', '12', null);
+INSERT INTO `kl_rule_plan` VALUES ('616', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '600', '体格检查结果', null, null, '105', '13', null);
+INSERT INTO `kl_rule_plan` VALUES ('617', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '600', '体格检查结果集合', null, null, '313', '14', null);
+INSERT INTO `kl_rule_plan` VALUES ('618', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '600', '手术和操作', null, null, '106', '15', null);
+INSERT INTO `kl_rule_plan` VALUES ('619', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '600', '手术和操作集合', null, null, '314', '16', null);
+INSERT INTO `kl_rule_plan` VALUES ('620', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '601', '年龄', null, null, '410', '17', null);
+INSERT INTO `kl_rule_plan` VALUES ('621', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '601', '体格检查项目', null, null, '104', '18', null);
+INSERT INTO `kl_rule_plan` VALUES ('622', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '601', '体格检查项目集合', null, null, '312', '19', null);
+INSERT INTO `kl_rule_plan` VALUES ('623', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '601', '实验室检查子项目', null, null, '108', '20', null);
+INSERT INTO `kl_rule_plan` VALUES ('624', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '602', '药品通用名', null, null, '101', '21', null);
+INSERT INTO `kl_rule_plan` VALUES ('625', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '602', '药品通用名集合', null, null, '309', '22', null);
+INSERT INTO `kl_rule_plan` VALUES ('626', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '602', '药品化学物质类别', null, null, '301', '23', null);
+INSERT INTO `kl_rule_plan` VALUES ('627', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '602', '药品治疗学类别', null, null, '302', '24', null);
+INSERT INTO `kl_rule_plan` VALUES ('628', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '602', '药品药理学类别', null, null, '303', '25', null);
+INSERT INTO `kl_rule_plan` VALUES ('629', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '602', '药品解剖学类别', null, null, '304', '26', null);
+INSERT INTO `kl_rule_plan` VALUES ('630', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '602', '其他过敏原', null, null, '119', '27', null);
+INSERT INTO `kl_rule_plan` VALUES ('631', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '602', '其他过敏原集合', null, null, '323', '28', null);
+INSERT INTO `kl_rule_plan` VALUES ('632', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '603', '辅助检查项目', null, null, '109', '29', null);
+INSERT INTO `kl_rule_plan` VALUES ('633', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '603', '辅助检查项目集合', null, null, '316', '30', null);
+INSERT INTO `kl_rule_plan` VALUES ('634', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '603', '辅助检查子项目', null, null, '110', '31', null);
+INSERT INTO `kl_rule_plan` VALUES ('635', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '603', '辅助检查子项目集合', null, null, '317', '32', null);
+INSERT INTO `kl_rule_plan` VALUES ('700', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '16', '开单外等于术语本身', '1', null, '', '1', null);
+INSERT INTO `kl_rule_plan` VALUES ('701', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '16', '开单外存在比较', '2', null, '', '2', null);
+INSERT INTO `kl_rule_plan` VALUES ('702', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '16', '过敏原', '4', null, '', '3', null);
+INSERT INTO `kl_rule_plan` VALUES ('703', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '16', '开单项', '5', null, '', '4', null);
+INSERT INTO `kl_rule_plan` VALUES ('704', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '700', '人群', null, null, '117', '1', null);
+INSERT INTO `kl_rule_plan` VALUES ('705', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '700', '性别', null, null, '116', '2', null);
+INSERT INTO `kl_rule_plan` VALUES ('706', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '700', '疾病', null, null, '100', '3', null);
+INSERT INTO `kl_rule_plan` VALUES ('707', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '700', '疾病集合', null, null, '308', '4', null);
+INSERT INTO `kl_rule_plan` VALUES ('708', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '700', '医疗器械及物品', null, null, '120', '5', null);
+INSERT INTO `kl_rule_plan` VALUES ('709', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '700', '医疗器械及物品集合', null, null, '324', '6', null);
+INSERT INTO `kl_rule_plan` VALUES ('710', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '700', '药品通用名', null, null, '101', '7', null);
+INSERT INTO `kl_rule_plan` VALUES ('711', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '700', '药品通用名集合', null, null, '309', '8', null);
+INSERT INTO `kl_rule_plan` VALUES ('712', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '700', '症状', null, null, '103', '9', null);
+INSERT INTO `kl_rule_plan` VALUES ('713', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '700', '症状集合', null, null, '311', '10', null);
+INSERT INTO `kl_rule_plan` VALUES ('714', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '700', '辅助检查结果', null, null, '112', '11', null);
+INSERT INTO `kl_rule_plan` VALUES ('715', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '700', '辅助检查结果集合', null, null, '319', '12', null);
+INSERT INTO `kl_rule_plan` VALUES ('716', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '700', '体格检查结果', null, null, '105', '13', null);
+INSERT INTO `kl_rule_plan` VALUES ('717', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '700', '体格检查结果集合', null, null, '313', '14', null);
+INSERT INTO `kl_rule_plan` VALUES ('718', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '700', '手术和操作', null, null, '106', '15', null);
+INSERT INTO `kl_rule_plan` VALUES ('719', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '700', '手术和操作集合', null, null, '314', '16', null);
+INSERT INTO `kl_rule_plan` VALUES ('720', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '701', '年龄', null, null, '410', '17', null);
+INSERT INTO `kl_rule_plan` VALUES ('721', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '701', '体格检查项目', null, null, '104', '18', null);
+INSERT INTO `kl_rule_plan` VALUES ('722', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '701', '体格检查项目集合', null, null, '312', '19', null);
+INSERT INTO `kl_rule_plan` VALUES ('723', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '701', '实验室检查子项目', null, null, '108', '20', null);
+INSERT INTO `kl_rule_plan` VALUES ('724', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '702', '药品通用名', null, null, '101', '21', null);
+INSERT INTO `kl_rule_plan` VALUES ('725', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '702', '药品通用名集合', null, null, '309', '22', null);
+INSERT INTO `kl_rule_plan` VALUES ('726', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '702', '药品化学物质类别', null, null, '301', '23', null);
+INSERT INTO `kl_rule_plan` VALUES ('727', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '702', '药品治疗学类别', null, null, '302', '24', null);
+INSERT INTO `kl_rule_plan` VALUES ('728', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '702', '药品药理学类别', null, null, '303', '25', null);
+INSERT INTO `kl_rule_plan` VALUES ('729', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '702', '药品解剖学类别', null, null, '304', '26', null);
+INSERT INTO `kl_rule_plan` VALUES ('730', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '702', '其他过敏原', null, null, '119', '27', null);
+INSERT INTO `kl_rule_plan` VALUES ('731', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '702', '其他过敏原集合', null, null, '323', '28', null);
+INSERT INTO `kl_rule_plan` VALUES ('732', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '703', '辅助检查项目', null, null, '109', '29', null);
+INSERT INTO `kl_rule_plan` VALUES ('733', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '703', '辅助检查项目集合', null, null, '316', '30', null);
+INSERT INTO `kl_rule_plan` VALUES ('734', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '703', '辅助检查子项目', null, null, '110', '31', null);
+INSERT INTO `kl_rule_plan` VALUES ('735', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '703', '辅助检查子项目集合', null, null, '317', '32', null);
+INSERT INTO `kl_rule_plan` VALUES ('800', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '17', '开单外等于术语本身', '1', null, '', null, null);
+INSERT INTO `kl_rule_plan` VALUES ('801', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '17', '开单外存在比较', '2', null, '', null, null);
+INSERT INTO `kl_rule_plan` VALUES ('802', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '17', '过敏原', '4', null, '', null, null);
+INSERT INTO `kl_rule_plan` VALUES ('803', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '17', '开单项', '5', null, '', null, null);
+INSERT INTO `kl_rule_plan` VALUES ('804', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '800', '人群', null, null, '117', '1', null);
+INSERT INTO `kl_rule_plan` VALUES ('805', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '800', '性别', null, null, '116', '2', null);
+INSERT INTO `kl_rule_plan` VALUES ('806', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '800', '疾病', null, null, '100', '3', null);
+INSERT INTO `kl_rule_plan` VALUES ('807', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '800', '疾病集合', null, null, '308', '4', null);
+INSERT INTO `kl_rule_plan` VALUES ('808', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '800', '医疗器械及物品', null, null, '120', '5', null);
+INSERT INTO `kl_rule_plan` VALUES ('809', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '800', '医疗器械及物品集合', null, null, '324', '6', null);
+INSERT INTO `kl_rule_plan` VALUES ('810', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '800', '药品通用名', null, null, '101', '7', null);
+INSERT INTO `kl_rule_plan` VALUES ('811', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '800', '药品通用名集合', null, null, '309', '8', null);
+INSERT INTO `kl_rule_plan` VALUES ('812', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '800', '症状', null, null, '103', '9', null);
+INSERT INTO `kl_rule_plan` VALUES ('813', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '800', '症状集合', null, null, '311', '10', null);
+INSERT INTO `kl_rule_plan` VALUES ('814', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '800', '辅助检查结果', null, null, '112', '11', null);
+INSERT INTO `kl_rule_plan` VALUES ('815', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '800', '辅助检查结果集合', null, null, '319', '12', null);
+INSERT INTO `kl_rule_plan` VALUES ('816', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '800', '体格检查结果', null, null, '105', '13', null);
+INSERT INTO `kl_rule_plan` VALUES ('817', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '800', '体格检查结果集合', null, null, '313', '14', null);
+INSERT INTO `kl_rule_plan` VALUES ('818', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '800', '手术和操作', null, null, '106', '15', null);
+INSERT INTO `kl_rule_plan` VALUES ('819', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '800', '手术和操作集合', null, null, '314', '16', null);
+INSERT INTO `kl_rule_plan` VALUES ('820', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '801', '年龄', null, null, '410', '17', null);
+INSERT INTO `kl_rule_plan` VALUES ('821', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '801', '体格检查项目', null, null, '104', '18', null);
+INSERT INTO `kl_rule_plan` VALUES ('822', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '801', '体格检查项目集合', null, null, '312', '19', null);
+INSERT INTO `kl_rule_plan` VALUES ('823', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '801', '实验室检查子项目', null, null, '108', '20', null);
+INSERT INTO `kl_rule_plan` VALUES ('824', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '802', '药品通用名', null, null, '101', '21', null);
+INSERT INTO `kl_rule_plan` VALUES ('825', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '802', '药品通用名集合', null, null, '309', '22', null);
+INSERT INTO `kl_rule_plan` VALUES ('826', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '802', '药品化学物质类别', null, null, '301', '23', null);
+INSERT INTO `kl_rule_plan` VALUES ('827', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '802', '药品治疗学类别', null, null, '302', '24', null);
+INSERT INTO `kl_rule_plan` VALUES ('828', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '802', '药品药理学类别', null, null, '303', '25', null);
+INSERT INTO `kl_rule_plan` VALUES ('829', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '802', '药品解剖学类别', null, null, '304', '26', null);
+INSERT INTO `kl_rule_plan` VALUES ('830', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '802', '其他过敏原', null, null, '119', '27', null);
+INSERT INTO `kl_rule_plan` VALUES ('831', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '802', '其他过敏原集合', null, null, '323', '28', null);
+INSERT INTO `kl_rule_plan` VALUES ('832', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '803', '辅助检查项目', null, null, '109', '29', null);
+INSERT INTO `kl_rule_plan` VALUES ('833', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '803', '辅助检查项目集合', null, null, '316', '30', null);
+INSERT INTO `kl_rule_plan` VALUES ('834', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '803', '辅助检查子项目', null, null, '110', '31', null);
+INSERT INTO `kl_rule_plan` VALUES ('835', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '803', '辅助检查子项目集合', null, null, '317', '32', null);
+INSERT INTO `kl_rule_plan` VALUES ('900', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '18', '开单外等于术语本身', '1', null, '', '1', null);
+INSERT INTO `kl_rule_plan` VALUES ('901', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '18', '开单外存在比较', '2', null, '', '2', null);
+INSERT INTO `kl_rule_plan` VALUES ('902', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '18', '过敏原', '4', null, '', '3', null);
+INSERT INTO `kl_rule_plan` VALUES ('903', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '900', '人群', null, null, '117', '1', null);
+INSERT INTO `kl_rule_plan` VALUES ('904', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '900', '性别', null, null, '116', '2', null);
+INSERT INTO `kl_rule_plan` VALUES ('905', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '900', '疾病', null, null, '100', '3', null);
+INSERT INTO `kl_rule_plan` VALUES ('906', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '900', '疾病集合', null, null, '308', '4', null);
+INSERT INTO `kl_rule_plan` VALUES ('907', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '900', '医疗器械及物品', null, null, '120', '5', null);
+INSERT INTO `kl_rule_plan` VALUES ('908', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '900', '医疗器械及物品集合', null, null, '324', '6', null);
+INSERT INTO `kl_rule_plan` VALUES ('909', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '900', '药品通用名', null, null, '101', '7', null);
+INSERT INTO `kl_rule_plan` VALUES ('910', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '900', '药品通用名集合', null, null, '309', '8', null);
+INSERT INTO `kl_rule_plan` VALUES ('911', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '900', '症状', null, null, '103', '9', null);
+INSERT INTO `kl_rule_plan` VALUES ('912', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '900', '症状集合', null, null, '311', '10', null);
+INSERT INTO `kl_rule_plan` VALUES ('913', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '900', '辅助检查结果', null, null, '112', '11', null);
+INSERT INTO `kl_rule_plan` VALUES ('914', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '900', '辅助检查结果集合', null, null, '319', '12', null);
+INSERT INTO `kl_rule_plan` VALUES ('915', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '900', '体格检查结果', null, null, '105', '13', null);
+INSERT INTO `kl_rule_plan` VALUES ('916', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '900', '体格检查结果集合', null, null, '313', '14', null);
+INSERT INTO `kl_rule_plan` VALUES ('917', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '900', '手术和操作', null, null, '106', '15', null);
+INSERT INTO `kl_rule_plan` VALUES ('918', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '900', '手术和操作集合', null, null, '314', '16', null);
+INSERT INTO `kl_rule_plan` VALUES ('919', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '901', '年龄', null, null, '410', '17', null);
+INSERT INTO `kl_rule_plan` VALUES ('920', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '901', '体格检查项目', null, null, '104', '18', null);
+INSERT INTO `kl_rule_plan` VALUES ('921', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '901', '体格检查项目集合', null, null, '312', '19', null);
+INSERT INTO `kl_rule_plan` VALUES ('922', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '901', '实验室检查子项目', null, null, '108', '20', null);
+INSERT INTO `kl_rule_plan` VALUES ('923', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '902', '药品通用名', null, null, '101', '21', null);
+INSERT INTO `kl_rule_plan` VALUES ('924', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '902', '药品通用名集合', null, null, '309', '22', null);
+INSERT INTO `kl_rule_plan` VALUES ('925', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '902', '药品化学物质类别', null, null, '301', '23', null);
+INSERT INTO `kl_rule_plan` VALUES ('926', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '902', '药品治疗学类别', null, null, '302', '24', null);
+INSERT INTO `kl_rule_plan` VALUES ('927', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '902', '药品药理学类别', null, null, '303', '25', null);
+INSERT INTO `kl_rule_plan` VALUES ('928', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '902', '药品解剖学类别', null, null, '304', '26', null);
+INSERT INTO `kl_rule_plan` VALUES ('929', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '902', '其他过敏原', null, null, '119', '27', null);
+INSERT INTO `kl_rule_plan` VALUES ('930', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '902', '其他过敏原集合', null, null, '323', '28', null);
+INSERT INTO `kl_rule_plan` VALUES ('1000', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '19', '开单外等于术语本身', '1', null, '', '1', null);
+INSERT INTO `kl_rule_plan` VALUES ('1001', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '19', '开单外存在比较', '2', null, '', '2', null);
+INSERT INTO `kl_rule_plan` VALUES ('1002', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '19', '过敏原', '4', null, '', '3', null);
+INSERT INTO `kl_rule_plan` VALUES ('1003', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1000', '人群', null, null, '117', '1', null);
+INSERT INTO `kl_rule_plan` VALUES ('1004', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1000', '性别', null, null, '116', '2', null);
+INSERT INTO `kl_rule_plan` VALUES ('1005', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1000', '疾病', null, null, '100', '3', null);
+INSERT INTO `kl_rule_plan` VALUES ('1006', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1000', '疾病集合', null, null, '308', '4', null);
+INSERT INTO `kl_rule_plan` VALUES ('1007', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1000', '医疗器械及物品', null, null, '120', '5', null);
+INSERT INTO `kl_rule_plan` VALUES ('1008', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1000', '医疗器械及物品集合', null, null, '324', '6', null);
+INSERT INTO `kl_rule_plan` VALUES ('1009', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1000', '药品通用名', null, null, '101', '7', null);
+INSERT INTO `kl_rule_plan` VALUES ('1010', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1000', '药品通用名集合', null, null, '309', '8', null);
+INSERT INTO `kl_rule_plan` VALUES ('1011', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1000', '症状', null, null, '103', '9', null);
+INSERT INTO `kl_rule_plan` VALUES ('1012', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1000', '症状集合', null, null, '311', '10', null);
+INSERT INTO `kl_rule_plan` VALUES ('1013', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1000', '辅助检查结果', null, null, '112', '11', null);
+INSERT INTO `kl_rule_plan` VALUES ('1014', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1000', '辅助检查结果集合', null, null, '319', '12', null);
+INSERT INTO `kl_rule_plan` VALUES ('1015', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1000', '体格检查结果', null, null, '105', '13', null);
+INSERT INTO `kl_rule_plan` VALUES ('1016', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1000', '体格检查结果集合', null, null, '313', '14', null);
+INSERT INTO `kl_rule_plan` VALUES ('1017', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1000', '手术和操作', null, null, '106', '15', null);
+INSERT INTO `kl_rule_plan` VALUES ('1018', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1000', '手术和操作集合', null, null, '314', '16', null);
+INSERT INTO `kl_rule_plan` VALUES ('1019', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1001', '年龄', null, null, '410', '17', null);
+INSERT INTO `kl_rule_plan` VALUES ('1020', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1001', '体格检查项目', null, null, '104', '18', null);
+INSERT INTO `kl_rule_plan` VALUES ('1021', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1001', '体格检查项目集合', null, null, '312', '19', null);
+INSERT INTO `kl_rule_plan` VALUES ('1022', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1001', '实验室检查子项目', null, null, '108', '20', null);
+INSERT INTO `kl_rule_plan` VALUES ('1023', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1002', '药品通用名', null, null, '101', '21', null);
+INSERT INTO `kl_rule_plan` VALUES ('1024', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1002', '药品通用名集合', null, null, '309', '22', null);
+INSERT INTO `kl_rule_plan` VALUES ('1025', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1002', '药品化学物质类别', null, null, '301', '23', null);
+INSERT INTO `kl_rule_plan` VALUES ('1026', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1002', '药品治疗学类别', null, null, '302', '24', null);
+INSERT INTO `kl_rule_plan` VALUES ('1027', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1002', '药品药理学类别', null, null, '303', '25', null);
+INSERT INTO `kl_rule_plan` VALUES ('1028', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1002', '药品解剖学类别', null, null, '304', '26', null);
+INSERT INTO `kl_rule_plan` VALUES ('1029', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1002', '其他过敏原', null, null, '119', '27', null);
+INSERT INTO `kl_rule_plan` VALUES ('1030', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1002', '其他过敏原集合', null, null, '323', '28', null);
+INSERT INTO `kl_rule_plan` VALUES ('1100', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '20', '开单外等于术语本身', '1', null, '', '1', null);
+INSERT INTO `kl_rule_plan` VALUES ('1101', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '20', '开单外存在比较', '2', null, '', '2', null);
+INSERT INTO `kl_rule_plan` VALUES ('1102', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '20', '过敏原', '4', null, '', '3', null);
+INSERT INTO `kl_rule_plan` VALUES ('1103', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1100', '人群', null, null, '117', '1', null);
+INSERT INTO `kl_rule_plan` VALUES ('1104', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1100', '性别', null, null, '116', '2', null);
+INSERT INTO `kl_rule_plan` VALUES ('1105', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1100', '疾病', null, null, '100', '3', null);
+INSERT INTO `kl_rule_plan` VALUES ('1106', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1100', '疾病集合', null, null, '308', '4', null);
+INSERT INTO `kl_rule_plan` VALUES ('1107', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1100', '医疗器械及物品', null, null, '120', '5', null);
+INSERT INTO `kl_rule_plan` VALUES ('1108', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1100', '医疗器械及物品集合', null, null, '324', '6', null);
+INSERT INTO `kl_rule_plan` VALUES ('1109', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1100', '药品通用名', null, null, '101', '7', null);
+INSERT INTO `kl_rule_plan` VALUES ('1110', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1100', '药品通用名集合', null, null, '309', '8', null);
+INSERT INTO `kl_rule_plan` VALUES ('1111', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1100', '症状', null, null, '103', '9', null);
+INSERT INTO `kl_rule_plan` VALUES ('1112', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1100', '症状集合', null, null, '311', '10', null);
+INSERT INTO `kl_rule_plan` VALUES ('1113', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1100', '辅助检查结果', null, null, '112', '11', null);
+INSERT INTO `kl_rule_plan` VALUES ('1114', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1100', '辅助检查结果集合', null, null, '319', '12', null);
+INSERT INTO `kl_rule_plan` VALUES ('1115', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1100', '体格检查结果', null, null, '105', '13', null);
+INSERT INTO `kl_rule_plan` VALUES ('1116', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1100', '体格检查结果集合', null, null, '313', '14', null);
+INSERT INTO `kl_rule_plan` VALUES ('1117', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1100', '手术和操作', null, null, '106', '15', null);
+INSERT INTO `kl_rule_plan` VALUES ('1118', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1100', '手术和操作集合', null, null, '314', '16', null);
+INSERT INTO `kl_rule_plan` VALUES ('1119', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1101', '年龄', null, null, '410', '17', null);
+INSERT INTO `kl_rule_plan` VALUES ('1120', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1101', '体格检查项目', null, null, '104', '18', null);
+INSERT INTO `kl_rule_plan` VALUES ('1121', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1101', '体格检查项目集合', null, null, '312', '19', null);
+INSERT INTO `kl_rule_plan` VALUES ('1122', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1101', '实验室检查子项目', null, null, '108', '20', null);
+INSERT INTO `kl_rule_plan` VALUES ('1123', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1102', '药品通用名', null, null, '101', '21', null);
+INSERT INTO `kl_rule_plan` VALUES ('1124', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1102', '药品通用名集合', null, null, '309', '22', null);
+INSERT INTO `kl_rule_plan` VALUES ('1125', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1102', '药品化学物质类别', null, null, '301', '23', null);
+INSERT INTO `kl_rule_plan` VALUES ('1126', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1102', '药品治疗学类别', null, null, '302', '24', null);
+INSERT INTO `kl_rule_plan` VALUES ('1127', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1102', '药品药理学类别', null, null, '303', '25', null);
+INSERT INTO `kl_rule_plan` VALUES ('1128', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1102', '药品解剖学类别', null, null, '304', '26', null);
+INSERT INTO `kl_rule_plan` VALUES ('1129', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1102', '其他过敏原', null, null, '119', '27', null);
+INSERT INTO `kl_rule_plan` VALUES ('1130', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1102', '其他过敏原集合', null, null, '323', '28', null);
+INSERT INTO `kl_rule_plan` VALUES ('1200', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '2', '21', '开单外等于术语本身', '1', null, '', '1', null);
+INSERT INTO `kl_rule_plan` VALUES ('1201', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '2', '1200', '药品剂型', null, null, '102', '1', null);
+INSERT INTO `kl_rule_plan` VALUES ('1202', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '2', '1200', '药品剂型集合', null, null, '310', '2', null);
+INSERT INTO `kl_rule_plan` VALUES ('1220', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '2', '22', '开单外等于术语本身', '1', null, '', '1', null);
+INSERT INTO `kl_rule_plan` VALUES ('1221', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '2', '1220', '药品剂型', null, null, '102', '1', null);
+INSERT INTO `kl_rule_plan` VALUES ('1222', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '2', '1220', '药品剂型集合', null, null, '310', '2', null);
+INSERT INTO `kl_rule_plan` VALUES ('1300', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '2', '23', '开单外等于术语本身', '1', null, '', null, null);
+INSERT INTO `kl_rule_plan` VALUES ('1301', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '2', '23', '开单外存在比较', '2', null, '', null, null);
+INSERT INTO `kl_rule_plan` VALUES ('1302', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '2', '1300', '体格检查结果', null, null, '105', '1', null);
+INSERT INTO `kl_rule_plan` VALUES ('1303', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '2', '1300', '体格检查结果集合', null, null, '313', '2', null);
+INSERT INTO `kl_rule_plan` VALUES ('1304', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '2', '1300', '疾病', null, null, '100', '3', null);
+INSERT INTO `kl_rule_plan` VALUES ('1305', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '2', '1300', '疾病集合', null, null, '308', '4', null);
+INSERT INTO `kl_rule_plan` VALUES ('1306', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '2', '1300', '辅助检查结果', null, null, '112', '5', null);
+INSERT INTO `kl_rule_plan` VALUES ('1307', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '2', '1300', '辅助检查结果集合', null, null, '319', '6', null);
+INSERT INTO `kl_rule_plan` VALUES ('1308', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '2', '1301', '年龄', null, null, '410', '7', null);
+INSERT INTO `kl_rule_plan` VALUES ('1309', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '2', '1301', '体格检查项目', null, null, '104', '8', null);
+INSERT INTO `kl_rule_plan` VALUES ('1310', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '2', '1301', '体格检查项目集合', null, null, '312', '9', null);
+INSERT INTO `kl_rule_plan` VALUES ('1311', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '2', '1301', '实验室检查子项目', null, null, '108', '10', null);
+INSERT INTO `kl_rule_plan` VALUES ('1350', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '2', '24', '开单外等于术语本身', '1', null, '', null, null);
+INSERT INTO `kl_rule_plan` VALUES ('1351', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '2', '24', '开单外存在比较', '2', null, '', null, null);
+INSERT INTO `kl_rule_plan` VALUES ('1352', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '2', '1350', '体格检查结果', null, null, '105', '1', null);
+INSERT INTO `kl_rule_plan` VALUES ('1353', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '2', '1350', '体格检查结果集合', null, null, '313', '2', null);
+INSERT INTO `kl_rule_plan` VALUES ('1354', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '2', '1350', '疾病', null, null, '100', '3', null);
+INSERT INTO `kl_rule_plan` VALUES ('1355', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '2', '1350', '疾病集合', null, null, '308', '4', null);
+INSERT INTO `kl_rule_plan` VALUES ('1356', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '2', '1350', '辅助检查结果', null, null, '112', '5', null);
+INSERT INTO `kl_rule_plan` VALUES ('1357', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '2', '1350', '辅助检查结果集合', null, null, '319', '6', null);
+INSERT INTO `kl_rule_plan` VALUES ('1358', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '2', '1351', '年龄', null, null, '410', '7', null);
+INSERT INTO `kl_rule_plan` VALUES ('1359', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '2', '1351', '体格检查项目', null, null, '104', '8', null);
+INSERT INTO `kl_rule_plan` VALUES ('1360', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '2', '1351', '体格检查项目集合', null, null, '312', '9', null);
+INSERT INTO `kl_rule_plan` VALUES ('1361', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '2', '1351', '实验室检查子项目', null, null, '108', '10', null);
+INSERT INTO `kl_rule_plan` VALUES ('1400', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '3', '30', '开单外等于术语本身', '1', null, '', null, null);
+INSERT INTO `kl_rule_plan` VALUES ('1401', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '3', '30', '开单外存在比较', '2', null, '', null, null);
+INSERT INTO `kl_rule_plan` VALUES ('1402', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '3', '1400', '人群', null, null, '117', '1', null);
+INSERT INTO `kl_rule_plan` VALUES ('1403', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '3', '1401', '实验室检查子项目', null, null, '108', '1', null);
+INSERT INTO `kl_rule_plan` VALUES ('1404', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '3', '1401', '年龄', null, null, '410', '2', null);
+INSERT INTO `kl_rule_plan` VALUES ('1500', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '40', '开单外等于术语本身', '1', null, '', null, null);
+INSERT INTO `kl_rule_plan` VALUES ('1501', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '40', '开单外存在比较', '2', null, '', null, null);
+INSERT INTO `kl_rule_plan` VALUES ('1502', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '1500', '疾病', null, null, '100', '1', null);
+INSERT INTO `kl_rule_plan` VALUES ('1503', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '1500', '疾病集合', null, null, '308', '2', null);
+INSERT INTO `kl_rule_plan` VALUES ('1504', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '1500', '药品通用名', null, null, '101', '3', null);
+INSERT INTO `kl_rule_plan` VALUES ('1505', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '1500', '药品通用名集合', null, null, '309', '4', null);
+INSERT INTO `kl_rule_plan` VALUES ('1506', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '1500', '人群', null, null, '117', '5', null);
+INSERT INTO `kl_rule_plan` VALUES ('1507', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '1501', '实验室检查子项目', null, null, '108', '1', null);
+INSERT INTO `kl_rule_plan` VALUES ('1508', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '1500', '性别', null, null, '116', '6', null);
+INSERT INTO `kl_rule_plan` VALUES ('1550', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '41', '开单外等于术语本身', '1', null, '', '1', null);
+INSERT INTO `kl_rule_plan` VALUES ('1551', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '41', '开单外存在比较', '2', null, '', '2', null);
+INSERT INTO `kl_rule_plan` VALUES ('1552', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '41', '开单外不等于术语本身', '3', null, '', '3', null);
+INSERT INTO `kl_rule_plan` VALUES ('1553', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '1550', '人群', null, null, '117', '1', null);
+INSERT INTO `kl_rule_plan` VALUES ('1554', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '1550', '辅助检查结果', null, null, '112', '2', null);
+INSERT INTO `kl_rule_plan` VALUES ('1555', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '1550', '辅助检查结果集合', null, null, '319', '3', null);
+INSERT INTO `kl_rule_plan` VALUES ('1556', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '1550', '性别', null, null, '116', '4', null);
+INSERT INTO `kl_rule_plan` VALUES ('1557', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '1550', '体格检查结果', null, null, '105', '5', null);
+INSERT INTO `kl_rule_plan` VALUES ('1558', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '1550', '体格检查结果集合', null, null, '313', '6', null);
+INSERT INTO `kl_rule_plan` VALUES ('1559', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '1550', '疾病', null, null, '100', '7', null);
+INSERT INTO `kl_rule_plan` VALUES ('1560', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '1550', '疾病集合', null, null, '308', '8', null);
+INSERT INTO `kl_rule_plan` VALUES ('1561', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '1551', '年龄', null, null, '410', '9', null);
+INSERT INTO `kl_rule_plan` VALUES ('1562', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '1551', '实验室检查子项目', null, null, '108', '10', null);
+INSERT INTO `kl_rule_plan` VALUES ('1563', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '1551', '体格检查项目', null, null, '104', '11', null);
+INSERT INTO `kl_rule_plan` VALUES ('1564', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '1551', '体格检查项目集合', null, null, '312', '12', null);
+INSERT INTO `kl_rule_plan` VALUES ('1565', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '1552', '辅助检查结果', null, null, '112', '13', null);
+INSERT INTO `kl_rule_plan` VALUES ('1566', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '1552', '辅助检查结果集合', null, null, '319', '14', null);
+INSERT INTO `kl_rule_plan` VALUES ('1580', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '42', '开单外等于术语本身', '1', null, '', '1', null);
+INSERT INTO `kl_rule_plan` VALUES ('1581', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '42', '开单外存在比较', '2', null, '', '2', null);
+INSERT INTO `kl_rule_plan` VALUES ('1582', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '42', '开单外不等于术语本身', '3', null, '', '3', null);
+INSERT INTO `kl_rule_plan` VALUES ('1583', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '1580', '人群', null, null, '117', '1', null);
+INSERT INTO `kl_rule_plan` VALUES ('1584', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '1580', '辅助检查结果', null, null, '112', '2', null);
+INSERT INTO `kl_rule_plan` VALUES ('1585', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '1580', '辅助检查结果集合', null, null, '319', '3', null);
+INSERT INTO `kl_rule_plan` VALUES ('1586', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '1580', '性别', null, null, '116', '4', null);
+INSERT INTO `kl_rule_plan` VALUES ('1587', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '1580', '体格检查结果', null, null, '105', '5', null);
+INSERT INTO `kl_rule_plan` VALUES ('1588', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '1580', '体格检查结果集合', null, null, '313', '6', null);
+INSERT INTO `kl_rule_plan` VALUES ('1589', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '1580', '疾病', null, null, '100', '7', null);
+INSERT INTO `kl_rule_plan` VALUES ('1590', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '1580', '疾病集合', null, null, '308', '8', null);
+INSERT INTO `kl_rule_plan` VALUES ('1591', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '1581', '年龄', null, null, '410', '9', null);
+INSERT INTO `kl_rule_plan` VALUES ('1592', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '1581', '实验室检查子项目', null, null, '108', '10', null);
+INSERT INTO `kl_rule_plan` VALUES ('1593', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '1581', '体格检查项目', null, null, '104', '11', null);
+INSERT INTO `kl_rule_plan` VALUES ('1594', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '1581', '体格检查项目集合', null, null, '312', '12', null);
+INSERT INTO `kl_rule_plan` VALUES ('1595', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '1582', '辅助检查结果', null, null, '112', '13', null);
+INSERT INTO `kl_rule_plan` VALUES ('1596', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '1582', '辅助检查结果集合', null, null, '319', '14', null);
+INSERT INTO `kl_rule_plan` VALUES ('1597', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '43', '开单外等于术语本身', '1', null, '', '1', null);
+INSERT INTO `kl_rule_plan` VALUES ('1598', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '43', '开单外存在比较', '2', null, '', '2', null);
+INSERT INTO `kl_rule_plan` VALUES ('1599', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '43', '开单外不等于术语本身', '3', null, '', '3', null);
+INSERT INTO `kl_rule_plan` VALUES ('1600', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '1597', '人群', null, null, '117', '1', null);
+INSERT INTO `kl_rule_plan` VALUES ('1601', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '1597', '辅助检查结果', null, null, '112', '2', null);
+INSERT INTO `kl_rule_plan` VALUES ('1602', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '1597', '辅助检查结果集合', null, null, '319', '3', null);
+INSERT INTO `kl_rule_plan` VALUES ('1603', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '1597', '性别', null, null, '116', '4', null);
+INSERT INTO `kl_rule_plan` VALUES ('1604', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '1597', '体格检查结果', null, null, '105', '5', null);
+INSERT INTO `kl_rule_plan` VALUES ('1605', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '1597', '体格检查结果集合', null, null, '313', '6', null);
+INSERT INTO `kl_rule_plan` VALUES ('1606', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '1597', '疾病', null, null, '100', '7', null);
+INSERT INTO `kl_rule_plan` VALUES ('1607', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '1597', '疾病集合', null, null, '308', '8', null);
+INSERT INTO `kl_rule_plan` VALUES ('1608', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '1598', '年龄', null, null, '410', '1', null);
+INSERT INTO `kl_rule_plan` VALUES ('1609', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '1598', '实验室检查子项目', null, null, '108', '2', null);
+INSERT INTO `kl_rule_plan` VALUES ('1610', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '5', '50', '开单外等于术语本身', '1', null, '', '1', null);
+INSERT INTO `kl_rule_plan` VALUES ('1611', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '5', '50', '开单外存在比较', '2', null, '', '2', null);
+INSERT INTO `kl_rule_plan` VALUES ('1612', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '5', '1610', '疾病', null, null, '100', '1', null);
+INSERT INTO `kl_rule_plan` VALUES ('1613', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '5', '1610', '疾病集合', null, null, '308', '2', null);
+INSERT INTO `kl_rule_plan` VALUES ('1614', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '5', '1610', '手术和操作', null, null, '106', '3', null);
+INSERT INTO `kl_rule_plan` VALUES ('1615', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '5', '1610', '手术和操作集合', null, null, '314', '4', null);
+INSERT INTO `kl_rule_plan` VALUES ('1616', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '5', '1611', '实验室检查子项目', null, null, '108', '5', null);
+INSERT INTO `kl_rule_plan` VALUES ('1700', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '6', '60', '检查结果正则表达式', '6', null, '', '1', null);
+INSERT INTO `kl_rule_plan` VALUES ('1701', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '6', '1700', '辅助检查项目', null, null, '109', '1', null);
+INSERT INTO `kl_rule_plan` VALUES ('1702', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '6', '1700', '辅助检查项目集合', null, null, '316', null, null);
+INSERT INTO `kl_rule_plan` VALUES ('1750', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '6', '61', '检查结果正则表达式', '6', null, '', '1', null);
+INSERT INTO `kl_rule_plan` VALUES ('1751', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '6', '1750', '辅助检查项目', null, null, '109', '1', null);
+INSERT INTO `kl_rule_plan` VALUES ('1752', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '6', '1750', '辅助检查项目集合', null, null, '316', '1', null);
+INSERT INTO `kl_rule_plan` VALUES ('1800', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '6', '62', '检查结果正则表达式', '6', null, '', '1', null);
+INSERT INTO `kl_rule_plan` VALUES ('1801', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '6', '1800', '辅助检查子项目', null, null, '110', '1', null);
+INSERT INTO `kl_rule_plan` VALUES ('1802', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '6', '1800', '辅助检查子项目集合', null, null, '317', '2', null);
+INSERT INTO `kl_rule_plan` VALUES ('1850', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '6', '63', '检查结果正则表达式', '6', null, '', '1', null);
+INSERT INTO `kl_rule_plan` VALUES ('1851', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '6', '1850', '辅助检查子项目', null, null, '110', '1', null);
+INSERT INTO `kl_rule_plan` VALUES ('1852', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '6', '1850', '辅助检查子项目集合', null, null, '317', '2', null);
+INSERT INTO `kl_rule_plan` VALUES ('1900', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '6', '64', '开单外存在比较', '2', null, '', '1', null);
+INSERT INTO `kl_rule_plan` VALUES ('1901', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '6', '1900', '实验室检查子项目', null, null, '108', '2', null);
+INSERT INTO `kl_rule_plan` VALUES ('1950', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '6', '65', '开单外存在比较', '2', null, '', '1', null);
+INSERT INTO `kl_rule_plan` VALUES ('1951', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '6', '1950', '实验室检查子项目', null, null, '108', '2', null);
+INSERT INTO `kl_rule_plan` VALUES ('2200', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'dis', '2', '-1', '拟诊', null, null, '', null, null);
+INSERT INTO `kl_rule_plan` VALUES ('2210', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'dis', '2', '2200', '等于术语本身', '1', null, '', '1', null);
+INSERT INTO `kl_rule_plan` VALUES ('2211', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'dis', '2', '2200', '存在比较', '2', null, '', '2', null);
+INSERT INTO `kl_rule_plan` VALUES ('2212', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'dis', '2', '2200', '主诉现病史正则', '3', null, '', '3', null);
+INSERT INTO `kl_rule_plan` VALUES ('2213', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'dis', '2', '2200', '既往史正则', '4', null, '', '4', null);
+INSERT INTO `kl_rule_plan` VALUES ('2214', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'dis', '2', '2200', '查体正则', '5', null, '', '5', null);
+INSERT INTO `kl_rule_plan` VALUES ('2215', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'dis', '2', '2200', '辅检结果正则', '6', null, '', '6', null);
+INSERT INTO `kl_rule_plan` VALUES ('2216', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'dis', '2', '2210', '症状', null, null, '103', '1', null);
+INSERT INTO `kl_rule_plan` VALUES ('2217', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'dis', '2', '2210', '体格检查结果', null, null, '105', '2', null);
+INSERT INTO `kl_rule_plan` VALUES ('2218', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'dis', '2', '2210', '疾病', null, null, '100', '3', null);
+INSERT INTO `kl_rule_plan` VALUES ('2219', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'dis', '2', '2210', '人群', null, null, '117', '4', null);
+INSERT INTO `kl_rule_plan` VALUES ('2220', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'dis', '2', '2210', '辅助检查结果', null, null, '112', '5', null);
+INSERT INTO `kl_rule_plan` VALUES ('2221', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'dis', '2', '2211', '年龄', null, null, '410', '1', null);
+INSERT INTO `kl_rule_plan` VALUES ('2222', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'dis', '2', '2211', '体格检查项目', null, null, '104', '2', null);
+INSERT INTO `kl_rule_plan` VALUES ('2223', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'dis', '2', '2211', '实验室检查子项目', null, null, '108', '3', null);
+INSERT INTO `kl_rule_plan` VALUES ('2224', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'dis', '2', '2212', '主诉现病史正则', null, null, '', '1', null);
+INSERT INTO `kl_rule_plan` VALUES ('2225', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'dis', '2', '2213', '既往史正则', null, null, '', '1', null);
+INSERT INTO `kl_rule_plan` VALUES ('2226', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'dis', '2', '2214', '查体正则', null, null, '', null, null);
+INSERT INTO `kl_rule_plan` VALUES ('2227', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'dis', '2', '2215', '辅检结果正则', null, null, '', null, null);
+INSERT INTO `kl_rule_plan` VALUES ('2300', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'dis', '3', '-1', '确诊', null, null, '', null, null);
+INSERT INTO `kl_rule_plan` VALUES ('2310', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'dis', '3', '2300', '等于术语本身', '1', null, '', '1', null);
+INSERT INTO `kl_rule_plan` VALUES ('2311', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'dis', '3', '2300', '存在比较', '2', null, '', '2', null);
+INSERT INTO `kl_rule_plan` VALUES ('2312', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'dis', '3', '2300', '主诉现病史正则', '3', null, '', '3', null);
+INSERT INTO `kl_rule_plan` VALUES ('2313', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'dis', '3', '2300', '既往史正则', '4', null, '', '4', null);
+INSERT INTO `kl_rule_plan` VALUES ('2314', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'dis', '3', '2300', '查体正则', '5', null, '', '5', null);
+INSERT INTO `kl_rule_plan` VALUES ('2315', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'dis', '3', '2300', '辅检结果正则', '6', null, '', '6', null);
+INSERT INTO `kl_rule_plan` VALUES ('2316', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'dis', '3', '2310', '症状', null, null, '103', '1', null);
+INSERT INTO `kl_rule_plan` VALUES ('2317', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'dis', '3', '2310', '体格检查结果', null, null, '105', '2', null);
+INSERT INTO `kl_rule_plan` VALUES ('2318', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'dis', '3', '2310', '疾病', null, null, '100', '3', null);
+INSERT INTO `kl_rule_plan` VALUES ('2319', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'dis', '3', '2310', '人群', null, null, '117', '4', null);
+INSERT INTO `kl_rule_plan` VALUES ('2320', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'dis', '3', '2310', '辅助检查结果', null, null, '112', '5', null);
+INSERT INTO `kl_rule_plan` VALUES ('2321', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'dis', '3', '2311', '年龄', null, null, '410', '1', null);
+INSERT INTO `kl_rule_plan` VALUES ('2322', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'dis', '3', '2311', '体格检查项目', null, null, '104', '2', null);
+INSERT INTO `kl_rule_plan` VALUES ('2323', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'dis', '3', '2311', '实验室检查子项目', null, null, '108', '3', null);
+INSERT INTO `kl_rule_plan` VALUES ('2324', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'dis', '3', '2312', '主诉现病史正则', null, null, '', '1', null);
+INSERT INTO `kl_rule_plan` VALUES ('2325', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'dis', '3', '2313', '既往史正则', null, null, '', '1', null);
+INSERT INTO `kl_rule_plan` VALUES ('2326', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'dis', '3', '2314', '查体正则', null, null, '', null, null);
+INSERT INTO `kl_rule_plan` VALUES ('2327', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'dis', '3', '2315', '辅检结果正则', null, null, '', null, null);
+INSERT INTO `kl_rule_plan` VALUES ('2400', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'dis', '4', '-1', '警惕', null, null, '', null, null);
+INSERT INTO `kl_rule_plan` VALUES ('2410', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'dis', '4', '2400', '等于术语本身', '1', null, '', '1', null);
+INSERT INTO `kl_rule_plan` VALUES ('2411', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'dis', '4', '2400', '存在比较', '2', null, '', '2', null);
+INSERT INTO `kl_rule_plan` VALUES ('2412', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'dis', '4', '2400', '主诉现病史正则', '3', null, '', '3', null);
+INSERT INTO `kl_rule_plan` VALUES ('2413', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'dis', '4', '2400', '既往史正则', '4', null, '', '4', null);
+INSERT INTO `kl_rule_plan` VALUES ('2414', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'dis', '4', '2400', '查体正则', '5', null, '', '5', null);
+INSERT INTO `kl_rule_plan` VALUES ('2415', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'dis', '4', '2400', '辅检结果正则', '6', null, '', '6', null);
+INSERT INTO `kl_rule_plan` VALUES ('2416', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'dis', '4', '2410', '症状', null, null, '103', '1', null);
+INSERT INTO `kl_rule_plan` VALUES ('2417', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'dis', '4', '2410', '体格检查结果', null, null, '105', '2', null);
+INSERT INTO `kl_rule_plan` VALUES ('2418', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'dis', '4', '2410', '疾病', null, null, '100', '3', null);
+INSERT INTO `kl_rule_plan` VALUES ('2419', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'dis', '4', '2410', '人群', null, null, '117', '4', null);
+INSERT INTO `kl_rule_plan` VALUES ('2420', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'dis', '4', '2410', '辅助检查结果', null, null, '112', '5', null);
+INSERT INTO `kl_rule_plan` VALUES ('2421', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'dis', '4', '2411', '年龄', null, null, '410', '1', null);
+INSERT INTO `kl_rule_plan` VALUES ('2422', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'dis', '4', '2411', '体格检查项目', null, null, '104', '2', null);
+INSERT INTO `kl_rule_plan` VALUES ('2423', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'dis', '4', '2411', '实验室检查子项目', null, null, '108', '3', null);
+INSERT INTO `kl_rule_plan` VALUES ('2424', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'dis', '4', '2412', '主诉现病史正则', null, null, '', '1', null);
+INSERT INTO `kl_rule_plan` VALUES ('2425', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'dis', '4', '2413', '既往史正则', null, null, '', '1', null);
+INSERT INTO `kl_rule_plan` VALUES ('2426', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'dis', '4', '2414', '查体正则', null, null, '', null, null);
+INSERT INTO `kl_rule_plan` VALUES ('2427', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'dis', '4', '2415', '辅检结果正则', null, null, '', null, null);
+INSERT INTO `kl_rule_plan` VALUES ('16090', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '1598', '体格检查项目', null, null, '104', '3', null);
+INSERT INTO `kl_rule_plan` VALUES ('16091', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '1598', '辅助检查描述', null, null, '111', '4', null);
+INSERT INTO `kl_rule_plan` VALUES ('16092', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '1599', '辅助检查结果', null, null, '112', '1', null);
+INSERT INTO `kl_rule_plan` VALUES ('16093', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '1599', '辅助检查结果集合', null, null, '319', '2', null);
+INSERT INTO `kl_rule_plan` VALUES ('17090', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '100', '剂型', null, null, '102', '17', '');
+INSERT INTO `kl_rule_plan` VALUES ('17091', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '100', '剂型集合', null, null, '310', '18', '');
+INSERT INTO `kl_rule_plan` VALUES ('17092', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '100', '给药途径', null, null, '121', '19', '');
+INSERT INTO `kl_rule_plan` VALUES ('17093', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '100', '给药途径集合', null, null, '329', '20', '');
+INSERT INTO `kl_rule_plan` VALUES ('27090', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '200', '剂型', null, null, '102', '17', '');
+INSERT INTO `kl_rule_plan` VALUES ('27091', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '200', '剂型集合', null, null, '310', '18', '');
+INSERT INTO `kl_rule_plan` VALUES ('27092', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '200', '给药途径', null, null, '121', '19', '');
+INSERT INTO `kl_rule_plan` VALUES ('27093', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '200', '给药途径集合', null, null, '329', '20', '');
+
+
+
+/*
+Navicat MySQL Data Transfer
+
+Source Server         : 192.168.2.236
+Source Server Version : 50735
+Source Host           : 192.168.2.236:3306
+Source Database       : med_2021
+
+Target Server Type    : MYSQL
+Target Server Version : 50735
+File Encoding         : 65001
+
+Date: 2021-10-25 14:43:33
+*/
+
+SET FOREIGN_KEY_CHECKS=0;
+
+-- ----------------------------
+-- Table structure for kl_dictionary_info
+-- ----------------------------
+DROP TABLE IF EXISTS `kl_dictionary_info`;
+CREATE TABLE `kl_dictionary_info` (
+  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
+  `is_deleted` char(1) NOT NULL DEFAULT 'N' COMMENT '是否删除,N:未删除,Y:删除',
+  `gmt_create` datetime NOT NULL DEFAULT '1970-01-01 12:00:00' COMMENT '记录创建时间',
+  `gmt_modified` datetime NOT NULL DEFAULT '1970-01-01 12:00:00' COMMENT '记录修改时间,如果时间是1970年则表示纪录未修改',
+  `creator` varchar(20) NOT NULL DEFAULT '0' COMMENT '创建人,0表示无创建人值',
+  `modifier` varchar(20) NOT NULL DEFAULT '0' COMMENT '修改人,如果为0则表示纪录未修改',
+  `group_type` bigint(20) NOT NULL DEFAULT '0' COMMENT '分组(值自定义)\r\n20:子规则首条固定\r\n21:附加信息\r\n22:只有数字没有文本\r\n23:无子条件',
+  `name` varchar(100) NOT NULL DEFAULT '' COMMENT '内容',
+  `val` varchar(255) NOT NULL DEFAULT '' COMMENT '值',
+  `return_type` int(11) NOT NULL DEFAULT '1' COMMENT '返回类型(0: 都返回,1:后台维护返回 2:界面返回)',
+  `order_no` int(11) NOT NULL DEFAULT '0' COMMENT '排序号',
+  `remark` varchar(300) DEFAULT NULL COMMENT '备注',
+  PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=365 DEFAULT CHARSET=utf8 COMMENT='字典表';
+
+-- ----------------------------
+-- Records of kl_dictionary_info
+-- ----------------------------
+INSERT INTO `kl_dictionary_info` VALUES ('1', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '7', '全部', '0', '2', '1', '静态知识检索类型');
+INSERT INTO `kl_dictionary_info` VALUES ('2', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '7', '诊断', '1', '2', '10', '静态知识检索类型');
+INSERT INTO `kl_dictionary_info` VALUES ('3', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '7', '药品', '2', '2', '20', '静态知识检索类型');
+INSERT INTO `kl_dictionary_info` VALUES ('4', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '7', '检验', '3', '2', '30', '静态知识检索类型');
+INSERT INTO `kl_dictionary_info` VALUES ('5', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '7', '检查', '5', '2', '40', '静态知识检索类型');
+INSERT INTO `kl_dictionary_info` VALUES ('6', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '7', '手术和操作', '6', '2', '50', '静态知识检索类型');
+INSERT INTO `kl_dictionary_info` VALUES ('7', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '7', '量表', '8', '2', '80', '静态知识检索类型');
+INSERT INTO `kl_dictionary_info` VALUES ('80', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '13', '诊断', '疾病', '1', '100', '页面显示词性');
+INSERT INTO `kl_dictionary_info` VALUES ('81', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '13', '药品', '药品通用名', '1', '101', '页面显示词性');
+INSERT INTO `kl_dictionary_info` VALUES ('82', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '13', '药品剂型', '药品剂型', '1', '102', '页面显示词性');
+INSERT INTO `kl_dictionary_info` VALUES ('83', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '13', '症状', '症状', '1', '103', '页面显示词性');
+INSERT INTO `kl_dictionary_info` VALUES ('84', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '13', '体格检查项目', '体格检查项目', '1', '104', '页面显示词性');
+INSERT INTO `kl_dictionary_info` VALUES ('85', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '13', '体格检查结果', '体格检查结果', '1', '105', '页面显示词性');
+INSERT INTO `kl_dictionary_info` VALUES ('86', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '13', '手术和操作', '手术和操作', '1', '106', '页面显示词性');
+INSERT INTO `kl_dictionary_info` VALUES ('87', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '13', '检验套餐', '实验室检查套餐', '1', '107', '页面显示词性');
+INSERT INTO `kl_dictionary_info` VALUES ('88', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '13', '检验细项', '实验室检查子项目', '1', '108', '页面显示词性');
+INSERT INTO `kl_dictionary_info` VALUES ('89', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '13', '检查', '辅助检查项目', '1', '109', '页面显示词性');
+INSERT INTO `kl_dictionary_info` VALUES ('90', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '13', '检查子项', '辅助检查子项目', '1', '110', '页面显示词性');
+INSERT INTO `kl_dictionary_info` VALUES ('91', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '13', '辅助检查描述', '辅助检查描述', '1', '111', '页面显示词性');
+INSERT INTO `kl_dictionary_info` VALUES ('92', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '13', '辅助检查结果', '辅助检查结果', '1', '112', '页面显示词性');
+INSERT INTO `kl_dictionary_info` VALUES ('93', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '13', '输血类型', '输血类型', '1', '113', '页面显示词性');
+INSERT INTO `kl_dictionary_info` VALUES ('94', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '13', '麻醉', '麻醉', '1', '114', '页面显示词性');
+INSERT INTO `kl_dictionary_info` VALUES ('95', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '13', '科室', '科室', '1', '115', '页面显示词性');
+INSERT INTO `kl_dictionary_info` VALUES ('96', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '13', '性别', '性别', '1', '116', '页面显示词性');
+INSERT INTO `kl_dictionary_info` VALUES ('97', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '13', '人群', '人群', '1', '117', '页面显示词性');
+INSERT INTO `kl_dictionary_info` VALUES ('98', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '13', '食物', '食物', '1', '118', '页面显示词性');
+INSERT INTO `kl_dictionary_info` VALUES ('99', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '13', '其他过敏原', '其他过敏原', '1', '119', '页面显示词性');
+INSERT INTO `kl_dictionary_info` VALUES ('100', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '13', '医疗器械及物品', '医疗器械及物品', '1', '120', '页面显示词性');
+INSERT INTO `kl_dictionary_info` VALUES ('101', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '13', '给药途径', '给药途径', '1', '121', '页面显示词性');
+INSERT INTO `kl_dictionary_info` VALUES ('102', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '13', '部位', '部位', '1', '122', '页面显示词性');
+INSERT INTO `kl_dictionary_info` VALUES ('103', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '13', '护理', '护理', '1', '123', '页面显示词性');
+INSERT INTO `kl_dictionary_info` VALUES ('104', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '13', '量表', '量表', '1', '124', '页面显示词性');
+INSERT INTO `kl_dictionary_info` VALUES ('105', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '13', '单位', '单位', '1', '125', '页面显示词性');
+INSERT INTO `kl_dictionary_info` VALUES ('106', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '13', 'ICD10疾病类别', 'ICD10疾病类别', '1', '300', '页面显示词性');
+INSERT INTO `kl_dictionary_info` VALUES ('107', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '13', '药品化学物质类别', '药品化学物质类别', '1', '301', '页面显示词性');
+INSERT INTO `kl_dictionary_info` VALUES ('108', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '13', '药品治疗学类别', '药品治疗学类别', '1', '302', '页面显示词性');
+INSERT INTO `kl_dictionary_info` VALUES ('109', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '13', '药品药理学类别', '药品药理学类别', '1', '303', '页面显示词性');
+INSERT INTO `kl_dictionary_info` VALUES ('110', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '13', '药品解剖学类别', '药品解剖学类别', '1', '304', '页面显示词性');
+INSERT INTO `kl_dictionary_info` VALUES ('111', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '13', '症状类别', '症状类别', '1', '305', '页面显示词性');
+INSERT INTO `kl_dictionary_info` VALUES ('112', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '13', '手术和操作类别', '手术和操作类别', '1', '306', '页面显示词性');
+INSERT INTO `kl_dictionary_info` VALUES ('113', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '13', 'ICD10疾病类别根节点', 'ICD10疾病类别根节点', '1', '400', '页面显示词性');
+INSERT INTO `kl_dictionary_info` VALUES ('114', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '13', '科室疾病类别根节点', '科室疾病类别根节点', '1', '401', '页面显示词性');
+INSERT INTO `kl_dictionary_info` VALUES ('115', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '13', '药品化学物质类别根节点', '药品化学物质类别根节点', '1', '402', '页面显示词性');
+INSERT INTO `kl_dictionary_info` VALUES ('116', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '13', '药品治疗学类别根节点', '药品治疗学类别根节点', '1', '403', '页面显示词性');
+INSERT INTO `kl_dictionary_info` VALUES ('117', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '13', '药品药理学类别根节点', '药品药理学类别根节点', '1', '404', '页面显示词性');
+INSERT INTO `kl_dictionary_info` VALUES ('118', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '13', '药品解剖学类别根节点', '药品解剖学类别根节点', '1', '405', '页面显示词性');
+INSERT INTO `kl_dictionary_info` VALUES ('119', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '13', '症状类别根节点', '症状类别根节点', '1', '406', '页面显示词性');
+INSERT INTO `kl_dictionary_info` VALUES ('120', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '13', '手术和操作类别根节点', '手术和操作类别根节点', '1', '407', '页面显示词性');
+INSERT INTO `kl_dictionary_info` VALUES ('121', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '13', '实验室检查类别根节点', '实验室检查类别根节点', '1', '408', '页面显示词性');
+INSERT INTO `kl_dictionary_info` VALUES ('122', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '13', '辅助检查类别根节点', '辅助检查类别根节点', '1', '409', '页面显示词性');
+INSERT INTO `kl_dictionary_info` VALUES ('123', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '13', '年龄', '年龄', '1', '410', '页面显示词性');
+INSERT INTO `kl_dictionary_info` VALUES ('124', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '20', '危急值-实验室检查子项目', '3-108-2', '1', '0', '化验规则维护特殊处理-子规则首尾固定');
+INSERT INTO `kl_dictionary_info` VALUES ('125', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '20', '其他值提醒-实验室检查子项目', '4-108-2', '1', '0', '化验规则维护特殊处理-子规则首尾固定');
+INSERT INTO `kl_dictionary_info` VALUES ('126', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '20', '其他值提醒输血-实验室检查子项目', '5-108-2', '1', '0', '化验规则维护特殊处理-子规则首尾固定');
+INSERT INTO `kl_dictionary_info` VALUES ('127', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '21', '高危-药品通用名', '2-101-1', '1', '0', '附加信息特殊处理(必填)');
+INSERT INTO `kl_dictionary_info` VALUES ('128', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '21', '其他值提醒-辅助检查结果', '4-112-1', '1', '0', '附加信息特殊处理(必填)');
+INSERT INTO `kl_dictionary_info` VALUES ('129', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '21', '其他值提醒输血-实验室检查子项目', '5-108-1', '1', '0', '附加信息特殊处理(必填)');
+INSERT INTO `kl_dictionary_info` VALUES ('132', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '31', '开单外等于术语本身', '1', '1', '0', '基础规则类型');
+INSERT INTO `kl_dictionary_info` VALUES ('133', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '31', '开单外存在比较', '2', '1', '0', '基础规则类型');
+INSERT INTO `kl_dictionary_info` VALUES ('134', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '31', '开单外不等于术语本身', '3', '1', '0', '基础规则类型');
+INSERT INTO `kl_dictionary_info` VALUES ('135', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '31', '过敏原', '4', '1', '0', '基础规则类型');
+INSERT INTO `kl_dictionary_info` VALUES ('136', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '31', '开单项', '5', '1', '0', '基础规则类型');
+INSERT INTO `kl_dictionary_info` VALUES ('137', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '31', '检查结果正则表达式', '6', '1', '0', '基础规则类型');
+INSERT INTO `kl_dictionary_info` VALUES ('138', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '22', '开单合理性-年龄-体格检查项目', '410,104', '1', '0', '开单合理性只有数字没有文本');
+INSERT INTO `kl_dictionary_info` VALUES ('139', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '23', '复杂情况下高风险手术-手术和操作', '2-106', '1', '0', '高危手术存在(无子条件特殊处理)');
+INSERT INTO `kl_dictionary_info` VALUES ('140', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '24', '诊断依据存在比较-年龄-体格检查项目', '410,104', '1', '0', '诊断依据存在比较只有数字没有文本');
+INSERT INTO `kl_dictionary_info` VALUES ('141', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '25', '诊断依据存在比较-实验室检查子项目', '108', '1', '0', '诊断依据存在比较只有文本');
+INSERT INTO `kl_dictionary_info` VALUES ('143', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '7', '护理', '9', '2', '90', '静态知识检索类型');
+INSERT INTO `kl_dictionary_info` VALUES ('144', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '7', '政策法规', '10', '2', '100', '静态知识检索类型');
+INSERT INTO `kl_dictionary_info` VALUES ('145', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '13', '政策法规', '政策法规', '1', '411', '页面显示词性');
+INSERT INTO `kl_dictionary_info` VALUES ('146', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '50', '静态知识', '1', '1', '10', '静态知识类型');
+INSERT INTO `kl_dictionary_info` VALUES ('147', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '50', '注意事项', '2', '1', '20', '静态知识类型');
+INSERT INTO `kl_dictionary_info` VALUES ('148', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '50', '临床路径', '3', '1', '30', '静态知识类型');
+INSERT INTO `kl_dictionary_info` VALUES ('149', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '50', '一般治疗', '4', '1', '40', '静态知识类型');
+INSERT INTO `kl_dictionary_info` VALUES ('150', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '51', '1', '1,3,4', '1', '0', '诊断关联的静态信息类型');
+INSERT INTO `kl_dictionary_info` VALUES ('151', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '51', '2', '1', '1', '0', '药品关联的静态信息类型');
+INSERT INTO `kl_dictionary_info` VALUES ('152', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '51', '3', '1,2', '1', '0', '检验套餐关联的静态信息类型');
+INSERT INTO `kl_dictionary_info` VALUES ('153', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '51', '4', '1,2', '1', '0', '检验细项关联的静态信息类型');
+INSERT INTO `kl_dictionary_info` VALUES ('154', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '51', '5', '1,2', '1', '0', '检查关联的静态信息类型');
+INSERT INTO `kl_dictionary_info` VALUES ('155', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '51', '6', '1,2', '1', '0', '检查子项关联的静态信息类型');
+INSERT INTO `kl_dictionary_info` VALUES ('156', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '51', '7', '1', '1', '0', '手术和操作关联的静态信息类型');
+INSERT INTO `kl_dictionary_info` VALUES ('157', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '51', '8', '1', '1', '0', '量表关联的静态信息类型');
+INSERT INTO `kl_dictionary_info` VALUES ('158', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '51', '9', '1', '1', '0', '护理关联的静态信息类型');
+INSERT INTO `kl_dictionary_info` VALUES ('159', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '51', '10', '1', '1', '0', '法律法规关联的静态信息类型');
+INSERT INTO `kl_dictionary_info` VALUES ('160', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '51', '999', '1,2,3,4', '1', '0', '其他关联的静态信息类型');
+INSERT INTO `kl_dictionary_info` VALUES ('161', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '40', '单次', '^(24小时维持|一次|1次|空)$|ALWAYS|BID|ONCE|每日', '1', '0', '开单频次');
+INSERT INTO `kl_dictionary_info` VALUES ('162', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '40', '持续', '每周|每月|每年|每半年|(一|二|三)月一次|qw|biw', '1', '0', '开单频次');
+INSERT INTO `kl_dictionary_info` VALUES ('163', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '药品_禁忌人群', '该患者[匹配内容],不宜开[开单名称][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('164', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '药品_禁忌性别', '[匹配内容]性患者,不宜开[开单名称][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('165', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '药品_禁忌疾病', '[匹配内容]患者,不宜开[开单名称][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('166', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '药品_禁忌医疗器械及物品', '该患者具有[匹配内容],不宜开[开单名称][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('167', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '药品_禁忌服用药品', '该患者正在使用[匹配内容],不宜开[开单名称][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('168', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '药品_禁忌临床表现', '该患者[匹配内容],不宜开[开单名称][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('169', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '药品_禁忌检查结果', '该患者检查提示[匹配内容],不宜开[开单名称][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('170', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '药品_禁忌查体结果', '该患者[匹配内容],不宜开[开单名称][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('171', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '药品_禁忌手术', '该患者有[匹配内容]史,不宜开[开单名称][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('172', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '药品_禁忌年龄', '该患者年龄[匹配内容],不宜开[开单名称][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('173', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '药品_禁忌检验结果', '该患者[匹配内容],不宜开[开单名称][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('174', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '药品_禁忌过敏药品', '该患者[匹配内容]过敏,不宜开[开单名称][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('175', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '药品_禁忌其他过敏原', '该患者[匹配内容]过敏,不宜开[开单名称][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('176', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '化验_禁忌人群', '该患者[匹配内容],不宜开[开单名称][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('177', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '化验_禁忌性别', '[匹配内容]性患者,不宜开[开单名称],[开单名称]为针对[性别取反]性患者的检验项目', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('178', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '化验_禁忌疾病', '[匹配内容]患者,不宜开[开单名称][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('180', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '化验_禁忌医疗器械及物品', '该患者具有[匹配内容],不宜开[开单名称][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('181', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '化验_禁忌服用药品', '该患者正在使用[匹配内容],不宜开[开单名称][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('182', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '化验_禁忌临床表现', '该患者[匹配内容],不宜开[开单名称][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('183', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '化验_禁忌检查结果', '该患者检查提示[匹配内容],不宜开[开单名称][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('184', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '化验_禁忌查体结果', '该患者[匹配内容],不宜开[开单名称][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('185', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '化验_禁忌手术', '该患者有[匹配内容]史,不宜开[开单名称][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('186', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '化验_禁忌年龄', '该患者年龄[匹配内容],不宜开[开单名称][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('187', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '化验_禁忌检验结果', '该患者[匹配内容],不宜开[开单名称][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('188', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '化验_禁忌过敏药品', '该患者[匹配内容]过敏,不宜开[开单名称][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('189', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '化验_禁忌其他过敏原', '该患者[匹配内容]过敏,不宜开[开单名称][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('190', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '化验_开单项互斥', '检验项目互斥:[匹配内容]与[开单名称]不宜同时进行[原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('191', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '辅检_禁忌人群', '该患者[匹配内容],不宜开[开单名称][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('192', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '辅检_禁忌性别', '[匹配内容]性患者,不宜开[开单名称],[开单名称]为针对[性别取反]性患者的检查项目', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('193', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '辅检_禁忌疾病', '[匹配内容]患者,不宜开[开单名称][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('194', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '辅检_禁忌医疗器械及物品', '该患者具有[匹配内容],不宜开[开单名称][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('195', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '辅检_禁忌服用药品', '该患者正在使用[匹配内容],不宜开[开单名称][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('196', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '辅检_禁忌临床表现', '该患者[匹配内容],不宜开[开单名称][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('197', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '辅检_禁忌检查结果', '该患者检查提示[匹配内容],不宜开[开单名称][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('198', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '辅检_禁忌查体结果', '该患者[匹配内容],不宜开[开单名称][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('199', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '辅检_禁忌手术', '该患者有[匹配内容]史,不宜开[开单名称][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('200', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '辅检_禁忌年龄', '该患者年龄[匹配内容],不宜开[开单名称][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('201', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '辅检_禁忌检验结果', '该患者[匹配内容],不宜开[开单名称][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('202', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '辅检_禁忌过敏药品', '该患者[匹配内容]过敏,不宜开[开单名称][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('203', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '辅检_禁忌其他过敏原', '该患者[匹配内容]过敏,不宜开[开单名称][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('204', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '辅检_开单项互斥', '检查项目互斥:[匹配内容]与[开单名称]不宜同时进行[原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('205', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '手术_禁忌人群', '该患者[匹配内容],不宜开[开单名称][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('206', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '手术_禁忌性别', '[匹配内容]性患者,不宜开[开单名称][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('207', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '手术_禁忌疾病', '[匹配内容]患者,不宜开[开单名称][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('208', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '手术_禁忌医疗器械及物品', '该患者具有[匹配内容],不宜开[开单名称][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('209', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '手术_禁忌服用药品', '该患者正在使用[匹配内容],不宜开[开单名称][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('210', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '手术_禁忌临床表现', '该患者[匹配内容],不宜开[开单名称][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('211', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '手术_禁忌检查结果', '该患者检查提示[匹配内容],不宜开[开单名称][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('212', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '手术_禁忌查体结果', '该患者[匹配内容],不宜开[开单名称][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('213', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '手术_禁忌手术', '该患者有[匹配内容]史,不宜开[开单名称][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('214', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '手术_禁忌年龄', '该患者年龄[匹配内容],不宜开[开单名称][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('215', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '手术_禁忌检验结果', '该患者[匹配内容],不宜开[开单名称][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('216', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '手术_禁忌过敏药品', '该患者[匹配内容]过敏,不宜开[开单名称][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('217', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '手术_禁忌其他过敏原', '该患者[匹配内容]过敏,不宜开[开单名称][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('218', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '输血_禁忌人群', '该患者[匹配内容],谨慎输注[开单名称][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('219', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '输血_禁忌性别', '[匹配内容]性患者,谨慎输注[开单名称][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('220', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '输血_禁忌疾病', '[匹配内容]患者,谨慎输注[开单名称][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('221', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '输血_禁忌医疗器械及物品', '该患者具有[匹配内容],谨慎输注[开单名称][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('222', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '输血_禁忌服用药品', '该患者正在使用[匹配内容],谨慎输注[开单名称][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('223', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '输血_禁忌临床表现', '该患者[匹配内容],谨慎输注[开单名称][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('224', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '输血_禁忌检查结果', '该患者检查提示[匹配内容],谨慎输注[开单名称][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('225', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '输血_禁忌查体结果', '该患者[匹配内容],谨慎输注[开单名称][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('226', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '输血_禁忌手术', '该患者有[匹配内容]史,谨慎输注[开单名称][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('227', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '输血_禁忌年龄', '该患者年龄[匹配内容],谨慎输注[开单名称][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('228', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '输血_禁忌检验结果', '该患者[匹配内容],谨慎输注[开单名称][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('229', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '输血_禁忌过敏药品', '该患者[匹配内容]过敏,谨慎输注[开单名称][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('230', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '输血_禁忌其他过敏原', '该患者[匹配内容]过敏,谨慎输注[开单名称][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('231', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '辅检_正常项目重复开立', '该患者近期做过[项目名称],检查结果[匹配内容],请谨慎开立[开单名称][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('232', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '化验_正常项目重复开立', '该患者近期做过[匹配内容],请谨慎开立[开单名称][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('233', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '化验_24小时重复开立', '[开单名称]重复开立', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('234', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '辅检_24小时重复开立', '[开单名称]重复开立', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('235', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '21', '开单合理性-药品通用名', '1-101-0', '1', '0', '附加信息特殊处理(非必填)');
+INSERT INTO `kl_dictionary_info` VALUES ('236', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '21', '开单合理性-实验室检查套餐', '1-107-0', '1', '0', '附加信息特殊处理(非必填)');
+INSERT INTO `kl_dictionary_info` VALUES ('237', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '21', '开单合理性-辅助检查项目', '1-109-0', '1', '0', '附加信息特殊处理(非必填)');
+INSERT INTO `kl_dictionary_info` VALUES ('238', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '21', '开单合理性-辅助检查子项目', '1-110-0', '1', '0', '附加信息特殊处理(非必填)');
+INSERT INTO `kl_dictionary_info` VALUES ('239', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '21', '开单合理性-手术和操作', '1-106-0', '1', '0', '附加信息特殊处理(非必填)');
+INSERT INTO `kl_dictionary_info` VALUES ('240', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '21', '开单合理性-输血类型', '1-113-0', '1', '0', '附加信息特殊处理(非必填)');
+INSERT INTO `kl_dictionary_info` VALUES ('241', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '21', '正常项目重复开立-辅助检查项目', '6-109-0', '1', '0', '附加信息特殊处理(非必填)');
+INSERT INTO `kl_dictionary_info` VALUES ('242', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '21', '正常项目重复开立-辅助检查子项目', '6-110-0', '1', '0', '附加信息特殊处理(非必填)');
+INSERT INTO `kl_dictionary_info` VALUES ('243', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '21', '正常项目重复开立-实验室检查套餐', '6-107-0', '1', '0', '附加信息特殊处理(非必填)');
+INSERT INTO `kl_dictionary_info` VALUES ('244', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '61', '疾病集合', '308-600-100', '1', '0', '术语集合相关子类');
+INSERT INTO `kl_dictionary_info` VALUES ('245', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '61', '药品通用名集合', '309-600-101', '1', '0', '术语集合相关子类');
+INSERT INTO `kl_dictionary_info` VALUES ('246', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '61', '药品剂型集合', '310-600-102', '1', '0', '术语集合相关子类');
+INSERT INTO `kl_dictionary_info` VALUES ('247', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '61', '症状集合', '311-600-103', '1', '0', '术语集合相关子类');
+INSERT INTO `kl_dictionary_info` VALUES ('248', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '61', '体格检查项目集合', '312-600-104', '1', '0', '术语集合相关子类');
+INSERT INTO `kl_dictionary_info` VALUES ('249', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '61', '体格检查结果集合', '313-600-105', '1', '0', '术语集合相关子类');
+INSERT INTO `kl_dictionary_info` VALUES ('250', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '61', '手术和操作集合', '314-600-106', '1', '0', '术语集合相关子类');
+INSERT INTO `kl_dictionary_info` VALUES ('251', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '61', '实验室检查套餐集合', '315-600-107', '1', '0', '术语集合相关子类');
+INSERT INTO `kl_dictionary_info` VALUES ('252', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '61', '辅助检查项目集合', '316-600-109', '1', '0', '术语集合相关子类');
+INSERT INTO `kl_dictionary_info` VALUES ('253', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '61', '辅助检查子项目集合', '317-600-110', '1', '0', '术语集合相关子类');
+INSERT INTO `kl_dictionary_info` VALUES ('254', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '61', '辅助检查描述集合', '318-600-111', '1', '0', '术语集合相关子类');
+INSERT INTO `kl_dictionary_info` VALUES ('255', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '61', '辅助检查结果集合', '319-600-112', '1', '0', '术语集合相关子类');
+INSERT INTO `kl_dictionary_info` VALUES ('256', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '61', '麻醉集合', '320-600-114', '1', '0', '术语集合相关子类');
+INSERT INTO `kl_dictionary_info` VALUES ('257', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '61', '科室集合', '321-600-115', '1', '0', '术语集合相关子类');
+INSERT INTO `kl_dictionary_info` VALUES ('258', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '61', '食物集合', '322-600-118', '1', '0', '术语集合相关子类');
+INSERT INTO `kl_dictionary_info` VALUES ('259', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '61', '其他过敏原集合', '323-600-119', '1', '0', '术语集合相关子类');
+INSERT INTO `kl_dictionary_info` VALUES ('260', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '61', '医疗器械及物品集合', '324-600-120', '1', '0', '术语集合相关子类');
+INSERT INTO `kl_dictionary_info` VALUES ('261', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '61', '部位集合', '325-600-122', '1', '0', '术语集合相关子类');
+INSERT INTO `kl_dictionary_info` VALUES ('262', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '61', '中医疾病集合', '326-600-127', '1', '0', '术语集合相关子类');
+INSERT INTO `kl_dictionary_info` VALUES ('263', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '61', '中医证候集合', '327-600-128', '1', '0', '术语集合相关子类');
+INSERT INTO `kl_dictionary_info` VALUES ('264', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '61', '诱因集合', '328-600-129', '1', '0', '术语集合相关子类');
+INSERT INTO `kl_dictionary_info` VALUES ('265', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '62', '全部', '0', '1', '1', '术语集合类型');
+INSERT INTO `kl_dictionary_info` VALUES ('266', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '62', '疾病集合', '308', '1', '2', '术语集合类型');
+INSERT INTO `kl_dictionary_info` VALUES ('267', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '62', '药品通用名集合', '309', '1', '3', '术语集合类型');
+INSERT INTO `kl_dictionary_info` VALUES ('268', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '62', '药品剂型集合', '310', '1', '4', '术语集合类型');
+INSERT INTO `kl_dictionary_info` VALUES ('269', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '62', '症状集合', '311', '1', '5', '术语集合类型');
+INSERT INTO `kl_dictionary_info` VALUES ('270', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '62', '体格检查项目集合', '312', '1', '6', '术语集合类型');
+INSERT INTO `kl_dictionary_info` VALUES ('271', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '62', '体格检查结果集合', '313', '1', '7', '术语集合类型');
+INSERT INTO `kl_dictionary_info` VALUES ('272', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '62', '手术和操作集合', '314', '1', '8', '术语集合类型');
+INSERT INTO `kl_dictionary_info` VALUES ('273', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '62', '实验室检查套餐集合', '315', '1', '9', '术语集合类型');
+INSERT INTO `kl_dictionary_info` VALUES ('274', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '62', '辅助检查项目集合', '316', '1', '10', '术语集合类型');
+INSERT INTO `kl_dictionary_info` VALUES ('275', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '62', '辅助检查子项目集合', '317', '1', '11', '术语集合类型');
+INSERT INTO `kl_dictionary_info` VALUES ('276', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '62', '辅助检查描述集合', '318', '1', '12', '术语集合类型');
+INSERT INTO `kl_dictionary_info` VALUES ('277', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '62', '辅助检查结果集合', '319', '1', '13', '术语集合类型');
+INSERT INTO `kl_dictionary_info` VALUES ('278', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '62', '麻醉集合', '320', '1', '14', '术语集合类型');
+INSERT INTO `kl_dictionary_info` VALUES ('279', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '62', '科室集合', '321', '1', '15', '术语集合类型');
+INSERT INTO `kl_dictionary_info` VALUES ('280', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '62', '食物集合', '322', '1', '16', '术语集合类型');
+INSERT INTO `kl_dictionary_info` VALUES ('281', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '62', '其他过敏原集合', '323', '1', '17', '术语集合类型');
+INSERT INTO `kl_dictionary_info` VALUES ('282', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '62', '医疗器械及物品集合', '324', '1', '18', '术语集合类型');
+INSERT INTO `kl_dictionary_info` VALUES ('283', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '62', '部位集合', '325', '1', '19', '术语集合类型');
+INSERT INTO `kl_dictionary_info` VALUES ('284', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '62', '中医疾病集合', '326', '1', '20', '术语集合类型');
+INSERT INTO `kl_dictionary_info` VALUES ('285', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '62', '中医证候集合', '327', '1', '21', '术语集合类型');
+INSERT INTO `kl_dictionary_info` VALUES ('286', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '62', '诱因集合', '328', '1', '22', '术语集合类型');
+INSERT INTO `kl_dictionary_info` VALUES ('297', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '63', '疾病集合', '308', '1', '1', '术语集合类型(添加)');
+INSERT INTO `kl_dictionary_info` VALUES ('298', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '63', '药品通用名集合', '309', '1', '2', '术语集合类型(添加)');
+INSERT INTO `kl_dictionary_info` VALUES ('299', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '63', '药品剂型集合', '310', '1', '3', '术语集合类型(添加)');
+INSERT INTO `kl_dictionary_info` VALUES ('300', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '63', '症状集合', '311', '1', '4', '术语集合类型(添加)');
+INSERT INTO `kl_dictionary_info` VALUES ('301', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '63', '体格检查项目集合', '312', '1', '5', '术语集合类型(添加)');
+INSERT INTO `kl_dictionary_info` VALUES ('302', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '63', '体格检查结果集合', '313', '1', '6', '术语集合类型(添加)');
+INSERT INTO `kl_dictionary_info` VALUES ('303', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '63', '手术和操作集合', '314', '1', '7', '术语集合类型(添加)');
+INSERT INTO `kl_dictionary_info` VALUES ('304', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '63', '实验室检查套餐集合', '315', '1', '8', '术语集合类型(添加)');
+INSERT INTO `kl_dictionary_info` VALUES ('305', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '63', '辅助检查项目集合', '316', '1', '9', '术语集合类型(添加)');
+INSERT INTO `kl_dictionary_info` VALUES ('306', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '63', '辅助检查子项目集合', '317', '1', '10', '术语集合类型(添加)');
+INSERT INTO `kl_dictionary_info` VALUES ('307', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '63', '辅助检查描述集合', '318', '1', '11', '术语集合类型(添加)');
+INSERT INTO `kl_dictionary_info` VALUES ('308', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '63', '辅助检查结果集合', '319', '1', '12', '术语集合类型(添加)');
+INSERT INTO `kl_dictionary_info` VALUES ('309', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '63', '麻醉集合', '320', '1', '13', '术语集合类型(添加)');
+INSERT INTO `kl_dictionary_info` VALUES ('310', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '63', '科室集合', '321', '1', '14', '术语集合类型(添加)');
+INSERT INTO `kl_dictionary_info` VALUES ('311', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '63', '食物集合', '322', '1', '15', '术语集合类型(添加)');
+INSERT INTO `kl_dictionary_info` VALUES ('312', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '63', '其他过敏原集合', '323', '1', '16', '术语集合类型(添加)');
+INSERT INTO `kl_dictionary_info` VALUES ('313', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '63', '医疗器械及物品集合', '324', '1', '17', '术语集合类型(添加)');
+INSERT INTO `kl_dictionary_info` VALUES ('314', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '63', '部位集合', '325', '1', '18', '术语集合类型(添加)');
+INSERT INTO `kl_dictionary_info` VALUES ('315', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '63', '中医疾病集合', '326', '1', '19', '术语集合类型(添加)');
+INSERT INTO `kl_dictionary_info` VALUES ('316', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '63', '中医证候集合', '327', '1', '20', '术语集合类型(添加)');
+INSERT INTO `kl_dictionary_info` VALUES ('317', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '63', '诱因集合', '328', '1', '21', '术语集合类型(添加)');
+INSERT INTO `kl_dictionary_info` VALUES ('318', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '23', '复杂情况下高风险手术-手术和操作集合', '2-314', '1', '0', '高危手术存在(无子条件特殊处理)');
+INSERT INTO `kl_dictionary_info` VALUES ('319', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '21', '高危-药品通用名集合', '2-309-1', '1', '0', '附加信息特殊处理(必填)');
+INSERT INTO `kl_dictionary_info` VALUES ('320', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '21', '其他值提醒-辅助检查结果集合', '4-319-1', '1', '0', '附加信息特殊处理(必填)');
+INSERT INTO `kl_dictionary_info` VALUES ('321', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '21', '开单合理性-药品通用名集合', '1-309-0', '1', '0', '附加信息特殊处理(非必填)');
+INSERT INTO `kl_dictionary_info` VALUES ('322', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '21', '开单合理性-实验室检查套餐集合', '1-315-0', '1', '0', '附加信息特殊处理(非必填)');
+INSERT INTO `kl_dictionary_info` VALUES ('323', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '21', '开单合理性-辅助检查项目集合', '1-316-0', '1', '0', '附加信息特殊处理(非必填)');
+INSERT INTO `kl_dictionary_info` VALUES ('324', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '21', '开单合理性-辅助检查子项目集合', '1-317-0', '1', '0', '附加信息特殊处理(非必填)');
+INSERT INTO `kl_dictionary_info` VALUES ('325', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '21', '开单合理性-手术和操作集合', '1-314-0', '1', '0', '附加信息特殊处理(非必填)');
+INSERT INTO `kl_dictionary_info` VALUES ('326', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '21', '正常项目重复开立-辅助检查项目集合', '6-316-0', '1', '0', '附加信息特殊处理(非必填)');
+INSERT INTO `kl_dictionary_info` VALUES ('327', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '21', '正常项目重复开立-辅助检查子项目集合', '6-317-0', '1', '0', '附加信息特殊处理(非必填)');
+INSERT INTO `kl_dictionary_info` VALUES ('328', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '21', '正常项目重复开立-实验室检查套餐集合', '6-315-0', '1', '0', '附加信息特殊处理(非必填)');
+INSERT INTO `kl_dictionary_info` VALUES ('331', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '100', '机械医嘱', '足底静脉泵(气压治疗)', '1', '0', 'VTE医嘱数据');
+INSERT INTO `kl_dictionary_info` VALUES ('332', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '100', '机械医嘱', '间歇充气加压(气压治疗)', '1', '0', 'VTE医嘱数据');
+INSERT INTO `kl_dictionary_info` VALUES ('333', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '100', '机械医嘱', '医用压力弹力袜', '1', '0', 'VTE医嘱数据');
+INSERT INTO `kl_dictionary_info` VALUES ('334', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '100', '机械医嘱', '气压治疗(肢体正负压治疗>=3部位', '1', '0', 'VTE医嘱数据');
+INSERT INTO `kl_dictionary_info` VALUES ('335', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '100', '药物医嘱', '普通肝素', '1', '0', 'VTE医嘱数据');
+INSERT INTO `kl_dictionary_info` VALUES ('336', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '100', '药物医嘱', '进口依诺肝素', '1', '0', 'VTE医嘱数据');
+INSERT INTO `kl_dictionary_info` VALUES ('337', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '100', '药物医嘱', '国产依诺肝素', '1', '0', 'VTE医嘱数据');
+INSERT INTO `kl_dictionary_info` VALUES ('338', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '100', '药物医嘱', '利伐沙班', '1', '0', 'VTE医嘱数据');
+INSERT INTO `kl_dictionary_info` VALUES ('339', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '100', '药物医嘱', '低分子肝素', '1', '0', 'VTE医嘱数据');
+INSERT INTO `kl_dictionary_info` VALUES ('340', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '100', '药物医嘱', '速碧林', '1', '0', 'VTE医嘱数据');
+INSERT INTO `kl_dictionary_info` VALUES ('341', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '100', '药物医嘱', '达肝素', '1', '0', 'VTE医嘱数据');
+INSERT INTO `kl_dictionary_info` VALUES ('342', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '100', '药物医嘱', '磺达肝癸钠', '1', '0', 'VTE医嘱数据');
+INSERT INTO `kl_dictionary_info` VALUES ('343', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '100', '药物医嘱', '达比加群酯', '1', '0', 'VTE医嘱数据');
+INSERT INTO `kl_dictionary_info` VALUES ('344', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '100', '药物医嘱', '阿加曲班', '1', '0', 'VTE医嘱数据');
+INSERT INTO `kl_dictionary_info` VALUES ('345', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '100', '药物医嘱', '比伐卢定', '1', '0', 'VTE医嘱数据');
+INSERT INTO `kl_dictionary_info` VALUES ('346', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '100', '药物医嘱', '华法林1', '1', '0', 'VTE医嘱数据');
+INSERT INTO `kl_dictionary_info` VALUES ('347', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '42', '化验_药品', '该患者[化验结果],可能正在服用[匹配内容],请留意[原因及建议]', '1', '0', '其他值提醒化验提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('348', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '42', '化验_诊断', '该患者[化验结果],患有[匹配内容],请留意[原因及建议]', '1', '0', '其他值提醒化验提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('349', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '42', '化验_人群', '该患者[化验结果],[匹配内容],请留意[原因及建议]', '1', '0', '其他值提醒化验提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('350', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '42', '化验_化验', '该患者[化验结果],[匹配内容],请留意[原因及建议]', '1', '0', '其他值提醒化验提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('351', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '42', '化验_化验本身', '该患者[化验结果],请留意[原因及建议]', '1', '0', '其他值提醒化验提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('352', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '21', '其他指标提醒-实验室检查子项目', '4-108-0', '1', '0', '附加信息特殊处理(非必填)');
+INSERT INTO `kl_dictionary_info` VALUES ('353', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '42', '化验_性别', '该患者[化验结果],[匹配内容],请留意[原因及建议]', '1', '0', '其他值提醒化验提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('354', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '21', '其他值提醒_辅助检查描述', '4-111-0', '1', '0', '附加信息特殊处理(非必填)');
+INSERT INTO `kl_dictionary_info` VALUES ('355', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '20', '其他值提醒-辅助检查描述', '4-111-2', '1', '0', '辅检规则维护特殊处理-子规则首尾固定');
+INSERT INTO `kl_dictionary_info` VALUES ('356', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '23', '检查5级/6级-辅助检查结果', '3-112', '1', '0', '检查(5级)单危急值/(6级)多危急值和异常值存在(无子条件特殊处理)');
+INSERT INTO `kl_dictionary_info` VALUES ('357', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '23', '检查5级/6级-辅助检查结果集合', '3-329', '1', '0', '检查(5级)单危急值/(6级)多危急值和异常值存在(无子条件特殊处理)');
+INSERT INTO `kl_dictionary_info` VALUES ('358', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '43', '化验_化验本身', '该患者[化验结果],请留意[原因及建议]', '1', '0', '化验危急值提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('359', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '43', '化验_人群', '该患者[化验结果],[匹配内容],请留意[原因及建议]', '1', '0', '化验危急值提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('360', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '43', '化验_年龄', '该患者[化验结果],年龄[匹配内容],请留意[原因及建议]', '1', '0', '化验危急值提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('361', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '26', '危机值-实验室检查子项目-开单外存在比较-实验室检查子项目[隐藏]', '3-108-2-108', '1', '0', '危机值-实验室检查子项目-开单外存在比较-实验室检查子项目[隐藏]');
+INSERT INTO `kl_dictionary_info` VALUES ('362', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '42', '辅检_辅助检查描述', '该患者检查提示[辅助检查描述],请留意[原因及建议]', '1', '0', '其他值提醒辅助检查描述提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('363', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '44', '[医疗器械及物品]', '具有#', '1', '0', '提示语前后缀,待用');
+INSERT INTO `kl_dictionary_info` VALUES ('364', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '44', '[手术]', '有#史', '1', '0', '提示语前后缀,待用');

+ 98 - 0
doc/021.20211025接口调用日志记录、药品开单/cdss_init.sql

@@ -0,0 +1,98 @@
+USE `cdss`;
+
+DROP TABLE IF EXISTS `tran_log`;
+CREATE TABLE `tran_log` (
+                            `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '日志ID',
+                            `is_deleted` char(1) NOT NULL DEFAULT 'N' COMMENT '是否删除,N:未删除,Y:删除',
+                            `gmt_create` datetime NOT NULL DEFAULT '1970-01-01 12:00:00' COMMENT '记录创建时间',
+                            `gmt_modified` datetime NOT NULL DEFAULT '1970-01-01 12:00:00' COMMENT '记录修改时间,如果时间是1970年则表示纪录未修改',
+                            `creator` varchar(20) NOT NULL DEFAULT '0' COMMENT '创建人,0表示无创建人值',
+                            `modifier` varchar(20) NOT NULL DEFAULT '0' COMMENT '修改人,如果为0则表示纪录未修改',
+                            `patient_id` varchar(50) DEFAULT NULL COMMENT '病人唯一标识(病人id、病历号等)',
+                            `hospital_id` bigint(20) DEFAULT NULL COMMENT '医院id',
+                            `sub_hospital_code` varchar(255) DEFAULT NULL COMMENT '子医院编码',
+                            `sub_hospital_name` varchar(255) DEFAULT NULL COMMENT '子医院名称',
+                            `scene_name` varchar(100) NOT NULL DEFAULT '' COMMENT '场景名称',
+                            `params` text COMMENT '输入参数',
+                            `result` text COMMENT '返回参数',
+                            `gmt_req` datetime(3) NOT NULL DEFAULT '1970-01-01 12:00:00.000' COMMENT '请求时间',
+                            `gmt_resp` datetime(3) NOT NULL DEFAULT '1970-01-01 12:00:00.000' COMMENT '响应时间',
+                            `exec_time` varchar(16) NOT NULL DEFAULT '0' COMMENT '耗时',
+                            `success_flag` int(11) NOT NULL DEFAULT '1' COMMENT '调用是否成功(0:失败;1:成功)',
+                            PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=44 DEFAULT CHARSET=utf8 COMMENT='系统日志表';
+
+
+/*
+ Navicat Premium Data Transfer
+
+ Source Server         : 192.168.2.236
+ Source Server Type    : MySQL
+ Source Server Version : 50735
+ Source Host           : 192.168.2.236:3306
+ Source Schema         : cdss
+
+ Target Server Type    : MySQL
+ Target Server Version : 50735
+ File Encoding         : 65001
+
+ Date: 28/10/2021 10:02:13
+*/
+
+SET NAMES utf8mb4;
+SET FOREIGN_KEY_CHECKS = 0;
+
+-- ----------------------------
+-- Table structure for sys_menu
+-- ----------------------------
+DROP TABLE IF EXISTS `sys_menu`;
+CREATE TABLE `sys_menu`  (
+                             `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
+                             `is_deleted` char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT 'N' COMMENT '是否删除,N:未删除,Y:删除',
+                             `gmt_create` datetime(0) NOT NULL DEFAULT '1970-01-01 12:00:00' COMMENT '记录创建时间',
+                             `gmt_modified` datetime(0) NOT NULL DEFAULT '1970-01-01 12:00:00' COMMENT '记录修改时间,如果时间是1970年则表示纪录未修改',
+                             `creator` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '0' COMMENT '创建人,0表示无创建人值',
+                             `modifier` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '0' COMMENT '修改人,如果为0则表示纪录未修改',
+                             `name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '菜单名称',
+                             `parent_id` bigint(20) NOT NULL DEFAULT -1 COMMENT '-1:表示顶级,其他值表示上级菜单的id',
+                             `code` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '编码,与前端对应',
+                             `order_no` int(11) NOT NULL DEFAULT 0 COMMENT '排序,从小到大',
+                             `remark` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '备注',
+                             PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 23 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '系统菜单' ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of sys_menu
+-- ----------------------------
+INSERT INTO `sys_menu` VALUES (1, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学术语库维护', -1, 'CDSS-YXSYK', 1, '');
+INSERT INTO `sys_menu` VALUES (2, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '系统配置', -1, 'CDSS-XTPZ', 2, '');
+INSERT INTO `sys_menu` VALUES (3, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '诊断关联维护', 1, 'YXSYK-ZDGLWH', 2, '医学术语库维护-诊断关联维护');
+INSERT INTO `sys_menu` VALUES (4, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '检验关联维护', 1, 'YXSYK-JYGLWH', 3, '医学术语库维护-检验关联维护');
+INSERT INTO `sys_menu` VALUES (5, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '检查关联维护', 1, 'YXSYK-JCGLWH', 4, '医学术语库维护-检验关联维护-检查关联维护');
+INSERT INTO `sys_menu` VALUES (6, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '药品关联维护', 1, 'YXSYK-YPGLWH', 5, '');
+INSERT INTO `sys_menu` VALUES (7, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '手术/操作关联维护', 1, 'YXSYK-SSCZGLWH', 6, '');
+INSERT INTO `sys_menu` VALUES (8, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '科室关联维护', 1, 'YXSYK-KSGLWH', 8, '');
+INSERT INTO `sys_menu` VALUES (9, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '医学术语静态知识维护', 1, 'YXSYK-JTZSWH', 1, '');
+INSERT INTO `sys_menu` VALUES (10, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '关联维护设置', 1, 'YXSYK-GLWH', 100, '');
+INSERT INTO `sys_menu` VALUES (11, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '电子病历方案配置', 2, 'XTPZ-DZBLFAPZ', 1, '');
+INSERT INTO `sys_menu` VALUES (12, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '输血关联维护', 1, 'YXSYK-SXGLWH', 7, '');
+INSERT INTO `sys_menu` VALUES (13, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '规则维护', -1, 'CDSS-GZWH', 3, '规则维护');
+INSERT INTO `sys_menu` VALUES (14, 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '开单合理性规则维护', 13, 'GZWH-KDHLXGZWH', 1, '规则维护-开单合理性规则维护');
+INSERT INTO `sys_menu` VALUES (15, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '规则维护', 13, 'GZWH-GZWH', 1, '规则维护-规则维护');
+INSERT INTO `sys_menu` VALUES (16, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '量表关联维护', 1, 'YXSYK-LBGLWH', 9, '医学术语库维护-量表关联维护');
+INSERT INTO `sys_menu` VALUES (17, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '护理关联维护', 1, 'YXSYK-HLGLWH', 10, '医学术语库维护-护理关联维护');
+INSERT INTO `sys_menu` VALUES (18, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '中医疾病关联维护', 1, 'YXSYK-ZYJBGLWH', 13, '医学术语库维护-中医疾病关联维护');
+INSERT INTO `sys_menu` VALUES (19, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '中医证候关联维护', 1, 'YXSYK-ZYZHGLWH', 14, '医学术语库维护-中医证候关联维护');
+INSERT INTO `sys_menu` VALUES (20, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '子医院维护', 2, 'XTPZ-ZYYWH', 2, '');
+INSERT INTO `sys_menu` VALUES (21, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '给药途径关联维护', 1, 'YXSYK-GYTJGLWH', 11, '医学术语库维护-给药途径关联维护');
+INSERT INTO `sys_menu` VALUES (22, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '麻醉关联维护', 1, 'YXSYK-MZGLWH', 12, '医学术语库维护-麻醉关联维护');
+INSERT INTO `sys_menu` VALUES (23, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '接口管理', -1, 'CDSS-JKGL', 4, '接口管理');
+INSERT INTO `sys_menu` VALUES (24, 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '调用记录', 23, 'JKGL-DYJL', 1, '接口管理-调用记录');
+
+
+SET FOREIGN_KEY_CHECKS = 1;
+
+INSERT INTO `sys_role_menu`(`is_deleted`, `gmt_create`, `gmt_modified`, `creator`, `modifier`, `role_id`, `menu_id`, `remark`) VALUES ('N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', -1, 21, NULL);
+INSERT INTO `sys_role_menu`(`is_deleted`, `gmt_create`, `gmt_modified`, `creator`, `modifier`, `role_id`, `menu_id`, `remark`) VALUES ('N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', -1, 22, NULL);
+INSERT INTO `sys_role_menu`(`is_deleted`, `gmt_create`, `gmt_modified`, `creator`, `modifier`, `role_id`, `menu_id`, `remark`) VALUES ('N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', -1, 23, NULL);
+INSERT INTO `sys_role_menu`(`is_deleted`, `gmt_create`, `gmt_modified`, `creator`, `modifier`, `role_id`, `menu_id`, `remark`) VALUES ('N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', -1, 24, NULL);

+ 931 - 0
doc/021.20211025接口调用日志记录、药品开单/med2021_init.sql

@@ -0,0 +1,931 @@
+USE `med_2021`;
+
+INSERT INTO `kl_lexicon` (`id`, `is_deleted`, `gmt_create`, `gmt_modified`, `creator`, `modifier`, `name`, `code`, `is_has_common`, `only_one`, `can_change`, `remark`) VALUES ('73', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '给药途径集合', '329', '0', '0', '0', '');
+INSERT INTO `kl_lexicon` (`id`, `is_deleted`, `gmt_create`, `gmt_modified`, `creator`, `modifier`, `name`, `code`, `is_has_common`, `only_one`, `can_change`, `remark`) VALUES ('74', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '物理治疗', '132', '1', '0', '0', '');
+
+
+-- ----------------------------
+-- Table structure for kl_rule_plan
+-- ----------------------------
+DROP TABLE IF EXISTS `kl_rule_plan`;
+CREATE TABLE `kl_rule_plan` (
+    `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '资源ID',
+    `is_deleted` char(1) NOT NULL DEFAULT 'N' COMMENT '是否删除,N:未删除,Y:删除',
+    `gmt_create` datetime NOT NULL DEFAULT '1970-01-01 12:00:00' COMMENT '记录创建时间',
+    `gmt_modified` datetime NOT NULL DEFAULT '1970-01-01 12:00:00' COMMENT '记录修改时间,如果时间是1970年则表示纪录未修改',
+    `creator` varchar(20) NOT NULL DEFAULT '0' COMMENT '创建人,0表示无创建人值',
+    `modifier` varchar(20) NOT NULL DEFAULT '0' COMMENT '修改人,如果为0则表示纪录未修改',
+    `plan_code` varchar(255) DEFAULT NULL COMMENT '方案编码(rule规则dis诊断依据)',
+    `rule_type` bigint(20) DEFAULT NULL COMMENT '规则类型(1:开单合理性;2:高危;3:危急值;4:其他值提醒;5:其他值提醒输血;6:正常项目重复开立)',
+    `parent_id` bigint(20) DEFAULT NULL COMMENT '-1:表示顶级,其他值表示上级菜单的id',
+    `name` varchar(255) DEFAULT NULL COMMENT '基础规则类型',
+    `type` int(2) DEFAULT NULL,
+    `number` int(11) DEFAULT NULL COMMENT '条件数量',
+    `code` varchar(255) DEFAULT NULL COMMENT '类型编码',
+    `order_no` int(11) DEFAULT NULL COMMENT '显示顺序',
+    `remark` varchar(255) DEFAULT NULL,
+    PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=27098 DEFAULT CHARSET=utf8;
+
+-- ----------------------------
+-- Records of kl_rule_plan
+-- ----------------------------
+INSERT INTO `kl_rule_plan` VALUES ('1', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '-1', '开单合理性', '1', null, '', '1', '');
+INSERT INTO `kl_rule_plan` VALUES ('2', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '2', '-1', '高危', '2', null, '', '2', '');
+INSERT INTO `kl_rule_plan` VALUES ('3', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '3', '-1', '危急值', '3', null, '', '3', '');
+INSERT INTO `kl_rule_plan` VALUES ('4', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '-1', '其他值提醒', '4', null, '', '4', '');
+INSERT INTO `kl_rule_plan` VALUES ('5', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '5', '-1', '其他值提醒输血', '5', null, '', '5', '');
+INSERT INTO `kl_rule_plan` VALUES ('6', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '6', '-1', '正常项目重复开立', '6', null, '', '6', '');
+INSERT INTO `kl_rule_plan` VALUES ('10', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1', '药品通用名', null, '3', '101', '1', '');
+INSERT INTO `kl_rule_plan` VALUES ('11', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1', '药品通用名集合', null, '3', '309', '2', '');
+INSERT INTO `kl_rule_plan` VALUES ('12', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1', '实验室检查套餐', null, '1', '107', '3', '');
+INSERT INTO `kl_rule_plan` VALUES ('13', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1', '实验室检查套餐集合', null, '1', '315', '4', '');
+INSERT INTO `kl_rule_plan` VALUES ('14', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1', '辅助检查项目', null, '1', '109', '5', '');
+INSERT INTO `kl_rule_plan` VALUES ('15', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1', '辅助检查项目集合', null, '1', '316', '6', '');
+INSERT INTO `kl_rule_plan` VALUES ('16', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1', '辅助检查子项目', null, '1', '110', '7', '');
+INSERT INTO `kl_rule_plan` VALUES ('17', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1', '辅助检查子项目集合', null, '1', '317', '8', '');
+INSERT INTO `kl_rule_plan` VALUES ('18', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1', '手术和操作', null, '1', '106', '9', '');
+INSERT INTO `kl_rule_plan` VALUES ('19', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1', '手术和操作集合', null, '1', '314', '10', '');
+INSERT INTO `kl_rule_plan` VALUES ('20', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1', '输血类型', null, '1', '113', '11', '');
+INSERT INTO `kl_rule_plan` VALUES ('21', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '2', '2', '药品通用名', null, '1', '101', '1', '');
+INSERT INTO `kl_rule_plan` VALUES ('22', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '2', '2', '药品通用名集合', null, '1', '309', '2', '');
+INSERT INTO `kl_rule_plan` VALUES ('23', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '2', '2', '手术和操作', null, '0', '106', '3', '');
+INSERT INTO `kl_rule_plan` VALUES ('24', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '2', '2', '手术和操作集合', null, '0', '314', '4', '');
+INSERT INTO `kl_rule_plan` VALUES ('30', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '3', '3', '实验室检查子项目', null, '2', '108', '1', '');
+INSERT INTO `kl_rule_plan` VALUES ('31', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '3', '3', '辅助检查结果', null, '0', '112', '2', '');
+INSERT INTO `kl_rule_plan` VALUES ('32', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '3', '3', '辅助检查结果集合', null, '0', '319', '3', '');
+INSERT INTO `kl_rule_plan` VALUES ('40', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '4', '实验室检查子项目', null, '2', '108', '1', '');
+INSERT INTO `kl_rule_plan` VALUES ('41', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '4', '辅助检查结果', null, '2', '112', '2', '');
+INSERT INTO `kl_rule_plan` VALUES ('42', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '4', '辅助检查结果集合', null, '2', '319', '3', '');
+INSERT INTO `kl_rule_plan` VALUES ('43', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '4', '辅助检查描述', null, '3', '111', '4', '');
+INSERT INTO `kl_rule_plan` VALUES ('50', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '5', '5', '实验室检查子项目', null, '2', '108', '1', '');
+INSERT INTO `kl_rule_plan` VALUES ('60', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '6', '6', '辅助检查项目', null, '1', '109', '1', '');
+INSERT INTO `kl_rule_plan` VALUES ('61', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '6', '6', '辅助检查项目集合', null, '1', '316', '2', '');
+INSERT INTO `kl_rule_plan` VALUES ('62', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '6', '6', '辅助检查子项目', null, '1', '110', '3', '');
+INSERT INTO `kl_rule_plan` VALUES ('63', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '6', '6', '辅助检查子项目集合', null, '1', '317', '4', '');
+INSERT INTO `kl_rule_plan` VALUES ('64', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '6', '6', '实验室检查套餐', null, '1', '107', '5', '');
+INSERT INTO `kl_rule_plan` VALUES ('65', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '6', '6', '实验室检查套餐集合', null, '1', '315', '6', '');
+INSERT INTO `kl_rule_plan` VALUES ('100', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '10', '开单外等于术语本身', '1', null, '', '1', '');
+INSERT INTO `kl_rule_plan` VALUES ('101', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '10', '开单外存在比较', '2', null, '', '2', '');
+INSERT INTO `kl_rule_plan` VALUES ('102', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '10', '过敏原', '4', null, '', '3', '');
+INSERT INTO `kl_rule_plan` VALUES ('103', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '100', '人群', null, null, '117', '1', '1');
+INSERT INTO `kl_rule_plan` VALUES ('104', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '100', '性别', null, null, '116', '2', '1');
+INSERT INTO `kl_rule_plan` VALUES ('105', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '100', '疾病', null, null, '100', '3', '1');
+INSERT INTO `kl_rule_plan` VALUES ('106', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '100', '疾病集合', null, null, '308', '4', '1');
+INSERT INTO `kl_rule_plan` VALUES ('107', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '100', '医疗器械及物品', null, null, '120', '5', '1');
+INSERT INTO `kl_rule_plan` VALUES ('108', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '100', '医疗器械及物品集合', null, null, '324', '6', '1');
+INSERT INTO `kl_rule_plan` VALUES ('109', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '100', '药品通用名', null, null, '101', '7', '1');
+INSERT INTO `kl_rule_plan` VALUES ('110', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '100', '药品通用名集合', null, null, '309', '8', '1');
+INSERT INTO `kl_rule_plan` VALUES ('111', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '100', '症状', null, null, '103', '9', '1');
+INSERT INTO `kl_rule_plan` VALUES ('112', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '100', '症状集合', null, null, '311', '10', '1');
+INSERT INTO `kl_rule_plan` VALUES ('113', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '100', '辅助检查结果', null, null, '112', '11', '1');
+INSERT INTO `kl_rule_plan` VALUES ('114', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '100', '辅助检查结果集合', null, null, '319', '12', '1');
+INSERT INTO `kl_rule_plan` VALUES ('115', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '100', '体格检查结果', null, null, '105', '13', '1');
+INSERT INTO `kl_rule_plan` VALUES ('116', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '100', '体格检查结果集合', null, null, '313', '14', '1');
+INSERT INTO `kl_rule_plan` VALUES ('117', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '100', '手术和操作', null, null, '106', '15', '1');
+INSERT INTO `kl_rule_plan` VALUES ('118', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '100', '手术和操作集合', null, null, '314', '16', '1');
+INSERT INTO `kl_rule_plan` VALUES ('119', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '101', '年龄', null, null, '410', '1', '');
+INSERT INTO `kl_rule_plan` VALUES ('120', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '101', '体格检查项目', null, null, '104', '2', '');
+INSERT INTO `kl_rule_plan` VALUES ('121', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '101', '体格检查项目集合', null, null, '312', '3', '');
+INSERT INTO `kl_rule_plan` VALUES ('122', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '101', '实验室检查子项目', null, null, '108', '4', '');
+INSERT INTO `kl_rule_plan` VALUES ('123', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '102', '药品通用名', null, null, '101', '1', '');
+INSERT INTO `kl_rule_plan` VALUES ('124', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '102', '药品通用名集合', null, null, '309', '2', '');
+INSERT INTO `kl_rule_plan` VALUES ('125', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '102', '药品化学物质类别', null, null, '301', '3', '');
+INSERT INTO `kl_rule_plan` VALUES ('126', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '102', '药品治疗学类别', null, null, '302', '4', '');
+INSERT INTO `kl_rule_plan` VALUES ('127', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '102', '药品药理学类别', null, null, '303', '5', '');
+INSERT INTO `kl_rule_plan` VALUES ('128', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '102', '药品解剖学类别', null, null, '304', '6', '');
+INSERT INTO `kl_rule_plan` VALUES ('129', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '102', '其他过敏原', null, null, '119', '7', '');
+INSERT INTO `kl_rule_plan` VALUES ('130', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '102', '其他过敏原集合', null, null, '323', '8', '');
+INSERT INTO `kl_rule_plan` VALUES ('200', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '11', '开单外等于术语本身', '1', null, '', '1', '');
+INSERT INTO `kl_rule_plan` VALUES ('201', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '11', '开单外存在比较', '2', null, '', '2', '');
+INSERT INTO `kl_rule_plan` VALUES ('202', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '11', '过敏原', '4', null, '', '3', '');
+INSERT INTO `kl_rule_plan` VALUES ('203', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '200', '人群', null, null, '117', '1', '1');
+INSERT INTO `kl_rule_plan` VALUES ('204', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '200', '性别', null, null, '116', '2', '1');
+INSERT INTO `kl_rule_plan` VALUES ('205', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '200', '疾病', null, null, '100', '3', '1');
+INSERT INTO `kl_rule_plan` VALUES ('206', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '200', '疾病集合', null, null, '308', '4', '1');
+INSERT INTO `kl_rule_plan` VALUES ('207', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '200', '医疗器械及物品', null, null, '120', '5', '1');
+INSERT INTO `kl_rule_plan` VALUES ('208', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '200', '医疗器械及物品集合', null, null, '324', '6', '1');
+INSERT INTO `kl_rule_plan` VALUES ('209', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '200', '药品通用名', null, null, '101', '7', '1');
+INSERT INTO `kl_rule_plan` VALUES ('210', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '200', '药品通用名集合', null, null, '309', '8', '1');
+INSERT INTO `kl_rule_plan` VALUES ('211', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '200', '症状', null, null, '103', '9', '1');
+INSERT INTO `kl_rule_plan` VALUES ('212', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '200', '症状集合', null, null, '311', '10', '1');
+INSERT INTO `kl_rule_plan` VALUES ('213', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '200', '辅助检查结果', null, null, '112', '11', '1');
+INSERT INTO `kl_rule_plan` VALUES ('214', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '200', '辅助检查结果集合', null, null, '319', '12', '1');
+INSERT INTO `kl_rule_plan` VALUES ('215', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '200', '体格检查结果', null, null, '105', '13', '1');
+INSERT INTO `kl_rule_plan` VALUES ('216', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '200', '体格检查结果集合', null, null, '313', '14', '1');
+INSERT INTO `kl_rule_plan` VALUES ('217', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '200', '手术和操作', null, null, '106', '15', '1');
+INSERT INTO `kl_rule_plan` VALUES ('218', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '200', '手术和操作集合', null, null, '314', '16', '1');
+INSERT INTO `kl_rule_plan` VALUES ('219', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '201', '年龄', null, null, '410', '1', '');
+INSERT INTO `kl_rule_plan` VALUES ('220', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '201', '体格检查项目', null, null, '104', '2', '');
+INSERT INTO `kl_rule_plan` VALUES ('221', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '201', '体格检查项目集合', null, null, '312', '3', '');
+INSERT INTO `kl_rule_plan` VALUES ('222', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '201', '实验室检查子项目', null, null, '108', '4', '');
+INSERT INTO `kl_rule_plan` VALUES ('223', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '202', '药品通用名', null, null, '101', '1', '');
+INSERT INTO `kl_rule_plan` VALUES ('224', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '202', '药品通用名集合', null, null, '309', '2', '');
+INSERT INTO `kl_rule_plan` VALUES ('225', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '202', '药品化学物质类别', null, null, '301', '3', '');
+INSERT INTO `kl_rule_plan` VALUES ('226', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '202', '药品治疗学类别', null, null, '302', '4', '');
+INSERT INTO `kl_rule_plan` VALUES ('227', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '202', '药品药理学类别', null, null, '303', '5', '');
+INSERT INTO `kl_rule_plan` VALUES ('228', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '202', '药品解剖学类别', null, null, '304', '6', '');
+INSERT INTO `kl_rule_plan` VALUES ('229', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '202', '其他过敏原', null, null, '119', '7', '');
+INSERT INTO `kl_rule_plan` VALUES ('230', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '202', '其他过敏原集合', null, null, '323', '8', '');
+INSERT INTO `kl_rule_plan` VALUES ('300', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '12', '开单外等于术语本身', '1', null, '', '1', '');
+INSERT INTO `kl_rule_plan` VALUES ('301', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '12', '开单外存在比较', '2', null, '', '2', '');
+INSERT INTO `kl_rule_plan` VALUES ('302', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '12', '过敏原', '4', null, '', '3', '');
+INSERT INTO `kl_rule_plan` VALUES ('303', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '12', '开单项', '5', null, '', '4', '');
+INSERT INTO `kl_rule_plan` VALUES ('304', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '300', '人群', null, null, '117', '1', '');
+INSERT INTO `kl_rule_plan` VALUES ('305', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '300', '性别', null, null, '116', '2', '');
+INSERT INTO `kl_rule_plan` VALUES ('306', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '300', '疾病', null, null, '100', '3', '');
+INSERT INTO `kl_rule_plan` VALUES ('307', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '300', '疾病集合', null, null, '308', '4', '');
+INSERT INTO `kl_rule_plan` VALUES ('308', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '300', '医疗器械及物品', null, null, '120', '5', '');
+INSERT INTO `kl_rule_plan` VALUES ('309', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '300', '医疗器械及物品集合', null, null, '324', '6', '');
+INSERT INTO `kl_rule_plan` VALUES ('310', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '300', '药品通用名', null, null, '101', '7', '');
+INSERT INTO `kl_rule_plan` VALUES ('311', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '300', '药品通用名集合', null, null, '309', '8', '');
+INSERT INTO `kl_rule_plan` VALUES ('312', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '300', '症状', null, null, '103', '9', '');
+INSERT INTO `kl_rule_plan` VALUES ('313', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '300', '症状集合', null, null, '311', '10', '');
+INSERT INTO `kl_rule_plan` VALUES ('314', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '300', '辅助检查结果', null, null, '112', '11', '');
+INSERT INTO `kl_rule_plan` VALUES ('315', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '300', '辅助检查结果集合', null, null, '319', '12', '');
+INSERT INTO `kl_rule_plan` VALUES ('316', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '300', '体格检查结果', null, null, '105', '13', '');
+INSERT INTO `kl_rule_plan` VALUES ('317', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '300', '体格检查结果集合', null, null, '313', '14', '');
+INSERT INTO `kl_rule_plan` VALUES ('318', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '300', '手术和操作', null, null, '106', '15', '');
+INSERT INTO `kl_rule_plan` VALUES ('319', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '300', '手术和操作集合', null, null, '314', '16', '');
+INSERT INTO `kl_rule_plan` VALUES ('320', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '301', '年龄', null, null, '410', '17', '');
+INSERT INTO `kl_rule_plan` VALUES ('321', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '301', '体格检查项目', null, null, '104', '18', '');
+INSERT INTO `kl_rule_plan` VALUES ('322', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '301', '体格检查项目集合', null, null, '312', '19', '');
+INSERT INTO `kl_rule_plan` VALUES ('323', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '301', '实验室检查子项目', null, null, '108', '20', '');
+INSERT INTO `kl_rule_plan` VALUES ('324', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '302', '药品通用名', null, null, '101', '21', '');
+INSERT INTO `kl_rule_plan` VALUES ('325', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '302', '药品通用名集合', null, null, '309', '22', '');
+INSERT INTO `kl_rule_plan` VALUES ('326', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '302', '药品化学物质类别', null, null, '301', '23', '');
+INSERT INTO `kl_rule_plan` VALUES ('327', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '302', '药品治疗学类别', null, null, '302', '24', '');
+INSERT INTO `kl_rule_plan` VALUES ('328', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '302', '药品药理学类别', null, null, '303', '25', '');
+INSERT INTO `kl_rule_plan` VALUES ('329', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '302', '药品解剖学类别', null, null, '304', '26', '');
+INSERT INTO `kl_rule_plan` VALUES ('330', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '302', '其他过敏原', null, null, '119', '27', '');
+INSERT INTO `kl_rule_plan` VALUES ('331', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '302', '其他过敏原集合', null, null, '323', '28', '');
+INSERT INTO `kl_rule_plan` VALUES ('332', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '303', '实验室检查套餐', null, null, '107', '29', '');
+INSERT INTO `kl_rule_plan` VALUES ('333', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '303', '实验室检查套餐集合', null, null, '315', '30', '');
+INSERT INTO `kl_rule_plan` VALUES ('400', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '13', '开单外等于术语本身', '1', null, '', '1', '');
+INSERT INTO `kl_rule_plan` VALUES ('401', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '13', '开单外存在比较', '2', null, '', '2', '');
+INSERT INTO `kl_rule_plan` VALUES ('402', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '13', '过敏原', '4', null, '', '3', '');
+INSERT INTO `kl_rule_plan` VALUES ('403', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '13', '开单项', '5', null, '', '4', '');
+INSERT INTO `kl_rule_plan` VALUES ('404', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '400', '人群', null, null, '117', '1', '');
+INSERT INTO `kl_rule_plan` VALUES ('405', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '400', '性别', null, null, '116', '2', '');
+INSERT INTO `kl_rule_plan` VALUES ('406', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '400', '疾病', null, null, '100', '3', '');
+INSERT INTO `kl_rule_plan` VALUES ('407', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '400', '疾病集合', null, null, '308', '4', '');
+INSERT INTO `kl_rule_plan` VALUES ('408', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '400', '医疗器械及物品', null, null, '120', '5', '');
+INSERT INTO `kl_rule_plan` VALUES ('409', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '400', '医疗器械及物品集合', null, null, '324', '6', '');
+INSERT INTO `kl_rule_plan` VALUES ('410', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '400', '药品通用名', null, null, '101', '7', '');
+INSERT INTO `kl_rule_plan` VALUES ('411', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '400', '药品通用名集合', null, null, '309', '8', '');
+INSERT INTO `kl_rule_plan` VALUES ('412', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '400', '症状', null, null, '103', '9', '');
+INSERT INTO `kl_rule_plan` VALUES ('413', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '400', '症状集合', null, null, '311', '10', '');
+INSERT INTO `kl_rule_plan` VALUES ('414', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '400', '辅助检查结果', null, null, '112', '11', '');
+INSERT INTO `kl_rule_plan` VALUES ('415', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '400', '辅助检查结果集合', null, null, '319', '12', '');
+INSERT INTO `kl_rule_plan` VALUES ('416', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '400', '体格检查结果', null, null, '105', '13', '');
+INSERT INTO `kl_rule_plan` VALUES ('417', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '400', '体格检查结果集合', null, null, '313', '14', '');
+INSERT INTO `kl_rule_plan` VALUES ('418', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '400', '手术和操作', null, null, '106', '15', '');
+INSERT INTO `kl_rule_plan` VALUES ('419', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '400', '手术和操作集合', null, null, '314', '16', '');
+INSERT INTO `kl_rule_plan` VALUES ('420', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '401', '年龄', null, null, '410', '17', '');
+INSERT INTO `kl_rule_plan` VALUES ('421', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '401', '体格检查项目', null, null, '104', '18', '');
+INSERT INTO `kl_rule_plan` VALUES ('422', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '401', '体格检查项目集合', null, null, '312', '19', '');
+INSERT INTO `kl_rule_plan` VALUES ('423', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '401', '实验室检查子项目', null, null, '108', '20', '');
+INSERT INTO `kl_rule_plan` VALUES ('424', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '402', '药品通用名', null, null, '101', '21', '');
+INSERT INTO `kl_rule_plan` VALUES ('425', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '402', '药品通用名集合', null, null, '309', '22', '');
+INSERT INTO `kl_rule_plan` VALUES ('426', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '402', '药品化学物质类别', null, null, '301', '23', '');
+INSERT INTO `kl_rule_plan` VALUES ('427', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '402', '药品治疗学类别', null, null, '302', '24', '');
+INSERT INTO `kl_rule_plan` VALUES ('428', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '402', '药品药理学类别', null, null, '303', '25', '');
+INSERT INTO `kl_rule_plan` VALUES ('429', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '402', '药品解剖学类别', null, null, '304', '26', '');
+INSERT INTO `kl_rule_plan` VALUES ('430', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '402', '其他过敏原', null, null, '119', '27', '');
+INSERT INTO `kl_rule_plan` VALUES ('431', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '402', '其他过敏原集合', null, null, '323', '28', '');
+INSERT INTO `kl_rule_plan` VALUES ('432', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '403', '实验室检查套餐', null, null, '107', '29', '');
+INSERT INTO `kl_rule_plan` VALUES ('433', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '403', '实验室检查套餐集合', null, null, '315', '30', '');
+INSERT INTO `kl_rule_plan` VALUES ('500', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '14', '开单外等于术语本身', '1', null, '', '1', '');
+INSERT INTO `kl_rule_plan` VALUES ('501', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '14', '开单外存在比较', '2', null, '', '2', '');
+INSERT INTO `kl_rule_plan` VALUES ('502', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '14', '过敏原', '4', null, '', '3', '');
+INSERT INTO `kl_rule_plan` VALUES ('503', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '14', '开单项', '5', null, '', '4', '');
+INSERT INTO `kl_rule_plan` VALUES ('504', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '500', '人群', null, null, '117', '1', '');
+INSERT INTO `kl_rule_plan` VALUES ('505', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '500', '性别', null, null, '116', '2', '');
+INSERT INTO `kl_rule_plan` VALUES ('506', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '500', '疾病', null, null, '100', '3', '');
+INSERT INTO `kl_rule_plan` VALUES ('507', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '500', '疾病集合', null, null, '308', '4', '');
+INSERT INTO `kl_rule_plan` VALUES ('508', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '500', '医疗器械及物品', null, null, '120', '5', '');
+INSERT INTO `kl_rule_plan` VALUES ('509', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '500', '医疗器械及物品集合', null, null, '324', '6', '');
+INSERT INTO `kl_rule_plan` VALUES ('510', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '500', '药品通用名', null, null, '101', '7', '');
+INSERT INTO `kl_rule_plan` VALUES ('511', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '500', '药品通用名集合', null, null, '309', '8', '');
+INSERT INTO `kl_rule_plan` VALUES ('512', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '500', '症状', null, null, '103', '9', '');
+INSERT INTO `kl_rule_plan` VALUES ('513', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '500', '症状集合', null, null, '311', '10', '');
+INSERT INTO `kl_rule_plan` VALUES ('514', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '500', '辅助检查结果', null, null, '112', '11', '');
+INSERT INTO `kl_rule_plan` VALUES ('515', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '500', '辅助检查结果集合', null, null, '319', '12', '');
+INSERT INTO `kl_rule_plan` VALUES ('516', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '500', '体格检查结果', null, null, '105', '13', '');
+INSERT INTO `kl_rule_plan` VALUES ('517', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '500', '体格检查结果集合', null, null, '313', '14', '');
+INSERT INTO `kl_rule_plan` VALUES ('518', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '500', '手术和操作', null, null, '106', '15', '');
+INSERT INTO `kl_rule_plan` VALUES ('519', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '500', '手术和操作集合', null, null, '314', '16', '');
+INSERT INTO `kl_rule_plan` VALUES ('520', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '501', '年龄', null, null, '410', '17', '');
+INSERT INTO `kl_rule_plan` VALUES ('521', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '501', '体格检查项目', null, null, '104', '18', '');
+INSERT INTO `kl_rule_plan` VALUES ('522', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '501', '体格检查项目集合', null, null, '312', '19', '');
+INSERT INTO `kl_rule_plan` VALUES ('523', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '501', '实验室检查子项目', null, null, '108', '20', '');
+INSERT INTO `kl_rule_plan` VALUES ('524', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '502', '药品通用名', null, null, '101', '21', '');
+INSERT INTO `kl_rule_plan` VALUES ('525', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '502', '药品通用名集合', null, null, '309', '22', '');
+INSERT INTO `kl_rule_plan` VALUES ('526', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '502', '药品化学物质类别', null, null, '301', '23', '');
+INSERT INTO `kl_rule_plan` VALUES ('527', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '502', '药品治疗学类别', null, null, '302', '24', '');
+INSERT INTO `kl_rule_plan` VALUES ('528', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '502', '药品药理学类别', null, null, '303', '25', '');
+INSERT INTO `kl_rule_plan` VALUES ('529', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '502', '药品解剖学类别', null, null, '304', '26', '');
+INSERT INTO `kl_rule_plan` VALUES ('530', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '502', '其他过敏原', null, null, '119', '27', '');
+INSERT INTO `kl_rule_plan` VALUES ('531', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '502', '其他过敏原集合', null, null, '323', '28', '');
+INSERT INTO `kl_rule_plan` VALUES ('532', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '503', '辅助检查项目', null, null, '109', '29', '');
+INSERT INTO `kl_rule_plan` VALUES ('533', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '503', '辅助检查项目集合', null, null, '316', '30', '');
+INSERT INTO `kl_rule_plan` VALUES ('534', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '503', '辅助检查子项目', null, null, '110', '31', '');
+INSERT INTO `kl_rule_plan` VALUES ('535', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '503', '辅助检查子项目集合', null, null, '317', '32', '');
+INSERT INTO `kl_rule_plan` VALUES ('600', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '15', '开单外等于术语本身', '1', null, '', '1', '');
+INSERT INTO `kl_rule_plan` VALUES ('601', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '15', '开单外存在比较', '2', null, '', '2', '');
+INSERT INTO `kl_rule_plan` VALUES ('602', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '15', '过敏原', '4', null, '', '3', '');
+INSERT INTO `kl_rule_plan` VALUES ('603', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '15', '开单项', '5', null, '', '4', '');
+INSERT INTO `kl_rule_plan` VALUES ('604', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '600', '人群', null, null, '117', '1', '');
+INSERT INTO `kl_rule_plan` VALUES ('605', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '600', '性别', null, null, '116', '2', '');
+INSERT INTO `kl_rule_plan` VALUES ('606', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '600', '疾病', null, null, '100', '3', '');
+INSERT INTO `kl_rule_plan` VALUES ('607', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '600', '疾病集合', null, null, '308', '4', '');
+INSERT INTO `kl_rule_plan` VALUES ('608', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '600', '医疗器械及物品', null, null, '120', '5', '');
+INSERT INTO `kl_rule_plan` VALUES ('609', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '600', '医疗器械及物品集合', null, null, '324', '6', '');
+INSERT INTO `kl_rule_plan` VALUES ('610', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '600', '药品通用名', null, null, '101', '7', '');
+INSERT INTO `kl_rule_plan` VALUES ('611', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '600', '药品通用名集合', null, null, '309', '8', '');
+INSERT INTO `kl_rule_plan` VALUES ('612', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '600', '症状', null, null, '103', '9', '');
+INSERT INTO `kl_rule_plan` VALUES ('613', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '600', '症状集合', null, null, '311', '10', '');
+INSERT INTO `kl_rule_plan` VALUES ('614', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '600', '辅助检查结果', null, null, '112', '11', '');
+INSERT INTO `kl_rule_plan` VALUES ('615', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '600', '辅助检查结果集合', null, null, '319', '12', '');
+INSERT INTO `kl_rule_plan` VALUES ('616', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '600', '体格检查结果', null, null, '105', '13', '');
+INSERT INTO `kl_rule_plan` VALUES ('617', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '600', '体格检查结果集合', null, null, '313', '14', '');
+INSERT INTO `kl_rule_plan` VALUES ('618', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '600', '手术和操作', null, null, '106', '15', '');
+INSERT INTO `kl_rule_plan` VALUES ('619', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '600', '手术和操作集合', null, null, '314', '16', '');
+INSERT INTO `kl_rule_plan` VALUES ('620', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '601', '年龄', null, null, '410', '17', '');
+INSERT INTO `kl_rule_plan` VALUES ('621', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '601', '体格检查项目', null, null, '104', '18', '');
+INSERT INTO `kl_rule_plan` VALUES ('622', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '601', '体格检查项目集合', null, null, '312', '19', '');
+INSERT INTO `kl_rule_plan` VALUES ('623', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '601', '实验室检查子项目', null, null, '108', '20', '');
+INSERT INTO `kl_rule_plan` VALUES ('624', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '602', '药品通用名', null, null, '101', '21', '');
+INSERT INTO `kl_rule_plan` VALUES ('625', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '602', '药品通用名集合', null, null, '309', '22', '');
+INSERT INTO `kl_rule_plan` VALUES ('626', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '602', '药品化学物质类别', null, null, '301', '23', '');
+INSERT INTO `kl_rule_plan` VALUES ('627', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '602', '药品治疗学类别', null, null, '302', '24', '');
+INSERT INTO `kl_rule_plan` VALUES ('628', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '602', '药品药理学类别', null, null, '303', '25', '');
+INSERT INTO `kl_rule_plan` VALUES ('629', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '602', '药品解剖学类别', null, null, '304', '26', '');
+INSERT INTO `kl_rule_plan` VALUES ('630', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '602', '其他过敏原', null, null, '119', '27', '');
+INSERT INTO `kl_rule_plan` VALUES ('631', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '602', '其他过敏原集合', null, null, '323', '28', '');
+INSERT INTO `kl_rule_plan` VALUES ('632', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '603', '辅助检查项目', null, null, '109', '29', '');
+INSERT INTO `kl_rule_plan` VALUES ('633', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '603', '辅助检查项目集合', null, null, '316', '30', '');
+INSERT INTO `kl_rule_plan` VALUES ('634', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '603', '辅助检查子项目', null, null, '110', '31', '');
+INSERT INTO `kl_rule_plan` VALUES ('635', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '603', '辅助检查子项目集合', null, null, '317', '32', '');
+INSERT INTO `kl_rule_plan` VALUES ('700', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '16', '开单外等于术语本身', '1', null, '', '1', '');
+INSERT INTO `kl_rule_plan` VALUES ('701', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '16', '开单外存在比较', '2', null, '', '2', '');
+INSERT INTO `kl_rule_plan` VALUES ('702', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '16', '过敏原', '4', null, '', '3', '');
+INSERT INTO `kl_rule_plan` VALUES ('703', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '16', '开单项', '5', null, '', '4', '');
+INSERT INTO `kl_rule_plan` VALUES ('704', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '700', '人群', null, null, '117', '1', '');
+INSERT INTO `kl_rule_plan` VALUES ('705', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '700', '性别', null, null, '116', '2', '');
+INSERT INTO `kl_rule_plan` VALUES ('706', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '700', '疾病', null, null, '100', '3', '');
+INSERT INTO `kl_rule_plan` VALUES ('707', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '700', '疾病集合', null, null, '308', '4', '');
+INSERT INTO `kl_rule_plan` VALUES ('708', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '700', '医疗器械及物品', null, null, '120', '5', '');
+INSERT INTO `kl_rule_plan` VALUES ('709', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '700', '医疗器械及物品集合', null, null, '324', '6', '');
+INSERT INTO `kl_rule_plan` VALUES ('710', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '700', '药品通用名', null, null, '101', '7', '');
+INSERT INTO `kl_rule_plan` VALUES ('711', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '700', '药品通用名集合', null, null, '309', '8', '');
+INSERT INTO `kl_rule_plan` VALUES ('712', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '700', '症状', null, null, '103', '9', '');
+INSERT INTO `kl_rule_plan` VALUES ('713', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '700', '症状集合', null, null, '311', '10', '');
+INSERT INTO `kl_rule_plan` VALUES ('714', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '700', '辅助检查结果', null, null, '112', '11', '');
+INSERT INTO `kl_rule_plan` VALUES ('715', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '700', '辅助检查结果集合', null, null, '319', '12', '');
+INSERT INTO `kl_rule_plan` VALUES ('716', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '700', '体格检查结果', null, null, '105', '13', '');
+INSERT INTO `kl_rule_plan` VALUES ('717', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '700', '体格检查结果集合', null, null, '313', '14', '');
+INSERT INTO `kl_rule_plan` VALUES ('718', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '700', '手术和操作', null, null, '106', '15', '');
+INSERT INTO `kl_rule_plan` VALUES ('719', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '700', '手术和操作集合', null, null, '314', '16', '');
+INSERT INTO `kl_rule_plan` VALUES ('720', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '701', '年龄', null, null, '410', '17', '');
+INSERT INTO `kl_rule_plan` VALUES ('721', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '701', '体格检查项目', null, null, '104', '18', '');
+INSERT INTO `kl_rule_plan` VALUES ('722', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '701', '体格检查项目集合', null, null, '312', '19', '');
+INSERT INTO `kl_rule_plan` VALUES ('723', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '701', '实验室检查子项目', null, null, '108', '20', '');
+INSERT INTO `kl_rule_plan` VALUES ('724', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '702', '药品通用名', null, null, '101', '21', '');
+INSERT INTO `kl_rule_plan` VALUES ('725', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '702', '药品通用名集合', null, null, '309', '22', '');
+INSERT INTO `kl_rule_plan` VALUES ('726', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '702', '药品化学物质类别', null, null, '301', '23', '');
+INSERT INTO `kl_rule_plan` VALUES ('727', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '702', '药品治疗学类别', null, null, '302', '24', '');
+INSERT INTO `kl_rule_plan` VALUES ('728', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '702', '药品药理学类别', null, null, '303', '25', '');
+INSERT INTO `kl_rule_plan` VALUES ('729', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '702', '药品解剖学类别', null, null, '304', '26', '');
+INSERT INTO `kl_rule_plan` VALUES ('730', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '702', '其他过敏原', null, null, '119', '27', '');
+INSERT INTO `kl_rule_plan` VALUES ('731', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '702', '其他过敏原集合', null, null, '323', '28', '');
+INSERT INTO `kl_rule_plan` VALUES ('732', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '703', '辅助检查项目', null, null, '109', '29', '');
+INSERT INTO `kl_rule_plan` VALUES ('733', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '703', '辅助检查项目集合', null, null, '316', '30', '');
+INSERT INTO `kl_rule_plan` VALUES ('734', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '703', '辅助检查子项目', null, null, '110', '31', '');
+INSERT INTO `kl_rule_plan` VALUES ('735', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '703', '辅助检查子项目集合', null, null, '317', '32', '');
+INSERT INTO `kl_rule_plan` VALUES ('800', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '17', '开单外等于术语本身', '1', null, '', null, '');
+INSERT INTO `kl_rule_plan` VALUES ('801', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '17', '开单外存在比较', '2', null, '', null, '');
+INSERT INTO `kl_rule_plan` VALUES ('802', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '17', '过敏原', '4', null, '', null, '');
+INSERT INTO `kl_rule_plan` VALUES ('803', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '17', '开单项', '5', null, '', null, '');
+INSERT INTO `kl_rule_plan` VALUES ('804', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '800', '人群', null, null, '117', '1', '');
+INSERT INTO `kl_rule_plan` VALUES ('805', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '800', '性别', null, null, '116', '2', '');
+INSERT INTO `kl_rule_plan` VALUES ('806', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '800', '疾病', null, null, '100', '3', '');
+INSERT INTO `kl_rule_plan` VALUES ('807', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '800', '疾病集合', null, null, '308', '4', '');
+INSERT INTO `kl_rule_plan` VALUES ('808', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '800', '医疗器械及物品', null, null, '120', '5', '');
+INSERT INTO `kl_rule_plan` VALUES ('809', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '800', '医疗器械及物品集合', null, null, '324', '6', '');
+INSERT INTO `kl_rule_plan` VALUES ('810', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '800', '药品通用名', null, null, '101', '7', '');
+INSERT INTO `kl_rule_plan` VALUES ('811', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '800', '药品通用名集合', null, null, '309', '8', '');
+INSERT INTO `kl_rule_plan` VALUES ('812', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '800', '症状', null, null, '103', '9', '');
+INSERT INTO `kl_rule_plan` VALUES ('813', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '800', '症状集合', null, null, '311', '10', '');
+INSERT INTO `kl_rule_plan` VALUES ('814', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '800', '辅助检查结果', null, null, '112', '11', '');
+INSERT INTO `kl_rule_plan` VALUES ('815', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '800', '辅助检查结果集合', null, null, '319', '12', '');
+INSERT INTO `kl_rule_plan` VALUES ('816', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '800', '体格检查结果', null, null, '105', '13', '');
+INSERT INTO `kl_rule_plan` VALUES ('817', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '800', '体格检查结果集合', null, null, '313', '14', '');
+INSERT INTO `kl_rule_plan` VALUES ('818', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '800', '手术和操作', null, null, '106', '15', '');
+INSERT INTO `kl_rule_plan` VALUES ('819', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '800', '手术和操作集合', null, null, '314', '16', '');
+INSERT INTO `kl_rule_plan` VALUES ('820', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '801', '年龄', null, null, '410', '17', '');
+INSERT INTO `kl_rule_plan` VALUES ('821', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '801', '体格检查项目', null, null, '104', '18', '');
+INSERT INTO `kl_rule_plan` VALUES ('822', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '801', '体格检查项目集合', null, null, '312', '19', '');
+INSERT INTO `kl_rule_plan` VALUES ('823', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '801', '实验室检查子项目', null, null, '108', '20', '');
+INSERT INTO `kl_rule_plan` VALUES ('824', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '802', '药品通用名', null, null, '101', '21', '');
+INSERT INTO `kl_rule_plan` VALUES ('825', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '802', '药品通用名集合', null, null, '309', '22', '');
+INSERT INTO `kl_rule_plan` VALUES ('826', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '802', '药品化学物质类别', null, null, '301', '23', '');
+INSERT INTO `kl_rule_plan` VALUES ('827', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '802', '药品治疗学类别', null, null, '302', '24', '');
+INSERT INTO `kl_rule_plan` VALUES ('828', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '802', '药品药理学类别', null, null, '303', '25', '');
+INSERT INTO `kl_rule_plan` VALUES ('829', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '802', '药品解剖学类别', null, null, '304', '26', '');
+INSERT INTO `kl_rule_plan` VALUES ('830', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '802', '其他过敏原', null, null, '119', '27', '');
+INSERT INTO `kl_rule_plan` VALUES ('831', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '802', '其他过敏原集合', null, null, '323', '28', '');
+INSERT INTO `kl_rule_plan` VALUES ('832', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '803', '辅助检查项目', null, null, '109', '29', '');
+INSERT INTO `kl_rule_plan` VALUES ('833', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '803', '辅助检查项目集合', null, null, '316', '30', '');
+INSERT INTO `kl_rule_plan` VALUES ('834', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '803', '辅助检查子项目', null, null, '110', '31', '');
+INSERT INTO `kl_rule_plan` VALUES ('835', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '803', '辅助检查子项目集合', null, null, '317', '32', '');
+INSERT INTO `kl_rule_plan` VALUES ('900', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '18', '开单外等于术语本身', '1', null, '', '1', '');
+INSERT INTO `kl_rule_plan` VALUES ('901', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '18', '开单外存在比较', '2', null, '', '2', '');
+INSERT INTO `kl_rule_plan` VALUES ('902', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '18', '过敏原', '4', null, '', '3', '');
+INSERT INTO `kl_rule_plan` VALUES ('903', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '900', '人群', null, null, '117', '1', '');
+INSERT INTO `kl_rule_plan` VALUES ('904', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '900', '性别', null, null, '116', '2', '');
+INSERT INTO `kl_rule_plan` VALUES ('905', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '900', '疾病', null, null, '100', '3', '');
+INSERT INTO `kl_rule_plan` VALUES ('906', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '900', '疾病集合', null, null, '308', '4', '');
+INSERT INTO `kl_rule_plan` VALUES ('907', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '900', '医疗器械及物品', null, null, '120', '5', '');
+INSERT INTO `kl_rule_plan` VALUES ('908', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '900', '医疗器械及物品集合', null, null, '324', '6', '');
+INSERT INTO `kl_rule_plan` VALUES ('909', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '900', '药品通用名', null, null, '101', '7', '');
+INSERT INTO `kl_rule_plan` VALUES ('910', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '900', '药品通用名集合', null, null, '309', '8', '');
+INSERT INTO `kl_rule_plan` VALUES ('911', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '900', '症状', null, null, '103', '9', '');
+INSERT INTO `kl_rule_plan` VALUES ('912', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '900', '症状集合', null, null, '311', '10', '');
+INSERT INTO `kl_rule_plan` VALUES ('913', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '900', '辅助检查结果', null, null, '112', '11', '');
+INSERT INTO `kl_rule_plan` VALUES ('914', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '900', '辅助检查结果集合', null, null, '319', '12', '');
+INSERT INTO `kl_rule_plan` VALUES ('915', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '900', '体格检查结果', null, null, '105', '13', '');
+INSERT INTO `kl_rule_plan` VALUES ('916', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '900', '体格检查结果集合', null, null, '313', '14', '');
+INSERT INTO `kl_rule_plan` VALUES ('917', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '900', '手术和操作', null, null, '106', '15', '');
+INSERT INTO `kl_rule_plan` VALUES ('918', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '900', '手术和操作集合', null, null, '314', '16', '');
+INSERT INTO `kl_rule_plan` VALUES ('919', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '901', '年龄', null, null, '410', '17', '');
+INSERT INTO `kl_rule_plan` VALUES ('920', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '901', '体格检查项目', null, null, '104', '18', '');
+INSERT INTO `kl_rule_plan` VALUES ('921', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '901', '体格检查项目集合', null, null, '312', '19', '');
+INSERT INTO `kl_rule_plan` VALUES ('922', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '901', '实验室检查子项目', null, null, '108', '20', '');
+INSERT INTO `kl_rule_plan` VALUES ('923', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '902', '药品通用名', null, null, '101', '21', '');
+INSERT INTO `kl_rule_plan` VALUES ('924', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '902', '药品通用名集合', null, null, '309', '22', '');
+INSERT INTO `kl_rule_plan` VALUES ('925', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '902', '药品化学物质类别', null, null, '301', '23', '');
+INSERT INTO `kl_rule_plan` VALUES ('926', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '902', '药品治疗学类别', null, null, '302', '24', '');
+INSERT INTO `kl_rule_plan` VALUES ('927', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '902', '药品药理学类别', null, null, '303', '25', '');
+INSERT INTO `kl_rule_plan` VALUES ('928', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '902', '药品解剖学类别', null, null, '304', '26', '');
+INSERT INTO `kl_rule_plan` VALUES ('929', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '902', '其他过敏原', null, null, '119', '27', '');
+INSERT INTO `kl_rule_plan` VALUES ('930', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '902', '其他过敏原集合', null, null, '323', '28', '');
+INSERT INTO `kl_rule_plan` VALUES ('1000', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '19', '开单外等于术语本身', '1', null, '', '1', '');
+INSERT INTO `kl_rule_plan` VALUES ('1001', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '19', '开单外存在比较', '2', null, '', '2', '');
+INSERT INTO `kl_rule_plan` VALUES ('1002', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '19', '过敏原', '4', null, '', '3', '');
+INSERT INTO `kl_rule_plan` VALUES ('1003', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1000', '人群', null, null, '117', '1', '');
+INSERT INTO `kl_rule_plan` VALUES ('1004', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1000', '性别', null, null, '116', '2', '');
+INSERT INTO `kl_rule_plan` VALUES ('1005', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1000', '疾病', null, null, '100', '3', '');
+INSERT INTO `kl_rule_plan` VALUES ('1006', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1000', '疾病集合', null, null, '308', '4', '');
+INSERT INTO `kl_rule_plan` VALUES ('1007', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1000', '医疗器械及物品', null, null, '120', '5', '');
+INSERT INTO `kl_rule_plan` VALUES ('1008', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1000', '医疗器械及物品集合', null, null, '324', '6', '');
+INSERT INTO `kl_rule_plan` VALUES ('1009', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1000', '药品通用名', null, null, '101', '7', '');
+INSERT INTO `kl_rule_plan` VALUES ('1010', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1000', '药品通用名集合', null, null, '309', '8', '');
+INSERT INTO `kl_rule_plan` VALUES ('1011', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1000', '症状', null, null, '103', '9', '');
+INSERT INTO `kl_rule_plan` VALUES ('1012', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1000', '症状集合', null, null, '311', '10', '');
+INSERT INTO `kl_rule_plan` VALUES ('1013', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1000', '辅助检查结果', null, null, '112', '11', '');
+INSERT INTO `kl_rule_plan` VALUES ('1014', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1000', '辅助检查结果集合', null, null, '319', '12', '');
+INSERT INTO `kl_rule_plan` VALUES ('1015', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1000', '体格检查结果', null, null, '105', '13', '');
+INSERT INTO `kl_rule_plan` VALUES ('1016', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1000', '体格检查结果集合', null, null, '313', '14', '');
+INSERT INTO `kl_rule_plan` VALUES ('1017', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1000', '手术和操作', null, null, '106', '15', '');
+INSERT INTO `kl_rule_plan` VALUES ('1018', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1000', '手术和操作集合', null, null, '314', '16', '');
+INSERT INTO `kl_rule_plan` VALUES ('1019', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1001', '年龄', null, null, '410', '17', '');
+INSERT INTO `kl_rule_plan` VALUES ('1020', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1001', '体格检查项目', null, null, '104', '18', '');
+INSERT INTO `kl_rule_plan` VALUES ('1021', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1001', '体格检查项目集合', null, null, '312', '19', '');
+INSERT INTO `kl_rule_plan` VALUES ('1022', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1001', '实验室检查子项目', null, null, '108', '20', '');
+INSERT INTO `kl_rule_plan` VALUES ('1023', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1002', '药品通用名', null, null, '101', '21', '');
+INSERT INTO `kl_rule_plan` VALUES ('1024', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1002', '药品通用名集合', null, null, '309', '22', '');
+INSERT INTO `kl_rule_plan` VALUES ('1025', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1002', '药品化学物质类别', null, null, '301', '23', '');
+INSERT INTO `kl_rule_plan` VALUES ('1026', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1002', '药品治疗学类别', null, null, '302', '24', '');
+INSERT INTO `kl_rule_plan` VALUES ('1027', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1002', '药品药理学类别', null, null, '303', '25', '');
+INSERT INTO `kl_rule_plan` VALUES ('1028', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1002', '药品解剖学类别', null, null, '304', '26', '');
+INSERT INTO `kl_rule_plan` VALUES ('1029', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1002', '其他过敏原', null, null, '119', '27', '');
+INSERT INTO `kl_rule_plan` VALUES ('1030', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1002', '其他过敏原集合', null, null, '323', '28', '');
+INSERT INTO `kl_rule_plan` VALUES ('1100', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '20', '开单外等于术语本身', '1', null, '', '1', '');
+INSERT INTO `kl_rule_plan` VALUES ('1101', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '20', '开单外存在比较', '2', null, '', '2', '');
+INSERT INTO `kl_rule_plan` VALUES ('1102', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '20', '过敏原', '4', null, '', '3', '');
+INSERT INTO `kl_rule_plan` VALUES ('1103', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1100', '人群', null, null, '117', '1', '');
+INSERT INTO `kl_rule_plan` VALUES ('1104', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1100', '性别', null, null, '116', '2', '');
+INSERT INTO `kl_rule_plan` VALUES ('1105', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1100', '疾病', null, null, '100', '3', '');
+INSERT INTO `kl_rule_plan` VALUES ('1106', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1100', '疾病集合', null, null, '308', '4', '');
+INSERT INTO `kl_rule_plan` VALUES ('1107', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1100', '医疗器械及物品', null, null, '120', '5', '');
+INSERT INTO `kl_rule_plan` VALUES ('1108', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1100', '医疗器械及物品集合', null, null, '324', '6', '');
+INSERT INTO `kl_rule_plan` VALUES ('1109', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1100', '药品通用名', null, null, '101', '7', '');
+INSERT INTO `kl_rule_plan` VALUES ('1110', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1100', '药品通用名集合', null, null, '309', '8', '');
+INSERT INTO `kl_rule_plan` VALUES ('1111', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1100', '症状', null, null, '103', '9', '');
+INSERT INTO `kl_rule_plan` VALUES ('1112', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1100', '症状集合', null, null, '311', '10', '');
+INSERT INTO `kl_rule_plan` VALUES ('1113', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1100', '辅助检查结果', null, null, '112', '11', '');
+INSERT INTO `kl_rule_plan` VALUES ('1114', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1100', '辅助检查结果集合', null, null, '319', '12', '');
+INSERT INTO `kl_rule_plan` VALUES ('1115', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1100', '体格检查结果', null, null, '105', '13', '');
+INSERT INTO `kl_rule_plan` VALUES ('1116', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1100', '体格检查结果集合', null, null, '313', '14', '');
+INSERT INTO `kl_rule_plan` VALUES ('1117', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1100', '手术和操作', null, null, '106', '15', '');
+INSERT INTO `kl_rule_plan` VALUES ('1118', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1100', '手术和操作集合', null, null, '314', '16', '');
+INSERT INTO `kl_rule_plan` VALUES ('1119', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1101', '年龄', null, null, '410', '17', '');
+INSERT INTO `kl_rule_plan` VALUES ('1120', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1101', '体格检查项目', null, null, '104', '18', '');
+INSERT INTO `kl_rule_plan` VALUES ('1121', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1101', '体格检查项目集合', null, null, '312', '19', '');
+INSERT INTO `kl_rule_plan` VALUES ('1122', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1101', '实验室检查子项目', null, null, '108', '20', '');
+INSERT INTO `kl_rule_plan` VALUES ('1123', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1102', '药品通用名', null, null, '101', '21', '');
+INSERT INTO `kl_rule_plan` VALUES ('1124', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1102', '药品通用名集合', null, null, '309', '22', '');
+INSERT INTO `kl_rule_plan` VALUES ('1125', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1102', '药品化学物质类别', null, null, '301', '23', '');
+INSERT INTO `kl_rule_plan` VALUES ('1126', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1102', '药品治疗学类别', null, null, '302', '24', '');
+INSERT INTO `kl_rule_plan` VALUES ('1127', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1102', '药品药理学类别', null, null, '303', '25', '');
+INSERT INTO `kl_rule_plan` VALUES ('1128', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1102', '药品解剖学类别', null, null, '304', '26', '');
+INSERT INTO `kl_rule_plan` VALUES ('1129', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1102', '其他过敏原', null, null, '119', '27', '');
+INSERT INTO `kl_rule_plan` VALUES ('1130', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '1102', '其他过敏原集合', null, null, '323', '28', '');
+INSERT INTO `kl_rule_plan` VALUES ('1200', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '2', '21', '开单外等于术语本身', '1', null, '', '1', '');
+INSERT INTO `kl_rule_plan` VALUES ('1201', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '2', '1200', '药品剂型', null, null, '102', '1', '');
+INSERT INTO `kl_rule_plan` VALUES ('1202', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '2', '1200', '药品剂型集合', null, null, '310', '2', '');
+INSERT INTO `kl_rule_plan` VALUES ('1220', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '2', '22', '开单外等于术语本身', '1', null, '', '1', '');
+INSERT INTO `kl_rule_plan` VALUES ('1221', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '2', '1220', '药品剂型', null, null, '102', '1', '');
+INSERT INTO `kl_rule_plan` VALUES ('1222', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '2', '1220', '药品剂型集合', null, null, '310', '2', '');
+INSERT INTO `kl_rule_plan` VALUES ('1300', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '2', '23', '开单外等于术语本身', '1', null, '', null, '');
+INSERT INTO `kl_rule_plan` VALUES ('1301', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '2', '23', '开单外存在比较', '2', null, '', null, '');
+INSERT INTO `kl_rule_plan` VALUES ('1302', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '2', '1300', '体格检查结果', null, null, '105', '1', '');
+INSERT INTO `kl_rule_plan` VALUES ('1303', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '2', '1300', '体格检查结果集合', null, null, '313', '2', '');
+INSERT INTO `kl_rule_plan` VALUES ('1304', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '2', '1300', '疾病', null, null, '100', '3', '');
+INSERT INTO `kl_rule_plan` VALUES ('1305', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '2', '1300', '疾病集合', null, null, '308', '4', '');
+INSERT INTO `kl_rule_plan` VALUES ('1306', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '2', '1300', '辅助检查结果', null, null, '112', '5', '');
+INSERT INTO `kl_rule_plan` VALUES ('1307', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '2', '1300', '辅助检查结果集合', null, null, '319', '6', '');
+INSERT INTO `kl_rule_plan` VALUES ('1308', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '2', '1301', '年龄', null, null, '410', '7', '');
+INSERT INTO `kl_rule_plan` VALUES ('1309', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '2', '1301', '体格检查项目', null, null, '104', '8', '');
+INSERT INTO `kl_rule_plan` VALUES ('1310', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '2', '1301', '体格检查项目集合', null, null, '312', '9', '');
+INSERT INTO `kl_rule_plan` VALUES ('1311', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '2', '1301', '实验室检查子项目', null, null, '108', '10', '');
+INSERT INTO `kl_rule_plan` VALUES ('1350', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '2', '24', '开单外等于术语本身', '1', null, '', null, '');
+INSERT INTO `kl_rule_plan` VALUES ('1351', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '2', '24', '开单外存在比较', '2', null, '', null, '');
+INSERT INTO `kl_rule_plan` VALUES ('1352', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '2', '1350', '体格检查结果', null, null, '105', '1', '');
+INSERT INTO `kl_rule_plan` VALUES ('1353', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '2', '1350', '体格检查结果集合', null, null, '313', '2', '');
+INSERT INTO `kl_rule_plan` VALUES ('1354', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '2', '1350', '疾病', null, null, '100', '3', '');
+INSERT INTO `kl_rule_plan` VALUES ('1355', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '2', '1350', '疾病集合', null, null, '308', '4', '');
+INSERT INTO `kl_rule_plan` VALUES ('1356', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '2', '1350', '辅助检查结果', null, null, '112', '5', '');
+INSERT INTO `kl_rule_plan` VALUES ('1357', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '2', '1350', '辅助检查结果集合', null, null, '319', '6', '');
+INSERT INTO `kl_rule_plan` VALUES ('1358', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '2', '1351', '年龄', null, null, '410', '7', '');
+INSERT INTO `kl_rule_plan` VALUES ('1359', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '2', '1351', '体格检查项目', null, null, '104', '8', '');
+INSERT INTO `kl_rule_plan` VALUES ('1360', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '2', '1351', '体格检查项目集合', null, null, '312', '9', '');
+INSERT INTO `kl_rule_plan` VALUES ('1361', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '2', '1351', '实验室检查子项目', null, null, '108', '10', '');
+INSERT INTO `kl_rule_plan` VALUES ('1400', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '3', '30', '开单外等于术语本身', '1', null, '', null, '');
+INSERT INTO `kl_rule_plan` VALUES ('1401', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '3', '30', '开单外存在比较', '2', null, '', null, '');
+INSERT INTO `kl_rule_plan` VALUES ('1402', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '3', '1400', '人群', null, null, '117', '1', '');
+INSERT INTO `kl_rule_plan` VALUES ('1403', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '3', '1401', '实验室检查子项目', null, null, '108', '1', '');
+INSERT INTO `kl_rule_plan` VALUES ('1404', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '3', '1401', '年龄', null, null, '410', '2', '');
+INSERT INTO `kl_rule_plan` VALUES ('1500', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '40', '开单外等于术语本身', '1', null, '', null, '');
+INSERT INTO `kl_rule_plan` VALUES ('1501', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '40', '开单外存在比较', '2', null, '', null, '');
+INSERT INTO `kl_rule_plan` VALUES ('1502', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '1500', '疾病', null, null, '100', '1', '');
+INSERT INTO `kl_rule_plan` VALUES ('1503', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '1500', '疾病集合', null, null, '308', '2', '');
+INSERT INTO `kl_rule_plan` VALUES ('1504', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '1500', '药品通用名', null, null, '101', '3', '');
+INSERT INTO `kl_rule_plan` VALUES ('1505', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '1500', '药品通用名集合', null, null, '309', '4', '');
+INSERT INTO `kl_rule_plan` VALUES ('1506', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '1500', '人群', null, null, '117', '5', '');
+INSERT INTO `kl_rule_plan` VALUES ('1507', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '1501', '实验室检查子项目', null, null, '108', '1', '');
+INSERT INTO `kl_rule_plan` VALUES ('1508', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '1500', '性别', null, null, '116', '6', '');
+INSERT INTO `kl_rule_plan` VALUES ('1550', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '41', '开单外等于术语本身', '1', null, '', '1', '');
+INSERT INTO `kl_rule_plan` VALUES ('1551', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '41', '开单外存在比较', '2', null, '', '2', '');
+INSERT INTO `kl_rule_plan` VALUES ('1552', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '41', '开单外不等于术语本身', '3', null, '', '3', '');
+INSERT INTO `kl_rule_plan` VALUES ('1553', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '1550', '人群', null, null, '117', '1', '');
+INSERT INTO `kl_rule_plan` VALUES ('1554', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '1550', '辅助检查结果', null, null, '112', '2', '');
+INSERT INTO `kl_rule_plan` VALUES ('1555', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '1550', '辅助检查结果集合', null, null, '319', '3', '');
+INSERT INTO `kl_rule_plan` VALUES ('1556', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '1550', '性别', null, null, '116', '4', '');
+INSERT INTO `kl_rule_plan` VALUES ('1557', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '1550', '体格检查结果', null, null, '105', '5', '');
+INSERT INTO `kl_rule_plan` VALUES ('1558', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '1550', '体格检查结果集合', null, null, '313', '6', '');
+INSERT INTO `kl_rule_plan` VALUES ('1559', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '1550', '疾病', null, null, '100', '7', '');
+INSERT INTO `kl_rule_plan` VALUES ('1560', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '1550', '疾病集合', null, null, '308', '8', '');
+INSERT INTO `kl_rule_plan` VALUES ('1561', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '1551', '年龄', null, null, '410', '9', '');
+INSERT INTO `kl_rule_plan` VALUES ('1562', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '1551', '实验室检查子项目', null, null, '108', '10', '');
+INSERT INTO `kl_rule_plan` VALUES ('1563', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '1551', '体格检查项目', null, null, '104', '11', '');
+INSERT INTO `kl_rule_plan` VALUES ('1564', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '1551', '体格检查项目集合', null, null, '312', '12', '');
+INSERT INTO `kl_rule_plan` VALUES ('1565', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '1552', '辅助检查结果', null, null, '112', '13', '');
+INSERT INTO `kl_rule_plan` VALUES ('1566', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '1552', '辅助检查结果集合', null, null, '319', '14', '');
+INSERT INTO `kl_rule_plan` VALUES ('1580', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '42', '开单外等于术语本身', '1', null, '', '1', '');
+INSERT INTO `kl_rule_plan` VALUES ('1581', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '42', '开单外存在比较', '2', null, '', '2', '');
+INSERT INTO `kl_rule_plan` VALUES ('1582', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '42', '开单外不等于术语本身', '3', null, '', '3', '');
+INSERT INTO `kl_rule_plan` VALUES ('1583', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '1580', '人群', null, null, '117', '1', '');
+INSERT INTO `kl_rule_plan` VALUES ('1584', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '1580', '辅助检查结果', null, null, '112', '2', '');
+INSERT INTO `kl_rule_plan` VALUES ('1585', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '1580', '辅助检查结果集合', null, null, '319', '3', '');
+INSERT INTO `kl_rule_plan` VALUES ('1586', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '1580', '性别', null, null, '116', '4', '');
+INSERT INTO `kl_rule_plan` VALUES ('1587', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '1580', '体格检查结果', null, null, '105', '5', '');
+INSERT INTO `kl_rule_plan` VALUES ('1588', 'Y', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '1580', '体格检查结果集合', null, null, '313', '6', '');
+INSERT INTO `kl_rule_plan` VALUES ('1589', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '1580', '疾病', null, null, '100', '7', '');
+INSERT INTO `kl_rule_plan` VALUES ('1590', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '1580', '疾病集合', null, null, '308', '8', '');
+INSERT INTO `kl_rule_plan` VALUES ('1591', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '1581', '年龄', null, null, '410', '9', '');
+INSERT INTO `kl_rule_plan` VALUES ('1592', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '1581', '实验室检查子项目', null, null, '108', '10', '');
+INSERT INTO `kl_rule_plan` VALUES ('1593', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '1581', '体格检查项目', null, null, '104', '11', '');
+INSERT INTO `kl_rule_plan` VALUES ('1594', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '1581', '体格检查项目集合', null, null, '312', '12', '');
+INSERT INTO `kl_rule_plan` VALUES ('1595', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '1582', '辅助检查结果', null, null, '112', '13', '');
+INSERT INTO `kl_rule_plan` VALUES ('1596', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '1582', '辅助检查结果集合', null, null, '319', '14', '');
+INSERT INTO `kl_rule_plan` VALUES ('1597', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '43', '开单外等于术语本身', '1', null, '', '1', '');
+INSERT INTO `kl_rule_plan` VALUES ('1598', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '43', '开单外存在比较', '2', null, '', '2', '');
+INSERT INTO `kl_rule_plan` VALUES ('1599', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '43', '开单外不等于术语本身', '3', null, '', '3', '');
+INSERT INTO `kl_rule_plan` VALUES ('1600', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '1597', '人群', null, null, '117', '1', '');
+INSERT INTO `kl_rule_plan` VALUES ('1601', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '1597', '辅助检查结果', null, null, '112', '2', '');
+INSERT INTO `kl_rule_plan` VALUES ('1602', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '1597', '辅助检查结果集合', null, null, '319', '3', '');
+INSERT INTO `kl_rule_plan` VALUES ('1603', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '1597', '性别', null, null, '116', '4', '');
+INSERT INTO `kl_rule_plan` VALUES ('1604', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '1597', '体格检查结果', null, null, '105', '5', '');
+INSERT INTO `kl_rule_plan` VALUES ('1605', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '1597', '体格检查结果集合', null, null, '313', '6', '');
+INSERT INTO `kl_rule_plan` VALUES ('1606', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '1597', '疾病', null, null, '100', '7', '');
+INSERT INTO `kl_rule_plan` VALUES ('1607', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '1597', '疾病集合', null, null, '308', '8', '');
+INSERT INTO `kl_rule_plan` VALUES ('1608', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '1598', '年龄', null, null, '410', '1', '');
+INSERT INTO `kl_rule_plan` VALUES ('1609', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '1598', '实验室检查子项目', null, null, '108', '2', '');
+INSERT INTO `kl_rule_plan` VALUES ('1610', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '5', '50', '开单外等于术语本身', '1', null, '', '1', '');
+INSERT INTO `kl_rule_plan` VALUES ('1611', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '5', '50', '开单外存在比较', '2', null, '', '2', '');
+INSERT INTO `kl_rule_plan` VALUES ('1612', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '5', '1610', '疾病', null, null, '100', '1', '');
+INSERT INTO `kl_rule_plan` VALUES ('1613', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '5', '1610', '疾病集合', null, null, '308', '2', '');
+INSERT INTO `kl_rule_plan` VALUES ('1614', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '5', '1610', '手术和操作', null, null, '106', '3', '');
+INSERT INTO `kl_rule_plan` VALUES ('1615', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '5', '1610', '手术和操作集合', null, null, '314', '4', '');
+INSERT INTO `kl_rule_plan` VALUES ('1616', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '5', '1611', '实验室检查子项目', null, null, '108', '5', '');
+INSERT INTO `kl_rule_plan` VALUES ('1700', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '6', '60', '检查结果正则表达式', '6', null, '', '1', '');
+INSERT INTO `kl_rule_plan` VALUES ('1701', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '6', '1700', '辅助检查项目', null, null, '109', '1', '');
+INSERT INTO `kl_rule_plan` VALUES ('1702', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '6', '1700', '辅助检查项目集合', null, null, '316', null, '');
+INSERT INTO `kl_rule_plan` VALUES ('1750', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '6', '61', '检查结果正则表达式', '6', null, '', '1', '');
+INSERT INTO `kl_rule_plan` VALUES ('1751', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '6', '1750', '辅助检查项目', null, null, '109', '1', '');
+INSERT INTO `kl_rule_plan` VALUES ('1752', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '6', '1750', '辅助检查项目集合', null, null, '316', '1', '');
+INSERT INTO `kl_rule_plan` VALUES ('1800', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '6', '62', '检查结果正则表达式', '6', null, '', '1', '');
+INSERT INTO `kl_rule_plan` VALUES ('1801', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '6', '1800', '辅助检查子项目', null, null, '110', '1', '');
+INSERT INTO `kl_rule_plan` VALUES ('1802', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '6', '1800', '辅助检查子项目集合', null, null, '317', '2', '');
+INSERT INTO `kl_rule_plan` VALUES ('1850', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '6', '63', '检查结果正则表达式', '6', null, '', '1', '');
+INSERT INTO `kl_rule_plan` VALUES ('1851', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '6', '1850', '辅助检查子项目', null, null, '110', '1', '');
+INSERT INTO `kl_rule_plan` VALUES ('1852', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '6', '1850', '辅助检查子项目集合', null, null, '317', '2', '');
+INSERT INTO `kl_rule_plan` VALUES ('1900', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '6', '64', '开单外存在比较', '2', null, '', '1', '');
+INSERT INTO `kl_rule_plan` VALUES ('1901', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '6', '1900', '实验室检查子项目', null, null, '108', '2', '');
+INSERT INTO `kl_rule_plan` VALUES ('1950', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '6', '65', '开单外存在比较', '2', null, '', '1', '');
+INSERT INTO `kl_rule_plan` VALUES ('1951', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '6', '1950', '实验室检查子项目', null, null, '108', '2', '');
+INSERT INTO `kl_rule_plan` VALUES ('2200', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'dis', '2', '-1', '拟诊', null, null, '', null, '');
+INSERT INTO `kl_rule_plan` VALUES ('2210', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'dis', '2', '2200', '等于术语本身', '1', null, '', '1', '');
+INSERT INTO `kl_rule_plan` VALUES ('2211', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'dis', '2', '2200', '存在比较', '2', null, '', '2', '');
+INSERT INTO `kl_rule_plan` VALUES ('2212', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'dis', '2', '2200', '主诉现病史正则', '3', null, '', '3', '');
+INSERT INTO `kl_rule_plan` VALUES ('2213', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'dis', '2', '2200', '既往史正则', '4', null, '', '4', '');
+INSERT INTO `kl_rule_plan` VALUES ('2214', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'dis', '2', '2200', '查体正则', '5', null, '', '5', '');
+INSERT INTO `kl_rule_plan` VALUES ('2215', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'dis', '2', '2200', '辅检结果正则', '6', null, '', '6', '');
+INSERT INTO `kl_rule_plan` VALUES ('2216', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'dis', '2', '2210', '症状', null, null, '103', '1', '');
+INSERT INTO `kl_rule_plan` VALUES ('2217', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'dis', '2', '2210', '体格检查结果', null, null, '105', '2', '');
+INSERT INTO `kl_rule_plan` VALUES ('2218', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'dis', '2', '2210', '疾病', null, null, '100', '3', '');
+INSERT INTO `kl_rule_plan` VALUES ('2219', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'dis', '2', '2210', '人群', null, null, '117', '4', '');
+INSERT INTO `kl_rule_plan` VALUES ('2220', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'dis', '2', '2210', '辅助检查结果', null, null, '112', '5', '');
+INSERT INTO `kl_rule_plan` VALUES ('2221', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'dis', '2', '2211', '年龄', null, null, '410', '1', '');
+INSERT INTO `kl_rule_plan` VALUES ('2222', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'dis', '2', '2211', '体格检查项目', null, null, '104', '2', '');
+INSERT INTO `kl_rule_plan` VALUES ('2223', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'dis', '2', '2211', '实验室检查子项目', null, null, '108', '3', '');
+INSERT INTO `kl_rule_plan` VALUES ('2224', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'dis', '2', '2212', '主诉现病史正则', null, null, '', '1', '');
+INSERT INTO `kl_rule_plan` VALUES ('2225', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'dis', '2', '2213', '既往史正则', null, null, '', '1', '');
+INSERT INTO `kl_rule_plan` VALUES ('2226', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'dis', '2', '2214', '查体正则', null, null, '', null, '');
+INSERT INTO `kl_rule_plan` VALUES ('2227', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'dis', '2', '2215', '辅检结果正则', null, null, '', null, '');
+INSERT INTO `kl_rule_plan` VALUES ('2300', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'dis', '3', '-1', '确诊', null, null, '', null, '');
+INSERT INTO `kl_rule_plan` VALUES ('2310', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'dis', '3', '2300', '等于术语本身', '1', null, '', '1', '');
+INSERT INTO `kl_rule_plan` VALUES ('2311', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'dis', '3', '2300', '存在比较', '2', null, '', '2', '');
+INSERT INTO `kl_rule_plan` VALUES ('2312', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'dis', '3', '2300', '主诉现病史正则', '3', null, '', '3', '');
+INSERT INTO `kl_rule_plan` VALUES ('2313', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'dis', '3', '2300', '既往史正则', '4', null, '', '4', '');
+INSERT INTO `kl_rule_plan` VALUES ('2314', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'dis', '3', '2300', '查体正则', '5', null, '', '5', '');
+INSERT INTO `kl_rule_plan` VALUES ('2315', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'dis', '3', '2300', '辅检结果正则', '6', null, '', '6', '');
+INSERT INTO `kl_rule_plan` VALUES ('2316', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'dis', '3', '2310', '症状', null, null, '103', '1', '');
+INSERT INTO `kl_rule_plan` VALUES ('2317', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'dis', '3', '2310', '体格检查结果', null, null, '105', '2', '');
+INSERT INTO `kl_rule_plan` VALUES ('2318', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'dis', '3', '2310', '疾病', null, null, '100', '3', '');
+INSERT INTO `kl_rule_plan` VALUES ('2319', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'dis', '3', '2310', '人群', null, null, '117', '4', '');
+INSERT INTO `kl_rule_plan` VALUES ('2320', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'dis', '3', '2310', '辅助检查结果', null, null, '112', '5', '');
+INSERT INTO `kl_rule_plan` VALUES ('2321', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'dis', '3', '2311', '年龄', null, null, '410', '1', '');
+INSERT INTO `kl_rule_plan` VALUES ('2322', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'dis', '3', '2311', '体格检查项目', null, null, '104', '2', '');
+INSERT INTO `kl_rule_plan` VALUES ('2323', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'dis', '3', '2311', '实验室检查子项目', null, null, '108', '3', '');
+INSERT INTO `kl_rule_plan` VALUES ('2324', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'dis', '3', '2312', '主诉现病史正则', null, null, '', '1', '');
+INSERT INTO `kl_rule_plan` VALUES ('2325', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'dis', '3', '2313', '既往史正则', null, null, '', '1', '');
+INSERT INTO `kl_rule_plan` VALUES ('2326', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'dis', '3', '2314', '查体正则', null, null, '', null, '');
+INSERT INTO `kl_rule_plan` VALUES ('2327', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'dis', '3', '2315', '辅检结果正则', null, null, '', null, '');
+INSERT INTO `kl_rule_plan` VALUES ('2400', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'dis', '4', '-1', '警惕', null, null, '', null, '');
+INSERT INTO `kl_rule_plan` VALUES ('2410', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'dis', '4', '2400', '等于术语本身', '1', null, '', '1', '');
+INSERT INTO `kl_rule_plan` VALUES ('2411', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'dis', '4', '2400', '存在比较', '2', null, '', '2', '');
+INSERT INTO `kl_rule_plan` VALUES ('2412', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'dis', '4', '2400', '主诉现病史正则', '3', null, '', '3', '');
+INSERT INTO `kl_rule_plan` VALUES ('2413', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'dis', '4', '2400', '既往史正则', '4', null, '', '4', '');
+INSERT INTO `kl_rule_plan` VALUES ('2414', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'dis', '4', '2400', '查体正则', '5', null, '', '5', '');
+INSERT INTO `kl_rule_plan` VALUES ('2415', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'dis', '4', '2400', '辅检结果正则', '6', null, '', '6', '');
+INSERT INTO `kl_rule_plan` VALUES ('2416', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'dis', '4', '2410', '症状', null, null, '103', '1', '');
+INSERT INTO `kl_rule_plan` VALUES ('2417', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'dis', '4', '2410', '体格检查结果', null, null, '105', '2', '');
+INSERT INTO `kl_rule_plan` VALUES ('2418', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'dis', '4', '2410', '疾病', null, null, '100', '3', '');
+INSERT INTO `kl_rule_plan` VALUES ('2419', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'dis', '4', '2410', '人群', null, null, '117', '4', '');
+INSERT INTO `kl_rule_plan` VALUES ('2420', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'dis', '4', '2410', '辅助检查结果', null, null, '112', '5', '');
+INSERT INTO `kl_rule_plan` VALUES ('2421', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'dis', '4', '2411', '年龄', null, null, '410', '1', '');
+INSERT INTO `kl_rule_plan` VALUES ('2422', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'dis', '4', '2411', '体格检查项目', null, null, '104', '2', '');
+INSERT INTO `kl_rule_plan` VALUES ('2423', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'dis', '4', '2411', '实验室检查子项目', null, null, '108', '3', '');
+INSERT INTO `kl_rule_plan` VALUES ('2424', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'dis', '4', '2412', '主诉现病史正则', null, null, '', '1', '');
+INSERT INTO `kl_rule_plan` VALUES ('2425', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'dis', '4', '2413', '既往史正则', null, null, '', '1', '');
+INSERT INTO `kl_rule_plan` VALUES ('2426', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'dis', '4', '2414', '查体正则', null, null, '', null, '');
+INSERT INTO `kl_rule_plan` VALUES ('2427', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'dis', '4', '2415', '辅检结果正则', null, null, '', null, '');
+INSERT INTO `kl_rule_plan` VALUES ('16090', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '1598', '体格检查项目', null, null, '104', '3', '');
+INSERT INTO `kl_rule_plan` VALUES ('16091', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '1598', '辅助检查描述', null, null, '111', '4', '');
+INSERT INTO `kl_rule_plan` VALUES ('16092', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '1599', '辅助检查结果', null, null, '112', '1', '');
+INSERT INTO `kl_rule_plan` VALUES ('16093', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '4', '1599', '辅助检查结果集合', null, null, '319', '2', '');
+INSERT INTO `kl_rule_plan` VALUES ('17090', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '100', '剂型', null, null, '102', '17', '2');
+INSERT INTO `kl_rule_plan` VALUES ('17091', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '100', '剂型集合', null, null, '310', '18', '2');
+INSERT INTO `kl_rule_plan` VALUES ('17092', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '100', '给药途径', null, null, '121', '19', '2');
+INSERT INTO `kl_rule_plan` VALUES ('17093', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '100', '给药途径集合', null, null, '329', '20', '2');
+INSERT INTO `kl_rule_plan` VALUES ('17094', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '100', '剂型', null, null, '102', '21', '3|121,329');
+INSERT INTO `kl_rule_plan` VALUES ('17095', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '100', '剂型集合', null, null, '310', '22', '3|121,329');
+INSERT INTO `kl_rule_plan` VALUES ('17096', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '100', '给药途径', null, null, '121', '23', '3|102,310');
+INSERT INTO `kl_rule_plan` VALUES ('17097', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '100', '给药途径集合', null, null, '329', '24', '3|102,310');
+INSERT INTO `kl_rule_plan` VALUES ('27090', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '200', '剂型', null, null, '102', '17', '2');
+INSERT INTO `kl_rule_plan` VALUES ('27091', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '200', '剂型集合', null, null, '310', '18', '2');
+INSERT INTO `kl_rule_plan` VALUES ('27092', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '200', '给药途径', null, null, '121', '19', '2');
+INSERT INTO `kl_rule_plan` VALUES ('27093', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '200', '给药途径集合', null, null, '329', '20', '2');
+INSERT INTO `kl_rule_plan` VALUES ('27094', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '200', '剂型', null, null, '102', '21', '3|121,329');
+INSERT INTO `kl_rule_plan` VALUES ('27095', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '200', '剂型集合', null, null, '310', '22', '3|121,329');
+INSERT INTO `kl_rule_plan` VALUES ('27096', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '200', '给药途径', null, null, '121', '23', '3|102,310');
+INSERT INTO `kl_rule_plan` VALUES ('27097', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', 'rule', '1', '200', '给药途径集合', null, null, '329', '24', '3|102,310');
+
+
+-- ----------------------------
+-- Table structure for kl_dictionary_info
+-- ----------------------------
+DROP TABLE IF EXISTS `kl_dictionary_info`;
+CREATE TABLE `kl_dictionary_info` (
+  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
+  `is_deleted` char(1) NOT NULL DEFAULT 'N' COMMENT '是否删除,N:未删除,Y:删除',
+  `gmt_create` datetime NOT NULL DEFAULT '1970-01-01 12:00:00' COMMENT '记录创建时间',
+  `gmt_modified` datetime NOT NULL DEFAULT '1970-01-01 12:00:00' COMMENT '记录修改时间,如果时间是1970年则表示纪录未修改',
+  `creator` varchar(20) NOT NULL DEFAULT '0' COMMENT '创建人,0表示无创建人值',
+  `modifier` varchar(20) NOT NULL DEFAULT '0' COMMENT '修改人,如果为0则表示纪录未修改',
+  `group_type` bigint(20) NOT NULL DEFAULT '0' COMMENT '分组(值自定义)\r\n20:子规则首条固定\r\n21:附加信息\r\n22:只有数字没有文本\r\n23:无子条件',
+  `name` varchar(100) NOT NULL DEFAULT '' COMMENT '内容',
+  `val` varchar(255) NOT NULL DEFAULT '' COMMENT '值',
+  `return_type` int(11) NOT NULL DEFAULT '1' COMMENT '返回类型(0: 都返回,1:后台维护返回 2:界面返回)',
+  `order_no` int(11) NOT NULL DEFAULT '0' COMMENT '排序号',
+  `remark` varchar(300) DEFAULT NULL COMMENT '备注',
+  PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=370 DEFAULT CHARSET=utf8 COMMENT='字典表';
+
+-- ----------------------------
+-- Records of kl_dictionary_info
+-- ----------------------------
+INSERT INTO `kl_dictionary_info` VALUES ('1', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '7', '全部', '0', '2', '1', '静态知识检索类型');
+INSERT INTO `kl_dictionary_info` VALUES ('2', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '7', '诊断', '1', '2', '10', '静态知识检索类型');
+INSERT INTO `kl_dictionary_info` VALUES ('3', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '7', '药品', '2', '2', '20', '静态知识检索类型');
+INSERT INTO `kl_dictionary_info` VALUES ('4', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '7', '检验', '3', '2', '30', '静态知识检索类型');
+INSERT INTO `kl_dictionary_info` VALUES ('5', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '7', '检查', '5', '2', '40', '静态知识检索类型');
+INSERT INTO `kl_dictionary_info` VALUES ('6', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '7', '手术和操作', '6', '2', '50', '静态知识检索类型');
+INSERT INTO `kl_dictionary_info` VALUES ('7', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '7', '量表', '8', '2', '80', '静态知识检索类型');
+INSERT INTO `kl_dictionary_info` VALUES ('80', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '13', '诊断', '疾病', '1', '100', '页面显示词性');
+INSERT INTO `kl_dictionary_info` VALUES ('81', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '13', '药品', '药品通用名', '1', '101', '页面显示词性');
+INSERT INTO `kl_dictionary_info` VALUES ('82', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '13', '药品剂型', '药品剂型', '1', '102', '页面显示词性');
+INSERT INTO `kl_dictionary_info` VALUES ('83', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '13', '症状', '症状', '1', '103', '页面显示词性');
+INSERT INTO `kl_dictionary_info` VALUES ('84', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '13', '体格检查项目', '体格检查项目', '1', '104', '页面显示词性');
+INSERT INTO `kl_dictionary_info` VALUES ('85', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '13', '体格检查结果', '体格检查结果', '1', '105', '页面显示词性');
+INSERT INTO `kl_dictionary_info` VALUES ('86', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '13', '手术和操作', '手术和操作', '1', '106', '页面显示词性');
+INSERT INTO `kl_dictionary_info` VALUES ('87', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '13', '检验套餐', '实验室检查套餐', '1', '107', '页面显示词性');
+INSERT INTO `kl_dictionary_info` VALUES ('88', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '13', '检验细项', '实验室检查子项目', '1', '108', '页面显示词性');
+INSERT INTO `kl_dictionary_info` VALUES ('89', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '13', '检查', '辅助检查项目', '1', '109', '页面显示词性');
+INSERT INTO `kl_dictionary_info` VALUES ('90', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '13', '检查子项', '辅助检查子项目', '1', '110', '页面显示词性');
+INSERT INTO `kl_dictionary_info` VALUES ('91', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '13', '辅助检查描述', '辅助检查描述', '1', '111', '页面显示词性');
+INSERT INTO `kl_dictionary_info` VALUES ('92', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '13', '辅助检查结果', '辅助检查结果', '1', '112', '页面显示词性');
+INSERT INTO `kl_dictionary_info` VALUES ('93', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '13', '输血类型', '输血类型', '1', '113', '页面显示词性');
+INSERT INTO `kl_dictionary_info` VALUES ('94', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '13', '麻醉', '麻醉', '1', '114', '页面显示词性');
+INSERT INTO `kl_dictionary_info` VALUES ('95', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '13', '科室', '科室', '1', '115', '页面显示词性');
+INSERT INTO `kl_dictionary_info` VALUES ('96', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '13', '性别', '性别', '1', '116', '页面显示词性');
+INSERT INTO `kl_dictionary_info` VALUES ('97', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '13', '人群', '人群', '1', '117', '页面显示词性');
+INSERT INTO `kl_dictionary_info` VALUES ('98', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '13', '食物', '食物', '1', '118', '页面显示词性');
+INSERT INTO `kl_dictionary_info` VALUES ('99', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '13', '其他过敏原', '其他过敏原', '1', '119', '页面显示词性');
+INSERT INTO `kl_dictionary_info` VALUES ('100', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '13', '医疗器械及物品', '医疗器械及物品', '1', '120', '页面显示词性');
+INSERT INTO `kl_dictionary_info` VALUES ('101', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '13', '给药途径', '给药途径', '1', '121', '页面显示词性');
+INSERT INTO `kl_dictionary_info` VALUES ('102', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '13', '部位', '部位', '1', '122', '页面显示词性');
+INSERT INTO `kl_dictionary_info` VALUES ('103', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '13', '护理', '护理', '1', '123', '页面显示词性');
+INSERT INTO `kl_dictionary_info` VALUES ('104', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '13', '量表', '量表', '1', '124', '页面显示词性');
+INSERT INTO `kl_dictionary_info` VALUES ('105', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '13', '单位', '单位', '1', '125', '页面显示词性');
+INSERT INTO `kl_dictionary_info` VALUES ('106', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '13', 'ICD10疾病类别', 'ICD10疾病类别', '1', '300', '页面显示词性');
+INSERT INTO `kl_dictionary_info` VALUES ('107', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '13', '药品化学物质类别', '药品化学物质类别', '1', '301', '页面显示词性');
+INSERT INTO `kl_dictionary_info` VALUES ('108', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '13', '药品治疗学类别', '药品治疗学类别', '1', '302', '页面显示词性');
+INSERT INTO `kl_dictionary_info` VALUES ('109', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '13', '药品药理学类别', '药品药理学类别', '1', '303', '页面显示词性');
+INSERT INTO `kl_dictionary_info` VALUES ('110', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '13', '药品解剖学类别', '药品解剖学类别', '1', '304', '页面显示词性');
+INSERT INTO `kl_dictionary_info` VALUES ('111', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '13', '症状类别', '症状类别', '1', '305', '页面显示词性');
+INSERT INTO `kl_dictionary_info` VALUES ('112', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '13', '手术和操作类别', '手术和操作类别', '1', '306', '页面显示词性');
+INSERT INTO `kl_dictionary_info` VALUES ('113', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '13', 'ICD10疾病类别根节点', 'ICD10疾病类别根节点', '1', '400', '页面显示词性');
+INSERT INTO `kl_dictionary_info` VALUES ('114', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '13', '科室疾病类别根节点', '科室疾病类别根节点', '1', '401', '页面显示词性');
+INSERT INTO `kl_dictionary_info` VALUES ('115', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '13', '药品化学物质类别根节点', '药品化学物质类别根节点', '1', '402', '页面显示词性');
+INSERT INTO `kl_dictionary_info` VALUES ('116', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '13', '药品治疗学类别根节点', '药品治疗学类别根节点', '1', '403', '页面显示词性');
+INSERT INTO `kl_dictionary_info` VALUES ('117', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '13', '药品药理学类别根节点', '药品药理学类别根节点', '1', '404', '页面显示词性');
+INSERT INTO `kl_dictionary_info` VALUES ('118', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '13', '药品解剖学类别根节点', '药品解剖学类别根节点', '1', '405', '页面显示词性');
+INSERT INTO `kl_dictionary_info` VALUES ('119', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '13', '症状类别根节点', '症状类别根节点', '1', '406', '页面显示词性');
+INSERT INTO `kl_dictionary_info` VALUES ('120', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '13', '手术和操作类别根节点', '手术和操作类别根节点', '1', '407', '页面显示词性');
+INSERT INTO `kl_dictionary_info` VALUES ('121', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '13', '实验室检查类别根节点', '实验室检查类别根节点', '1', '408', '页面显示词性');
+INSERT INTO `kl_dictionary_info` VALUES ('122', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '13', '辅助检查类别根节点', '辅助检查类别根节点', '1', '409', '页面显示词性');
+INSERT INTO `kl_dictionary_info` VALUES ('123', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '13', '年龄', '年龄', '1', '410', '页面显示词性');
+INSERT INTO `kl_dictionary_info` VALUES ('124', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '20', '危急值-实验室检查子项目', '3-108-2', '1', '0', '化验规则维护特殊处理-子规则首尾固定');
+INSERT INTO `kl_dictionary_info` VALUES ('125', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '20', '其他值提醒-实验室检查子项目', '4-108-2', '1', '0', '化验规则维护特殊处理-子规则首尾固定');
+INSERT INTO `kl_dictionary_info` VALUES ('126', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '20', '其他值提醒输血-实验室检查子项目', '5-108-2', '1', '0', '化验规则维护特殊处理-子规则首尾固定');
+INSERT INTO `kl_dictionary_info` VALUES ('127', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '21', '高危-药品通用名', '2-101-1', '1', '0', '附加信息特殊处理(必填)');
+INSERT INTO `kl_dictionary_info` VALUES ('128', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '21', '其他值提醒-辅助检查结果', '4-112-1', '1', '0', '附加信息特殊处理(必填)');
+INSERT INTO `kl_dictionary_info` VALUES ('129', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '21', '其他值提醒输血-实验室检查子项目', '5-108-1', '1', '0', '附加信息特殊处理(必填)');
+INSERT INTO `kl_dictionary_info` VALUES ('132', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '31', '开单外等于术语本身', '1', '1', '0', '基础规则类型');
+INSERT INTO `kl_dictionary_info` VALUES ('133', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '31', '开单外存在比较', '2', '1', '0', '基础规则类型');
+INSERT INTO `kl_dictionary_info` VALUES ('134', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '31', '开单外不等于术语本身', '3', '1', '0', '基础规则类型');
+INSERT INTO `kl_dictionary_info` VALUES ('135', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '31', '过敏原', '4', '1', '0', '基础规则类型');
+INSERT INTO `kl_dictionary_info` VALUES ('136', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '31', '开单项', '5', '1', '0', '基础规则类型');
+INSERT INTO `kl_dictionary_info` VALUES ('137', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '31', '检查结果正则表达式', '6', '1', '0', '基础规则类型');
+INSERT INTO `kl_dictionary_info` VALUES ('138', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '22', '开单合理性-年龄-体格检查项目', '410,104', '1', '0', '开单合理性只有数字没有文本');
+INSERT INTO `kl_dictionary_info` VALUES ('139', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '23', '复杂情况下高风险手术-手术和操作', '2-106', '1', '0', '高危手术存在(无子条件特殊处理)');
+INSERT INTO `kl_dictionary_info` VALUES ('140', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '24', '诊断依据存在比较-年龄-体格检查项目', '410,104', '1', '0', '诊断依据存在比较只有数字没有文本');
+INSERT INTO `kl_dictionary_info` VALUES ('141', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '25', '诊断依据存在比较-实验室检查子项目', '108', '1', '0', '诊断依据存在比较只有文本');
+INSERT INTO `kl_dictionary_info` VALUES ('143', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '7', '护理', '9', '2', '90', '静态知识检索类型');
+INSERT INTO `kl_dictionary_info` VALUES ('144', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '7', '政策法规', '10', '2', '100', '静态知识检索类型');
+INSERT INTO `kl_dictionary_info` VALUES ('145', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '13', '政策法规', '政策法规', '1', '411', '页面显示词性');
+INSERT INTO `kl_dictionary_info` VALUES ('146', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '50', '静态知识', '1', '1', '10', '静态知识类型');
+INSERT INTO `kl_dictionary_info` VALUES ('147', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '50', '注意事项', '2', '1', '20', '静态知识类型');
+INSERT INTO `kl_dictionary_info` VALUES ('148', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '50', '临床路径', '3', '1', '30', '静态知识类型');
+INSERT INTO `kl_dictionary_info` VALUES ('149', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '50', '一般治疗', '4', '1', '40', '静态知识类型');
+INSERT INTO `kl_dictionary_info` VALUES ('150', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '51', '1', '1,3,4', '1', '0', '诊断关联的静态信息类型');
+INSERT INTO `kl_dictionary_info` VALUES ('151', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '51', '2', '1', '1', '0', '药品关联的静态信息类型');
+INSERT INTO `kl_dictionary_info` VALUES ('152', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '51', '3', '1,2', '1', '0', '检验套餐关联的静态信息类型');
+INSERT INTO `kl_dictionary_info` VALUES ('153', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '51', '4', '1,2', '1', '0', '检验细项关联的静态信息类型');
+INSERT INTO `kl_dictionary_info` VALUES ('154', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '51', '5', '1,2', '1', '0', '检查关联的静态信息类型');
+INSERT INTO `kl_dictionary_info` VALUES ('155', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '51', '6', '1,2', '1', '0', '检查子项关联的静态信息类型');
+INSERT INTO `kl_dictionary_info` VALUES ('156', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '51', '7', '1', '1', '0', '手术和操作关联的静态信息类型');
+INSERT INTO `kl_dictionary_info` VALUES ('157', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '51', '8', '1', '1', '0', '量表关联的静态信息类型');
+INSERT INTO `kl_dictionary_info` VALUES ('158', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '51', '9', '1', '1', '0', '护理关联的静态信息类型');
+INSERT INTO `kl_dictionary_info` VALUES ('159', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '51', '10', '1', '1', '0', '法律法规关联的静态信息类型');
+INSERT INTO `kl_dictionary_info` VALUES ('160', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '51', '999', '1,2,3,4', '1', '0', '其他关联的静态信息类型');
+INSERT INTO `kl_dictionary_info` VALUES ('161', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '40', '单次', '^(24小时维持|一次|1次|空)$|ALWAYS|BID|ONCE|每日', '1', '0', '开单频次');
+INSERT INTO `kl_dictionary_info` VALUES ('162', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '40', '持续', '每周|每月|每年|每半年|(一|二|三)月一次|qw|biw', '1', '0', '开单频次');
+INSERT INTO `kl_dictionary_info` VALUES ('163', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '药品_禁忌人群', '该患者[匹配内容],不宜开[开单名称][给药途径][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('164', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '药品_禁忌性别', '[匹配内容]性患者,不宜开[开单名称][给药途径][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('165', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '药品_禁忌疾病', '[匹配内容]患者,不宜开[开单名称][给药途径][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('166', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '药品_禁忌医疗器械及物品', '该患者具有[匹配内容],不宜开[开单名称][给药途径][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('167', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '药品_禁忌服用药品', '该患者正在使用[匹配内容],不宜开[开单名称][给药途径][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('168', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '药品_禁忌临床表现', '该患者[匹配内容],不宜开[开单名称][给药途径][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('169', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '药品_禁忌检查结果', '该患者检查提示[匹配内容],不宜开[开单名称][给药途径][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('170', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '药品_禁忌查体结果', '该患者[匹配内容],不宜开[开单名称][给药途径][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('171', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '药品_禁忌手术', '该患者有[匹配内容]史,不宜开[开单名称][给药途径][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('172', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '药品_禁忌年龄', '该患者年龄[匹配内容],不宜开[开单名称][给药途径][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('173', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '药品_禁忌检验结果', '该患者[匹配内容],不宜开[开单名称][给药途径][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('174', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '药品_禁忌过敏药品', '该患者[匹配内容]过敏,不宜开[开单名称][给药途径][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('175', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '药品_禁忌其他过敏原', '该患者[匹配内容]过敏,不宜开[开单名称][给药途径][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('176', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '化验_禁忌人群', '该患者[匹配内容],不宜开[开单名称][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('177', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '化验_禁忌性别', '[匹配内容]性患者,不宜开[开单名称],[开单名称]为针对[性别取反]性患者的检验项目', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('178', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '化验_禁忌疾病', '[匹配内容]患者,不宜开[开单名称][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('180', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '化验_禁忌医疗器械及物品', '该患者具有[匹配内容],不宜开[开单名称][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('181', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '化验_禁忌服用药品', '该患者正在使用[匹配内容],不宜开[开单名称][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('182', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '化验_禁忌临床表现', '该患者[匹配内容],不宜开[开单名称][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('183', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '化验_禁忌检查结果', '该患者检查提示[匹配内容],不宜开[开单名称][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('184', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '化验_禁忌查体结果', '该患者[匹配内容],不宜开[开单名称][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('185', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '化验_禁忌手术', '该患者有[匹配内容]史,不宜开[开单名称][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('186', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '化验_禁忌年龄', '该患者年龄[匹配内容],不宜开[开单名称][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('187', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '化验_禁忌检验结果', '该患者[匹配内容],不宜开[开单名称][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('188', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '化验_禁忌过敏药品', '该患者[匹配内容]过敏,不宜开[开单名称][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('189', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '化验_禁忌其他过敏原', '该患者[匹配内容]过敏,不宜开[开单名称][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('190', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '化验_开单项互斥', '检验项目互斥:[匹配内容]与[开单名称]不宜同时进行[原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('191', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '辅检_禁忌人群', '该患者[匹配内容],不宜开[开单名称][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('192', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '辅检_禁忌性别', '[匹配内容]性患者,不宜开[开单名称],[开单名称]为针对[性别取反]性患者的检查项目', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('193', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '辅检_禁忌疾病', '[匹配内容]患者,不宜开[开单名称][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('194', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '辅检_禁忌医疗器械及物品', '该患者具有[匹配内容],不宜开[开单名称][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('195', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '辅检_禁忌服用药品', '该患者正在使用[匹配内容],不宜开[开单名称][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('196', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '辅检_禁忌临床表现', '该患者[匹配内容],不宜开[开单名称][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('197', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '辅检_禁忌检查结果', '该患者检查提示[匹配内容],不宜开[开单名称][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('198', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '辅检_禁忌查体结果', '该患者[匹配内容],不宜开[开单名称][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('199', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '辅检_禁忌手术', '该患者有[匹配内容]史,不宜开[开单名称][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('200', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '辅检_禁忌年龄', '该患者年龄[匹配内容],不宜开[开单名称][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('201', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '辅检_禁忌检验结果', '该患者[匹配内容],不宜开[开单名称][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('202', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '辅检_禁忌过敏药品', '该患者[匹配内容]过敏,不宜开[开单名称][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('203', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '辅检_禁忌其他过敏原', '该患者[匹配内容]过敏,不宜开[开单名称][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('204', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '辅检_开单项互斥', '检查项目互斥:[匹配内容]与[开单名称]不宜同时进行[原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('205', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '手术_禁忌人群', '该患者[匹配内容],不宜开[开单名称][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('206', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '手术_禁忌性别', '[匹配内容]性患者,不宜开[开单名称][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('207', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '手术_禁忌疾病', '[匹配内容]患者,不宜开[开单名称][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('208', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '手术_禁忌医疗器械及物品', '该患者具有[匹配内容],不宜开[开单名称][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('209', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '手术_禁忌服用药品', '该患者正在使用[匹配内容],不宜开[开单名称][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('210', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '手术_禁忌临床表现', '该患者[匹配内容],不宜开[开单名称][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('211', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '手术_禁忌检查结果', '该患者检查提示[匹配内容],不宜开[开单名称][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('212', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '手术_禁忌查体结果', '该患者[匹配内容],不宜开[开单名称][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('213', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '手术_禁忌手术', '该患者有[匹配内容]史,不宜开[开单名称][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('214', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '手术_禁忌年龄', '该患者年龄[匹配内容],不宜开[开单名称][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('215', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '手术_禁忌检验结果', '该患者[匹配内容],不宜开[开单名称][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('216', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '手术_禁忌过敏药品', '该患者[匹配内容]过敏,不宜开[开单名称][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('217', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '手术_禁忌其他过敏原', '该患者[匹配内容]过敏,不宜开[开单名称][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('218', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '输血_禁忌人群', '该患者[匹配内容],谨慎输注[开单名称][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('219', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '输血_禁忌性别', '[匹配内容]性患者,谨慎输注[开单名称][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('220', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '输血_禁忌疾病', '[匹配内容]患者,谨慎输注[开单名称][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('221', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '输血_禁忌医疗器械及物品', '该患者具有[匹配内容],谨慎输注[开单名称][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('222', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '输血_禁忌服用药品', '该患者正在使用[匹配内容],谨慎输注[开单名称][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('223', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '输血_禁忌临床表现', '该患者[匹配内容],谨慎输注[开单名称][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('224', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '输血_禁忌检查结果', '该患者检查提示[匹配内容],谨慎输注[开单名称][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('225', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '输血_禁忌查体结果', '该患者[匹配内容],谨慎输注[开单名称][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('226', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '输血_禁忌手术', '该患者有[匹配内容]史,谨慎输注[开单名称][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('227', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '输血_禁忌年龄', '该患者年龄[匹配内容],谨慎输注[开单名称][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('228', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '输血_禁忌检验结果', '该患者[匹配内容],谨慎输注[开单名称][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('229', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '输血_禁忌过敏药品', '该患者[匹配内容]过敏,谨慎输注[开单名称][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('230', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '输血_禁忌其他过敏原', '该患者[匹配内容]过敏,谨慎输注[开单名称][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('231', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '辅检_正常项目重复开立', '该患者近期做过[项目名称],检查结果[匹配内容],请谨慎开立[开单名称][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('232', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '化验_正常项目重复开立', '该患者近期做过[匹配内容],请谨慎开立[开单名称][原因及建议]', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('233', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '化验_24小时重复开立', '[开单名称]重复开立', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('234', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '41', '辅检_24小时重复开立', '[开单名称]重复开立', '1', '0', '开单提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('235', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '21', '开单合理性-药品通用名', '1-101-0', '1', '0', '附加信息特殊处理(非必填)');
+INSERT INTO `kl_dictionary_info` VALUES ('236', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '21', '开单合理性-实验室检查套餐', '1-107-0', '1', '0', '附加信息特殊处理(非必填)');
+INSERT INTO `kl_dictionary_info` VALUES ('237', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '21', '开单合理性-辅助检查项目', '1-109-0', '1', '0', '附加信息特殊处理(非必填)');
+INSERT INTO `kl_dictionary_info` VALUES ('238', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '21', '开单合理性-辅助检查子项目', '1-110-0', '1', '0', '附加信息特殊处理(非必填)');
+INSERT INTO `kl_dictionary_info` VALUES ('239', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '21', '开单合理性-手术和操作', '1-106-0', '1', '0', '附加信息特殊处理(非必填)');
+INSERT INTO `kl_dictionary_info` VALUES ('240', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '21', '开单合理性-输血类型', '1-113-0', '1', '0', '附加信息特殊处理(非必填)');
+INSERT INTO `kl_dictionary_info` VALUES ('241', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '21', '正常项目重复开立-辅助检查项目', '6-109-0', '1', '0', '附加信息特殊处理(非必填)');
+INSERT INTO `kl_dictionary_info` VALUES ('242', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '21', '正常项目重复开立-辅助检查子项目', '6-110-0', '1', '0', '附加信息特殊处理(非必填)');
+INSERT INTO `kl_dictionary_info` VALUES ('243', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '21', '正常项目重复开立-实验室检查套餐', '6-107-0', '1', '0', '附加信息特殊处理(非必填)');
+INSERT INTO `kl_dictionary_info` VALUES ('244', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '61', '疾病集合', '308-600-100', '1', '0', '术语集合相关子类');
+INSERT INTO `kl_dictionary_info` VALUES ('245', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '61', '药品通用名集合', '309-600-101', '1', '0', '术语集合相关子类');
+INSERT INTO `kl_dictionary_info` VALUES ('246', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '61', '药品剂型集合', '310-600-102', '1', '0', '术语集合相关子类');
+INSERT INTO `kl_dictionary_info` VALUES ('247', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '61', '症状集合', '311-600-103', '1', '0', '术语集合相关子类');
+INSERT INTO `kl_dictionary_info` VALUES ('248', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '61', '体格检查项目集合', '312-600-104', '1', '0', '术语集合相关子类');
+INSERT INTO `kl_dictionary_info` VALUES ('249', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '61', '体格检查结果集合', '313-600-105', '1', '0', '术语集合相关子类');
+INSERT INTO `kl_dictionary_info` VALUES ('250', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '61', '手术和操作集合', '314-600-106', '1', '0', '术语集合相关子类');
+INSERT INTO `kl_dictionary_info` VALUES ('251', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '61', '实验室检查套餐集合', '315-600-107', '1', '0', '术语集合相关子类');
+INSERT INTO `kl_dictionary_info` VALUES ('252', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '61', '辅助检查项目集合', '316-600-109', '1', '0', '术语集合相关子类');
+INSERT INTO `kl_dictionary_info` VALUES ('253', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '61', '辅助检查子项目集合', '317-600-110', '1', '0', '术语集合相关子类');
+INSERT INTO `kl_dictionary_info` VALUES ('254', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '61', '辅助检查描述集合', '318-600-111', '1', '0', '术语集合相关子类');
+INSERT INTO `kl_dictionary_info` VALUES ('255', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '61', '辅助检查结果集合', '319-600-112', '1', '0', '术语集合相关子类');
+INSERT INTO `kl_dictionary_info` VALUES ('256', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '61', '麻醉集合', '320-600-114', '1', '0', '术语集合相关子类');
+INSERT INTO `kl_dictionary_info` VALUES ('257', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '61', '科室集合', '321-600-115', '1', '0', '术语集合相关子类');
+INSERT INTO `kl_dictionary_info` VALUES ('258', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '61', '食物集合', '322-600-118', '1', '0', '术语集合相关子类');
+INSERT INTO `kl_dictionary_info` VALUES ('259', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '61', '其他过敏原集合', '323-600-119', '1', '0', '术语集合相关子类');
+INSERT INTO `kl_dictionary_info` VALUES ('260', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '61', '医疗器械及物品集合', '324-600-120', '1', '0', '术语集合相关子类');
+INSERT INTO `kl_dictionary_info` VALUES ('261', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '61', '部位集合', '325-600-122', '1', '0', '术语集合相关子类');
+INSERT INTO `kl_dictionary_info` VALUES ('262', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '61', '中医疾病集合', '326-600-127', '1', '0', '术语集合相关子类');
+INSERT INTO `kl_dictionary_info` VALUES ('263', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '61', '中医证候集合', '327-600-128', '1', '0', '术语集合相关子类');
+INSERT INTO `kl_dictionary_info` VALUES ('264', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '61', '诱因集合', '328-600-129', '1', '0', '术语集合相关子类');
+INSERT INTO `kl_dictionary_info` VALUES ('265', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '62', '全部', '0', '1', '1', '术语集合类型');
+INSERT INTO `kl_dictionary_info` VALUES ('266', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '62', '疾病集合', '308', '1', '2', '术语集合类型');
+INSERT INTO `kl_dictionary_info` VALUES ('267', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '62', '药品通用名集合', '309', '1', '3', '术语集合类型');
+INSERT INTO `kl_dictionary_info` VALUES ('268', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '62', '药品剂型集合', '310', '1', '4', '术语集合类型');
+INSERT INTO `kl_dictionary_info` VALUES ('269', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '62', '症状集合', '311', '1', '5', '术语集合类型');
+INSERT INTO `kl_dictionary_info` VALUES ('270', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '62', '体格检查项目集合', '312', '1', '6', '术语集合类型');
+INSERT INTO `kl_dictionary_info` VALUES ('271', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '62', '体格检查结果集合', '313', '1', '7', '术语集合类型');
+INSERT INTO `kl_dictionary_info` VALUES ('272', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '62', '手术和操作集合', '314', '1', '8', '术语集合类型');
+INSERT INTO `kl_dictionary_info` VALUES ('273', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '62', '实验室检查套餐集合', '315', '1', '9', '术语集合类型');
+INSERT INTO `kl_dictionary_info` VALUES ('274', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '62', '辅助检查项目集合', '316', '1', '10', '术语集合类型');
+INSERT INTO `kl_dictionary_info` VALUES ('275', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '62', '辅助检查子项目集合', '317', '1', '11', '术语集合类型');
+INSERT INTO `kl_dictionary_info` VALUES ('276', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '62', '辅助检查描述集合', '318', '1', '12', '术语集合类型');
+INSERT INTO `kl_dictionary_info` VALUES ('277', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '62', '辅助检查结果集合', '319', '1', '13', '术语集合类型');
+INSERT INTO `kl_dictionary_info` VALUES ('278', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '62', '麻醉集合', '320', '1', '14', '术语集合类型');
+INSERT INTO `kl_dictionary_info` VALUES ('279', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '62', '科室集合', '321', '1', '15', '术语集合类型');
+INSERT INTO `kl_dictionary_info` VALUES ('280', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '62', '食物集合', '322', '1', '16', '术语集合类型');
+INSERT INTO `kl_dictionary_info` VALUES ('281', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '62', '其他过敏原集合', '323', '1', '17', '术语集合类型');
+INSERT INTO `kl_dictionary_info` VALUES ('282', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '62', '医疗器械及物品集合', '324', '1', '18', '术语集合类型');
+INSERT INTO `kl_dictionary_info` VALUES ('283', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '62', '部位集合', '325', '1', '19', '术语集合类型');
+INSERT INTO `kl_dictionary_info` VALUES ('284', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '62', '中医疾病集合', '326', '1', '20', '术语集合类型');
+INSERT INTO `kl_dictionary_info` VALUES ('285', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '62', '中医证候集合', '327', '1', '21', '术语集合类型');
+INSERT INTO `kl_dictionary_info` VALUES ('286', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '62', '诱因集合', '328', '1', '22', '术语集合类型');
+INSERT INTO `kl_dictionary_info` VALUES ('297', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '63', '疾病集合', '308', '1', '1', '术语集合类型(添加)');
+INSERT INTO `kl_dictionary_info` VALUES ('298', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '63', '药品通用名集合', '309', '1', '2', '术语集合类型(添加)');
+INSERT INTO `kl_dictionary_info` VALUES ('299', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '63', '药品剂型集合', '310', '1', '3', '术语集合类型(添加)');
+INSERT INTO `kl_dictionary_info` VALUES ('300', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '63', '症状集合', '311', '1', '4', '术语集合类型(添加)');
+INSERT INTO `kl_dictionary_info` VALUES ('301', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '63', '体格检查项目集合', '312', '1', '5', '术语集合类型(添加)');
+INSERT INTO `kl_dictionary_info` VALUES ('302', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '63', '体格检查结果集合', '313', '1', '6', '术语集合类型(添加)');
+INSERT INTO `kl_dictionary_info` VALUES ('303', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '63', '手术和操作集合', '314', '1', '7', '术语集合类型(添加)');
+INSERT INTO `kl_dictionary_info` VALUES ('304', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '63', '实验室检查套餐集合', '315', '1', '8', '术语集合类型(添加)');
+INSERT INTO `kl_dictionary_info` VALUES ('305', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '63', '辅助检查项目集合', '316', '1', '9', '术语集合类型(添加)');
+INSERT INTO `kl_dictionary_info` VALUES ('306', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '63', '辅助检查子项目集合', '317', '1', '10', '术语集合类型(添加)');
+INSERT INTO `kl_dictionary_info` VALUES ('307', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '63', '辅助检查描述集合', '318', '1', '11', '术语集合类型(添加)');
+INSERT INTO `kl_dictionary_info` VALUES ('308', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '63', '辅助检查结果集合', '319', '1', '12', '术语集合类型(添加)');
+INSERT INTO `kl_dictionary_info` VALUES ('309', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '63', '麻醉集合', '320', '1', '13', '术语集合类型(添加)');
+INSERT INTO `kl_dictionary_info` VALUES ('310', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '63', '科室集合', '321', '1', '14', '术语集合类型(添加)');
+INSERT INTO `kl_dictionary_info` VALUES ('311', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '63', '食物集合', '322', '1', '15', '术语集合类型(添加)');
+INSERT INTO `kl_dictionary_info` VALUES ('312', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '63', '其他过敏原集合', '323', '1', '16', '术语集合类型(添加)');
+INSERT INTO `kl_dictionary_info` VALUES ('313', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '63', '医疗器械及物品集合', '324', '1', '17', '术语集合类型(添加)');
+INSERT INTO `kl_dictionary_info` VALUES ('314', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '63', '部位集合', '325', '1', '18', '术语集合类型(添加)');
+INSERT INTO `kl_dictionary_info` VALUES ('315', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '63', '中医疾病集合', '326', '1', '19', '术语集合类型(添加)');
+INSERT INTO `kl_dictionary_info` VALUES ('316', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '63', '中医证候集合', '327', '1', '20', '术语集合类型(添加)');
+INSERT INTO `kl_dictionary_info` VALUES ('317', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '63', '诱因集合', '328', '1', '21', '术语集合类型(添加)');
+INSERT INTO `kl_dictionary_info` VALUES ('318', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '23', '复杂情况下高风险手术-手术和操作集合', '2-314', '1', '0', '高危手术存在(无子条件特殊处理)');
+INSERT INTO `kl_dictionary_info` VALUES ('319', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '21', '高危-药品通用名集合', '2-309-1', '1', '0', '附加信息特殊处理(必填)');
+INSERT INTO `kl_dictionary_info` VALUES ('320', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '21', '其他值提醒-辅助检查结果集合', '4-319-1', '1', '0', '附加信息特殊处理(必填)');
+INSERT INTO `kl_dictionary_info` VALUES ('321', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '21', '开单合理性-药品通用名集合', '1-309-0', '1', '0', '附加信息特殊处理(非必填)');
+INSERT INTO `kl_dictionary_info` VALUES ('322', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '21', '开单合理性-实验室检查套餐集合', '1-315-0', '1', '0', '附加信息特殊处理(非必填)');
+INSERT INTO `kl_dictionary_info` VALUES ('323', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '21', '开单合理性-辅助检查项目集合', '1-316-0', '1', '0', '附加信息特殊处理(非必填)');
+INSERT INTO `kl_dictionary_info` VALUES ('324', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '21', '开单合理性-辅助检查子项目集合', '1-317-0', '1', '0', '附加信息特殊处理(非必填)');
+INSERT INTO `kl_dictionary_info` VALUES ('325', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '21', '开单合理性-手术和操作集合', '1-314-0', '1', '0', '附加信息特殊处理(非必填)');
+INSERT INTO `kl_dictionary_info` VALUES ('326', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '21', '正常项目重复开立-辅助检查项目集合', '6-316-0', '1', '0', '附加信息特殊处理(非必填)');
+INSERT INTO `kl_dictionary_info` VALUES ('327', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '21', '正常项目重复开立-辅助检查子项目集合', '6-317-0', '1', '0', '附加信息特殊处理(非必填)');
+INSERT INTO `kl_dictionary_info` VALUES ('328', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '21', '正常项目重复开立-实验室检查套餐集合', '6-315-0', '1', '0', '附加信息特殊处理(非必填)');
+INSERT INTO `kl_dictionary_info` VALUES ('331', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '100', '机械医嘱', '足底静脉泵(气压治疗)', '1', '0', 'VTE医嘱数据');
+INSERT INTO `kl_dictionary_info` VALUES ('332', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '100', '机械医嘱', '间歇充气加压(气压治疗)', '1', '0', 'VTE医嘱数据');
+INSERT INTO `kl_dictionary_info` VALUES ('333', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '100', '机械医嘱', '医用压力弹力袜', '1', '0', 'VTE医嘱数据');
+INSERT INTO `kl_dictionary_info` VALUES ('334', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '100', '机械医嘱', '气压治疗(肢体正负压治疗>=3部位', '1', '0', 'VTE医嘱数据');
+INSERT INTO `kl_dictionary_info` VALUES ('335', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '100', '药物医嘱', '普通肝素', '1', '0', 'VTE医嘱数据');
+INSERT INTO `kl_dictionary_info` VALUES ('336', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '100', '药物医嘱', '进口依诺肝素', '1', '0', 'VTE医嘱数据');
+INSERT INTO `kl_dictionary_info` VALUES ('337', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '100', '药物医嘱', '国产依诺肝素', '1', '0', 'VTE医嘱数据');
+INSERT INTO `kl_dictionary_info` VALUES ('338', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '100', '药物医嘱', '利伐沙班', '1', '0', 'VTE医嘱数据');
+INSERT INTO `kl_dictionary_info` VALUES ('339', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '100', '药物医嘱', '低分子肝素', '1', '0', 'VTE医嘱数据');
+INSERT INTO `kl_dictionary_info` VALUES ('340', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '100', '药物医嘱', '速碧林', '1', '0', 'VTE医嘱数据');
+INSERT INTO `kl_dictionary_info` VALUES ('341', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '100', '药物医嘱', '达肝素', '1', '0', 'VTE医嘱数据');
+INSERT INTO `kl_dictionary_info` VALUES ('342', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '100', '药物医嘱', '磺达肝癸钠', '1', '0', 'VTE医嘱数据');
+INSERT INTO `kl_dictionary_info` VALUES ('343', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '100', '药物医嘱', '达比加群酯', '1', '0', 'VTE医嘱数据');
+INSERT INTO `kl_dictionary_info` VALUES ('344', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '100', '药物医嘱', '阿加曲班', '1', '0', 'VTE医嘱数据');
+INSERT INTO `kl_dictionary_info` VALUES ('345', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '100', '药物医嘱', '比伐卢定', '1', '0', 'VTE医嘱数据');
+INSERT INTO `kl_dictionary_info` VALUES ('346', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '100', '药物医嘱', '华法林1', '1', '0', 'VTE医嘱数据');
+INSERT INTO `kl_dictionary_info` VALUES ('347', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '42', '化验_药品', '该患者[化验结果],可能正在服用[匹配内容],请留意[原因及建议]', '1', '0', '其他值提醒化验提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('348', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '42', '化验_诊断', '该患者[化验结果],患有[匹配内容],请留意[原因及建议]', '1', '0', '其他值提醒化验提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('349', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '42', '化验_人群', '该患者[化验结果],[匹配内容],请留意[原因及建议]', '1', '0', '其他值提醒化验提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('350', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '42', '化验_化验', '该患者[化验结果],[匹配内容],请留意[原因及建议]', '1', '0', '其他值提醒化验提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('351', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '42', '化验_化验本身', '该患者[化验结果],请留意[原因及建议]', '1', '0', '其他值提醒化验提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('352', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '21', '其他指标提醒-实验室检查子项目', '4-108-0', '1', '0', '附加信息特殊处理(非必填)');
+INSERT INTO `kl_dictionary_info` VALUES ('353', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '42', '化验_性别', '该患者[化验结果],[匹配内容],请留意[原因及建议]', '1', '0', '其他值提醒化验提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('354', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '21', '其他值提醒_辅助检查描述', '4-111-0', '1', '0', '附加信息特殊处理(非必填)');
+INSERT INTO `kl_dictionary_info` VALUES ('355', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '20', '其他值提醒-辅助检查描述', '4-111-2', '1', '0', '辅检规则维护特殊处理-子规则首尾固定');
+INSERT INTO `kl_dictionary_info` VALUES ('356', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '23', '检查5级/6级-辅助检查结果', '3-112', '1', '0', '检查(5级)单危急值/(6级)多危急值和异常值存在(无子条件特殊处理)');
+INSERT INTO `kl_dictionary_info` VALUES ('357', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '23', '检查5级/6级-辅助检查结果集合', '3-329', '1', '0', '检查(5级)单危急值/(6级)多危急值和异常值存在(无子条件特殊处理)');
+INSERT INTO `kl_dictionary_info` VALUES ('358', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '43', '化验_化验本身', '该患者[化验结果],请留意[原因及建议]', '1', '0', '化验危急值提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('359', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '43', '化验_人群', '该患者[化验结果],[匹配内容],请留意[原因及建议]', '1', '0', '化验危急值提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('360', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '43', '化验_年龄', '该患者[化验结果],年龄[匹配内容],请留意[原因及建议]', '1', '0', '化验危急值提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('361', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '26', '危机值-实验室检查子项目-开单外存在比较-实验室检查子项目[隐藏]', '3-108-2-108', '1', '0', '危机值-实验室检查子项目-开单外存在比较-实验室检查子项目[隐藏]');
+INSERT INTO `kl_dictionary_info` VALUES ('362', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '42', '辅检_辅助检查描述', '该患者检查提示[辅助检查描述],请留意[原因及建议]', '1', '0', '其他值提醒辅助检查描述提示语');
+INSERT INTO `kl_dictionary_info` VALUES ('363', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '44', '[医疗器械及物品]', '具有#', '1', '0', '提示语前后缀,待用');
+INSERT INTO `kl_dictionary_info` VALUES ('364', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '44', '[手术]', '有#史', '1', '0', '提示语前后缀,待用');
+INSERT INTO `kl_dictionary_info` VALUES ('365', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '61', '给药途径集合', '329-600-121', '1', '0', '术语集合相关子类');
+INSERT INTO `kl_dictionary_info` VALUES ('366', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '62', '给药途径集合', '329', '1', '22', '术语集合类型');
+INSERT INTO `kl_dictionary_info` VALUES ('367', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '63', '给药途径集合', '329', '1', '21', '术语集合类型(添加)');
+INSERT INTO `kl_dictionary_info` VALUES ('368', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '27', '开单合理性-药品通用名', '1-101', '1', '0', '规则基础条件操作(前行删除后续行也随之删除)');
+INSERT INTO `kl_dictionary_info` VALUES ('369', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '27', '开单合理性-药品通用名集合', '1-309', '1', '0', '规则基础条件操作(前行删除后续行也随之删除)');

+ 3 - 0
doc/022.20211210开单时间间隔配置/med2021_init.sql

@@ -0,0 +1,3 @@
+USE `med_2021`;
+
+INSERT INTO `med_2021`.`kl_dictionary_info` (`id`, `is_deleted`, `gmt_create`, `gmt_modified`, `creator`, `modifier`, `group_type`, `name`, `val`, `return_type`, `order_no`, `remark`) VALUES ('370', 'N', '1970-01-01 12:00:00', '1970-01-01 12:00:00', '0', '0', '8', '重复开立时间间隔', 24, '1', '0', '重复开立时间间隔(24小时)');

+ 3 - 0
src/main/java/com/diagbot/config/CacheDeleteInit.java

@@ -54,6 +54,9 @@ public class CacheDeleteInit implements CommandLineRunner {
         cacheFacade.loadMsg();
         log.info("CDSS-CORE服务启动加载开单提示语成功!");
 
+        cacheFacade.loadDateInterval();
+        log.info("CDSS-CORE加载开单时间间隔成功!");
+
         cacheFacade.loadVteAdviceCache();
         log.info("CDSS-CORE服务启动加载vte医嘱数据成功!");
 

+ 6 - 0
src/main/java/com/diagbot/config/MybatisPlusConfigurer.java

@@ -1,6 +1,7 @@
 package com.diagbot.config;
 
 import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
+import com.diagbot.config.mybatisLike.MybatisLikeSqlInterceptor;
 import org.mybatis.spring.annotation.MapperScan;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
@@ -30,4 +31,9 @@ public class MybatisPlusConfigurer {
         return paginationInterceptor;
     }
 
+    @Bean
+    public MybatisLikeSqlInterceptor mybatisSqlInterceptor() {
+        return new MybatisLikeSqlInterceptor();
+    }
+
 }

+ 1 - 0
src/main/java/com/diagbot/config/RedisConfigurer.java

@@ -114,6 +114,7 @@ public class RedisConfigurer extends CachingConfigurerSupport {
         ObjectMapper om = new ObjectMapper();
         om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);
         om.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL);
+        // om.setSerializationInclusion(JsonInclude.Include.NON_EMPTY); // 空值不会序列化,从而减少序列化空间,提升效率
         jackson2JsonRedisSerializer.setObjectMapper(om);
         return jackson2JsonRedisSerializer;
     }

+ 223 - 0
src/main/java/com/diagbot/config/mybatisLike/AbstractLikeSqlConverter.java

@@ -0,0 +1,223 @@
+package com.diagbot.config.mybatisLike;
+
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
+
+import java.beans.IntrospectionException;
+import java.beans.PropertyDescriptor;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.util.Set;
+
+
+/**
+ * @Description: 包含like的SQL语句转义模板
+ * @author: gaodm
+ * @time: 2020/11/2 16:05
+ */
+@Slf4j
+public abstract class AbstractLikeSqlConverter<T> {
+
+    /**
+     * SQL语句like使用关键字%
+     */
+    private final static String LIKE_SQL_KEY = "%";
+
+    /**
+     * SQL语句需要转义的关键字
+     */
+    private final static String[] ESCAPE_CHAR = new String[] { LIKE_SQL_KEY, "_", "\\" };
+
+    /**
+     * mybatis-plus中like的SQL语句样式
+     */
+    private final static String MYBATIS_PLUS_LIKE_SQL = " like ?";
+
+    /**
+     * mybatis-plus中参数前缀
+     */
+    private final static String MYBATIS_PLUS_WRAPPER_PREFIX = "ew.paramNameValuePairs.";
+
+    /**
+     * mybatis-plus中参数键
+     */
+    final static String MYBATIS_PLUS_WRAPPER_KEY = "ew";
+
+    /**
+     * mybatis-plus中参数分隔符
+     */
+    final static String MYBATIS_PLUS_WRAPPER_SEPARATOR = ".";
+
+    /**
+     * mybatis-plus中参数分隔符替换器
+     */
+    final static String MYBATIS_PLUS_WRAPPER_SEPARATOR_REGEX = "\\.";
+
+    /**
+     * 已经替换过的标记
+     */
+    final static String REPLACED_LIKE_KEYWORD_MARK = "replaced.keyword";
+
+    /**
+     * 转义特殊字符
+     *
+     * @param sql       SQL语句
+     * @param fields    字段列表
+     * @param parameter 参数对象
+     */
+    public void convert(String sql, Set<String> fields, T parameter) {
+        for (String field : fields) {
+            if (this.hasMybatisPlusLikeSql(sql)) {
+                if (this.hasWrapper(field)) {
+                    // 第一种情况:在业务层进行条件构造产生的模糊查询关键字,使用QueryWrapper,LambdaQueryWrapper
+                    this.transferWrapper(field, parameter);
+                } else {
+                    // 第二种情况:未使用条件构造器,但是在service层进行了查询关键字与模糊查询符`%`手动拼接
+                    this.transferSelf(field, parameter);
+                }
+            } else {
+                // 第三种情况:在Mapper类的注解SQL中进行了模糊查询的拼接
+                this.transferSplice(field, parameter);
+            }
+        }
+    }
+
+    /**
+     * 转义条件构造的特殊字符
+     * 在业务层进行条件构造产生的模糊查询关键字,使用QueryWrapper,LambdaQueryWrapper
+     *
+     * @param field     字段名称
+     * @param parameter 参数对象
+     */
+    public abstract void transferWrapper(String field, T parameter);
+
+    /**
+     * 转义自定义条件拼接的特殊字符
+     * 未使用条件构造器,但是在service层进行了查询关键字与模糊查询符`%`手动拼接
+     *
+     * @param field     字段名称
+     * @param parameter 参数对象
+     */
+    public abstract void transferSelf(String field, T parameter);
+
+    /**
+     * 转义自定义条件拼接的特殊字符
+     * 在Mapper类的注解SQL中进行了模糊查询的拼接
+     *
+     * @param field     字段名称
+     * @param parameter 参数对象
+     */
+    public abstract void transferSplice(String field, T parameter);
+
+    /**
+     * 转义通配符
+     *
+     * @param before 待转义字符串
+     * @return 转义后字符串
+     */
+    String escapeChar(String before) {
+        if (StringUtils.isNotBlank(before)) {
+            before = before.replaceAll("\\\\", "\\\\\\\\");
+            before = before.replaceAll("_", "\\\\_");
+            before = before.replaceAll("%", "\\\\%");
+        }
+        return before;
+    }
+
+    /**
+     * 是否包含需要转义的字符
+     *
+     * @param obj 待判断的对象
+     * @return true/false
+     */
+    boolean hasEscapeChar(Object obj) {
+        if (!(obj instanceof String)) {
+            return false;
+        }
+        return this.hasEscapeChar((String) obj);
+    }
+
+    /**
+     * 处理对象like问题
+     *
+     * @param field     对象字段
+     * @param parameter 对象
+     */
+    void resolveObj(String field, Object parameter) {
+        if (parameter == null || StringUtils.isBlank(field)) {
+            return;
+        }
+        try {
+            PropertyDescriptor descriptor = new PropertyDescriptor(field, parameter.getClass());
+            Method readMethod = descriptor.getReadMethod();
+            Object param = readMethod.invoke(parameter);
+            if (this.hasEscapeChar(param)) {
+                Method setMethod = descriptor.getWriteMethod();
+                setMethod.invoke(parameter, this.escapeChar(param.toString()));
+            } else if (this.cascade(field)) {
+                int index = field.indexOf(MYBATIS_PLUS_WRAPPER_SEPARATOR) + 1;
+                this.resolveObj(field.substring(index), param);
+            }
+        } catch (IntrospectionException | IllegalAccessException | InvocationTargetException e) {
+            log.error("反射 {} 的 {} get/set方法出现异常", parameter, field, e);
+        }
+    }
+
+    /**
+     * 判断是否是级联属性
+     *
+     * @param field 字段名
+     * @return true/false
+     */
+    boolean cascade(String field) {
+        if (StringUtils.isBlank(field)) {
+            return false;
+        }
+        return field.contains(MYBATIS_PLUS_WRAPPER_SEPARATOR) && !this.hasWrapper(field);
+    }
+
+    /**
+     * 是否包含mybatis-plus的包含like的SQL语句格式
+     *
+     * @param sql 完整SQL语句
+     * @return true/false
+     */
+    private boolean hasMybatisPlusLikeSql(String sql) {
+        if (StringUtils.isBlank(sql)) {
+            return false;
+        }
+        return sql.toLowerCase().contains(MYBATIS_PLUS_LIKE_SQL);
+    }
+
+    /**
+     * 判断是否使用mybatis-plus条件构造器
+     *
+     * @param field 字段
+     * @return true/false
+     */
+    private boolean hasWrapper(String field) {
+        if (StringUtils.isBlank(field)) {
+            return false;
+        }
+        return field.contains(MYBATIS_PLUS_WRAPPER_PREFIX);
+    }
+
+    /**
+     * 判断字符串是否含有需要转义的字符
+     *
+     * @param str 待判断的字符串
+     * @return true/false
+     */
+    private boolean hasEscapeChar(String str) {
+        if (StringUtils.isBlank(str)) {
+            return false;
+        }
+        for (String s : ESCAPE_CHAR) {
+            if (str.contains(s)) {
+                return true;
+            }
+        }
+        return false;
+    }
+
+}

+ 79 - 0
src/main/java/com/diagbot/config/mybatisLike/MapLikeSqlConverter.java

@@ -0,0 +1,79 @@
+package com.diagbot.config.mybatisLike;
+
+import com.baomidou.mybatisplus.core.conditions.AbstractWrapper;
+
+import java.util.Map;
+import java.util.Objects;
+
+/**
+ * @Description: 参数对象为Map的转换器
+ * @author: gaodm
+ * @time: 2020/11/2 16:07
+ */
+public class MapLikeSqlConverter extends AbstractLikeSqlConverter<Map> {
+
+    @Override
+    public void transferWrapper(String field, Map parameter) {
+        AbstractWrapper wrapper = (AbstractWrapper) parameter.get(MYBATIS_PLUS_WRAPPER_KEY);
+        parameter = wrapper.getParamNameValuePairs();
+        String[] keys = field.split(MYBATIS_PLUS_WRAPPER_SEPARATOR_REGEX);
+        // ew.paramNameValuePairs.param1,截取字符串之后,获取第三个,即为参数名
+        String paramName = keys[2];
+        String mapKey = String.format("%s.%s", REPLACED_LIKE_KEYWORD_MARK, paramName);
+        if (parameter.containsKey(mapKey) && Objects.equals(parameter.get(mapKey), true)) {
+            return;
+        }
+        if (this.cascade(field)) {
+            this.resolveCascadeObj(field, parameter);
+        } else {
+            Object param = parameter.get(paramName);
+            if (this.hasEscapeChar(param)) {
+                String paramStr = param.toString();
+                parameter.put(keys[2], String.format("%%%s%%", this.escapeChar(paramStr.substring(1, paramStr.length() - 1))));
+            }
+        }
+        parameter.put(mapKey, true);
+    }
+
+    @Override
+    public void transferSelf(String field, Map parameter) {
+        if (this.cascade(field)) {
+            this.resolveCascadeObj(field, parameter);
+            return;
+        }
+        Object param = parameter.get(field);
+        if (this.hasEscapeChar(param)) {
+            String paramStr = param.toString();
+            parameter.put(field, String.format("%%%s%%", this.escapeChar(paramStr.substring(1, paramStr.length() - 1))));
+        }
+    }
+
+    @Override
+    public void transferSplice(String field, Map parameter) {
+        if (this.cascade(field)) {
+            this.resolveCascadeObj(field, parameter);
+            return;
+        }
+        Object param = parameter.get(field);
+        if (this.hasEscapeChar(param)) {
+            parameter.put(field, this.escapeChar(param.toString()));
+        }
+    }
+
+    /**
+     * 处理级联属性
+     *
+     * @param field     级联字段名
+     * @param parameter 参数Map对象
+     */
+    private void resolveCascadeObj(String field, Map parameter) {
+        int index = field.indexOf(MYBATIS_PLUS_WRAPPER_SEPARATOR);
+        Object param = parameter.get(field.substring(0, index));
+        if (param == null) {
+            return;
+        }
+        this.resolveObj(field.substring(index + 1), param);
+    }
+
+}
+

+ 160 - 0
src/main/java/com/diagbot/config/mybatisLike/MybatisLikeSqlInterceptor.java

@@ -0,0 +1,160 @@
+package com.diagbot.config.mybatisLike;
+
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.ibatis.executor.Executor;
+import org.apache.ibatis.mapping.BoundSql;
+import org.apache.ibatis.mapping.MappedStatement;
+import org.apache.ibatis.plugin.Interceptor;
+import org.apache.ibatis.plugin.Intercepts;
+import org.apache.ibatis.plugin.Invocation;
+import org.apache.ibatis.plugin.Plugin;
+import org.apache.ibatis.plugin.Signature;
+import org.apache.ibatis.session.ResultHandler;
+import org.apache.ibatis.session.RowBounds;
+
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Properties;
+import java.util.Set;
+
+/**
+ * @Description: mybatis/mybatis-plus模糊查询语句特殊字符转义拦截器
+ * @author: gaodm
+ * @time: 2020/11/2 16:04
+ */
+@Intercepts({ @Signature(type = Executor.class, method = "query", args = { MappedStatement.class, Object.class, RowBounds.class, ResultHandler.class }) })
+@Slf4j
+public class MybatisLikeSqlInterceptor implements Interceptor {
+
+    /**
+     * SQL语句like
+     */
+    private final static String SQL_LIKE = " like ";
+
+    /**
+     * SQL语句占位符
+     */
+    private final static String SQL_PLACEHOLDER = "?";
+
+    /**
+     * SQL语句占位符分隔
+     */
+    private final static String SQL_PLACEHOLDER_REGEX = "\\?";
+
+    /**
+     * 所有的转义器
+     */
+    private static final Map<Class, AbstractLikeSqlConverter> converterMap = new HashMap<>(4);
+
+    static {
+        converterMap.put(Map.class, new MapLikeSqlConverter());
+        converterMap.put(Object.class, new ObjectLikeSqlConverter());
+    }
+
+    @Override
+    public Object intercept(Invocation invocation) throws Throwable {
+        Object[] args = invocation.getArgs();
+        MappedStatement statement = (MappedStatement) args[0];
+        Object parameterObject = args[1];
+        BoundSql boundSql = statement.getBoundSql(parameterObject);
+        String sql = boundSql.getSql();
+        this.transferLikeSql(sql, parameterObject, boundSql);
+        return invocation.proceed();
+    }
+
+    @Override
+    public Object plugin(Object target) {
+        return Plugin.wrap(target, this);
+    }
+
+    @Override
+    public void setProperties(Properties arg0) {
+
+    }
+
+    /**
+     * 修改包含like的SQL语句
+     *
+     * @param sql             SQL语句
+     * @param parameterObject 参数对象
+     * @param boundSql        绑定SQL对象
+     */
+    private void transferLikeSql(String sql, Object parameterObject, BoundSql boundSql) {
+        if (!isEscape(sql)) {
+            return;
+        }
+        sql = sql.replaceAll(" {2}", " ");
+        // 获取关键字的个数(去重)
+        Set<String> fields = this.getKeyFields(sql, boundSql);
+        if (fields == null) {
+            return;
+        }
+        // 此处可以增强,不止是支持Map对象,Map对象仅用于传入的条件为Map或者使用@Param传入的对象被Mybatis转为的Map
+        AbstractLikeSqlConverter converter;
+        // 对关键字进行特殊字符“清洗”,如果有特殊字符的,在特殊字符前添加转义字符(\)
+        if (parameterObject instanceof Map) {
+            converter = converterMap.get(Map.class);
+        } else {
+            converter = converterMap.get(Object.class);
+        }
+        converter.convert(sql, fields, parameterObject);
+    }
+
+    /**
+     * 是否需要转义
+     *
+     * @param sql SQL语句
+     * @return true/false
+     */
+    private boolean isEscape(String sql) {
+        return this.hasLike(sql) && this.hasPlaceholder(sql);
+    }
+
+    /**
+     * 判断SQL语句中是否含有like关键字
+     *
+     * @param str SQL语句
+     * @return true/false
+     */
+    private boolean hasLike(String str) {
+        if (StringUtils.isBlank(str)) {
+            return false;
+        }
+        return str.toLowerCase().contains(SQL_LIKE);
+    }
+
+    /**
+     * 判断SQL语句中是否包含SQL占位符
+     *
+     * @param str SQL语句
+     * @return true/false
+     */
+    private boolean hasPlaceholder(String str) {
+        if (StringUtils.isBlank(str)) {
+            return false;
+        }
+        return str.toLowerCase().contains(SQL_PLACEHOLDER);
+    }
+
+    /**
+     * 获取需要替换的所有字段集合
+     *
+     * @param sql      完整SQL语句
+     * @param boundSql 绑定的SQL对象
+     * @return 字段集合列表
+     */
+    private Set<String> getKeyFields(String sql, BoundSql boundSql) {
+        String[] params = sql.split(SQL_PLACEHOLDER_REGEX);
+        Set<String> fields = new HashSet<>();
+        for (int i = 0; i < params.length; i++) {
+            if (this.hasLike(params[i])) {
+                String field = boundSql.getParameterMappings().get(i).getProperty();
+                fields.add(field);
+            }
+        }
+        return fields;
+    }
+
+}

+ 28 - 0
src/main/java/com/diagbot/config/mybatisLike/ObjectLikeSqlConverter.java

@@ -0,0 +1,28 @@
+package com.diagbot.config.mybatisLike;
+
+import lombok.extern.slf4j.Slf4j;
+
+/**
+ * @Description: 通用参数的转换器
+ * @author: gaodm
+ * @time: 2020/11/2 16:06
+ */
+@Slf4j
+public class ObjectLikeSqlConverter extends AbstractLikeSqlConverter<Object> {
+
+    @Override
+    public void transferWrapper(String field, Object parameter) {
+        // 尚未发现这种情况
+    }
+
+    @Override
+    public void transferSelf(String field, Object parameter) {
+        // 尚未发现这种情况
+    }
+
+    @Override
+    public void transferSplice(String field, Object parameter) {
+        this.resolveObj(field, parameter);
+    }
+
+}

+ 33 - 0
src/main/java/com/diagbot/dto/BillDTO.java

@@ -0,0 +1,33 @@
+package com.diagbot.dto;
+
+import com.google.common.collect.Lists;
+import lombok.Data;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @Description: 开单提示语
+ * @Author:zhoutg
+ * @time: 2020/8/12 15:53
+ */
+@Data
+public class BillDTO {
+    // 通用匹配内容
+    private String content;
+    // 禁忌类型
+    private String conType = "";
+    // 匹配条数
+    private int matchNum = 0;
+    // 性别拼接提示语
+    private String sexMsg = "";
+    // 年龄拼接提示语
+    private String ageMsg = "";
+    // 诊断拼接提示语
+    private List<String> diseaseMsg = Lists.newArrayList();
+    // 人群拼接提示语
+    private String groupMsg = "";
+
+
+    private List<String> lisMsg = new ArrayList<>(); // 化验拼接提示语——暂无数据
+}

+ 19 - 0
src/main/java/com/diagbot/dto/LisCtritalDTO.java

@@ -0,0 +1,19 @@
+package com.diagbot.dto;
+
+import lombok.Data;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @Description: 化验危急值提示语
+ * @Author:zhoutg
+ * @time: 2020/8/12 15:53
+ */
+@Data
+public class LisCtritalDTO {
+    private String name; // 化验拼接提示语
+    private String groupMsg = ""; // 人群拼接提示语
+    private String ageMsg = ""; // 年龄拼接提示语
+    private List<String> lisMsg = new ArrayList<>(); // 化验拼接提示语——暂无数据
+}

+ 1 - 0
src/main/java/com/diagbot/dto/LisOtherDTO.java

@@ -19,5 +19,6 @@ public class LisOtherDTO {
     private List<String> diseaseMsg = new ArrayList<>(); // 诊断拼接提示语
     private List<String> groupMsg = new ArrayList<>(); // 人群拼接提示语
     private List<String> operationMsg = new ArrayList<>(); // 手术拼接提示语
+    private String sexMsg = ""; // 性别拼接提示语
     private List<String> lisMsg = new ArrayList<>(); // 化验拼接提示语——暂无数据
 }

+ 16 - 0
src/main/java/com/diagbot/dto/PacsOtherDTO.java

@@ -0,0 +1,16 @@
+package com.diagbot.dto;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @Description: 其他值提醒辅检提示语
+ * @Author:zhoutg
+ * @time: 2020/8/12 15:53
+ */
+@Data
+public class PacsOtherDTO {
+    // 主提示语
+    private List<String> mainMsg;
+}

+ 4 - 0
src/main/java/com/diagbot/dto/RuleExtDTO.java

@@ -19,4 +19,8 @@ public class RuleExtDTO extends RuleDTO{
     private String libTypeName;
     // // 剂型
     private String form;
+    // 给药途径医院名称
+    private String routeName;
+    // 给药途径标准名称
+    private String routeUniqueName;
 }

+ 14 - 0
src/main/java/com/diagbot/dto/RuleSimpleDTO.java

@@ -1,7 +1,10 @@
 package com.diagbot.dto;
 
+import com.google.common.collect.Lists;
 import lombok.Data;
 
+import java.util.List;
+
 /**
  * @Description: 规则扩展类
  * @author: zhoutg
@@ -19,6 +22,10 @@ public class RuleSimpleDTO {
     private String libTypeName;
     // 剂型
     private String form;
+    // 给药途径医院名称
+    private String routeName;
+    // 给药途径标准名称
+    private String routeUniqueName;
     // 提示语
     private String msg;
     // 界面匹配内容
@@ -28,6 +35,13 @@ public class RuleSimpleDTO {
     // 项目名称(目前用于辅检项目名称)
     private String structName = "";
 
+    // 匹配条数
+    private int matchNum = 0;
+    // 界面匹配内容列表
+    private List<String> contentList = Lists.newArrayList();
+    // 给药途径是否匹配
+    private boolean routeMatch = false;
+
     public RuleSimpleDTO() {
     }
 

+ 1 - 1
src/main/java/com/diagbot/entity/MappingConfig.java

@@ -57,7 +57,7 @@ public class MappingConfig implements Serializable {
     private Long hospitalId;
 
     /**
-     * 医学术语类型( 1-检验套餐、2-检验细项、3-辅检、4-诊断、5-药品、6-手术和操作、7-科室、8-输血、10-量表、11-护理、12-中医疾病、13-中医证候、14-麻醉)
+     * 医学术语类型( 1-检验套餐、2-检验细项、3-辅检、4-诊断、5-药品、6-手术和操作、7-科室、8-输血、10-量表、11-护理、12-中医疾病、13-中医证候、14-麻醉、16-给药途径
      */
     private Integer type;
 

+ 5 - 4
src/main/java/com/diagbot/enums/ConceptTypeEnum.java

@@ -18,14 +18,15 @@ public enum ConceptTypeEnum implements KeyedNamed {
     Operation(6, "手术和操作"),
     Dept(7, "科室"),
     Transfusion(8, "输血"),
-    Symptom(9,"症状"),
+    Symptom(9, "症状"),
     //PacsSubName(9, "检查子项"),
     Scale(10, "量表"),
     Nurse(11, "护理"),
-    Tcmdisease(12,"中医疾病"),
-    Tcmsyndrome(13,"中医证候"),
+    Tcmdisease(12, "中医疾病"),
+    Tcmsyndrome(13, "中医证候"),
     Anesthesia(14, "麻醉"),
-    Form(15, "药品剂型");
+    Form(15, "药品剂型"),
+    AdministrationRoute(16, "给药途径");
 
     @Setter
     private int key;

+ 6 - 3
src/main/java/com/diagbot/enums/LexiconEnum.java

@@ -40,6 +40,9 @@ public enum LexiconEnum implements KeyedNamed {
     Tcmdisease(127, "中医疾病"),
     Tcmsyndrome(128, "中医证候"),
     Inducement(129, "诱因"),
+    Law(130, "政策法规"),
+    not(131, "否定词"),
+    Physicotherapy(132, "物理治疗"),
     ICD10Class(300,"ICD10疾病类别"),
     MedChemClass(301,"药品化学物质类别"),
     MedZhiLiaoClass(302,"药品治疗学类别"),
@@ -69,6 +72,7 @@ public enum LexiconEnum implements KeyedNamed {
     TcmdiseaseCollection(326,"中医疾病集合"),
     TcmsyndromeCollection(327,"中医证候集合"),
     InducementCollection(328,"诱因集合"),
+    DugrouteCollection(329,"给药途径集合"),
     ICD10ClassNode(400,"ICD10疾病类别根节点"),
     DeptDiseaseNode(401,"科室疾病类别根节点"),
     MedChemClassNode(402,"药品化学物质类别根节点"),
@@ -79,8 +83,7 @@ public enum LexiconEnum implements KeyedNamed {
     OperationClassNode(407,"手术和操作类别根节点"),
     LisClassNode(408,"实验室检查类别根节点"),
     PacsClassNode(409,"辅助检查类别根节点"),
-    Age(410,"年龄"),
-    Law(130,"政策法规");
+    Age(410,"年龄");
 
 
     @Setter
@@ -126,4 +129,4 @@ public enum LexiconEnum implements KeyedNamed {
     public String getName() {
         return name;
     }
-}
+}

+ 4 - 1
src/main/java/com/diagbot/enums/RedisEnum.java

@@ -30,7 +30,10 @@ public enum RedisEnum implements KeyedNamed {
     msg(21, "msg"),
     vteAdvice(22, "vteAdvice:"),
     drugAllergen(23, "drugAllergen"),
-    otherMsg(24, "otherMsg");
+    otherMsg(24, "otherMsg"),
+    criticalMsg(25, "criticalMsg"),
+    dateInterval(26, "dateInterval");
+
 
     @Setter
     private int key;

+ 4 - 1
src/main/java/com/diagbot/enums/RegularConfigEnum.java

@@ -10,7 +10,10 @@ import lombok.Setter;
  */
 public enum RegularConfigEnum implements KeyedNamed {
     lis(1, "化验"),
-    allergy(2, "过敏源");
+    allergy(2, "过敏源"),
+    pacs(3, "辅检"),
+    vital(4, "体征"),
+    ;
 
     @Setter
     private int key;

+ 2 - 1
src/main/java/com/diagbot/enums/TypeEnum.java

@@ -22,7 +22,8 @@ public enum TypeEnum implements KeyedNamed {
     age(9,"年龄"),
     group(10, "人群"),
     lisSelf(1, "化验本身"),
-    other(11, "其他特殊规则");
+    other(11, "其他特殊规则"),
+    gender(12, "性别");
 
     @Setter
     private int key;

+ 3 - 0
src/main/java/com/diagbot/facade/BillFacade.java

@@ -84,6 +84,9 @@ public class BillFacade {
                 ruleVO.setLibType(LexiconEnum.Medicine.getKey());
                 ruleVO.setLibTypeName(TypeEnum.drug.getName());
                 ruleVO.setDateValue(item.getDateValue());
+                ruleVO.setForm(item.getForm());
+                ruleVO.setRouteName(item.getRouteName());
+                ruleVO.setRouteUniqueName(item.getRouteUniqueName());
                 ruleVOList.add(ruleVO);
             }
         }

+ 40 - 2
src/main/java/com/diagbot/facade/CacheFacade.java

@@ -13,6 +13,7 @@ import com.diagbot.util.EntityUtil;
 import com.diagbot.util.ListUtil;
 import com.diagbot.util.RedisUtil;
 import com.diagbot.util.StringUtil;
+import com.google.common.collect.Lists;
 import org.apache.commons.collections4.map.LinkedMap;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.cache.annotation.CacheEvict;
@@ -230,13 +231,30 @@ public class CacheFacade {
         redisUtil.set(RedisEnum.frequency.getName(), dictionaryInfoDTOList);
     }
 
+    /**
+     * 加载时间间隔
+     */
+    public void loadDateInterval() {
+        // 删除
+        redisUtil.delete(RedisEnum.dateInterval.getName());
+        // 加载
+        List<DictionaryInfoDTO> dictionaryInfoDTOList = klDictionaryInfoFacade.getListByGroupType(8);
+        if (ListUtil.isNotEmpty(dictionaryInfoDTOList)) {
+            // 加载时间间隔
+            redisUtil.putHashMap(RedisEnum.dateInterval.getName(),
+                    dictionaryInfoDTOList.stream().collect(Collectors.toMap(k -> k.getName(), v -> Integer.parseInt(v.getVal()), (v1, v2) -> (v2))));
+        }
+    }
+
     /**
      * 加载提示语
      */
     public void loadMsg() {
         // 开单提示语
         redisUtil.delete(RedisEnum.msg.getName());
-        List<DictionaryInfoDTO> dictionaryInfoDTOList = klDictionaryInfoFacade.getListByGroupType(41);
+        List<DictionaryInfoDTO> msgList = klDictionaryInfoFacade.getListByGroupType(Lists.newArrayList(41, 42, 43, 44));
+        Map<Long, List<DictionaryInfoDTO>> groupTypeMap = EntityUtil.makeEntityListMap(msgList, "groupType");
+        List<DictionaryInfoDTO> dictionaryInfoDTOList = groupTypeMap.get(41L);
         if (ListUtil.isNotEmpty(dictionaryInfoDTOList)) {
             // 提示语
             Map<String, Object> msgMap = new LinkedMap<>();
@@ -248,7 +266,7 @@ public class CacheFacade {
 
         // 其他值提醒化验提示语
         redisUtil.delete(RedisEnum.otherMsg.getName());
-        List<DictionaryInfoDTO> otherLisList = klDictionaryInfoFacade.getListByGroupType(42);
+        List<DictionaryInfoDTO> otherLisList = groupTypeMap.get(42L);
         if (ListUtil.isNotEmpty(otherLisList)) {
             // 提示语
             Map<String, Object> msgMap = new LinkedMap<>();
@@ -257,5 +275,25 @@ public class CacheFacade {
             }
             redisUtil.putHashMap(RedisEnum.otherMsg.getName(), msgMap);
         }
+
+        // 其他值提醒化验提示语
+        redisUtil.delete(RedisEnum.criticalMsg.getName());
+        List<DictionaryInfoDTO> criticalLisList = groupTypeMap.get(43L);
+        if (ListUtil.isNotEmpty(criticalLisList)) {
+            // 提示语
+            Map<String, Object> msgMap = new LinkedMap<>();
+            for (DictionaryInfoDTO dic : criticalLisList) {
+                msgMap.put(dic.getName(), dic.getVal());
+            }
+            redisUtil.putHashMap(RedisEnum.criticalMsg.getName(), msgMap);
+        }
+
+        // 以后待用
+        // List<DictionaryInfoDTO> ma = groupTypeMap.get(44L);
+        // Map<String, String> placeholderMap = MsgNewUtil.placeholderMap;
+        // placeholderMap.clear();
+        // for (DictionaryInfoDTO dictionaryInfoDTO : ma) {
+        //     placeholderMap.put(dictionaryInfoDTO.getName(), dictionaryInfoDTO.getVal());
+        // }
     }
 }

+ 3 - 80
src/main/java/com/diagbot/facade/CommonFacade.java

@@ -116,91 +116,13 @@ public class CommonFacade {
         searchData.setPasts(unionPasts);
 
         WordCrfDTO wordCrfDTO = new WordCrfDTO();
-        wordCrfDTO.setHospitalId(searchData.getHospitalId());
+        BeanUtil.copyProperties(searchData, wordCrfDTO);
         // 年龄容错处理
         if (searchData.getAgeNum() != null) {
             wordCrfDTO.setAgeNum(searchData.getAgeNum());
         } else {
             wordCrfDTO.setAgeNum(AgeUtil.convertAge(searchData.getAge()));
         }
-        wordCrfDTO.setAge(searchData.getAge());
-        wordCrfDTO.setSex(searchData.getSex());
-        wordCrfDTO.setDept(searchData.getDept());
-        if (searchData.getDiseaseName() != null && StringUtils.isNotBlank(searchData.getDiseaseName().getName())) {
-            wordCrfDTO.setDiseaseName(searchData.getDiseaseName());
-        }
-        if (searchData.getOperationName() != null && StringUtils.isNotBlank(searchData.getOperationName().getName())) {
-            wordCrfDTO.setOperationName(searchData.getOperationName());
-        }
-        if (ListUtil.isNotEmpty(searchData.getLis())) {
-            wordCrfDTO.setLis(searchData.getLis());
-        }
-        if (ListUtil.isNotEmpty(searchData.getPacs())) {
-            wordCrfDTO.setPacs(searchData.getPacs());
-        }
-        if (ListUtil.isNotEmpty(searchData.getDrug())) {
-            wordCrfDTO.setDrug(searchData.getDrug());
-        }
-        if (ListUtil.isNotEmpty(searchData.getTransfusion())) {
-            wordCrfDTO.setTransfusion(searchData.getTransfusion());
-        }
-        if (ListUtil.isNotEmpty(searchData.getOperation())) {
-            wordCrfDTO.setOperation(searchData.getOperation());
-        }
-        if (ListUtil.isNotEmpty(searchData.getLisOrder())) {
-            wordCrfDTO.setLisOrder(searchData.getLisOrder());
-        }
-        if (ListUtil.isNotEmpty(searchData.getPacsOrder())) {
-            wordCrfDTO.setPacsOrder(searchData.getPacsOrder());
-        }
-        if (ListUtil.isNotEmpty(searchData.getDrugOrder())) {
-            wordCrfDTO.setDrugOrder(searchData.getDrugOrder());
-        }
-        if (ListUtil.isNotEmpty(searchData.getOperationOrder())) {
-            wordCrfDTO.setOperationOrder(searchData.getOperationOrder());
-        }
-        if (ListUtil.isNotEmpty(searchData.getDiagOrder())) {
-            wordCrfDTO.setDiagOrder(searchData.getDiagOrder());
-        }
-        if (ListUtil.isNotEmpty(searchData.getDiag())) {
-            wordCrfDTO.setDiag(searchData.getDiag());
-        }
-        if (ListUtil.isNotEmpty(searchData.getTransfusionOrder())) {
-            wordCrfDTO.setTransfusionOrder(searchData.getTransfusionOrder());
-        }
-        if (StringUtil.isNotBlank(searchData.getSymptom())) {
-            wordCrfDTO.setSymptom(searchData.getSymptom());
-        }
-        if (StringUtil.isNotBlank(searchData.getChief())) {
-            wordCrfDTO.setChief(searchData.getChief());
-        }
-        if (StringUtil.isNotBlank(unionPasts)) {
-            wordCrfDTO.setPasts(unionPasts);
-        }
-        if (StringUtil.isNotBlank(searchData.getMenstrual())) {
-            wordCrfDTO.setMenstrual(searchData.getMenstrual());
-        }
-        if (StringUtil.isNotBlank(searchData.getFamily())) {
-            wordCrfDTO.setFamily(searchData.getFamily());
-        }
-        if (StringUtil.isNotBlank(searchData.getMarital())) {
-            wordCrfDTO.setMarital(searchData.getMarital());
-        }
-        if (StringUtil.isNotBlank(searchData.getMarriage())) {
-            wordCrfDTO.setMarriage(searchData.getMarriage());
-        }
-        if (StringUtil.isNotBlank(searchData.getPersonal())) {
-            wordCrfDTO.setPersonal(searchData.getPersonal());
-        }
-        if (StringUtil.isNotBlank(searchData.getVital())) {
-            wordCrfDTO.setVital(searchData.getVital());
-        }
-        if (ListUtil.isNotEmpty(searchData.getOtherAdvice())) {
-            wordCrfDTO.setOtherAdvice(searchData.getOtherAdvice());
-        }
-        if (ListUtil.isNotEmpty(searchData.getScale())) {
-            wordCrfDTO.setScale(searchData.getScale());
-        }
 
         // 模型处理数据
         aiAnalyze.aiProcess(searchData, wordCrfDTO);
@@ -310,7 +232,8 @@ public class CommonFacade {
         // 6、结构化诊断
         CoreUtil.addList(diagList, CoreUtil.filterUniqueList(wordCrfDTO.getDiag()));
         // 7、选中诊断
-        if (wordCrfDTO.getDiseaseName() != null && StringUtils.isBlank(wordCrfDTO.getDiseaseName().getUniqueName())) {
+        if (wordCrfDTO.getDiseaseName() != null && StringUtil.isNotBlank(wordCrfDTO.getDiseaseName().getName())
+                && StringUtils.isBlank(wordCrfDTO.getDiseaseName().getUniqueName())) {
             diagList.add(wordCrfDTO.getDiseaseName().getName());
         }
         standConvert.setDiaglList(diagList);

+ 7 - 6
src/main/java/com/diagbot/facade/KlConceptFacade.java

@@ -222,12 +222,8 @@ public class KlConceptFacade extends KlConceptServiceImpl {
                             Collectors.mapping(TcmSyndrome::getCode, Collectors.toList())));
                 }
             }
-            QueryWrapper<KlConcept> klConceptQueryWrapper = new QueryWrapper<>();
-
-            klConceptQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
-                    .in("id", conceptIds);
-            if (conceptVO.getStatus() != null) {
-                klConceptQueryWrapper.eq("status", conceptVO.getStatus());
+            if (ListUtil.isEmpty(conceptIds)) {
+                return retList;
             }
             QueryWrapper<KlConcept> qw = new QueryWrapper<KlConcept>()
                     .eq("is_deleted", IsDeleteEnum.N.getKey())
@@ -413,6 +409,8 @@ public class KlConceptFacade extends KlConceptServiceImpl {
                 retType = ConceptTypeEnum.Anesthesia.getKey();
             } else if (type.equals(LexiconEnum.Form.getKey())) {
                 retType = ConceptTypeEnum.Form.getKey();
+            } else if (type.equals(LexiconEnum.AdministrationRoute.getKey())) {
+                retType = ConceptTypeEnum.AdministrationRoute.getKey();
             }
         } else {
             switch (type) {
@@ -457,6 +455,9 @@ public class KlConceptFacade extends KlConceptServiceImpl {
                     break;
                 case 15:
                     retType = LexiconEnum.Form.getKey();
+                    break;
+                case 16:
+                    retType = LexiconEnum.AdministrationRoute.getKey();
                 default:
                     break;
             }

+ 134 - 3
src/main/java/com/diagbot/facade/KlRegularConfigFacade.java

@@ -11,20 +11,28 @@ import com.diagbot.enums.RegularConfigEnum;
 import com.diagbot.exception.CommonErrorCode;
 import com.diagbot.exception.CommonException;
 import com.diagbot.model.entity.AllergyMedicine;
+import com.diagbot.model.entity.PD;
+import com.diagbot.model.entity.PacsNum;
+import com.diagbot.model.entity.Vital;
+import com.diagbot.model.label.PacsLabel;
 import com.diagbot.model.label.PastLabel;
+import com.diagbot.model.label.VitalLabel;
 import com.diagbot.service.impl.KlRegularConfigServiceImpl;
 import com.diagbot.util.EntityUtil;
 import com.diagbot.util.ListUtil;
+import com.diagbot.util.RegexUtil;
 import com.diagbot.util.StringUtil;
 import com.diagbot.vo.IndicationPushVO;
 import com.diagbot.vo.RegularConfigSaveVO;
 import com.google.common.collect.Lists;
+import com.google.common.collect.Maps;
+import org.apache.commons.collections4.MapUtils;
 import org.springframework.stereotype.Component;
 
-import java.util.ArrayList;
-import java.util.List;
+import java.util.*;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
+import java.util.stream.Collectors;
 
 /**
  * @author wangfeng
@@ -109,7 +117,17 @@ public class KlRegularConfigFacade extends KlRegularConfigServiceImpl {
         String allergyStr = indicationPushVO.getAllergy();
         String symptom = wordCrfDTO.getSymptom();//现病史
         String pasts = wordCrfDTO.getPasts();//既往史
-        if (StringUtil.isBlank(symptom) && StringUtil.isBlank(pasts)) {
+        //辅检
+        PacsLabel pacsLabel = wordCrfDTO.getPacsLabel();
+        List<PacsNum> pacsNumList = pacsLabel.getPacsNumList();
+        String pacs = pacsLabel.getText();
+        //体征
+        String vital = wordCrfDTO.getVital();
+        VitalLabel vitalLabel = wordCrfDTO.getVitalLabel();
+        List<Vital> vitals = vitalLabel.getVitals();
+
+        if (StringUtil.isBlank(symptom) && StringUtil.isBlank(pasts) && StringUtil.isBlank(pacs)
+        && StringUtil.isBlank(vital)) {
             return wordCrfDTO;
         }
 
@@ -141,6 +159,79 @@ public class KlRegularConfigFacade extends KlRegularConfigServiceImpl {
             }
         }
 
+        //辅检
+        List<KlRegularConfig> rulesTepy = EntityUtil.makeEntityListMap(regularConfigs, "rulesTepy").get(RegularConfigEnum.pacs.getKey());
+        Map<String, String> rulePacsCompiles = ruleAllCompile(rulesTepy, pacs);
+        if (MapUtils.isNotEmpty(rulePacsCompiles)) {
+            if (ListUtil.isNotEmpty(pacsNumList)) {
+                ListIterator<PacsNum> pacsNumListIterator = pacsNumList.listIterator();
+                while (pacsNumListIterator.hasNext()) {
+                    PacsNum x = pacsNumListIterator.next();
+                    String name = x.getName();
+                    PD pd = x.getPd();
+                    if (pd != null) {
+                        String value = pd.getValue();
+                        String key = name + "_" + value;
+                        if (rulePacsCompiles.containsKey(key)) {
+                            if (StringUtil.isNotBlank(rulePacsCompiles.get(key))) {
+                                pd.setUnit(rulePacsCompiles.get(key));
+                            }
+                            rulePacsCompiles.remove(key);
+                        }
+                    }
+                }
+            }
+            if (MapUtils.isNotEmpty(rulePacsCompiles)) {
+                rulePacsCompiles.forEach((x, y) -> {
+                    String[] nameValue = x.split("_");
+                    PacsNum pacsNum = new PacsNum();
+                    pacsNum.setName(nameValue[0]);
+                    pacsNum.setStandName(nameValue[0]);
+                    PD pdnew = new PD();
+                    pdnew.setValue(nameValue[1]);
+                    pdnew.setUnit(y);
+                    pacsNum.setPd(pdnew);
+                    pacsNumList.add(pacsNum);
+                });
+            }
+        }
+
+        //体征
+        List<KlRegularConfig> rulesTepyVitals = EntityUtil.makeEntityListMap(regularConfigs, "rulesTepy").get(RegularConfigEnum.vital.getKey());
+        Map<String, String> rulevitalsCompiles = ruleAllCompile(rulesTepyVitals, vital);
+        if (MapUtils.isNotEmpty(rulevitalsCompiles)) {
+            if (ListUtil.isNotEmpty(vitals)) {
+                Iterator<Vital> vitalIterator = vitals.listIterator();
+                while (vitalIterator.hasNext()) {
+                    Vital next = vitalIterator.next();
+                    String name = next.getName();
+                    PD pd = next.getPd();
+                    if (pd != null) {
+                        String value = pd.getValue();
+                        String key = name + "_" + value;
+                        if (rulevitalsCompiles.containsKey(key)) {
+                            if (StringUtil.isNotBlank(rulevitalsCompiles.get(key))) {
+                                pd.setUnit(rulevitalsCompiles.get(key));
+                            }
+                            rulevitalsCompiles.remove(key);
+                        }
+                    }
+                }
+            }
+            if (MapUtils.isNotEmpty(rulevitalsCompiles)) {
+                rulevitalsCompiles.forEach((x, y) -> {
+                    String[] nameValue = x.split("_");
+                    Vital pacsNum = new Vital();
+                    pacsNum.setName(nameValue[0]);
+                    pacsNum.setStandName(nameValue[0]);
+                    PD pdnew = new PD();
+                    pdnew.setValue(nameValue[1]);
+                    pdnew.setUnit(y);
+                    pacsNum.setPd(pdnew);
+                    vitals.add(pacsNum);
+                });
+            }
+        }
         // 既往史过敏史
         List<RegularValueDTO> regularConfigPastss = getRegularConfigDatas(pasts,
                 EntityUtil.makeEntityListMap(regularConfigs, "rulesTepy").get(RegularConfigEnum.allergy.getKey()));
@@ -201,4 +292,44 @@ public class KlRegularConfigFacade extends KlRegularConfigServiceImpl {
         }
         return res;
     }
+
+    /**
+     * 把正则匹配出来的放在map里
+     * key:体温_37 value:℃
+     *
+     * @param regexGroupData
+     * @return
+     */
+    public Map<String, String> ruleCompile(List<List<String>> regexGroupData) {
+        Map<String, String> ruleCompileMap = Maps.newHashMap();
+        if (ListUtil.isNotEmpty(regexGroupData)) {
+            for (List<String> groupContents : regexGroupData) {
+                if (ListUtil.isNotEmpty(groupContents)) {
+                    String s = "";
+                    if (groupContents.size() > 2) {
+                        s = groupContents.get(2);
+                    }
+
+                    ruleCompileMap.put(groupContents.get(0) + "_" + groupContents.get(1), s);
+                }
+            }
+
+        }
+        return ruleCompileMap;
+    }
+
+    public Map<String, String> ruleAllCompile(List<KlRegularConfig> rulesTepy, String txt) {
+        Map<String, String> ruleAllCompileMap = Maps.newHashMap();
+        if (ListUtil.isNotEmpty(rulesTepy)) {
+            for (KlRegularConfig klrc : rulesTepy) {
+                String rulesValue = klrc.getRulesValue();
+                List<List<String>> regexGroupData = RegexUtil.getRegexGroupData(txt, rulesValue);
+                Map<String, String> ruleCompileMap = ruleCompile(regexGroupData);
+                if (MapUtils.isNotEmpty(ruleCompileMap)) {
+                    ruleAllCompileMap.putAll(ruleCompileMap);
+                }
+            }
+        }
+        return ruleAllCompileMap;
+    }
 }

+ 15 - 9
src/main/java/com/diagbot/facade/MedRetrievalFacade.java

@@ -1,20 +1,14 @@
 package com.diagbot.facade;
 
-import com.diagbot.dto.AnesthesiaInfoDTO;
 import com.diagbot.dto.DictionaryInfoDTO;
-import com.diagbot.dto.DiseaseInfoDTO;
-import com.diagbot.dto.DrugInfoDTO;
 import com.diagbot.dto.IndexDTO;
 import com.diagbot.dto.LisDetailDTO;
-import com.diagbot.dto.NurseInfoDTO;
-import com.diagbot.dto.OperationInfoDTO;
 import com.diagbot.dto.RetrievalConceptDTO;
 import com.diagbot.dto.RetrievalDTO;
-import com.diagbot.dto.ScaleInfoDTO;
 import com.diagbot.dto.StaticKnowledgeIndexDTO;
-import com.diagbot.dto.TcmdiseaseInfoDTO;
-import com.diagbot.dto.TcmsyndromeInfoDTO;
 import com.diagbot.enums.LexiconEnum;
+import com.diagbot.exception.CommonErrorCode;
+import com.diagbot.exception.CommonException;
 import com.diagbot.util.BeanUtil;
 import com.diagbot.util.EntityUtil;
 import com.diagbot.util.ListUtil;
@@ -54,6 +48,10 @@ public class MedRetrievalFacade {
         if (retrievalVO.getSize() == null) {
             retrievalVO.setSize(100);
         }
+        if (retrievalVO.getDefaultList().equals(0)
+                && StringUtil.isBlank(retrievalVO.getInputStr())) {
+            throw new CommonException(CommonErrorCode.PARAM_IS_NULL, "请输入检索内容");
+        }
         RetrievalDTO retrievalDTO = new RetrievalDTO();
         MedRetrievalVO medRetrievalVO = new MedRetrievalVO();
         BeanUtil.copyProperties(retrievalVO, medRetrievalVO);
@@ -61,7 +59,7 @@ public class MedRetrievalFacade {
         List<IndexDTO> indexList = Lists.newLinkedList();
 
         /**
-         * 类型:1-化验大项、2-化验小项、3-辅检、4-诊断、5-药品、6-手术和操作、7-科室、8-输血、9-症状、10-量表、11-护理、12-中医诊断、13-中医证候、14-麻醉
+         * 类型:1-化验大项、2-化验小项、3-辅检、4-诊断、5-药品、6-手术和操作、7-科室、8-输血、9-症状、10-量表、11-护理、12-中医诊断、13-中医证候、14-麻醉、15-药品剂型、16-给药途径
          */
 
         switch (retrievalVO.getType()) {
@@ -208,6 +206,14 @@ public class MedRetrievalFacade {
                     retrievalDTO.setNameList(BeanUtil.listCopyTo(indexList, RetrievalConceptDTO.class));
                 }
                 break;
+            case 16:
+                medRetrievalVO.setTypeId(LexiconEnum.AdministrationRoute.getKey());
+                medRetrievalVO.getTypeIds().add(LexiconEnum.AdministrationRoute.getKey());
+                indexList = klConceptFacade.index(medRetrievalVO);
+                if (ListUtil.isNotEmpty(indexList)) {
+                    retrievalDTO.setNameList(BeanUtil.listCopyTo(indexList, RetrievalConceptDTO.class));
+                }
+                break;
         }
         return retrievalDTO;
     }

+ 3 - 1
src/main/java/com/diagbot/facade/TermMatchingFacade.java

@@ -107,7 +107,7 @@ public class TermMatchingFacade {
 
     public Integer convertType(Integer type) {
         Integer retType = null;
-        //type: 类型:1-化验大项、2-化验小项、3-辅检、4-诊断、5-药品、6-手术和操作、7-科室、8-输血、10-量表、11-护理、12-中医诊断、13-中医证候
+        //type: 类型:1-化验大项、2-化验小项、3-辅检、4-诊断、5-药品、6-手术和操作、7-科室、8-输血、10-量表、11-护理、12-中医诊断、13-中医证候、14-麻醉、15-药品剂型、16-给药途径
         switch (type) {
             case 1:
                 retType = LexiconEnum.LisName.getKey();
@@ -154,6 +154,8 @@ public class TermMatchingFacade {
             case 15:
                 retType = LexiconEnum.Form.getKey();
                 break;
+            case 16:
+                retType = LexiconEnum.AdministrationRoute.getKey();
             default:
                 break;
         }

+ 10 - 95
src/main/java/com/diagbot/process/BillProcess.java

@@ -1,6 +1,5 @@
 package com.diagbot.process;
 
-import com.diagbot.biz.push.entity.Item;
 import com.diagbot.dto.BillMsg;
 import com.diagbot.dto.IndicationDTO;
 import com.diagbot.dto.RuleBaseDTO;
@@ -8,15 +7,13 @@ import com.diagbot.dto.RuleConditionDTO;
 import com.diagbot.dto.RuleExtDTO;
 import com.diagbot.dto.RuleSimpleDTO;
 import com.diagbot.dto.WordCrfDTO;
-import com.diagbot.enums.BaseTypeEnum;
 import com.diagbot.enums.ConEnum;
 import com.diagbot.enums.LexiconEnum;
 import com.diagbot.enums.RuleTypeEnum;
 import com.diagbot.facade.CommonFacade;
 import com.diagbot.facade.NeoFacade;
-import com.diagbot.model.entity.Clinical;
-import com.diagbot.model.entity.Operation;
 import com.diagbot.rule.AgeRule;
+import com.diagbot.rule.BillRule;
 import com.diagbot.rule.CommonRule;
 import com.diagbot.rule.DrugRule;
 import com.diagbot.rule.GroupRule;
@@ -26,6 +23,7 @@ import com.diagbot.rule.PacsRule;
 import com.diagbot.rule.SexRule;
 import com.diagbot.rule.VitalRule;
 import com.diagbot.util.BeanUtil;
+import com.diagbot.util.CoreUtil;
 import com.diagbot.vo.RuleVO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
@@ -64,30 +62,13 @@ public class BillProcess {
     MedEquRule medEquRule;
     @Autowired
     CommonFacade commonFacade;
+    @Autowired
+    BillRule billRule;
 
     // 规则处理
     public void processRule(List<RuleVO> ruleVOList, WordCrfDTO wordCrfDTO, IndicationDTO indicationDTO) {
         List<BillMsg> billMsgList = indicationDTO.getBillMsgList();
         Set<String> set = new LinkedHashSet<>();    // A与B不宜同时进行, B与A不宜同时进行 只能提示一个
-        /**---------------------------数据统一处理开始--------------------------------- */
-        // 【过敏药品数据来源】
-        List<Item> allergyMedicines = commonFacade.getDrugAllergySource(wordCrfDTO);
-
-        // 【药品数据来源】(主诉、现病史、既往史、结构化药品)
-        List<Item> medicineAll = wordCrfDTO.getDrugSource();
-
-        // 【诊断数据来源】
-        List<Item> diags = wordCrfDTO.getDiagSource();
-
-        // 【辅检结果数据来源】
-        List<Item> pacsDescList = wordCrfDTO.getPacsLabel().getRes();
-
-        // 【手术数据来源】
-        List<Operation> operationsSource = commonFacade.getOperationSource(wordCrfDTO);
-
-        // 【临床表现数据来源】(主诉、现病史)
-        List<Clinical> clinicals = commonFacade.getClinicalSource(wordCrfDTO);
-        /**---------------------------数据统一处理结束--------------------------------- */
         for (RuleVO ruleVO : ruleVOList) {
             /** 1、获取开单项相关数据 */
             RuleExtDTO ruleExtDTO = commonFacade.getRuleData(ruleVO);
@@ -100,81 +81,15 @@ public class BillProcess {
             BeanUtil.copyProperties(ruleExtDTO, ruleSimpleDTO);
 
             /** 3、规则处理 */
+            RuleTypeEnum ruleTypeEnum = RuleTypeEnum.getEnum(ruleExtDTO.getRuleType());
             List<RuleConditionDTO> ruleConditionDTOList = ruleExtDTO.getRuleConditionDTOList();
             for (RuleConditionDTO ruleConditionDTO : ruleConditionDTOList) {
+                CoreUtil.resetRuleSimple(ruleSimpleDTO); // 重置
                 ruleSimpleDTO.setMsg(ruleConditionDTO.getMsg());
                 List<RuleBaseDTO> ruleBaseDTOList = ruleConditionDTO.getRuleBaseDTOList();
-                switch (RuleTypeEnum.getEnum(ruleExtDTO.getRuleType())) {
+                switch (ruleTypeEnum) {
                     case bill: // redis 数据以 _1结尾
-                        for (RuleBaseDTO ruleBaseDTO : ruleBaseDTOList) {
-                            if (LexiconEnum.getEnum(ruleBaseDTO.getBaseLibType()) != null) { // 避免空指针
-                                switch (LexiconEnum.getEnum(ruleBaseDTO.getBaseLibType())) {
-                                    case Gender: // 性别
-                                        sexRule.bill(wordCrfDTO, ruleBaseDTO, billMsgList, ConEnum.gender.getName(), ruleSimpleDTO);
-                                    case Age: // 年龄
-                                        ageRule.bill(wordCrfDTO, ruleBaseDTO, billMsgList, ConEnum.age.getName(), ruleSimpleDTO);
-                                        break;
-                                    case Disease: // 诊断
-                                        commonRule.compareItemWithBill(diags, ruleBaseDTO, billMsgList, ConEnum.disease.getName(), ruleSimpleDTO);
-                                        break;
-                                    case LisName: // 化验开单互斥
-                                        commonRule.exclusionBillOrder(wordCrfDTO.getLisOrder(), ruleBaseDTO, billMsgList, ConEnum.exclusion.getName(), ruleSimpleDTO, set);
-                                        commonRule.exclusionBillStruct(wordCrfDTO.getLis(), ruleBaseDTO, billMsgList, ConEnum.exclusion.getName(), ruleSimpleDTO, set);
-                                        break;
-                                    case LisSubName: // 化验结果
-                                        lisRule.bill(wordCrfDTO.getLis(), ruleBaseDTO, billMsgList, ConEnum.lis.getName(), ruleSimpleDTO);
-                                        break;
-                                    case VitalResult: //体格检查结果
-                                    case Vital: // 体格检查项目
-                                        vitalRule.bill(wordCrfDTO.getVitalLabel(), ruleBaseDTO, billMsgList, ConEnum.vitals.getName(), ruleSimpleDTO);
-                                        break;
-                                    case PacsName: // 辅助检查项目
-                                    case PacsSubName: // 辅助检查子项目
-                                        if (ruleBaseDTO.getBaseType() != null && ruleBaseDTO.getBaseType().equals(BaseTypeEnum.B5.getKey())) {
-                                            // 开单项互斥
-                                            commonRule.exclusionBillOrder(wordCrfDTO.getPacsOrder(), ruleBaseDTO, billMsgList, ConEnum.exclusion.getName(), ruleSimpleDTO, set);
-                                            commonRule.exclusionBillStruct(wordCrfDTO.getPacs(), ruleBaseDTO, billMsgList, ConEnum.exclusion.getName(), ruleSimpleDTO, set);
-                                        } else {
-                                            // 辅检项目,暂无数据
-                                            pacsRule.bill(wordCrfDTO.getPacs(), ruleBaseDTO, billMsgList, ConEnum.pacs.getName(), ruleSimpleDTO);
-                                        }
-                                        break;
-                                    case Symptom: // 临床表现
-                                        commonRule.compareNameWithBill(clinicals, ruleBaseDTO, billMsgList, ConEnum.clinicfindings.getName(), ruleSimpleDTO);
-                                        break;
-                                    case Operation: // 手术(既往史、现病史、医嘱手术)
-                                        commonRule.compareNameWithBill(operationsSource, ruleBaseDTO, billMsgList, ConEnum.operations.getName(), ruleSimpleDTO);
-                                        break;
-                                    case Medicine:
-                                    case MedChemClass:
-                                    case MedZhiLiaoClass:
-                                    case MedYaoLiClass:
-                                    case MedJiePouClass:
-                                        if (ruleBaseDTO.getBaseType().equals(4)) {
-                                            // 禁忌过敏药品(既往史)
-                                            drugRule.bill(allergyMedicines, ruleBaseDTO, billMsgList, ConEnum.allergicmeds.getName(), ruleSimpleDTO);
-                                        } else {
-                                            // 服用药品(主诉、现病史、既往史、结构化药品)
-                                            drugRule.bill(medicineAll, ruleBaseDTO, billMsgList, ConEnum.oralmeds.getName(), ruleSimpleDTO);
-                                        }
-                                        break;
-                                    case Allergen: // 其他过敏原
-                                        drugRule.bill(allergyMedicines, ruleBaseDTO, billMsgList, ConEnum.otherAllergy.getName(), ruleSimpleDTO);
-                                        break;
-                                    case Group: // 禁忌人群
-                                        groupRule.bill(wordCrfDTO, ruleBaseDTO, billMsgList, ConEnum.group.getName(), ruleSimpleDTO);
-                                        break;
-                                    case PacsResult: // 禁用辅助检查描述
-                                        commonRule.compareItemWithBill(pacsDescList, ruleBaseDTO, billMsgList, ConEnum.pacsDesc.getName(), ruleSimpleDTO);
-                                        break;
-                                    case Device: // 禁忌医疗器械及物品
-                                        medEquRule.bill(wordCrfDTO, ruleBaseDTO, billMsgList, ConEnum.medEqu.getName(), ruleSimpleDTO);
-                                        break;
-                                    default:
-                                        break;
-                                }
-                            }
-                        }
+                        billRule.bill(wordCrfDTO, ruleBaseDTOList, billMsgList, ruleSimpleDTO, set);
                         break;
                     case repeat:  // redis 数据以 _6结尾
                         for (RuleBaseDTO ruleBaseDTO : ruleBaseDTOList) {
@@ -196,7 +111,7 @@ public class BillProcess {
                 }
             }
         }
-        // 24小时重复开单项
-        commonRule.repeat24Bill(wordCrfDTO, billMsgList);
+        // xx小时重复开单项
+        commonRule.repeatBill(wordCrfDTO, billMsgList);
     }
 }

+ 1 - 1
src/main/java/com/diagbot/process/CriticalProcess.java

@@ -61,7 +61,7 @@ public class CriticalProcess {
                 for (RuleConditionDTO ruleConditionDTO : ruleConditionDTOList) {
                     List<RuleBaseDTO> ruleBaseDTOList = ruleConditionDTO.getRuleBaseDTOList();
                     // 2、规则匹配
-                    lisRule.critical(lis, ruleBaseDTOList, criticalList, wordCrfDTO);
+                    lisRule.critical(lis, ruleBaseDTOList, criticalList, wordCrfDTO, ruleConditionDTO.getMsg());
                 }
             }
         }

+ 94 - 72
src/main/java/com/diagbot/process/OtherTipProcess.java

@@ -14,7 +14,6 @@ import com.diagbot.enums.RedisEnum;
 import com.diagbot.enums.RuleTypeEnum;
 import com.diagbot.enums.TypeEnum;
 import com.diagbot.facade.CommonFacade;
-import com.diagbot.model.entity.PD;
 import com.diagbot.model.entity.PacsNum;
 import com.diagbot.model.label.PacsLabel;
 import com.diagbot.rule.AgeRule;
@@ -30,6 +29,7 @@ import com.diagbot.util.RedisUtil;
 import com.diagbot.util.ReflectUtil;
 import com.diagbot.util.StringUtil;
 import com.diagbot.vo.RuleVO;
+import com.google.common.collect.Lists;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
@@ -94,10 +94,9 @@ public class OtherTipProcess {
      */
     public void processPacs(WordCrfDTO wordCrfDTO, IndicationDTO res) {
         PacsLabel pacsLabel = wordCrfDTO.getPacsLabel();
-        List<Item> itemList = pacsLabel.getRes();
+        List<RuleVO> ruleList = getRuleVO(pacsLabel);
         List<BillMsg> otherList = res.getOtherList();
-        for (Item item : itemList) {
-            RuleVO ruleVO = getRuleVO(item);
+        for (RuleVO ruleVO : ruleList) {
             // 1、获取相关数据
             if (ruleVO != null) {
                 RuleExtDTO ruleExtDTO = commonFacade.getRuleData(ruleVO);
@@ -108,66 +107,66 @@ public class OtherTipProcess {
                 for (RuleConditionDTO ruleConditionDTO : ruleConditionDTOList) {
                     List<RuleBaseDTO> ruleBaseDTOList = ruleConditionDTO.getRuleBaseDTOList();
                     // 2、规则匹配
-                    pacsRule.otherPacs(ruleBaseDTOList, ruleConditionDTO.getMsg(), otherList, wordCrfDTO);
+                    pacsRule.otherPacs(ruleBaseDTOList, ruleConditionDTO.getMsg(), otherList, wordCrfDTO, ruleExtDTO);
                 }
             }
         }
 
-        // TODO 后期删除 辅检数值型匹配
-        List<PacsNum> pacsNumList = pacsLabel.getPacsNumList();
-        for (PacsNum pacsNum : pacsNumList) {
-            if ("心率".equals(pacsNum.getStandName())) {
-                PD pd = pacsNum.getPd();
-                if (pd != null && StringUtil.isNotBlank(pd.getValue())) {
-                    double v = Double.parseDouble(pd.getValue());
-                    String content = pacsNum.getStandName() + pd.getValue() + pd.getUnit();
-                    Double ageNum = wordCrfDTO.getAgeNum();
-                    Double min = null, max = null;
-                    String suggest = "";
-                    if (ageNum < 0.019) {
-                        min = 110D;
-                        max = 170D;
-                        suggest = "年龄0-6天心率正常值为110-170bpm";
-                    } else if (ageNum < 0.164) {
-                        min = 90D;
-                        max = 160D;
-                        suggest = "年龄7-59天心率正常值为90-160bpm";
-                    } else if (ageNum < 2) {
-                        min = 90D;
-                        max = 150D;
-                        suggest = "年龄2-23月心率正常值为90-150bpm";
-                    } else if (ageNum < 3) {
-                        min = 80D;
-                        max = 140D;
-                        suggest = "年龄2-3岁心率正常值为80-140bpm";
-                    } else if (ageNum < 6) {
-                        min = 80D;
-                        max = 130D;
-                        suggest = "年龄3-5岁心率正常值为80-130bpm";
-                    } else if (ageNum < 11) {
-                        min = 70D;
-                        max = 120D;
-                        suggest = "年龄6-10岁心率正常值为70-120bpm";
-                    } else if (ageNum < 18) {
-                        min = 60D;
-                        max = 120D;
-                        suggest = "年龄11-17岁心率正常值为60-120bpm";
-                    } else if (ageNum <= 150) {
-                        min = 60D;
-                        max = 110D;
-                        suggest = "年龄18-150岁心率正常值为60-110bpm";
-                    }
-                    int flag = compareValue(min, max, v);
-                    if (flag == 0) {
-                        String msg = String.format("该患者%s,%s", content, suggest);
-                        BillMsg billMsg = new BillMsg();
-                        billMsg.setMsg(msg);
-                        billMsg.setContent(content);
-                        otherList.add(billMsg);
-                    }
-                }
-            }
-        }
+        // // TODO 后期删除 辅检数值型匹配
+        // List<PacsNum> pacsNumList = pacsLabel.getPacsNumList();
+        // for (PacsNum pacsNum : pacsNumList) {
+        //     if ("心率".equals(pacsNum.getStandName())) {
+        //         PD pd = pacsNum.getPd();
+        //         if (pd != null && StringUtil.isNotBlank(pd.getValue())) {
+        //             double v = Double.parseDouble(pd.getValue());
+        //             String content = pacsNum.getStandName() + pd.getValue() + pd.getUnit();
+        //             Double ageNum = wordCrfDTO.getAgeNum();
+        //             Double min = null, max = null;
+        //             String suggest = "";
+        //             if (ageNum < 0.019) {
+        //                 min = 110D;
+        //                 max = 170D;
+        //                 suggest = "年龄0-6天心率正常值为110-170bpm";
+        //             } else if (ageNum < 0.164) {
+        //                 min = 90D;
+        //                 max = 160D;
+        //                 suggest = "年龄7-59天心率正常值为90-160bpm";
+        //             } else if (ageNum < 2) {
+        //                 min = 90D;
+        //                 max = 150D;
+        //                 suggest = "年龄2-23月心率正常值为90-150bpm";
+        //             } else if (ageNum < 3) {
+        //                 min = 80D;
+        //                 max = 140D;
+        //                 suggest = "年龄2-3岁心率正常值为80-140bpm";
+        //             } else if (ageNum < 6) {
+        //                 min = 80D;
+        //                 max = 130D;
+        //                 suggest = "年龄3-5岁心率正常值为80-130bpm";
+        //             } else if (ageNum < 11) {
+        //                 min = 70D;
+        //                 max = 120D;
+        //                 suggest = "年龄6-10岁心率正常值为70-120bpm";
+        //             } else if (ageNum < 18) {
+        //                 min = 60D;
+        //                 max = 120D;
+        //                 suggest = "年龄11-17岁心率正常值为60-120bpm";
+        //             } else if (ageNum <= 150) {
+        //                 min = 60D;
+        //                 max = 110D;
+        //                 suggest = "年龄18-150岁心率正常值为60-110bpm";
+        //             }
+        //             int flag = compareValue(min, max, v);
+        //             if (flag == 0) {
+        //                 String msg = String.format("该患者%s,%s", content, suggest);
+        //                 BillMsg billMsg = new BillMsg();
+        //                 billMsg.setMsg(msg);
+        //                 billMsg.setContent(content);
+        //                 otherList.add(billMsg);
+        //             }
+        //         }
+        //     }
+        // }
     }
 
     public int compareValue(Double min, Double max, Double v) {
@@ -294,24 +293,47 @@ public class OtherTipProcess {
         return hasAdviceFlag;
     }
 
+
     /**
      * 获取其他值提醒入参——辅检
      *
-     * @param bean
+     * @param pacsLabel
      * @return
      */
-    public RuleVO getRuleVO(Item bean) {
-        if (StringUtil.isNotBlank(bean.getUniqueName())) {
-            RuleVO ruleVO = new RuleVO();
-            ruleVO.setInputName(bean.getName());
-            ruleVO.setLibName(bean.getUniqueName());
-            ruleVO.setLibType(LexiconEnum.PacsResult.getKey());
-            ruleVO.setLibTypeName(TypeEnum.pacs.getName());
-            ruleVO.setDateValue(bean.getDateValue());
-            ruleVO.setSuffix(String.valueOf(RuleTypeEnum.other.getKey()));
-            return ruleVO;
+    public List<RuleVO> getRuleVO(PacsLabel pacsLabel) {
+        List<RuleVO> ruleVOList = Lists.newArrayList();
+
+        // 辅检结果
+        List<Item> itemList = pacsLabel.getRes();
+        if (ListUtil.isNotEmpty(itemList)) {
+            for (Item bean : itemList) {
+                if (StringUtil.isNotBlank(bean.getUniqueName())) {
+                    RuleVO ruleVO = new RuleVO();
+                    ruleVO.setInputName(bean.getName());
+                    ruleVO.setLibName(bean.getUniqueName());
+                    ruleVO.setLibType(LexiconEnum.PacsResult.getKey());
+                    ruleVO.setLibTypeName(TypeEnum.pacs.getName());
+                    ruleVO.setDateValue(bean.getDateValue());
+                    ruleVO.setSuffix(String.valueOf(RuleTypeEnum.other.getKey()));
+                    ruleVOList.add(ruleVO);
+                }
+            }
         }
-        return null;
+
+        // 辅检描述
+        List<PacsNum> pacsNumList = pacsLabel.getPacsNumList();
+        if (ListUtil.isNotEmpty(pacsNumList)) {
+            for (PacsNum pacsNum : pacsNumList) {
+                RuleVO ruleVO = new RuleVO();
+                ruleVO.setInputName(pacsNum.getName());
+                ruleVO.setLibName(pacsNum.getStandName());
+                ruleVO.setLibType(LexiconEnum.PacsDescribe.getKey());
+                ruleVO.setLibTypeName(TypeEnum.pacs.getName());
+                ruleVO.setSuffix(String.valueOf(RuleTypeEnum.other.getKey()));
+                ruleVOList.add(ruleVO);
+            }
+        }
+        return ruleVOList;
     }
 
     /**

+ 9 - 12
src/main/java/com/diagbot/rule/AgeRule.java

@@ -4,10 +4,10 @@ import com.diagbot.dto.BillMsg;
 import com.diagbot.dto.RuleBaseDTO;
 import com.diagbot.dto.RuleSimpleDTO;
 import com.diagbot.dto.WordCrfDTO;
+import com.diagbot.enums.ConEnum;
 import com.diagbot.util.CoreUtil;
-import com.diagbot.util.MsgNewUtil;
 import com.diagbot.util.MsgUtil;
-import org.springframework.beans.factory.annotation.Autowired;
+import com.google.common.collect.Lists;
 import org.springframework.stereotype.Component;
 
 import java.util.List;
@@ -20,26 +20,23 @@ import java.util.List;
 @Component
 public class AgeRule {
 
-    @Autowired
-    MsgNewUtil msgNewUtil;
-
     /**
      * 比较年龄——开单项
      *
      * @param wordCrfDTO
      * @param ruleBaseDTO
-     * @param billMsgList
-     * @param conType
      * @param ruleSimpleDTO
      */
-    public void bill(WordCrfDTO wordCrfDTO, RuleBaseDTO ruleBaseDTO, List<BillMsg> billMsgList, String conType, RuleSimpleDTO ruleSimpleDTO) {
+    public Boolean bill(WordCrfDTO wordCrfDTO, RuleBaseDTO ruleBaseDTO, RuleSimpleDTO ruleSimpleDTO) {
         Boolean flag = getFlag(wordCrfDTO, ruleBaseDTO);
         if (flag) {
-            ruleSimpleDTO.setContent(wordCrfDTO.getAge());
-            ruleSimpleDTO.setConType(conType);
-            BillMsg billMsg = msgNewUtil.getCommonBillMsg(ruleSimpleDTO);
-            CoreUtil.addBeanToList(billMsgList, billMsg);
+            List<String> contentList = Lists.newArrayList();
+            if (!contentList.contains(wordCrfDTO.getAge())) {
+                contentList.add(wordCrfDTO.getAge());
+            }
+            CoreUtil.setListAndType(ruleSimpleDTO, contentList, ConEnum.age.getName());
         }
+        return flag;
     }
 
     /**

+ 180 - 0
src/main/java/com/diagbot/rule/BillRule.java

@@ -0,0 +1,180 @@
+package com.diagbot.rule;
+
+import com.diagbot.biz.push.entity.Item;
+import com.diagbot.dto.BillMsg;
+import com.diagbot.dto.RuleBaseDTO;
+import com.diagbot.dto.RuleSimpleDTO;
+import com.diagbot.dto.WordCrfDTO;
+import com.diagbot.enums.BaseTypeEnum;
+import com.diagbot.enums.ConEnum;
+import com.diagbot.enums.LexiconEnum;
+import com.diagbot.facade.CommonFacade;
+import com.diagbot.model.entity.Clinical;
+import com.diagbot.model.entity.Operation;
+import com.diagbot.util.ListUtil;
+import com.diagbot.util.MsgNewUtil;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+import java.util.Set;
+
+/**
+ * @description: 开单规则
+ * @author: zhoutg
+ * @time: 2020/8/3 14:47
+ */
+@Component
+public class BillRule {
+
+    @Autowired
+    SexRule sexRule;
+    @Autowired
+    AgeRule ageRule;
+    @Autowired
+    MsgNewUtil msgNewUtil;
+    @Autowired
+    CommonRule commonRule;
+    @Autowired
+    LisRule lisRule;
+    @Autowired
+    PacsRule pacsRule;
+    @Autowired
+    VitalRule vitalRule;
+    @Autowired
+    GroupRule groupRule;
+    @Autowired
+    MedEquRule medEquRule;
+    @Autowired
+    CommonFacade commonFacade;
+    @Autowired
+    DrugRule drugRule;
+    @Autowired
+    RouteRule routeRule;
+    @Autowired
+    FormRule formRule;
+
+    /**
+     * 开单规则总入口
+     *
+     * @param wordCrfDTO
+     * @param ruleBaseDTOList
+     * @param billMsgList
+     * @param ruleSimpleDTO
+     */
+    public void bill(WordCrfDTO wordCrfDTO, List<RuleBaseDTO> ruleBaseDTOList, List<BillMsg> billMsgList, RuleSimpleDTO ruleSimpleDTO, Set<String> set) {
+        if (ListUtil.isEmpty(ruleBaseDTOList)) {
+            return;
+        }
+        /**---------------------------数据统一处理开始--------------------------------- */
+        // 【过敏药品数据来源】
+        List<Item> allergyMedicines = commonFacade.getDrugAllergySource(wordCrfDTO);
+        // 【药品数据来源】(主诉、现病史、既往史、结构化药品)
+        List<Item> medicineAll = wordCrfDTO.getDrugSource();
+        // 【诊断数据来源】
+        List<Item> diags = wordCrfDTO.getDiagSource();
+        // 【辅检结果数据来源】
+        List<Item> pacsDescList = wordCrfDTO.getPacsLabel().getRes();
+        // 【手术数据来源】
+        List<Operation> operationsSource = commonFacade.getOperationSource(wordCrfDTO);
+        // 【临床表现数据来源】(主诉、现病史)
+        List<Clinical> clinicals = commonFacade.getClinicalSource(wordCrfDTO);
+        /**---------------------------数据统一处理结束--------------------------------- */
+
+        for (RuleBaseDTO ruleBaseDTO : ruleBaseDTOList) {
+            boolean flag = false;
+            boolean flag1 = false, flag2 = false; // 定义多个变量
+            if (LexiconEnum.getEnum(ruleBaseDTO.getBaseLibType()) != null) { // 避免空指针
+                switch (LexiconEnum.getEnum(ruleBaseDTO.getBaseLibType())) {
+                    case Gender: // 性别
+                        flag = sexRule.bill(wordCrfDTO, ruleBaseDTO, ruleSimpleDTO);
+                        break;
+                    case Age: // 年龄
+                        flag = ageRule.bill(wordCrfDTO, ruleBaseDTO, ruleSimpleDTO);
+                        break;
+                    case Disease: // 诊断
+                        flag = commonRule.compareItemWithBill(diags, ruleBaseDTO, ruleSimpleDTO, ConEnum.disease.getName());
+                        break;
+                    case LisName: // 化验开单互斥
+                        flag1 = commonRule.exclusionBillOrder(wordCrfDTO.getLisOrder(), ruleBaseDTO, ruleSimpleDTO, ConEnum.exclusion.getName(), set);
+                        flag2 = commonRule.exclusionBillStruct(wordCrfDTO.getLis(), ruleBaseDTO, ruleSimpleDTO, ConEnum.exclusion.getName(), set);
+                        if (flag1 || flag2) {
+                            flag = true;
+                        }
+                        break;
+                    case LisSubName: // 化验结果
+                        flag = lisRule.bill(wordCrfDTO.getLis(), ruleBaseDTO, ruleSimpleDTO);
+                        break;
+                    case VitalResult: //体格检查结果
+                    case Vital: // 体格检查项目
+                        flag = vitalRule.bill(wordCrfDTO.getVitalLabel(), ruleBaseDTO, ruleSimpleDTO);
+                        break;
+                    case PacsName: // 辅助检查项目
+                    case PacsSubName: // 辅助检查子项目
+                        if (ruleBaseDTO.getBaseType() != null && ruleBaseDTO.getBaseType().equals(BaseTypeEnum.B5.getKey())) {
+                            // 开单项互斥
+                            flag1 = commonRule.exclusionBillOrder(wordCrfDTO.getPacsOrder(), ruleBaseDTO, ruleSimpleDTO, ConEnum.exclusion.getName(), set);
+                            flag2 = commonRule.exclusionBillStruct(wordCrfDTO.getPacs(), ruleBaseDTO, ruleSimpleDTO, ConEnum.exclusion.getName(), set);
+                            if (flag1 || flag2) {
+                                flag = true;
+                            }
+                        } else {
+                            // 辅检项目,暂无数据
+                            flag = pacsRule.bill(wordCrfDTO.getPacs(), ruleBaseDTO, ruleSimpleDTO, ConEnum.pacs.getName());
+                        }
+                        break;
+                    case Symptom: // 临床表现
+                        flag = commonRule.compareNameWithBill(clinicals, ruleBaseDTO, ruleSimpleDTO, ConEnum.clinicfindings.getName());
+                        break;
+                    case Operation: // 手术(既往史、现病史、医嘱手术)
+                        flag = commonRule.compareNameWithBill(operationsSource, ruleBaseDTO, ruleSimpleDTO, ConEnum.operations.getName());
+                        break;
+                    case Medicine: // 药品通用名
+                    case MedChemClass: // 药品化学物质类别
+                    case MedZhiLiaoClass: // 药品治疗学类别
+                    case MedYaoLiClass: // 药品药理学类别
+                    case MedJiePouClass: // 药品解剖学类别
+                        if (ruleBaseDTO.getBaseType().equals(4)) {
+                            // 禁忌过敏药品(既往史)
+                            flag = drugRule.bill(allergyMedicines, ruleBaseDTO, ruleSimpleDTO, ConEnum.allergicmeds.getName());
+                        } else {
+                            // 服用药品(主诉、现病史、既往史、结构化药品)
+                            flag = drugRule.bill(medicineAll, ruleBaseDTO, ruleSimpleDTO, ConEnum.oralmeds.getName());
+                        }
+                        break;
+                    case Allergen: // 其他过敏原
+                        flag = drugRule.bill(allergyMedicines, ruleBaseDTO, ruleSimpleDTO, ConEnum.otherAllergy.getName());
+                        break;
+                    case Group: // 禁忌人群
+                        flag = groupRule.bill(wordCrfDTO, ruleBaseDTO, ruleSimpleDTO);
+                        break;
+                    case PacsResult: // 禁用辅助检查结果
+                        flag = commonRule.compareItemWithBill(pacsDescList, ruleBaseDTO, ruleSimpleDTO, ConEnum.pacsDesc.getName());
+                        break;
+                    case Device: // 禁忌医疗器械及物品
+                        flag = medEquRule.bill(wordCrfDTO, ruleBaseDTO, ruleSimpleDTO);
+                        break;
+                    case AdministrationRoute: // 给药途径
+                        flag = routeRule.bill(ruleBaseDTO, ruleSimpleDTO);
+                        break;
+                    case Form: // 药品剂型
+                        flag = formRule.bill(ruleBaseDTO, ruleSimpleDTO);
+                        break;
+                    default:
+                        break;
+                }
+            }
+            // 有任一条件不满足,直接退出
+            if (!flag) {
+                return;
+            }
+        }
+
+        // 提示语处理
+        for (String content : ruleSimpleDTO.getContentList()) {
+            ruleSimpleDTO.setContent(content);
+            msgNewUtil.getCommonBillMsg(ruleSimpleDTO, billMsgList);
+        }
+    }
+
+}

+ 76 - 52
src/main/java/com/diagbot/rule/CommonRule.java

@@ -73,13 +73,14 @@ public class CommonRule {
      *
      * @param input
      * @param ruleBaseDTO
-     * @param billMsgList
-     * @param conType
      * @param ruleSimpleDTO
+     * @param conType
      * @param <T>
+     * @return
      */
-    public <T> void compareNameWithBill(List<T> input, RuleBaseDTO ruleBaseDTO, List<BillMsg> billMsgList,
-                                        String conType, RuleSimpleDTO ruleSimpleDTO) {
+    public <T> Boolean compareNameWithBill(List<T> input, RuleBaseDTO ruleBaseDTO, RuleSimpleDTO ruleSimpleDTO, String conType) {
+        boolean flag = false;
+        List<String> contentList = Lists.newArrayList();
         if (ListUtil.isNotEmpty(input)) {
             for (T d : input) {
                 Negative val = (Negative) CoreUtil.getFieldValue(d, "negative");
@@ -87,14 +88,18 @@ public class CommonRule {
                     String standName = (String) CoreUtil.getFieldValue(d, "standName");
                     String name = (String) CoreUtil.getFieldValue(d, "name");
                     if (StringUtils.isNotBlank(standName) && CoreUtil.compareName(ruleBaseDTO, standName)) {
-                        ruleSimpleDTO.setContent(name);
-                        ruleSimpleDTO.setConType(conType);
-                        BillMsg billMsg = msgNewUtil.getCommonBillMsg(ruleSimpleDTO);
-                        CoreUtil.addBeanToList(billMsgList, billMsg);
+                        if (!contentList.contains(name)) {
+                            contentList.add(name);
+                        }
+                        flag = true;
                     }
                 }
             }
         }
+        if (flag) {
+            CoreUtil.setListAndType(ruleSimpleDTO, contentList, conType);
+        }
+        return flag;
     }
 
     /**
@@ -172,25 +177,28 @@ public class CommonRule {
      *
      * @param input
      * @param ruleBaseDTO
-     * @param billMsgList
-     * @param conType
      * @param ruleSimpleDTO
      * @param <T>
      */
-    public <T> void compareItemWithBill(List<T> input, RuleBaseDTO ruleBaseDTO, List<BillMsg> billMsgList,
-                                        String conType, RuleSimpleDTO ruleSimpleDTO) {
+    public <T> Boolean compareItemWithBill(List<T> input, RuleBaseDTO ruleBaseDTO, RuleSimpleDTO ruleSimpleDTO, String conType) {
+        boolean flag = false;
+        List<String> contentList = Lists.newArrayList();
         if (ListUtil.isNotEmpty(input)) {
             for (T t : input) {
-                String uniqueName = (String) CoreUtil.getFieldValue(t, "uniqueName"); // 标准名称
-                String inputName = (String) CoreUtil.getFieldValue(t, "name"); // 界面名称
+                String uniqueName = ReflectUtil.getProperty(t, "uniqueName"); // 标准名称
+                String inputName = ReflectUtil.getProperty(t, "name"); // 界面名称
                 if (CoreUtil.compareName(ruleBaseDTO, uniqueName)) {
-                    ruleSimpleDTO.setContent(inputName);
-                    ruleSimpleDTO.setConType(conType);
-                    BillMsg billMsg = msgNewUtil.getCommonBillMsg(ruleSimpleDTO);
-                    CoreUtil.addBeanToList(billMsgList, billMsg);
+                    if (!contentList.contains(inputName)) {
+                        contentList.add(inputName);
+                    }
+                    flag = true;
                 }
             }
         }
+        if (flag) {
+            CoreUtil.setListAndType(ruleSimpleDTO, contentList, conType);
+        }
+        return flag;
     }
 
     /**
@@ -263,8 +271,7 @@ public class CommonRule {
                 if (flag == 1) {
                     ruleSimpleDTO.setContent(result);
                     ruleSimpleDTO.setConType(conType);
-                    BillMsg billMsg = msgNewUtil.getCommonBillMsg(ruleSimpleDTO);
-                    CoreUtil.addBeanToList(billMsgList, billMsg);
+                    msgNewUtil.getCommonBillMsg(ruleSimpleDTO, billMsgList);
                 }
             }
         }
@@ -293,8 +300,7 @@ public class CommonRule {
                 if (flag == 1) { // 有效期范围内
                     ruleSimpleDTO.setContent(matchDTO.getContent());
                     ruleSimpleDTO.setConType(conType);
-                    BillMsg billMsg = msgNewUtil.getCommonBillMsg(ruleSimpleDTO);
-                    CoreUtil.addBeanToList(billMsgList, billMsg);
+                    msgNewUtil.getCommonBillMsg(ruleSimpleDTO, billMsgList);
                 }
             }
         }
@@ -343,22 +349,25 @@ public class CommonRule {
     }
 
     /**
-     * 24小时重复开单总入口
+     * xx小时重复开单总入口
      *
      * @param wordCrfDTO
      * @param billMsgList
      */
-    public void repeat24Bill(WordCrfDTO wordCrfDTO, List<BillMsg> billMsgList) {
+    public void repeatBill(WordCrfDTO wordCrfDTO, List<BillMsg> billMsgList) {
+        Integer repeat = redisUtil.getByKeyAndField(RedisEnum.dateInterval.getName(), "重复开立时间间隔");
+        // 转换为分钟
+        Long repeatDate = 60L * repeat;
         // 当前开单项与当前开单项重复开立
-        repeat24BillWithOrder(billMsgList, wordCrfDTO.getLisOrder(), TypeEnum.lis.getName(), ConEnum.repeat24.getName()); // 化验重复开单
-        repeat24BillWithOrder(billMsgList, wordCrfDTO.getPacsOrder(), TypeEnum.pacs.getName(), ConEnum.repeat24.getName()); // 辅检重复开单
+        repeatBillWithOrder(billMsgList, wordCrfDTO.getLisOrder(), TypeEnum.lis.getName(), ConEnum.repeat24.getName(), repeatDate); // 化验重复开单
+        repeatBillWithOrder(billMsgList, wordCrfDTO.getPacsOrder(), TypeEnum.pacs.getName(), ConEnum.repeat24.getName(), repeatDate); // 辅检重复开单
         // repeat24BillWithType(billMsgList, wordCrfDTO.getDrugOrder(), TypeEnum.drug.getName(), ConEnum.repeat24.getName()); // 药品重复开单
         // repeat24BillWithType(billMsgList, wordCrfDTO.getOperationOrder(), TypeEnum.operation.getName(), ConEnum.repeat24.getName()); // 手术重复开单
         // repeat24BillWithType(billMsgList, wordCrfDTO.getTransfusionOrder(), TypeEnum.transfusion.getName(), ConEnum.repeat24.getName()); // 输血重复开单
 
         // 当前开单项和结构化开单项重复开立
-        repeat24BillWithStruct(billMsgList, wordCrfDTO.getLisOrder(), wordCrfDTO.getLis(), TypeEnum.lis.getName(), ConEnum.repeat24.getName()); // 化验重复开单
-        repeat24BillWithStruct(billMsgList, wordCrfDTO.getPacsOrder(), wordCrfDTO.getPacs(), TypeEnum.pacs.getName(), ConEnum.repeat24.getName()); // 辅检重复开单
+        repeatBillWithStruct(billMsgList, wordCrfDTO.getLisOrder(), wordCrfDTO.getLis(), TypeEnum.lis.getName(), ConEnum.repeat24.getName(), repeatDate); // 化验重复开单
+        repeatBillWithStruct(billMsgList, wordCrfDTO.getPacsOrder(), wordCrfDTO.getPacs(), TypeEnum.pacs.getName(), ConEnum.repeat24.getName(), repeatDate); // 辅检重复开单
     }
 
     /**
@@ -366,18 +375,21 @@ public class CommonRule {
      *
      * @param orderList     开单列表
      * @param ruleBaseDTO
-     * @param billMsgList
      * @param ruleSimpleDTO
+     * @param conType
      * @param set           用于记录:A与B不宜同时进行, B与A不宜同时进行 只能提示一个
+     * @param <T>
      */
-    public <T> void exclusionBillOrder(List<T> orderList, RuleBaseDTO ruleBaseDTO, List<BillMsg> billMsgList, String conType, RuleSimpleDTO ruleSimpleDTO, Set<String> set) {
+    public <T> Boolean exclusionBillOrder(List<T> orderList, RuleBaseDTO ruleBaseDTO, RuleSimpleDTO ruleSimpleDTO, String conType, Set<String> set) {
+        boolean flag = false;
+        List<String> contentList = Lists.newArrayList();
         if (ListUtil.isNotEmpty(orderList) && orderList.size() > 1) {
             String baseLibName = ruleBaseDTO.getBaseLibName(); // 互斥名称
             String libName = ruleSimpleDTO.getLibName(); // 标准名称
             String inputName = ruleSimpleDTO.getInputName(); // 医院名称
             // 加入集合后,会出现自己与自己互斥的数据,这些数据不提示
             if (libName.equals(baseLibName)) {
-                return;
+                return flag;
             }
             // 不同的项目可能对应同一个uniqueName,提示显示多条
             Map<String, List<T>> map = EntityUtil.makeEntityListMap(orderList, "uniqueName");
@@ -389,14 +401,18 @@ public class CommonRule {
                     if (!set.contains(inputName + CommonEnum.splitSymbol.getName() + orginName)) {
                         set.add(inputName + CommonEnum.splitSymbol.getName() + orginName);
                         set.add(orginName + CommonEnum.splitSymbol.getName() + inputName);
-                        ruleSimpleDTO.setContent(orginName);
-                        ruleSimpleDTO.setConType(conType);
-                        BillMsg billMsg = msgNewUtil.getCommonBillMsg(ruleSimpleDTO);
-                        CoreUtil.addBeanToList(billMsgList, billMsg);
+                        if (!contentList.contains(orginName)) {
+                            contentList.add(orginName);
+                        }
+                        flag = true;
                     }
                 }
             }
         }
+        if (flag) {
+            CoreUtil.setListAndType(ruleSimpleDTO, contentList, conType);
+        }
+        return flag;
     }
 
     /**
@@ -404,17 +420,21 @@ public class CommonRule {
      *
      * @param orderList     开单列表
      * @param ruleBaseDTO
-     * @param billMsgList
+     * @param conType
      * @param ruleSimpleDTO
      * @param set           用于记录:A与B不宜同时进行, B与A不宜同时进行 只能提示一个
+     * @param <T>
+     * @return
      */
-    public <T> void exclusionBillStruct(List<T> orderList, RuleBaseDTO ruleBaseDTO, List<BillMsg> billMsgList, String conType, RuleSimpleDTO ruleSimpleDTO, Set<String> set) {
+    public <T> Boolean exclusionBillStruct(List<T> orderList, RuleBaseDTO ruleBaseDTO, RuleSimpleDTO ruleSimpleDTO, String conType, Set<String> set) {
+        boolean flag = false;
+        List<String> contentList = Lists.newArrayList();
         if (ListUtil.isNotEmpty(orderList)) {
             String baseLibName = ruleBaseDTO.getBaseLibName(); // 互斥名称
             String libName = ruleSimpleDTO.getLibName(); // 标准名称
             // 加入集合后,会出现自己与自己互斥的数据,这些数据不提示
             if (libName.equals(baseLibName)) {
-                return;
+                return flag;
             }
             // 不同的项目可能对应同一个uniqueName,提示显示多条
             Map<String, List<T>> map = EntityUtil.makeEntityListMap(orderList, "uniqueName");
@@ -440,16 +460,20 @@ public class CommonRule {
                             if (!set.contains(libName + CommonEnum.splitSymbol.getName() + orginName)) {
                                 set.add(libName + CommonEnum.splitSymbol.getName() + orginName);
                                 set.add(orginName + CommonEnum.splitSymbol.getName() + libName);
-                                ruleSimpleDTO.setContent(orginName);
-                                ruleSimpleDTO.setConType(conType);
-                                BillMsg billMsg = msgNewUtil.getCommonBillMsg(ruleSimpleDTO);
-                                CoreUtil.addBeanToList(billMsgList, billMsg);
+                                if (!contentList.contains(orginName)) {
+                                    contentList.add(orginName);
+                                }
+                                flag = true;
                             }
                         }
                     }
                 }
             }
         }
+        if (flag) {
+            CoreUtil.setListAndType(ruleSimpleDTO, contentList, conType);
+        }
+        return flag;
     }
 
     /**
@@ -472,15 +496,16 @@ public class CommonRule {
     }
 
     /**
-     * 24小时重复开单入口——与开单项比较
+     * xx小时重复开单入口——与开单项比较
      *
      * @param billMsgList
      * @param itemList
      * @param type
      * @param conType     禁忌条件
+     * @param repeatDate
      * @param <T>
      */
-    public <T> void repeat24BillWithOrder(List<BillMsg> billMsgList, List<T> itemList, String type, String conType) {
+    public <T> void repeatBillWithOrder(List<BillMsg> billMsgList, List<T> itemList, String type, String conType, Long repeatDate) {
         if (ListUtil.isEmpty(itemList)) {
             return;
         }
@@ -498,15 +523,14 @@ public class CommonRule {
                             T itNext = items.get(j);
                             String nextDateValue = ReflectUtil.getProperty(itNext, "dateValue");
                             if (StringUtil.isNotBlank(nextDateValue)) {
-                                int dateFlag = CoreUtil.compareTime(curDateValue, nextDateValue, 60L * 24, false, true);
+                                int dateFlag = CoreUtil.compareTime(curDateValue, nextDateValue, repeatDate, false, true);
                                 if (dateFlag == 1
                                         && getFrquenceType(ReflectUtil.getProperty(it, "frequency"))
                                         .equals(getFrquenceType(ReflectUtil.getProperty(itNext, "frequency")))) {
                                     String name = (String) CoreUtil.getFieldValue(it, "name");
                                     String uniqueName = (String) CoreUtil.getFieldValue(it, "uniqueName");
                                     RuleSimpleDTO ruleSimpleDTO = new RuleSimpleDTO(name, uniqueName, type, name, conType);
-                                    BillMsg billMsg = msgNewUtil.getCommonBillMsg(ruleSimpleDTO);
-                                    CoreUtil.addBeanToList(billMsgList, billMsg);
+                                    msgNewUtil.getCommonBillMsg(ruleSimpleDTO, billMsgList);
                                     break;
                                 }
                             }
@@ -518,16 +542,17 @@ public class CommonRule {
     }
 
     /**
-     * 24小时重复开单——与结构化比较
+     * xx小时重复开单——与结构化比较
      *
      * @param billMsgList
      * @param orderList
      * @param itemList
      * @param type
      * @param conType
+     * @param repeatDate
      * @param <T>
      */
-    public <T> void repeat24BillWithStruct(List<BillMsg> billMsgList, List<T> orderList, List<T> itemList, String type, String conType) {
+    public <T> void repeatBillWithStruct(List<BillMsg> billMsgList, List<T> orderList, List<T> itemList, String type, String conType, Long repeatDate) {
         if (ListUtil.isEmpty(itemList) || ListUtil.isEmpty(orderList)) {
             return;
         }
@@ -551,14 +576,13 @@ public class CommonRule {
                     if (StringUtil.isBlank(finishDateValue)) {
                         String curDateValue = ReflectUtil.getProperty(order, "dateValue"); // 当前开单时间
                         String pastDateValue = ReflectUtil.getProperty(it, "dateValue"); // 历史开单时间
-                        int dateFlag = CoreUtil.compareTime(pastDateValue, curDateValue, 60L * 24, false, false);
+                        int dateFlag = CoreUtil.compareTime(pastDateValue, curDateValue, repeatDate, false, false);
                         // 规定时间内,并且频次相同
                         if (dateFlag == 1 &&
                                 getFrquenceType(ReflectUtil.getProperty(it, "frequency"))
                                         .equals(getFrquenceType(ReflectUtil.getProperty(it, "frequency")))) {
                             RuleSimpleDTO ruleSimpleDTO = new RuleSimpleDTO(orderName, orderUniqueName, type, orderName, conType);
-                            BillMsg billMsg = msgNewUtil.getCommonBillMsg(ruleSimpleDTO);
-                            CoreUtil.addBeanToList(billMsgList, billMsg);
+                            msgNewUtil.getCommonBillMsg(ruleSimpleDTO, billMsgList);
                             break;
                         }
                     }

+ 12 - 12
src/main/java/com/diagbot/rule/DrugRule.java

@@ -1,14 +1,13 @@
 package com.diagbot.rule;
 
-import com.diagbot.dto.BillMsg;
 import com.diagbot.dto.RuleBaseDTO;
 import com.diagbot.dto.RuleSimpleDTO;
 import com.diagbot.enums.LexiconEnum;
 import com.diagbot.enums.RedisEnum;
 import com.diagbot.util.CoreUtil;
 import com.diagbot.util.ListUtil;
-import com.diagbot.util.MsgNewUtil;
 import com.diagbot.util.RedisUtil;
+import com.google.common.collect.Lists;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
@@ -26,21 +25,18 @@ public class DrugRule {
 
     @Autowired
     RedisUtil redisUtil;
-    @Autowired
-    MsgNewUtil msgNewUtil;
 
     /**
      * 比较药品是否匹配(先根据baseLibType判断返回的是药品通用名还是药品分类,如果返回的是药品分类,从redis获取药品通用名)
      *
      * @param inputList
      * @param ruleBaseDTO
-     * @param billMsgList
-     * @param conType
      * @param ruleSimpleDTO
      * @param <T>
      */
-    public <T> void bill(List<T> inputList, RuleBaseDTO ruleBaseDTO, List<BillMsg> billMsgList, String conType,
-                         RuleSimpleDTO ruleSimpleDTO) {
+    public <T> Boolean bill(List<T> inputList, RuleBaseDTO ruleBaseDTO, RuleSimpleDTO ruleSimpleDTO, String conType) {
+        boolean flag = false;
+        List<String> contentList = Lists.newArrayList();
         if (ListUtil.isNotEmpty(inputList)) {
             List<String> allDrug = new ArrayList<>();
             if (ruleBaseDTO.getBaseLibType().equals(LexiconEnum.MedChemClass.getKey())
@@ -58,12 +54,16 @@ public class DrugRule {
                 String uniqueName = (String) CoreUtil.getFieldValue(d, "uniqueName");
                 String name = (String) CoreUtil.getFieldValue(d, "name");
                 if (StringUtils.isNotBlank(uniqueName) && allDrug.contains(uniqueName)) {
-                    ruleSimpleDTO.setContent(name);
-                    ruleSimpleDTO.setConType(conType);
-                    BillMsg billMsg = msgNewUtil.getCommonBillMsg(ruleSimpleDTO);
-                    CoreUtil.addBeanToList(billMsgList, billMsg);
+                    if (!contentList.contains(name)) {
+                        contentList.add(name);
+                    }
+                    flag = true;
                 }
             }
         }
+        if (flag) {
+            CoreUtil.setListAndType(ruleSimpleDTO, contentList, conType);
+        }
+        return flag;
     }
 }

+ 40 - 0
src/main/java/com/diagbot/rule/FormRule.java

@@ -0,0 +1,40 @@
+package com.diagbot.rule;
+
+import com.diagbot.dto.RuleBaseDTO;
+import com.diagbot.dto.RuleSimpleDTO;
+import com.diagbot.util.CoreUtil;
+import com.google.common.collect.Lists;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+
+/**
+ * @description: 剂型规则
+ * @author: zhoutg
+ * @time: 2020/8/3 14:47
+ */
+@Component
+public class FormRule {
+
+    /**
+     * 比较名称是否匹配——开单
+     *
+     * @param ruleBaseDTO
+     * @param ruleSimpleDTO
+     * @param <T>
+     */
+    public <T> Boolean bill(RuleBaseDTO ruleBaseDTO, RuleSimpleDTO ruleSimpleDTO) {
+        List<String> contentList = Lists.newArrayList();
+        String name = ruleSimpleDTO.getForm(); // 药品剂型
+        boolean flag = CoreUtil.compareName(ruleBaseDTO, name);
+        if (flag) {
+            if (!contentList.contains(name)) {
+                contentList.add(name);
+            }
+            if (ruleSimpleDTO != null) {
+                ruleSimpleDTO.setMatchNum(ruleSimpleDTO.getMatchNum() + 1);
+            }
+        }
+        return flag;
+    }
+}

+ 13 - 14
src/main/java/com/diagbot/rule/GroupRule.java

@@ -1,13 +1,12 @@
 package com.diagbot.rule;
 
 import com.diagbot.biz.push.entity.Item;
-import com.diagbot.dto.BillMsg;
 import com.diagbot.dto.RuleBaseDTO;
 import com.diagbot.dto.RuleSimpleDTO;
 import com.diagbot.dto.WordCrfDTO;
+import com.diagbot.enums.ConEnum;
 import com.diagbot.util.CoreUtil;
 import com.diagbot.util.ListUtil;
-import com.diagbot.util.MsgNewUtil;
 import com.diagbot.util.RegexUtil;
 import com.diagbot.util.StringUtil;
 import com.google.common.collect.Lists;
@@ -29,26 +28,25 @@ public class GroupRule {
 
     @Autowired
     CommonRule commonRule;
-    @Autowired
-    MsgNewUtil msgNewUtil;
 
     /**
      * 禁忌人群开单项
      *
      * @param wordCrfDTO
      * @param ruleBaseDTO
-     * @param billMsgList
-     * @param conType
      * @param ruleSimpleDTO
      */
-    public void bill(WordCrfDTO wordCrfDTO, RuleBaseDTO ruleBaseDTO, List<BillMsg> billMsgList, String conType, RuleSimpleDTO ruleSimpleDTO) {
+    public Boolean bill(WordCrfDTO wordCrfDTO, RuleBaseDTO ruleBaseDTO, RuleSimpleDTO ruleSimpleDTO) {
         Map map = rule(wordCrfDTO, ruleBaseDTO);
-        if (CoreUtil.getMapFlag(map)) {
-            ruleSimpleDTO.setContent(ruleBaseDTO.getBaseLibName());
-            ruleSimpleDTO.setConType(conType);
-            BillMsg billMsg = msgNewUtil.getCommonBillMsg(ruleSimpleDTO);
-            CoreUtil.addBeanToList(billMsgList, billMsg);
+        boolean flag = CoreUtil.getMapFlag(map);
+        if (flag) {
+            List<String> contentList = Lists.newArrayList();
+            if (!contentList.contains(ruleBaseDTO.getBaseLibName())) {
+                contentList.add(ruleBaseDTO.getBaseLibName());
+            }
+            CoreUtil.setListAndType(ruleSimpleDTO, contentList, ConEnum.group.getName());
         }
+        return flag;
     }
 
     /**
@@ -101,9 +99,10 @@ public class GroupRule {
                     break;
                 case "月经期":
                     regex = "月经第(([零一二三四五六七八九十]{0,3})||([0-9]{0,2}))天";
-                    regex2 = "(?<!上一次)经期";
+                    // regex2 = "(?<!上一次)经期";
                     if (RegexUtil.getRegexRes(symptom, regex) || RegexUtil.getRegexRes(menstrual, regex)
-                            || RegexUtil.getRegexRes(symptom, regex2) || RegexUtil.getRegexRes(menstrual, regex2)) {
+                            // || RegexUtil.getRegexRes(symptom, regex2) || RegexUtil.getRegexRes(menstrual, regex2)
+                    ) {
                         flag = true;
                     }
                     break;

+ 188 - 135
src/main/java/com/diagbot/rule/LisRule.java

@@ -2,11 +2,13 @@ package com.diagbot.rule;
 
 import com.diagbot.biz.push.entity.Lis;
 import com.diagbot.dto.BillMsg;
+import com.diagbot.dto.LisCtritalDTO;
 import com.diagbot.dto.LisOtherDTO;
 import com.diagbot.dto.MatchDTO;
 import com.diagbot.dto.RuleBaseDTO;
 import com.diagbot.dto.RuleSimpleDTO;
 import com.diagbot.dto.WordCrfDTO;
+import com.diagbot.enums.ConEnum;
 import com.diagbot.enums.LexiconEnum;
 import com.diagbot.enums.TypeEnum;
 import com.diagbot.util.CoreUtil;
@@ -14,6 +16,7 @@ import com.diagbot.util.ListUtil;
 import com.diagbot.util.MsgNewUtil;
 import com.diagbot.util.MsgUtil;
 import com.diagbot.util.StringUtil;
+import com.google.common.collect.Lists;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
@@ -35,28 +38,36 @@ public class LisRule {
     CommonRule commonRule;
     @Autowired
     MsgNewUtil msgNewUtil;
+    @Autowired
+    SexRule sexRule;
+    @Autowired
+    AgeRule ageRule;
 
     /**
      * 比较化验——开单合理性
      *
      * @param inputLis
      * @param ruleBaseDTO
-     * @param billMsgList
-     * @param conType
      * @param ruleSimpleDTO
      */
-    public void bill(List<Lis> inputLis, RuleBaseDTO ruleBaseDTO, List<BillMsg> billMsgList, String conType, RuleSimpleDTO ruleSimpleDTO) {
+    public Boolean bill(List<Lis> inputLis, RuleBaseDTO ruleBaseDTO, RuleSimpleDTO ruleSimpleDTO) {
+        boolean flag = false;
+        List<String> contentList = Lists.newArrayList();
         if (ListUtil.isNotEmpty(inputLis) && StringUtil.isNotBlank(ruleBaseDTO.getBaseLibName())) {
             for (Lis lis : inputLis) {
                 MatchDTO matchDTO = CoreUtil.compareLis(ruleBaseDTO, lis);
                 if (matchDTO != null) {
-                    ruleSimpleDTO.setContent(matchDTO.getContent());
-                    ruleSimpleDTO.setConType(conType);
-                    BillMsg billMsg = msgNewUtil.getCommonBillMsg(ruleSimpleDTO);
-                    CoreUtil.addBeanToList(billMsgList, billMsg);
+                    if (!contentList.contains(matchDTO.getContent())) {
+                        contentList.add(matchDTO.getContent());
+                    }
+                    flag = true;
                 }
             }
         }
+        if (flag) {
+            CoreUtil.setListAndType(ruleSimpleDTO, contentList, ConEnum.lis.getName());
+        }
+        return flag;
     }
 
     /**
@@ -90,11 +101,11 @@ public class LisRule {
      */
     public void otherLis(Lis lisBean, List<RuleBaseDTO> ruleBaseDTOList, List<BillMsg> otherList, WordCrfDTO wordCrfDTO, String msg) {
         if (ListUtil.isEmpty(ruleBaseDTOList)) {
-            return ;
+            return;
         }
         LisOtherDTO lisOtherDTO = new LisOtherDTO();
-        int i = 0;
         for (RuleBaseDTO ruleBaseDTO : ruleBaseDTOList) {
+            boolean flag = false;
             if (LexiconEnum.getEnum(ruleBaseDTO.getBaseLibType()) != null) { // 避免空指针
                 Map<String, Object> map = null;
                 switch (LexiconEnum.getEnum(ruleBaseDTO.getBaseLibType())) {
@@ -103,93 +114,103 @@ public class LisRule {
                             // 化验自身
                             MatchDTO matchDTO = CoreUtil.compareLis(ruleBaseDTO, lisBean);
                             if (matchDTO != null) {
-                                i++;
                                 lisOtherDTO.setName(matchDTO.getContent());
                                 lisOtherDTO.setLisNameDetail(matchDTO.getLisNameDetail());
-                            } else {
-                                break;
+                                flag = true;
                             }
                         } else {
                             // 其他化验——暂无数据
                             List<MatchDTO> matchDTOList = CoreUtil.compareLis(ruleBaseDTO, wordCrfDTO.getLis());
                             if (ListUtil.isNotEmpty(matchDTOList)) {
-                                i++;
                                 List<String> msgLis = matchDTOList.stream().map(r -> r.getContent()).collect(Collectors.toList());
                                 lisOtherDTO.setLisMsg(msgLis);
-                            } else {
-                                break;
+                                flag = true;
                             }
                         }
                         break;
                     case Group: // 人群
                         map = groupRule.rule(wordCrfDTO, ruleBaseDTO);
-                        if (CoreUtil.getMapFlag(map)) {
-                            lisOtherDTO.getGroupMsg().add((String)map.get("msg"));
-                            i++;
+                        flag = CoreUtil.getMapFlag(map);
+                        if (flag) {
+                            lisOtherDTO.getGroupMsg().add((String) map.get("msg"));
                         }
                         break;
                     case Disease: // 诊断
                         map = commonRule.compareItem(wordCrfDTO.getDiag(), ruleBaseDTO);
-                        if (CoreUtil.getMapFlag(map)) {
-                            lisOtherDTO.setDiseaseMsg((List<String>)map.get("msgList"));
-                            i++;
+                        flag = CoreUtil.getMapFlag(map);
+                        if (flag) {
+                            lisOtherDTO.setDiseaseMsg((List<String>) map.get("msgList"));
                         }
                         break;
                     case Medicine: // 药品
                         map = commonRule.compareItem(wordCrfDTO.getDrugSource(), ruleBaseDTO);
-                        if (CoreUtil.getMapFlag(map)) {
-                            lisOtherDTO.setDrugMsg((List<String>)map.get("msgList"));
-                            i++;
+                        flag = CoreUtil.getMapFlag(map);
+                        if (flag) {
+                            lisOtherDTO.setDrugMsg((List<String>) map.get("msgList"));
+                        }
+                        break;
+                    case Gender: // 性别
+                        flag = sexRule.getFlag(wordCrfDTO, ruleBaseDTO);
+                        if (flag) {
+                            lisOtherDTO.setSexMsg(ruleBaseDTO.getBaseLibName());
                         }
                         break;
                     default:
                         break;
                 }
             }
+            // 有任一条件不满足,直接退出
+            if (!flag) {
+                return;
+            }
         }
         // 条件全部符合
-        if (i == ruleBaseDTOList.size()) {
-            if (StringUtil.isNotBlank(lisOtherDTO.getName())) {
-                String lisNameDetail = lisOtherDTO.getLisNameDetail(); // 化验套餐和明细
-                // 就化验本身一个条件符合
-                if (i == 1) {
-                    BillMsg billMsg = msgNewUtil.getCommonOtherMsg(TypeEnum.lis.getName(),
-                            lisOtherDTO.getName(), "", TypeEnum.lisSelf.getName(), lisBean, msg, lisNameDetail);
-                    CoreUtil.addBeanToList(otherList, billMsg);
-                } else { // 有其他条件符合
-                    // 诊断
-                    if (ListUtil.isNotEmpty(lisOtherDTO.getDiseaseMsg())) {
-                        for (String str : lisOtherDTO.getDiseaseMsg()) {
-                            BillMsg billMsg = msgNewUtil.getCommonOtherMsg(TypeEnum.lis.getName(), lisOtherDTO.getName(),
-                                    str, TypeEnum.disease.getName(), lisBean, msg, lisNameDetail);
-                            CoreUtil.addBeanToList(otherList, billMsg);
-                        }
+        if (StringUtil.isNotBlank(lisOtherDTO.getName())) {
+            String lisNameDetail = lisOtherDTO.getLisNameDetail(); // 化验套餐和明细
+            // 就化验本身一个条件符合
+            if (ruleBaseDTOList.size() == 1) {
+                BillMsg billMsg = msgNewUtil.getCommonOtherMsg(TypeEnum.lis.getName(),
+                        lisOtherDTO.getName(), "", TypeEnum.lisSelf.getName(), lisBean, msg, lisNameDetail);
+                CoreUtil.addBeanToList(otherList, billMsg);
+            } else { // 有其他条件符合
+                // 诊断
+                if (ListUtil.isNotEmpty(lisOtherDTO.getDiseaseMsg())) {
+                    for (String str : lisOtherDTO.getDiseaseMsg()) {
+                        BillMsg billMsg = msgNewUtil.getCommonOtherMsg(TypeEnum.lis.getName(), lisOtherDTO.getName(),
+                                str, TypeEnum.disease.getName(), lisBean, msg, lisNameDetail);
+                        CoreUtil.addBeanToList(otherList, billMsg);
                     }
-                    // 药品
-                    if (ListUtil.isNotEmpty(lisOtherDTO.getDrugMsg())) {
-                        for (String str : lisOtherDTO.getDrugMsg()) {
-                            BillMsg billMsg = msgNewUtil.getCommonOtherMsg(TypeEnum.lis.getName(), lisOtherDTO.getName(),
-                                    str, TypeEnum.drug.getName(), lisBean, msg, lisNameDetail);
-                            CoreUtil.addBeanToList(otherList, billMsg);
-                        }
+                }
+                // 药品
+                if (ListUtil.isNotEmpty(lisOtherDTO.getDrugMsg())) {
+                    for (String str : lisOtherDTO.getDrugMsg()) {
+                        BillMsg billMsg = msgNewUtil.getCommonOtherMsg(TypeEnum.lis.getName(), lisOtherDTO.getName(),
+                                str, TypeEnum.drug.getName(), lisBean, msg, lisNameDetail);
+                        CoreUtil.addBeanToList(otherList, billMsg);
                     }
-                    // 人群
-                    if (ListUtil.isNotEmpty(lisOtherDTO.getGroupMsg())) {
-                        for (String str : lisOtherDTO.getGroupMsg()) {
-                            BillMsg billMsg = msgNewUtil.getCommonOtherMsg(TypeEnum.lis.getName(), lisOtherDTO.getName(),
-                                    str, TypeEnum.group.getName(), lisBean, msg, lisNameDetail);
-                            CoreUtil.addBeanToList(otherList, billMsg);
-                        }
+                }
+                // 人群
+                if (ListUtil.isNotEmpty(lisOtherDTO.getGroupMsg())) {
+                    for (String str : lisOtherDTO.getGroupMsg()) {
+                        BillMsg billMsg = msgNewUtil.getCommonOtherMsg(TypeEnum.lis.getName(), lisOtherDTO.getName(),
+                                str, TypeEnum.group.getName(), lisBean, msg, lisNameDetail);
+                        CoreUtil.addBeanToList(otherList, billMsg);
                     }
-                    // 化验——暂无数据
-                    if (ListUtil.isNotEmpty(lisOtherDTO.getLisMsg())) {
-                        for (String str : lisOtherDTO.getLisMsg()) {
-                            BillMsg billMsg = msgNewUtil.getCommonOtherMsg(TypeEnum.lis.getName(), lisOtherDTO.getName(),
-                                    str, TypeEnum.lis.getName(), lisBean, msg, lisNameDetail);
-                            CoreUtil.addBeanToList(otherList, billMsg);
-                        }
+                }
+                // 化验——暂无数据
+                if (ListUtil.isNotEmpty(lisOtherDTO.getLisMsg())) {
+                    for (String str : lisOtherDTO.getLisMsg()) {
+                        BillMsg billMsg = msgNewUtil.getCommonOtherMsg(TypeEnum.lis.getName(), lisOtherDTO.getName(),
+                                str, TypeEnum.lis.getName(), lisBean, msg, lisNameDetail);
+                        CoreUtil.addBeanToList(otherList, billMsg);
                     }
                 }
+                // 性别
+                if (StringUtil.isNotBlank(lisOtherDTO.getSexMsg())) {
+                    BillMsg billMsg = msgNewUtil.getCommonOtherMsg(TypeEnum.lis.getName(), lisOtherDTO.getName(),
+                            lisOtherDTO.getSexMsg(), TypeEnum.gender.getName(), lisBean, msg, lisNameDetail);
+                    CoreUtil.addBeanToList(otherList, billMsg);
+                }
             }
         }
     }
@@ -204,12 +225,12 @@ public class LisRule {
      */
     public void otherTransfusion(Lis lisBean, List<RuleBaseDTO> ruleBaseDTOList, String msg, List<BillMsg> otherList, WordCrfDTO wordCrfDTO) {
         if (ListUtil.isEmpty(ruleBaseDTOList)) {
-            return ;
+            return;
         }
         LisOtherDTO lisOtherDTO = new LisOtherDTO();
         lisOtherDTO.setMsg(msg);
-        int i = 0;
         for (RuleBaseDTO ruleBaseDTO : ruleBaseDTOList) {
+            boolean flag = false;
             if (LexiconEnum.getEnum(ruleBaseDTO.getBaseLibType()) != null) { // 避免空指针
                 Map<String, Object> map = null;
                 switch (LexiconEnum.getEnum(ruleBaseDTO.getBaseLibType())) {
@@ -218,93 +239,91 @@ public class LisRule {
                             // 化验自身
                             MatchDTO matchDTO = CoreUtil.compareLis(ruleBaseDTO, lisBean);
                             if (matchDTO != null) {
-                                i++;
                                 lisOtherDTO.setName(matchDTO.getContent());
                                 lisOtherDTO.setLisNameDetail(matchDTO.getLisNameDetail());
-                            } else {
-                                break;
+                                flag = true;
                             }
                         } else {
                             // 其他化验——暂无数据
                             List<MatchDTO> matchDTOList = CoreUtil.compareLis(ruleBaseDTO, wordCrfDTO.getLis());
                             if (ListUtil.isNotEmpty(matchDTOList)) {
-                                i++;
                                 List<String> msgLis = matchDTOList.stream().map(r -> r.getContent()).collect(Collectors.toList());
                                 lisOtherDTO.setLisMsg(msgLis);
-                            } else {
-                                break;
+                                flag = true;
                             }
                         }
                         break;
                     case Disease: // 诊断
                         map = commonRule.compareItem(wordCrfDTO.getDiag(), ruleBaseDTO);
-                        if (CoreUtil.getMapFlag(map)) {
-                            lisOtherDTO.setDiseaseMsg((List<String>)map.get("msgList"));
-                            i++;
+                        flag = CoreUtil.getMapFlag(map);
+                        if (flag) {
+                            lisOtherDTO.setDiseaseMsg((List<String>) map.get("msgList"));
                         }
                         break;
                     case Medicine: // 药品
                         map = commonRule.compareItem(wordCrfDTO.getDrugSource(), ruleBaseDTO);
-                        if (CoreUtil.getMapFlag(map)) {
-                            lisOtherDTO.setDrugMsg((List<String>)map.get("msgList"));
-                            i++;
+                        flag = CoreUtil.getMapFlag(map);
+                        if (flag) {
+                            lisOtherDTO.setDrugMsg((List<String>) map.get("msgList"));
                         }
                     case Operation: // 手术
                         map = commonRule.compareItem(wordCrfDTO.getOperation(), ruleBaseDTO);
-                        if (CoreUtil.getMapFlag(map)) {
-                            lisOtherDTO.setOperationMsg((List<String>)map.get("msgList"));
-                            i++;
+                        flag = CoreUtil.getMapFlag(map);
+                        if (flag) {
+                            lisOtherDTO.setOperationMsg((List<String>) map.get("msgList"));
                         }
                         break;
                     default:
                         break;
                 }
             }
+            // 有任一条件不满足,直接退出
+            if (!flag) {
+                return;
+            }
         }
         // 条件全部符合
-        if (i == ruleBaseDTOList.size()) {
-            if (StringUtil.isNotBlank(lisOtherDTO.getName())) {
-                // 化验本身符合,其他不符合
-                if (ListUtil.isEmpty(lisOtherDTO.getDiseaseMsg())
-                        && ListUtil.isEmpty(lisOtherDTO.getOperationMsg())
-                        && ListUtil.isEmpty(lisOtherDTO.getLisMsg())) {
-                    BillMsg billMsg = MsgUtil.getCommonOtherMsg(TypeEnum.transfusion.getName(),
-                            lisOtherDTO.getName(), msg, TypeEnum.lis.getName(), lisBean);
-                    otherList.add(billMsg);
-                } else {
-                    // 诊断
-                    if (ListUtil.isNotEmpty(lisOtherDTO.getDiseaseMsg())) {
-                        for (String str : lisOtherDTO.getDiseaseMsg()) {
-                            BillMsg billMsg = MsgUtil.getCommonOtherMsg(TypeEnum.transfusion.getName(),
-                                    "诊断" + str + "," + lisOtherDTO.getName(), msg, TypeEnum.disease.getName(), lisBean);
-                            otherList.add(billMsg);
-                        }
+        if (StringUtil.isNotBlank(lisOtherDTO.getName())) {
+            // 化验本身符合,其他不符合
+            if (ListUtil.isEmpty(lisOtherDTO.getDiseaseMsg())
+                    && ListUtil.isEmpty(lisOtherDTO.getOperationMsg())
+                    && ListUtil.isEmpty(lisOtherDTO.getLisMsg())) {
+                BillMsg billMsg = MsgUtil.getCommonOtherMsg(TypeEnum.transfusion.getName(),
+                        lisOtherDTO.getName(), msg, TypeEnum.lis.getName(), lisBean);
+                otherList.add(billMsg);
+            } else {
+                // 诊断
+                if (ListUtil.isNotEmpty(lisOtherDTO.getDiseaseMsg())) {
+                    for (String str : lisOtherDTO.getDiseaseMsg()) {
+                        BillMsg billMsg = MsgUtil.getCommonOtherMsg(TypeEnum.transfusion.getName(),
+                                "诊断" + str + "," + lisOtherDTO.getName(), msg, TypeEnum.disease.getName(), lisBean);
+                        otherList.add(billMsg);
                     }
-                    // 手术
-                    if (ListUtil.isNotEmpty(lisOtherDTO.getOperationMsg())) {
-                        for (String str : lisOtherDTO.getOperationMsg()) {
-                            BillMsg billMsg = MsgUtil.getCommonOtherMsg(TypeEnum.transfusion.getName(),
-                                    lisOtherDTO.getName() + ",已开" + str, msg, TypeEnum.operation.getName(), lisBean);
-                            otherList.add(billMsg);
-                        }
+                }
+                // 手术
+                if (ListUtil.isNotEmpty(lisOtherDTO.getOperationMsg())) {
+                    for (String str : lisOtherDTO.getOperationMsg()) {
+                        BillMsg billMsg = MsgUtil.getCommonOtherMsg(TypeEnum.transfusion.getName(),
+                                lisOtherDTO.getName() + ",已开" + str, msg, TypeEnum.operation.getName(), lisBean);
+                        otherList.add(billMsg);
                     }
-                    // 化验化验本身符合,其他不符合
-                    if (ListUtil.isNotEmpty(lisOtherDTO.getLisMsg())) {
-                        for (String str : lisOtherDTO.getLisMsg()) {
-                            BillMsg billMsg = MsgUtil.getCommonOtherMsg(TypeEnum.transfusion.getName(),
-                                    lisOtherDTO.getName() + "," + str, msg, TypeEnum.lis.getName(), lisBean);
-                            otherList.add(billMsg);
-                        }
+                }
+                // 化验化验本身符合,其他不符合
+                if (ListUtil.isNotEmpty(lisOtherDTO.getLisMsg())) {
+                    for (String str : lisOtherDTO.getLisMsg()) {
+                        BillMsg billMsg = MsgUtil.getCommonOtherMsg(TypeEnum.transfusion.getName(),
+                                lisOtherDTO.getName() + "," + str, msg, TypeEnum.lis.getName(), lisBean);
+                        otherList.add(billMsg);
                     }
-                    // // 药品暂未用
-                    // if (ListUtil.isNotEmpty(lisOtherDTO.getDrugMsg())) {
-                    //     for (String str : lisOtherDTO.getDrugMsg()) {
-                    //         BillMsg billMsg = MsgUtil.getCommonOtherMsg(TypeEnum.transfusion.getName(),
-                    //                 lisOtherDTO.getName(), msg, TypeEnum.drug.getName(), lisBean);
-                    //         otherList.add(billMsg);
-                    //     }
-                    // }
                 }
+                // // 药品暂未用
+                // if (ListUtil.isNotEmpty(lisOtherDTO.getDrugMsg())) {
+                //     for (String str : lisOtherDTO.getDrugMsg()) {
+                //         BillMsg billMsg = MsgUtil.getCommonOtherMsg(TypeEnum.transfusion.getName(),
+                //                 lisOtherDTO.getName(), msg, TypeEnum.drug.getName(), lisBean);
+                //         otherList.add(billMsg);
+                //     }
+                // }
             }
         }
     }
@@ -316,49 +335,83 @@ public class LisRule {
      * @param ruleBaseDTOList
      * @param criticalList
      */
-    public void critical(Lis lisBean, List<RuleBaseDTO> ruleBaseDTOList, List<BillMsg> criticalList, WordCrfDTO wordCrfDTO) {
+    public void critical(Lis lisBean, List<RuleBaseDTO> ruleBaseDTOList, List<BillMsg> criticalList, WordCrfDTO wordCrfDTO, String msg) {
         if (ListUtil.isEmpty(ruleBaseDTOList)) {
-            return ;
+            return;
         }
-        String msg = "";
-        int i = 0;
+
+        LisCtritalDTO lisCtritalDTO = new LisCtritalDTO();
         for (RuleBaseDTO ruleBaseDTO : ruleBaseDTOList) {
+            boolean flag = false;
             if (LexiconEnum.getEnum(ruleBaseDTO.getBaseLibType()) != null) { // 避免空指针
-                Map map = null;
+                Map<String, Object> map = null;
                 switch (LexiconEnum.getEnum(ruleBaseDTO.getBaseLibType())) {
                     case LisSubName: // 化验细项
                         if (ruleBaseDTO.getBaseLibName().equals(lisBean.getUniqueName())) {
                             // 化验自身 【第一个】
                             MatchDTO matchDTO = CoreUtil.compareLis(ruleBaseDTO, lisBean);
                             if (matchDTO != null) {
-                                i++;
-                                msg = matchDTO.getContent();
-                            } else {
-                                break;
+                                lisCtritalDTO.setName(matchDTO.getContent());
+                                flag = true;
                             }
                         } else {
                             // 其他化验
                             List<MatchDTO> matchDTOList = CoreUtil.compareLis(ruleBaseDTO, wordCrfDTO.getLis());
                             if (ListUtil.isNotEmpty(matchDTOList)) {
-                                i++;
-                            } else {
-                                break;
+                                flag = true;
                             }
                         }
                         break;
                     case Group: // 人群
                         map = groupRule.rule(wordCrfDTO, ruleBaseDTO);
-                        if (CoreUtil.getMapFlag(map)) {
-                            i++;
+                        flag = CoreUtil.getMapFlag(map);
+                        if (flag) {
+                            lisCtritalDTO.setGroupMsg(ruleBaseDTO.getBaseLibName());
+                        }
+                        break;
+                    case Age: // 年龄
+                        flag = ageRule.getFlag(wordCrfDTO, ruleBaseDTO);
+                        if (flag) {
+                            lisCtritalDTO.setAgeMsg(wordCrfDTO.getAge());
                         }
                         break;
-                    default: break;
+                    default:
+                        break;
                 }
             }
+            // 有任一条件不满足,直接退出
+            if (!flag) {
+                return;
+            }
         }
-        if (i == ruleBaseDTOList.size()) {
-            BillMsg criticalMsg = MsgUtil.getCommonCriticalMsg(msg, TypeEnum.lis.getName());
-            criticalList.add(criticalMsg);
+        if (StringUtil.isNotBlank(lisCtritalDTO.getName())) {
+            // 就化验本身一个条件符合
+            if (ruleBaseDTOList.size() == 1) {
+                BillMsg billMsg = msgNewUtil.getCriticalMsg(TypeEnum.lis.getName(),
+                        lisCtritalDTO.getName(), "", TypeEnum.lisSelf.getName(), msg);
+                CoreUtil.addBeanToList(criticalList, billMsg);
+            } else { // 有其他条件符合
+                // 化验——暂无数据
+                if (ListUtil.isNotEmpty(lisCtritalDTO.getLisMsg())) {
+                    for (String str : lisCtritalDTO.getLisMsg()) {
+                        BillMsg billMsg = msgNewUtil.getCriticalMsg(TypeEnum.lis.getName(), lisCtritalDTO.getName(),
+                                str, TypeEnum.lis.getName(), msg);
+                        CoreUtil.addBeanToList(criticalList, billMsg);
+                    }
+                }
+                // 人群
+                if (StringUtil.isNotBlank(lisCtritalDTO.getGroupMsg())) {
+                    BillMsg billMsg = msgNewUtil.getCriticalMsg(TypeEnum.lis.getName(), lisCtritalDTO.getName(),
+                            lisCtritalDTO.getGroupMsg(), TypeEnum.group.getName(), msg);
+                    CoreUtil.addBeanToList(criticalList, billMsg);
+                }
+                // 年龄
+                if (StringUtil.isNotBlank(lisCtritalDTO.getAgeMsg())) {
+                    BillMsg billMsg = msgNewUtil.getCriticalMsg(TypeEnum.lis.getName(), lisCtritalDTO.getName(),
+                            lisCtritalDTO.getAgeMsg(), TypeEnum.age.getName(), msg);
+                    CoreUtil.addBeanToList(criticalList, billMsg);
+                }
+            }
         }
     }
 

+ 9 - 14
src/main/java/com/diagbot/rule/MedEquRule.java

@@ -1,12 +1,11 @@
 package com.diagbot.rule;
 
-import com.diagbot.dto.BillMsg;
 import com.diagbot.dto.RuleBaseDTO;
 import com.diagbot.dto.RuleSimpleDTO;
 import com.diagbot.dto.WordCrfDTO;
+import com.diagbot.enums.ConEnum;
 import com.diagbot.util.CoreUtil;
-import com.diagbot.util.MsgNewUtil;
-import org.springframework.beans.factory.annotation.Autowired;
+import com.google.common.collect.Lists;
 import org.springframework.stereotype.Component;
 
 import java.util.List;
@@ -19,33 +18,29 @@ import java.util.List;
 @Component
 public class MedEquRule {
 
-    @Autowired
-    MsgNewUtil msgNewUtil;
-
     /**
      * 比较文本内容是否存在
      *
      * @param wordCrfDTO
      * @param ruleBaseDTO
-     * @param billMsgList
-     * @param conType
      * @param ruleSimpleDTO
      */
-    public void bill(WordCrfDTO wordCrfDTO, RuleBaseDTO ruleBaseDTO, List<BillMsg> billMsgList, String conType,
-                     RuleSimpleDTO ruleSimpleDTO) {
+    public Boolean bill(WordCrfDTO wordCrfDTO, RuleBaseDTO ruleBaseDTO, RuleSimpleDTO ruleSimpleDTO) {
         String chief = wordCrfDTO.getChief();
         String symptom = wordCrfDTO.getSymptom();
         String pasts = wordCrfDTO.getPasts();
         boolean flag = false;
+        List<String> contentList = Lists.newArrayList();
         if (chief.contains(ruleBaseDTO.getBaseLibName()) || symptom.contains(ruleBaseDTO.getBaseLibName())
                 || pasts.contains(ruleBaseDTO.getBaseLibName())) {
+            if (!contentList.contains(ruleBaseDTO.getBaseLibName())) {
+                contentList.add(ruleBaseDTO.getBaseLibName());
+            }
             flag = true;
         }
         if (flag) {
-            ruleSimpleDTO.setContent(ruleBaseDTO.getBaseLibName());
-            ruleSimpleDTO.setConType(conType);
-            BillMsg billMsg = msgNewUtil.getCommonBillMsg(ruleSimpleDTO);
-            CoreUtil.addBeanToList(billMsgList, billMsg);
+            CoreUtil.setListAndType(ruleSimpleDTO, contentList, ConEnum.medEqu.getName());
         }
+        return flag;
     }
 }

+ 5 - 4
src/main/java/com/diagbot/rule/OtherRule.java

@@ -12,7 +12,6 @@ import com.diagbot.enums.TypeEnum;
 import com.diagbot.model.entity.AllergyMedicine;
 import com.diagbot.model.entity.Negative;
 import com.diagbot.model.label.PastLabel;
-import com.diagbot.util.CoreUtil;
 import com.diagbot.util.ListUtil;
 import com.diagbot.util.MsgNewUtil;
 import com.diagbot.util.RedisUtil;
@@ -21,6 +20,7 @@ import com.diagbot.vo.Drug;
 import com.google.common.collect.Lists;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
+
 import java.util.List;
 import java.util.Map;
 
@@ -38,7 +38,9 @@ public class OtherRule {
     RedisUtil redisUtil;
 
     /**
-     * 过敏原自身过敏,如果规则已维护,就不再比较;如果没有维护,比较是否与自身过敏
+     * redis存储自身对自身过敏规则的数据,防止因为提示语不一样而出现多条,
+     * 如果规则已维护自身过敏的规则,就不再比较;
+     * 如果没有维护,比较过敏原是否与开单项同名
      *
      * @param
      * @return
@@ -66,8 +68,7 @@ public class OtherRule {
                         ruleSimpleDTO.setLibTypeName(TypeEnum.drug.getName());
                         ruleSimpleDTO.setContent(name);
                         ruleSimpleDTO.setConType(ConEnum.allergicmeds.getName());
-                        BillMsg billMsg = msgNewUtil.getCommonBillMsg(ruleSimpleDTO);
-                        CoreUtil.addBeanToList(res.getBillMsgList(), billMsg);
+                        msgNewUtil.getCommonBillMsg(ruleSimpleDTO, res.getBillMsgList());
                     }
                 }
             }

+ 57 - 34
src/main/java/com/diagbot/rule/PacsRule.java

@@ -2,7 +2,9 @@ package com.diagbot.rule;
 
 import com.diagbot.dto.BillMsg;
 import com.diagbot.dto.MatchDTO;
+import com.diagbot.dto.PacsOtherDTO;
 import com.diagbot.dto.RuleBaseDTO;
+import com.diagbot.dto.RuleExtDTO;
 import com.diagbot.dto.RuleSimpleDTO;
 import com.diagbot.dto.WordCrfDTO;
 import com.diagbot.enums.BaseTypeEnum;
@@ -12,12 +14,14 @@ import com.diagbot.util.CoreUtil;
 import com.diagbot.util.ListUtil;
 import com.diagbot.util.MsgNewUtil;
 import com.diagbot.util.MsgUtil;
+import com.google.common.collect.Lists;
 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;
+import java.util.stream.Collectors;
 
 /**
  * @description: 辅检规则
@@ -43,25 +47,29 @@ public class PacsRule {
      *
      * @param inputList
      * @param ruleBaseDTO
-     * @param billMsgList
-     * @param conType
      * @param ruleSimpleDTO
+     * @param conType
      * @param <T>
      */
-    public <T> void bill(List<T> inputList, RuleBaseDTO ruleBaseDTO, List<BillMsg> billMsgList, String conType,
-                         RuleSimpleDTO ruleSimpleDTO) {
+    public <T> Boolean bill(List<T> inputList, RuleBaseDTO ruleBaseDTO, RuleSimpleDTO ruleSimpleDTO, String conType) {
+        boolean flag = false;
+        List<String> contentList = Lists.newArrayList();
         if (ListUtil.isNotEmpty(inputList)) {
             for (T bean : inputList) {
                 String uniqueName = (String) CoreUtil.getFieldValue(bean, "uniqueName");
                 String name = (String) CoreUtil.getFieldValue(bean, "name");
                 if (StringUtils.isNotBlank(uniqueName) && CoreUtil.compareName(ruleBaseDTO, uniqueName)) {
-                    ruleSimpleDTO.setContent(name);
-                    ruleSimpleDTO.setConType(conType);
-                    BillMsg billMsg = msgNewUtil.getCommonBillMsg(ruleSimpleDTO);
-                    CoreUtil.addBeanToList(billMsgList, billMsg);
+                    if (!contentList.contains(name)) {
+                        contentList.add(name);
+                    }
+                    flag = true;
                 }
             }
         }
+        if (flag) {
+            CoreUtil.setListAndType(ruleSimpleDTO, contentList, conType);
+        }
+        return flag;
     }
 
     /**
@@ -81,77 +89,92 @@ public class PacsRule {
      * 比较辅检结果——其他提醒
      *
      * @param ruleBaseDTOList
-     * @param msg
+     * @param suggestMsg
      * @param otherList
      * @param wordCrfDTO
+     * @param ruleExtDTO
      */
-    public void otherPacs(List<RuleBaseDTO> ruleBaseDTOList, String msg, List<BillMsg> otherList, WordCrfDTO wordCrfDTO) {
+    public void otherPacs(List<RuleBaseDTO> ruleBaseDTOList, String suggestMsg, List<BillMsg> otherList,
+                          WordCrfDTO wordCrfDTO, RuleExtDTO ruleExtDTO) {
         if (ListUtil.isEmpty(ruleBaseDTOList)) {
-            return ;
+            return;
         }
-        int i = 0;
+        PacsOtherDTO pacsOtherDTO = new PacsOtherDTO();
         for (RuleBaseDTO ruleBaseDTO : ruleBaseDTOList) {
+            boolean flag = false;
             if (LexiconEnum.getEnum(ruleBaseDTO.getBaseLibType()) != null) { // 避免空指针
-                boolean flag = false;
+                Map<String, Object> map = null;
                 switch (LexiconEnum.getEnum(ruleBaseDTO.getBaseLibType())) {
                     case Age: // 年龄
                         flag = ageRule.getFlag(wordCrfDTO, ruleBaseDTO);
-                        if (flag) {
-                            i++;
-                        }
                         break;
                     case Gender: // 性别
                         flag = sexRule.getFlag(wordCrfDTO, ruleBaseDTO);
-                        if (flag) {
-                            i++;
-                        }
                         break;
                     case Group: // 人群
-                        Map map = groupRule.rule(wordCrfDTO, ruleBaseDTO);
-                        if (CoreUtil.getMapFlag(map)) {
-                            i++;
-                        }
+                        map = groupRule.rule(wordCrfDTO, ruleBaseDTO);
+                        flag = CoreUtil.getMapFlag(map);
                         break;
                     case PacsResult: // 辅检结果
                         map = commonRule.compareItem(wordCrfDTO.getPacsLabel().getRes(), ruleBaseDTO);
+                        // 不等于术语本身,反向判断
                         if (ruleBaseDTO.getBaseType().equals(BaseTypeEnum.B3.getKey())) {
                             if (!CoreUtil.getMapFlag(map)) {
-                                i++;
+                                flag = true;
                             }
                         } else {
                             if (CoreUtil.getMapFlag(map)) {
-                                i++;
+                                flag = true;
                             }
                         }
                         break;
                     case Disease: // 诊断
                         map = commonRule.compareItem(wordCrfDTO.getDiag(), ruleBaseDTO);
-                        if (CoreUtil.getMapFlag(map)) {
-                            i++;
-                        }
+                        flag = CoreUtil.getMapFlag(map);
                         break;
                     case LisSubName: // 检验结果
                         List<MatchDTO> matchDTOList = CoreUtil.compareLis(ruleBaseDTO, wordCrfDTO.getLis());
                         if (ListUtil.isNotEmpty(matchDTOList)) {
-                            i++;
+                            flag = true;
                         }
                         break;
                     case VitalResult: //体格检查结果
                     case Vital: // 体格检查项目
                         map = CoreUtil.compareVital(ruleBaseDTO, wordCrfDTO.getVitalLabel());
-                        if (CoreUtil.getMapFlag(map)) {
-                            i++;
+                        flag = CoreUtil.getMapFlag(map);
+                        break;
+                    case PacsDescribe: // 辅助检查描述
+                        matchDTOList = CoreUtil.comparePacsDesc(ruleBaseDTO, wordCrfDTO.getPacsLabel().getPacsNumList());
+                        if (ListUtil.isNotEmpty(matchDTOList)) {
+                            flag = true;
+                            /**
+                             * redis中的基础数据顺序会变动,第一条基础数据不一定是后台首行固定数据,找首行固定数据的依据
+                             * 是:基础规则术语类型、名称与主规则一致
+                             */
+                            if (ruleExtDTO.getLibName().equals(ruleBaseDTO.getBaseLibName())
+                                    && ruleExtDTO.getLibType().equals(ruleBaseDTO.getBaseLibType())) {
+                                pacsOtherDTO.setMainMsg(matchDTOList.stream().map(r -> r.getContent()).collect(Collectors.toList()));
+                            }
                         }
                         break;
                     default:
                         break;
                 }
             }
+            // 有任一条件不满足,直接退出
+            if (!flag) {
+                return;
+            }
         }
         // 条件全部符合
-        if (i == ruleBaseDTOList.size()) {
-            BillMsg otherMsg = MsgUtil.getCommonOtherMsg(TypeEnum.pacs.getName(), msg, msg, null, null);
-            otherList.add(otherMsg);
+        if (ListUtil.isNotEmpty(pacsOtherDTO.getMainMsg())) { // 辅检描述走模板
+            for (String s : pacsOtherDTO.getMainMsg()) {
+                BillMsg otherMsg = msgNewUtil.getOtherPacsMsg(s, LexiconEnum.PacsDescribe.getName(), suggestMsg);
+                CoreUtil.addBeanToList(otherList, otherMsg);
+            }
+        } else { // 其他直接用提示语
+            BillMsg otherMsg = MsgUtil.getCommonOtherMsg(TypeEnum.pacs.getName(), suggestMsg, suggestMsg, null, null);
+            CoreUtil.addBeanToList(otherList, otherMsg);
         }
     }
 }

+ 42 - 0
src/main/java/com/diagbot/rule/RouteRule.java

@@ -0,0 +1,42 @@
+package com.diagbot.rule;
+
+import com.diagbot.dto.RuleBaseDTO;
+import com.diagbot.dto.RuleSimpleDTO;
+import com.diagbot.util.CoreUtil;
+import com.google.common.collect.Lists;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+
+/**
+ * @description: 给药途径规则
+ * @author: zhoutg
+ * @time: 2020/8/3 14:47
+ */
+@Component
+public class RouteRule {
+
+    /**
+     * 比较名称是否匹配——开单
+     *
+     * @param ruleBaseDTO
+     * @param ruleSimpleDTO
+     * @param <T>
+     */
+    public <T> Boolean bill(RuleBaseDTO ruleBaseDTO, RuleSimpleDTO ruleSimpleDTO) {
+        List<String> contentList = Lists.newArrayList();
+        String routeUniqueName = ruleSimpleDTO.getRouteUniqueName(); // 给药途径标准名称
+        String inputName = ruleSimpleDTO.getRouteName();  // 给药途径医院名称
+        boolean flag = CoreUtil.compareName(ruleBaseDTO, routeUniqueName);
+        if (flag) {
+            if (!contentList.contains(inputName)) {
+                contentList.add(inputName);
+            }
+            if (ruleSimpleDTO != null ) {
+                ruleSimpleDTO.setMatchNum(ruleSimpleDTO.getMatchNum()+ 1);
+                ruleSimpleDTO.setRouteMatch(true);
+            }
+        }
+        return flag;
+    }
+}

+ 11 - 15
src/main/java/com/diagbot/rule/SexRule.java

@@ -1,13 +1,12 @@
 package com.diagbot.rule;
 
-import com.diagbot.dto.BillMsg;
 import com.diagbot.dto.RuleBaseDTO;
 import com.diagbot.dto.RuleSimpleDTO;
 import com.diagbot.dto.WordCrfDTO;
+import com.diagbot.enums.ConEnum;
 import com.diagbot.util.CoreUtil;
-import com.diagbot.util.MsgNewUtil;
 import com.diagbot.util.StringUtil;
-import org.springframework.beans.factory.annotation.Autowired;
+import com.google.common.collect.Lists;
 import org.springframework.stereotype.Component;
 
 import java.util.List;
@@ -20,26 +19,23 @@ import java.util.List;
 @Component
 public class SexRule {
 
-    @Autowired
-    MsgNewUtil msgNewUtil;
-
     /**
      * 比较性别
      *
      * @param wordCrfDTO
      * @param ruleBaseDTO
-     * @param billMsgList
-     * @param conType
      * @param ruleSimpleDTO
      */
-    public void bill(WordCrfDTO wordCrfDTO, RuleBaseDTO ruleBaseDTO, List<BillMsg> billMsgList, String conType,
-                     RuleSimpleDTO ruleSimpleDTO) {
-        if (getFlag(wordCrfDTO, ruleBaseDTO)) {
-            ruleSimpleDTO.setContent(ruleBaseDTO.getBaseLibName());
-            ruleSimpleDTO.setConType(conType);
-            BillMsg billMsg = msgNewUtil.getCommonBillMsg(ruleSimpleDTO);
-            CoreUtil.addBeanToList(billMsgList, billMsg);
+    public Boolean bill(WordCrfDTO wordCrfDTO, RuleBaseDTO ruleBaseDTO, RuleSimpleDTO ruleSimpleDTO) {
+        boolean flag = getFlag(wordCrfDTO, ruleBaseDTO);
+        if (flag) {
+            List<String> contentList = Lists.newArrayList();
+            if (!contentList.contains(ruleBaseDTO.getBaseLibName())) {
+                contentList.add(ruleBaseDTO.getBaseLibName());
+            }
+            CoreUtil.setListAndType(ruleSimpleDTO, contentList, ConEnum.gender.getName());
         }
+        return flag;
     }
 
     /**

+ 8 - 15
src/main/java/com/diagbot/rule/VitalRule.java

@@ -3,11 +3,10 @@ package com.diagbot.rule;
 import com.diagbot.dto.BillMsg;
 import com.diagbot.dto.RuleBaseDTO;
 import com.diagbot.dto.RuleSimpleDTO;
+import com.diagbot.enums.ConEnum;
 import com.diagbot.model.label.VitalLabel;
 import com.diagbot.util.CoreUtil;
-import com.diagbot.util.MsgNewUtil;
 import com.diagbot.util.MsgUtil;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
 import java.util.List;
@@ -21,28 +20,22 @@ import java.util.Map;
 @Component
 public class VitalRule {
 
-    @Autowired
-    MsgNewUtil msgNewUtil;
-
     /**
      * 比较体征——开单合理性
      *
      * @param vitalLabel
      * @param ruleBaseDTO
-     * @param billMsgList
-     * @param conType
      * @param ruleSimpleDTO
      */
-    public void bill(VitalLabel vitalLabel, RuleBaseDTO ruleBaseDTO, List<BillMsg> billMsgList, String conType,
-                     RuleSimpleDTO ruleSimpleDTO) {
+    public Boolean bill(VitalLabel vitalLabel, RuleBaseDTO ruleBaseDTO, RuleSimpleDTO ruleSimpleDTO) {
+        Boolean flag = false;
         Map<String, Object> map = CoreUtil.compareVital(ruleBaseDTO, vitalLabel);
-        List<String> msgList = CoreUtil.getMapMsgList(map);
-        for (String s : msgList) {
-            ruleSimpleDTO.setContent(s);
-            ruleSimpleDTO.setConType(conType);
-            BillMsg billMsg = msgNewUtil.getCommonBillMsg(ruleSimpleDTO);
-            CoreUtil.addBeanToList(billMsgList, billMsg);
+        if (CoreUtil.getMapFlag(map)) {
+            List<String> msgList = CoreUtil.getMapMsgList(map);
+            CoreUtil.setListAndType(ruleSimpleDTO, msgList, ConEnum.vitals.getName());
+            flag = true;
         }
+        return flag;
     }
 
     /**

+ 76 - 3
src/main/java/com/diagbot/util/CoreUtil.java

@@ -4,12 +4,14 @@ import com.diagbot.biz.push.entity.Item;
 import com.diagbot.biz.push.entity.Lis;
 import com.diagbot.dto.MatchDTO;
 import com.diagbot.dto.RuleBaseDTO;
+import com.diagbot.dto.RuleSimpleDTO;
 import com.diagbot.enums.CommonEnum;
 import com.diagbot.enums.LexiconEnum;
 import com.diagbot.model.entity.BodyPart;
 import com.diagbot.model.entity.Clinical;
 import com.diagbot.model.entity.Negative;
 import com.diagbot.model.entity.PD;
+import com.diagbot.model.entity.PacsNum;
 import com.diagbot.model.entity.Usual;
 import com.diagbot.model.entity.Vital;
 import com.diagbot.model.label.VitalLabel;
@@ -106,12 +108,12 @@ public class CoreUtil {
         return res;
     }
 
-    public static <T> void setPropertyList(T list, String propertyName, String standName, Map<String, String> map) {
-        if (list == null) {
+    public static <T> void setPropertyList(T t, String propertyName, String standName, Map<String, String> map) {
+        if (t == null) {
             return;
         }
         try {
-            setFieldValue(list, propertyName, standName, map);
+            setFieldValue(t, propertyName, standName, map);
         } catch (Exception e) {
             e.printStackTrace();
         }
@@ -540,6 +542,35 @@ public class CoreUtil {
         return map;
     }
 
+    /**
+     * 比较辅检检查描述是否匹配
+     *
+     * @param ruleBaseDTO
+     * @param pacsNumList
+     * @return
+     */
+    public static List<MatchDTO> comparePacsDesc(RuleBaseDTO ruleBaseDTO, List<PacsNum> pacsNumList) {
+        if (ruleBaseDTO == null || ListUtil.isEmpty(pacsNumList)) {
+            return null;
+        }
+        List<MatchDTO> matchDTOList = new ArrayList<>();
+        // 辅助检查描述
+        for (PacsNum pacsNum : pacsNumList) {
+            if (ruleBaseDTO.getBaseLibName().equals(pacsNum.getStandName()) && pacsNum.getPd() != null
+                    && StringUtil.isNotBlank(pacsNum.getPd().getValue())) {
+                boolean flag = compareNum(ruleBaseDTO, Double.parseDouble(pacsNum.getPd().getValue()));
+                if (flag) {
+                    MatchDTO matchDTO = new MatchDTO();
+                    matchDTO.setContent(pacsNum.getName()
+                            + subZeroAndDot(String.valueOf(pacsNum.getPd().getValue()))
+                            + getJointUnits(pacsNum.getPd()));
+                    matchDTOList.add(matchDTO);
+                }
+            }
+        }
+        return matchDTOList;
+    }
+
     /**
      * 比较数值大小(double)
      *
@@ -1222,6 +1253,48 @@ public class CoreUtil {
         return flag;
     }
 
+    // /**
+    //  * 对内容和禁忌类型赋值
+    //  *
+    //  * @param ruleSimpleDTO
+    //  */
+    // public static void setContentAndType(RuleSimpleDTO ruleSimpleDTO, String content, String conType) {
+    //     if (ruleSimpleDTO != null ) {
+    //         ruleSimpleDTO.setMatchNum(ruleSimpleDTO.getMatchNum()+ 1);
+    //         ruleSimpleDTO.setContent(content);
+    //         ruleSimpleDTO.setConType(conType);
+    //     }
+    // }
+
+    /**
+     * 对内容和禁忌类型赋值
+     * @param ruleSimpleDTO
+     * @param contentList
+     * @param conType
+     */
+    public static void setListAndType(RuleSimpleDTO ruleSimpleDTO, List<String> contentList, String conType) {
+        if (ruleSimpleDTO != null ) {
+            ruleSimpleDTO.setMatchNum(ruleSimpleDTO.getMatchNum()+ 1);
+            ruleSimpleDTO.setContentList(contentList);
+            ruleSimpleDTO.setConType(conType);
+        }
+    }
+
+    /**
+     * 重置RuleSimple
+     *
+     * @param ruleSimpleDTO
+     */
+    public static void resetRuleSimple(RuleSimpleDTO ruleSimpleDTO) {
+        if (ruleSimpleDTO != null ) {
+            ruleSimpleDTO.setMatchNum(0);
+            ruleSimpleDTO.setContentList(Lists.newArrayList());
+            ruleSimpleDTO.setConType("");
+            ruleSimpleDTO.setRouteMatch(false);
+        }
+    }
+
+
     public static void main(String[] args) {
         System.out.println(isNumbers("1.1"));
         System.out.println(isNumbers("1.."));

+ 61 - 0
src/main/java/com/diagbot/util/ExcelUtils.java

@@ -24,11 +24,13 @@ import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 import org.springframework.web.multipart.MultipartFile;
 
 import javax.servlet.http.HttpServletResponse;
+import java.io.ByteArrayOutputStream;
 import java.io.File;
 import java.io.FileNotFoundException;
 import java.io.FileOutputStream;
 import java.io.IOException;
 import java.io.InputStream;
+import java.io.OutputStream;
 import java.net.URLEncoder;
 import java.util.Collection;
 import java.util.HashMap;
@@ -36,6 +38,8 @@ import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
 import java.util.NoSuchElementException;
+import java.util.zip.ZipEntry;
+import java.util.zip.ZipOutputStream;
 
 /**
  * @Description: excel 导入导出工具类
@@ -483,5 +487,62 @@ public class ExcelUtils {
         }
     }
 
+    /**
+     * 生成Workbook
+     *
+     * @param list
+     * @param title
+     * @param sheetName
+     * @param pojoClass
+     * @return
+     */
+    public static Workbook generateWorkBook(List<?> list, String title, String sheetName, Class<?> pojoClass) {
+        Workbook workbook = ExcelExportUtil.exportExcel(new ExportParams(title, sheetName), pojoClass, list);
+        return workbook;
+    }
 
+    /**
+     * 导出压缩文件,包含多个sheet
+     *
+     * @param workbookList
+     * @param response
+     * @param fileName
+     */
+    public static void exportMultiExcel(List<Workbook> workbookList, HttpServletResponse response, String fileName) {
+        OutputStream out = null;
+        ZipOutputStream zos = null;
+        try {
+            response.setContentType("application/octet-stream");
+            response.setHeader("Connection", "close"); // 表示不能用浏览器直接打开
+            response.setHeader("Accept-Ranges", "bytes");// 告诉客户端允许断点续传多线程连接下载
+            response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(fileName, "UTF-8"));
+            response.setCharacterEncoding("UTF-8");
+
+            out = response.getOutputStream();
+            zos = new ZipOutputStream(out);
+            for (Workbook workbook : workbookList) {
+                ZipEntry entry = new ZipEntry(workbook.getSheetName(0));
+                // 编写新的zip条目,并将流定位到条目数据的开头
+                zos.putNextEntry(entry);
+                //workBook.write会指定关闭数据流,直接用workbook.write(zos),下次就会抛出zos已被关闭的异常,所以用ByteArrayOutputStream来拷贝一下。
+                ByteArrayOutputStream bos = new ByteArrayOutputStream();
+                // workbook写入bos
+                workbook.write(bos);
+                // bos写入zos
+                bos.writeTo(zos);
+                zos.closeEntry();
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+        } finally {
+            if (zos != null) {
+                try {
+                    zos.flush();
+                    zos.close();
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+            }
+        }
+    }
 }

+ 145 - 16
src/main/java/com/diagbot/util/MsgNewUtil.java

@@ -3,12 +3,17 @@ package com.diagbot.util;
 import com.diagbot.biz.push.entity.Lis;
 import com.diagbot.dto.BillMsg;
 import com.diagbot.dto.RuleSimpleDTO;
+import com.diagbot.enums.CommonEnum;
 import com.diagbot.enums.ConEnum;
 import com.diagbot.enums.RedisEnum;
 import com.diagbot.enums.TypeEnum;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
+
 /**
  * @description: 提示语工具类
  * @author: zhoutg
@@ -17,6 +22,11 @@ import org.springframework.stereotype.Component;
 @Component
 public class MsgNewUtil {
 
+    /**
+     * 占位符静态变量,格式:“前缀#后缀”
+     */
+    public static Map<String, String> placeholderMap = new ConcurrentHashMap<>();
+
     @Autowired
     RedisUtil redisUtil;
 
@@ -26,7 +36,7 @@ public class MsgNewUtil {
      * @param ruleSimpleDTO
      * @return
      */
-    public BillMsg getCommonBillMsg(RuleSimpleDTO ruleSimpleDTO) {
+    public void getCommonBillMsg(RuleSimpleDTO ruleSimpleDTO, List<BillMsg> billMsgList) {
         String orderName = ruleSimpleDTO.getInputName(); // 医院名称
         String orderStandName = ruleSimpleDTO.getLibName(); // 标准名称
         String orderType = ruleSimpleDTO.getLibTypeName(); // 开单项类型
@@ -43,33 +53,41 @@ public class MsgNewUtil {
         // 出现2个“具有”,去除一个为空
         if (ConEnum.medEqu.getName().equals(conType) && StringUtil.isNotBlank(content)
                 && content.startsWith("具有") && msg.startsWith("该患者具有")) {
-            msg = msg.replaceAll("具有", "");
+            msg = msg.replace("具有", "");
+        }
+        // 给药途径替换
+        if (ruleSimpleDTO.isRouteMatch()) {
+            msg = msg.replace("[给药途径]", ruleSimpleDTO.getRouteName());
+        } else {
+            msg = msg.replace("[给药途径]", "");
         }
         if (StringUtil.isNotBlank(unionMsg)) {
-            msg = msg.replaceAll("\\[原因及建议]", "," + unionMsg);
+            msg = msg.replace("[原因及建议]", "," + unionMsg);
         } else {
-            msg = msg.replaceAll("\\[原因及建议]", "");
+            msg = msg.replace("[原因及建议]", "");
         }
+
         // [性别取反]标签替换
         if (ConEnum.gender.getName().equals(conType)) {
             if ("男".equals(content)) {
-                msg = msg.replaceAll("\\[性别取反]", "女");
+                msg = msg.replace("[性别取反]", "女");
             } else if ("女".equals(content)) {
-                msg = msg.replaceAll("\\[性别取反]", "男");
+                msg = msg.replace("[性别取反]", "男");
             }
         }
 
         // 放到最后统一替换【多处匹配】
-        msg = msg.replaceAll("\\[匹配内容]", content);
-        String orderNameNew = orderName.replaceAll("\\\\","\\\\\\\\"); // 防止开单名称中有\\
-        msg = msg.replaceAll("\\[开单名称]", orderNameNew);
-        msg = msg.replaceAll("\\[项目名称]", structName);
+        msg = msg.replace("[匹配内容]", content);
+        msg = msg.replace("[开单名称]", orderName);
+        msg = msg.replace("[项目名称]", structName);
+
         billMsg.setMsg(msg);
         billMsg.setOrderName(orderName);
         billMsg.setOrderStandName(orderStandName);
         billMsg.setContent(content);
         billMsg.setType(conType);
-        return billMsg;
+
+        CoreUtil.addBeanToList(billMsgList, billMsg);
     }
 
     /**
@@ -92,15 +110,15 @@ public class MsgNewUtil {
                     return null;
                 }
                 if (StringUtil.isNotBlank(suggestMsg)) {
-                    msg = msg.replaceAll("\\[原因及建议]", "," + suggestMsg);
+                    msg = msg.replace("[原因及建议]", "," + suggestMsg);
                 } else {
-                    msg = msg.replaceAll("\\[原因及建议]", "");
+                    msg = msg.replace("[原因及建议]", "");
                 }
                 // 放到最后统一替换【多处匹配】
-                msg = msg.replaceAll("\\[化验结果]", content);
-                msg = msg.replaceAll("\\[匹配内容]", name);
+                msg = msg.replace("[化验结果]", content);
+                msg = msg.replace("[匹配内容]", name);
                 if (msg.contains("[化验套餐和明细]")) {
-                    msg = msg.replaceAll("\\[化验套餐和明细]", lisNameDetail);
+                    msg = msg.replace("[化验套餐和明细]", lisNameDetail);
                 }
                 billMsg.setType(type);
                 billMsg.setOrderName(lis.getName());
@@ -113,4 +131,115 @@ public class MsgNewUtil {
         billMsg.setContent(content);
         return billMsg;
     }
+
+    /**
+     * 其他值提醒辅检提示信息
+     *
+     * @param mainMsg
+     * @param templateType
+     * @param suggestMsg
+     * @return
+     */
+    public BillMsg getOtherPacsMsg(String mainMsg, String templateType, String suggestMsg) {
+        String msg = redisUtil.getByKeyAndField(RedisEnum.otherMsg.getName(), TypeEnum.pacs.getName() + "_" + templateType);
+        if (StringUtil.isBlank(msg)) { // 防止报空指针
+            return null;
+        }
+        BillMsg billMsg = new BillMsg();
+        if (StringUtil.isNotBlank(suggestMsg)) {
+            msg = msg.replace("[原因及建议]", "," + suggestMsg);
+        } else {
+            msg = msg.replace("[原因及建议]", "");
+        }
+        // 放到最后统一替换【多处匹配】
+        msg = msg.replace("[辅助检查描述]", mainMsg);
+        billMsg.setType(templateType);
+        billMsg.setMsg(msg);
+        billMsg.setContent(mainMsg);
+        return billMsg;
+    }
+
+    /**
+     * 危急值化验提示信息
+     *
+     * @param type          分类
+     * @param content       化验内容
+     * @param name          条件内容
+     * @param conditionType 条件类型
+     * @param suggestMsg
+     * @return
+     */
+    public BillMsg getCriticalMsg(String type, String content, String name, String conditionType, String suggestMsg) {
+        BillMsg billMsg = new BillMsg();
+        String msg = "";
+        switch (TypeEnum.getEnum(type)) {
+            case lis: // 危急值提醒——化验
+                msg = redisUtil.getByKeyAndField(RedisEnum.criticalMsg.getName(), type + "_" + conditionType);
+                if (StringUtil.isBlank(msg)) { // 防止报空指针
+                    return null;
+                }
+                if (StringUtil.isNotBlank(suggestMsg)) {
+                    msg = msg.replace("[原因及建议]", "," + suggestMsg);
+                } else {
+                    msg = msg.replace("[原因及建议]", "");
+                }
+                // 放到最后统一替换【多处匹配】
+                msg = msg.replace("[化验结果]", content);
+                msg = msg.replace("[匹配内容]", name);
+                billMsg.setType(conditionType);
+                break;
+            default:
+                break;
+        }
+        billMsg.setMsg(msg);
+        billMsg.setContent(content);
+        return billMsg;
+    }
+
+    /**
+     * 不使用正则,全部替换
+     *
+     * @param msg         文本
+     * @param placeholder 占位符
+     * @param replaceStr  替换字符串
+     * @return
+     */
+    public String replacePlaceholder(String msg, String placeholder, String replaceStr) {
+        if (StringUtil.isBlank(msg)) {
+            return null;
+        }
+        if (StringUtil.isBlank(placeholder)) {
+            return msg;
+        }
+        if (msg.contains(placeholder)) {
+            String prefixAndSuffix = placeholderMap.get(placeholder); // 前后缀,中间用#分隔
+            String prefix = ""; // 前缀
+            String suffix = ""; // 后缀
+            if (StringUtil.isNotBlank(prefixAndSuffix)) {
+                String[] split = prefixAndSuffix.split(CommonEnum.splitSymbol.getName());
+                prefix = split[0];
+                if (split.length == 2) {
+                    suffix = split[1];
+                } else {
+                    suffix = "";
+                }
+            }
+            // 拼接前缀
+            if (StringUtil.isNotBlank(prefix)) {
+                replaceStr = prefix + replaceStr;
+            }
+            // 拼接后缀
+            if (StringUtil.isNotBlank(suffix)) {
+                replaceStr = replaceStr + suffix;
+            }
+            // 后缀后面默认添加标点符号
+            replaceStr = replaceStr + ",";
+            msg = msg.replace(placeholder, replaceStr);
+            // 提示语如果以,结尾,去掉
+            if (msg.matches(".*[,|,]$")) {
+                msg = msg.substring(0, msg.length() - 1);
+            }
+        }
+        return msg;
+    }
 }

+ 53 - 18
src/main/java/com/diagbot/util/RegexUtil.java

@@ -2,11 +2,9 @@ package com.diagbot.util;
 
 import com.google.common.collect.Lists;
 
-import java.util.ArrayList;
 import java.util.List;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
-import java.util.stream.Collectors;
 
 /**
  * @author zhoutg
@@ -22,7 +20,7 @@ public class RegexUtil {
      * @return
      */
     public static boolean isNumbers(String str) {
-        String regex = "[0-9]+|([0-9]+\\.)+[0-9]*|[0-9]*(\\.[0-9]+)+";
+        String regex = "[0-9]+|([0-9]+\\.)[0-9]*|[0-9]*(\\.[0-9]+)";
         return str.matches(regex);
     }
 
@@ -235,27 +233,64 @@ public class RegexUtil {
         return list;
     }
 
+    /**
+     * 根据正则获取匹配的所有分组数据(公共方法)
+     *
+     * @param content
+     * @param regex
+     * @return
+     */
+    public static List<List<String>> getRegexGroupData(String content, String regex) {
+        return getRegexGroupDataCommon(content, regex, false);
+    }
+
+    /**
+     * 根据正则获取匹配的所有分组数据(公共方法)(大小写敏感)
+     *
+     * @param content
+     * @param regex
+     * @return
+     */
+    public static List<List<String>> getRegexGroupDataSen(String content, String regex) {
+        return getRegexGroupDataCommon(content, regex, true);
+    }
+
+    /**
+     * 根据正则获取匹配的所有分组数据(内部方法)
+     *
+     * @param content
+     * @param regex
+     * @return
+     */
+    private static List<List<String>> getRegexGroupDataCommon(String content, String regex, Boolean sensitive) {
+        List<List<String>> res = Lists.newArrayList();
+        try {
+            if (StringUtil.isBlank(content)) {
+                return res;
+            }
+            Pattern pattern = getPattern(regex, sensitive);
+            Matcher matcher = pattern.matcher(content);
+            while (matcher.find()) {
+                if (matcher.groupCount() > 0) {
+                    List<String> groupList = Lists.newArrayList();
+                    for (int i = 1; i <= matcher.groupCount(); i++) {
+                        groupList.add(matcher.group(i));
+                    }
+                    res.add(groupList);
+                }
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return res;
+    }
+
     /**
      * 测试
      *
      * @param args
      */
     public static void main(String[] args) {
-        String str = "1-2-3-4, 法法,0-0-1-0";
-        String regex = "(\\d+)-(\\d+)-(\\d+)-(\\d+)";
-        System.out.println(getRegexDataList(str, regex));
-
-        // String regex1 = "([1-9]\\d*\\.?\\d*)|(0\\.\\d*[1-9])";
-        // // System.out.println(getRegexData("血小板计数  30.3", regex1, 2));
-        // System.out.println(getRegexData("拟诊+(3.3/3.4)任一", regex1));
-        //
-        // String s1 = "ABC";
-        // System.out.println(getRegexRes(s1, "Abc", true));
-
-        System.out.println(getRegexDataAll("拟诊+(3.3/3.4)任一", "([1-9]\\d*\\.?\\d*)|(0\\.\\d*[1-9])"));
 
-        ArrayList<String> js = Lists.newArrayList("G.4", "G.1", "G.2", "G.3");
-        List<String> collect = js.stream().sorted().collect(Collectors.toList());
-        System.out.println(collect);
     }
 }

+ 4 - 0
src/main/java/com/diagbot/vo/Drug.java

@@ -14,4 +14,8 @@ import lombok.Setter;
 public class Drug extends Item {
     // 剂型
     private String form;
+    // 给药途径医院名称
+    private String routeName;
+    // 给药途径标准名称
+    private String routeUniqueName;
 }

+ 2 - 2
src/main/java/com/diagbot/vo/MappingConfigPageVO.java

@@ -22,9 +22,9 @@ public class MappingConfigPageVO extends Page {
     @ApiModelProperty(hidden = true)
     private Long hospitalId;
     /**
-     * 医学术语类型( 1-检验套餐、2-检验细项、3-辅检、4-诊断、5-药品、6-手术和操作、7-科室、8-输血、10-量表、11-护理、12-中医疾病、13-中医证候、14-麻醉)
+     * 医学术语类型( 1-检验套餐、2-检验细项、3-辅检、4-诊断、5-药品、6-手术和操作、7-科室、8-输血、10-量表、11-护理、12-中医疾病、13-中医证候、14-麻醉、16-给药途径
      */
-    @NotNull(message = "请输入术语类型:1-化验、3-辅检、4-诊断、5-药品、6-手术和操作、7-科室、8-输血、10-量表、11-护理、12-中医诊断、13-中医证候、14-麻醉")
+    @NotNull(message = "请输入术语类型:1-化验、3-辅检、4-诊断、5-药品、6-手术和操作、7-科室、8-输血、10-量表、11-护理、12-中医诊断、13-中医证候、14-麻醉、16-给药途径")
     private Integer type;
 
     /**

+ 6 - 1
src/main/java/com/diagbot/vo/RetrievalVO.java

@@ -23,7 +23,7 @@ public class RetrievalVO {
     /**
      * 检索内容
      */
-    @NotBlank(message = "请输入检索内容")
+    //@NotBlank(message = "请输入检索内容")
     private String inputStr;
     //    /**
     //     * 性别:1-男、2-女、3-通用
@@ -38,4 +38,9 @@ public class RetrievalVO {
      */
     @ApiModelProperty(hidden = true)
     private Integer size;
+
+    /**
+     * 默认展示 0:不展示,1:展示全部
+     */
+    private Integer defaultList = 0;
 }

+ 12 - 0
src/main/java/com/diagbot/vo/RuleParamVO.java

@@ -0,0 +1,12 @@
+package com.diagbot.vo;
+
+/**
+ * @description:
+ * @author: zhoutg
+ * @time: 2021/10/20 11:40
+ */
+public class RuleParamVO {
+    private String name;
+    private String uniqueName;
+    private String dateValue;
+}

+ 4 - 0
src/main/java/com/diagbot/vo/RuleVO.java

@@ -23,4 +23,8 @@ public class RuleVO {
     private String dateValue;
     // 剂型
     private String form;
+    // 给药途径医院名称
+    private String routeName;
+    // 给药途径标准名称
+    private String routeUniqueName;
 }

+ 69 - 0
src/main/java/com/diagbot/web/BigDebugController.java

@@ -0,0 +1,69 @@
+package com.diagbot.web;
+
+import com.diagbot.dto.PushNewDTO;
+import com.diagbot.dto.RespDTO;
+import com.diagbot.dto.StandConvertCrfBatchDTO;
+import com.diagbot.facade.PushFacade;
+import com.diagbot.facade.TestFacade;
+import com.diagbot.vo.PushNewVO;
+import com.diagbot.vo.StandConvertCrfVO;
+import com.diagbot.vo.TestCrfVO;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+/**
+ * @Description: CDSS核心大数据接口API控制层
+ * @author: zhoutg
+ * @time: 2018/8/30 10:12
+ */
+@RestController
+@RequestMapping("/bigDebug")
+@Api(value = "大数据调试API", tags = { "大数据调试API" })
+@SuppressWarnings("unchecked")
+public class BigDebugController {
+
+    @Autowired
+    private TestFacade testFacade;
+    @Autowired
+    PushFacade pushFacade;
+
+    @ApiOperation(value = "crf解析[zhoutg]", notes = "content:文本内容\n" +
+            "modelType:模型类型,主诉、现病史:chief_present,既往史:PastFamily_cx,查体:Present_cx,个人史:PersonalHistory_cx,诊断:Diagnoses_cx")
+    @PostMapping("/testCrf")
+    public RespDTO<Object> testCrf(@RequestBody TestCrfVO testCrfVO) {
+        return RespDTO.onSuc(testFacade.testCrf(testCrfVO));
+    }
+
+    @ApiOperation(value = "标准词批量转换API[zhoutg]", notes = "类型,疾病:disease,症状:symptom,手术和操作:operation,药品:drug,实验室检查:lis,辅助检查:pacs, 查体:vital")
+    @PostMapping("/testStandConvertBatch")
+    public RespDTO<StandConvertCrfBatchDTO> testStandConvertBatch(@RequestBody List<StandConvertCrfVO> standConvertCrfVOList) {
+        return RespDTO.onSuc(testFacade.testStandConvertBatch(standConvertCrfVOList));
+    }
+
+    @ApiOperation(value = "大数据推送接口测试[zhoutg]", notes = "")
+    @PostMapping("/testPush")
+    public RespDTO<PushNewDTO> testPush(@RequestBody PushNewVO pushNewVO) {
+        return RespDTO.onSuc(pushFacade.testPushFac(pushNewVO));
+    }
+
+    // @ApiOperation(value = "标准词转换API[zhoutg]", notes = "类型,疾病: disease,症状: symptom,手术和操作:operation,药品: drug,实验室检查:lis,辅助检查:pacs, 辅助检查:vital")
+    // @PostMapping("/testStandConvert")
+    // @ApiIgnore
+    // public RespDTO<StandConvertCrfDTO> testStandConvert(@RequestBody StandConvertCrfVO standConvertCrfVO) {
+    //     return RespDTO.onSuc(testFacade.testStandConvert(standConvertCrfVO));
+    // }
+
+    // @ApiOperation(value = "标准词批量转换【新版】API[zhoutg]", notes = "类型,疾病: disease,症状: symptom,手术和操作:operation,药品: drug,实验室检查:lis,辅助检查:pacs, 查体:vital")
+    // @PostMapping("/testStandConvertBatchNew")
+    // public RespDTO<StandConvertCrfBatchDTO> testStandConvertBatchNew(@RequestBody List<StandConvertCrfVO> standConvertCrfVOList) {
+    //     return RespDTO.onSuc(testFacade.testStandConvertBatchNew(standConvertCrfVOList));
+    // }
+}
+

+ 1 - 0
src/main/java/com/diagbot/web/CacheController.java

@@ -47,6 +47,7 @@ public class CacheController {
         conceptInfoFacade.loadCustomDictionary(); // 重新加载NLP分词字典
         cacheFacade.loadMsg(); // 加载开单提示语
         cacheFacade.loadVteAdviceCache(); // 重新加载vte医嘱数据
+        cacheFacade.loadDateInterval(); // 重新加载开单时间间隔成功
         cacheFacade.loadAllBaseDiagnoseCache(); // 重新加载诊断依据
         cacheFacade.loadAllRuleCache(); // 重新加载开单规则
         return RespDTO.onSuc(true);

+ 3 - 2
src/main/java/com/diagbot/web/RetrievalController.java

@@ -42,8 +42,9 @@ public class RetrievalController {
 
 
     @ApiOperation(value = "术语检索[zhaops]",
-            notes = "type: 类型:1-化验大项、2-化验小项、3-辅检、4-诊断、5-药品、6-手术和操作、7-科室、8-输血、9-症状、10-量表、11-护理、12-中医诊断、13-中医证候、14-麻醉 <br>" +
+            notes = "type: 类型:1-化验大项、2-化验小项、3-辅检、4-诊断、5-药品、6-手术和操作、7-科室、8-输血、9-症状、10-量表、11-护理、12-中医诊断、13-中医证候、14-麻醉、15-药品剂型、16-给药途径 <br>" +
                     "inputStr: 检索内容<br>" +
+                    "defaultList: 默认展示 0:不展示,1:展示全部<br>" +
                     "sex: 性别:1-男、2-女、3-通用 <br>" +
                     "age: 年龄<br>")
     @PostMapping("/index")
@@ -62,7 +63,7 @@ public class RetrievalController {
     }
 
     @ApiOperation(value = "术语批量查询[zhaops]",
-            notes = "type: 类型:1-化验大项、2-化验小项、3-辅检、4-诊断、5-药品、6-手术和操作、7-科室、8-输血、10-量表、11-护理、12-中医诊断、13-中医证候<br>" +
+            notes = "type: 类型:1-化验大项、2-化验小项、3-辅检、4-诊断、5-药品、6-手术和操作、7-科室、8-输血、10-量表、11-护理、12-中医诊断、13-中医证候、14-麻醉、15-药品剂型、16-给药途径<br>" +
                     "ids: 术语id列表<br>" +
                     "names: 术语列表<br>" +
                     "source: 数据来源:-1-id匹配、1-标准词、2-同义词、3-编码、4-历史数据、5-相似词、99-数据迁移<br>")

+ 1 - 1
src/main/java/com/diagbot/web/TermMatchingController.java

@@ -29,7 +29,7 @@ public class TermMatchingController {
     TermMatchingFacade termMatchingFacade;
 
     @ApiOperation(value = "术语匹配搜索[wangfeng]",
-            notes = "type: 类型:1-化验大项、2-化验小项、3-辅检、4-诊断、5-药品、6-手术和操作、7-科室、8-输血、9-症状、10-量表、11-护理、12-中医诊断、13-中医证候、14-麻醉 <br>" +
+            notes = "type: 类型:1-化验大项、2-化验小项、3-辅检、4-诊断、5-药品、6-手术和操作、7-科室、8-输血、9-症状、10-量表、11-护理、12-中医诊断、13-中医证候、14-麻醉、16-给药途径 <br>" +
                     "inputStr: 检索内容<br>")
     @PostMapping("/termMatching")
     public RespDTO<List<TermConceptDTO>> getTermMatching(@Valid @RequestBody TermMatchingVO termMatchingVO) {

+ 1 - 39
src/main/java/com/diagbot/web/TestController.java

@@ -1,18 +1,12 @@
 package com.diagbot.web;
 
 import com.diagbot.dto.DiagnoseDTO;
-import com.diagbot.dto.PushNewDTO;
 import com.diagbot.dto.RespDTO;
-import com.diagbot.dto.StandConvertCrfBatchDTO;
-import com.diagbot.dto.StandConvertCrfDTO;
 import com.diagbot.facade.KlDiagnoseFacade;
 import com.diagbot.facade.PushFacade;
 import com.diagbot.facade.TestFacade;
 import com.diagbot.vo.DiagnoseVO;
-import com.diagbot.vo.PushNewVO;
-import com.diagbot.vo.StandConvertCrfVO;
 import com.diagbot.vo.TestAllVO;
-import com.diagbot.vo.TestCrfVO;
 import com.diagbot.vo.TestLineVO;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -54,8 +48,7 @@ public class TestController {
         return RespDTO.onSuc(testFacade.importExcel(file, testLineVO));
     }
 
-    @ApiOperation(value = "导出[zhoutg]",
-            notes = "导出")
+    @ApiOperation(value = "导出[zhoutg]", notes = "导出")
     @PostMapping("/testExport")
     public void testExport(HttpServletResponse response) {
         testFacade.exportExcel(response);
@@ -125,24 +118,6 @@ public class TestController {
         return RespDTO.onSuc(testFacade.testOtherTipTransfusion(file, testLineVO));
     }
 
-    @ApiOperation(value = "标准词转换API[zhoutg]", notes = "类型,疾病: disease,症状: symptom,手术和操作:operation,药品: drug,实验室检查:lis,辅助检查:pacs, 辅助检查:vital")
-    @PostMapping("/testStandConvert")
-    public RespDTO<StandConvertCrfDTO> testStandConvert(@RequestBody StandConvertCrfVO standConvertCrfVO) {
-        return RespDTO.onSuc(testFacade.testStandConvert(standConvertCrfVO));
-    }
-
-    @ApiOperation(value = "标准词批量转换API[zhoutg]", notes = "类型,疾病: disease,症状: symptom,手术和操作:operation,药品: drug,实验室检查:lis,辅助检查:pacs, 查体:vital")
-    @PostMapping("/testStandConvertBatch")
-    public RespDTO<StandConvertCrfBatchDTO> testStandConvertBatch(@RequestBody List<StandConvertCrfVO> standConvertCrfVOList) {
-        return RespDTO.onSuc(testFacade.testStandConvertBatch(standConvertCrfVOList));
-    }
-
-    @ApiOperation(value = "标准词批量转换【新版】API[zhoutg]", notes = "类型,疾病: disease,症状: symptom,手术和操作:operation,药品: drug,实验室检查:lis,辅助检查:pacs, 查体:vital")
-    @PostMapping("/testStandConvertBatchNew")
-    public RespDTO<StandConvertCrfBatchDTO> testStandConvertBatchNew(@RequestBody List<StandConvertCrfVO> standConvertCrfVOList) {
-        return RespDTO.onSuc(testFacade.testStandConvertBatchNew(standConvertCrfVOList));
-    }
-
     @ApiOperation(value = "复杂高危手术测试API[zhoutg]",
             notes = "idNum:指定行测试<br>" +
                     "sheetIndex:sheet的下标,默认为0,表示第一个sheet")
@@ -176,18 +151,5 @@ public class TestController {
     public RespDTO<List<DiagnoseDTO>> getDiagnoseByIds(@RequestBody DiagnoseVO diagnoseVO) {
         return RespDTO.onSuc(klDiagnoseFacade.getDiagnoseByIds(diagnoseVO));
     }
-
-    @ApiOperation(value = "大数据推送接口测试[zhoutg]", notes = "")
-    @PostMapping("/testPush")
-    public RespDTO<PushNewDTO> testPush(@RequestBody PushNewVO pushNewVO) {
-        return RespDTO.onSuc(pushFacade.testPushFac(pushNewVO));
-    }
-
-    @ApiOperation(value = "crf解析测试[zhoutg]", notes = "content:文本内容\n" +
-            "modelType:模型类型,主诉、现病史:chief_present,既往史:PastFamily_cx,查体:Present_cx,个人史:PersonalHistory_cx,诊断:Diagnoses_cx")
-    @PostMapping("/A_testCrf")
-    public RespDTO<Object> testCrf(@RequestBody TestCrfVO testCrfVO) {
-        return RespDTO.onSuc(testFacade.testCrf(testCrfVO));
-    }
 }