USE `med_2021`;

DROP TABLE IF EXISTS `kl_regulation`;
CREATE TABLE `kl_regulation` (
  `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则表示纪录未修改',
  `name` varchar(255) NOT NULL DEFAULT '' COMMENT '规则名称',
  `code` bigint(20) NOT NULL DEFAULT '100001' COMMENT '规则编码',
  `type` tinyint(4) NOT NULL DEFAULT '1' COMMENT '规则类型:(1:量表)',
  `status` int(1) NOT NULL DEFAULT '1' COMMENT '启用状态（0：禁用，1：启用）',
  `remark` varchar(300) NOT NULL DEFAULT '' COMMENT '备注',
  PRIMARY KEY (`id`),
  UNIQUE KEY `idx_code` (`code`) USING BTREE,
  UNIQUE KEY `idx_name` (`name`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='通用规则表';

DROP TABLE IF EXISTS `kl_regulation_condition`;
CREATE TABLE `kl_regulation_condition` (
  `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则表示纪录未修改',
  `regulation_id` bigint(20) NOT NULL COMMENT '通用规则表主表id',
  `condition_type` int(11) NOT NULL DEFAULT '0' COMMENT '条件类型(1:基础条件；2:组合条件)',
  `condition_group` int(11) NOT NULL DEFAULT '0' COMMENT '规则组别（1XX_condition_type为2:组合条件有效）',
  `fit_no` int(11) NOT NULL DEFAULT '1' COMMENT '符合数量（condition_type为2:组合条件有效）',
  `base_group` int(11) NOT NULL DEFAULT '0' COMMENT '基础规则组别（1X_condition_type为1:基础条件；2:组合条件）',
  `regulation_base_id` bigint(20) NOT NULL DEFAULT '0' COMMENT '基础规则id（condition_type为1:基础条件有效）',
  PRIMARY KEY (`id`),
  KEY `idx_regulation_id` (`regulation_id`) USING BTREE,
  KEY `idx_regulation_base_id` (`regulation_base_id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=1064 DEFAULT CHARSET=utf8 COMMENT='通用规则条件表';

DROP TABLE IF EXISTS `kl_regulation_base`;
CREATE TABLE `kl_regulation_base` (
  `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则表示纪录未修改',
  `concept_id` bigint(20) NOT NULL DEFAULT '0' COMMENT '提示概念id',
  `description` varchar(255) CHARACTER SET utf8mb4 DEFAULT NULL COMMENT '描述',
  `type` int(10) NOT NULL DEFAULT '1' COMMENT '基础规则类型(1:等于术语本身;2:存在比较;3:主诉现病史正则;4:既往史正则)',
  `min_operator` varchar(15) NOT NULL DEFAULT '' COMMENT '最小域比较符',
  `min_value` varchar(50) NOT NULL DEFAULT '' COMMENT '最小域值',
  `min_unit` varchar(50) NOT NULL DEFAULT '' COMMENT '最小域单位',
  `max_operator` varchar(15) NOT NULL DEFAULT '' COMMENT '最大域比较符',
  `max_value` varchar(50) NOT NULL DEFAULT '' COMMENT '最大域值',
  `max_unit` varchar(50) NOT NULL DEFAULT '' COMMENT '最大域单位',
  `eq_operator` varchar(15) NOT NULL DEFAULT '' COMMENT '等于域比较符',
  `eq_value` varchar(255) NOT NULL DEFAULT '' COMMENT '等于域值',
  `eq_unit` varchar(50) NOT NULL DEFAULT '' COMMENT '等于域单位',
  PRIMARY KEY (`id`),
  KEY `idx_concept_id` (`concept_id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=601 DEFAULT CHARSET=utf8 COMMENT='通用规则基础表';

SET FOREIGN_KEY_CHECKS=0;

-- ----------------------------
-- Table structure for kl_concept_scale
-- ----------------------------
DROP TABLE IF EXISTS `kl_concept_scale`;
CREATE TABLE `kl_concept_scale` (
  `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则表示纪录未修改',
  `concept_id` bigint(20) DEFAULT NULL COMMENT '术语概念id',
  `parent_id` bigint(20) DEFAULT NULL COMMENT '-1：表示顶级,其他值表示上级菜单的id',
  `content` text COMMENT '内容',
  `rule_code` varchar(255) DEFAULT NULL COMMENT '编码',
  `score` decimal(5,1) DEFAULT '0.0' COMMENT '扣分',
  `factor` decimal(5,1) DEFAULT '0.0' COMMENT '系数',
  `constant` decimal(5,1) DEFAULT '0.0' COMMENT '常数',
  `text_type` int(11) DEFAULT NULL COMMENT '11问题选项;12文本;13得分结果（隐藏）21问题，31答案',
  `result_type` int(11) NOT NULL DEFAULT '0' COMMENT '结果类型（1算分;2显示选择结果）',
  `select_type` int(11) NOT NULL DEFAULT '0' COMMENT '选择类型(21单选22多选)',
  `order_no` int(11) DEFAULT NULL COMMENT '显示顺序',
  `status` int(2) DEFAULT '1' COMMENT '1：显示，0：不显示，2隐藏',
  `group_num` int(11) DEFAULT '-1' COMMENT '组别互斥（同组互斥）',
  `result` varchar(255) DEFAULT NULL COMMENT '结果',
  `push_info` text COMMENT '推送信息',
  `remark` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='量表明细表';