Quellcode durchsuchen

Merge branch 'master' into test

gaodm vor 5 Jahren
Ursprung
Commit
dad3b3e4b8

+ 904 - 0
doc/001.20200417第一版本/qc_init.sql

@@ -0,0 +1,904 @@
+CREATE DATABASE  `qc` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
+use `qc`;
+
+/*
+Navicat MySQL Data Transfer
+
+Source Server         : 朗通mysql 236联调服务器
+Source Server Version : 50725
+Source Host           : 192.168.2.236:3306
+Source Database       : qc
+
+Target Server Type    : MYSQL
+Target Server Version : 50725
+File Encoding         : 65001
+
+Date: 2020-04-17 09:14:26
+*/
+
+SET FOREIGN_KEY_CHECKS=0;
+
+-- ----------------------------
+-- Table structure for bas_dept_info
+-- ----------------------------
+DROP TABLE IF EXISTS `bas_dept_info`;
+CREATE TABLE `bas_dept_info` (
+  `dept_id` varchar(20) NOT NULL COMMENT '科室编码(HIS导入)',
+  `hospital_id` bigint(20) NOT NULL DEFAULT '0' COMMENT '医院ID',
+  `dept_name` varchar(100) NOT NULL COMMENT '科室名称',
+  `dept_type` varchar(20) DEFAULT NULL COMMENT '科室类别',
+  `spell` varchar(10) DEFAULT NULL COMMENT '首字母拼音',
+  `station` varchar(64) DEFAULT NULL COMMENT '区域类别(门诊、工作站、住院等)',
+  `is_deleted` char(3) DEFAULT 'N' COMMENT '是否删除,N:未删除,Y:删除',
+  `gmt_create` datetime DEFAULT '1970-01-01 12:00:00' COMMENT '记录创建时间',
+  `gmt_modified` datetime DEFAULT '1970-01-01 12:00:00' COMMENT '记录修改时间,如果时间是1970年则表示纪录未修改',
+  `creator` varchar(60) DEFAULT '0' COMMENT '创建人,0表示无创建人值',
+  `modifier` varchar(60) DEFAULT '0' COMMENT '修改人,如果为0则表示纪录未修改',
+  PRIMARY KEY (`dept_id`,`hospital_id`),
+  UNIQUE KEY `hospital_dept_unique` (`dept_id`,`hospital_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='医院科室信息';
+
+-- ----------------------------
+-- Table structure for bas_doctor_info
+-- ----------------------------
+DROP TABLE IF EXISTS `bas_doctor_info`;
+CREATE TABLE `bas_doctor_info` (
+  `doctor_id` varchar(16) NOT NULL COMMENT 'HIS导入的医生ID',
+  `hospital_id` bigint(20) NOT NULL DEFAULT '0' COMMENT '医院ID',
+  `dept_id` varchar(16) NOT NULL COMMENT '医院导入科室ID',
+  `name` varchar(32) DEFAULT NULL COMMENT '姓名',
+  `professor` varchar(32) DEFAULT NULL COMMENT '职称',
+  `is_deleted` char(3) DEFAULT 'N' COMMENT '是否删除,N:未删除,Y:删除',
+  `gmt_create` datetime DEFAULT '1970-01-01 12:00:00' COMMENT '记录创建时间',
+  `gmt_modified` datetime DEFAULT '1970-01-01 12:00:00' COMMENT '记录修改时间,如果时间是1970年则表示纪录未修改',
+  `creator` varchar(60) DEFAULT '0' COMMENT '创建人,0表示无创建人值',
+  `modifier` varchar(60) DEFAULT '0' COMMENT '修改人,如果为0则表示纪录未修改',
+  PRIMARY KEY (`doctor_id`,`hospital_id`),
+  UNIQUE KEY `bas_hospital_dept_unique` (`hospital_id`,`dept_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- ----------------------------
+-- Table structure for bas_hospital_info
+-- ----------------------------
+DROP TABLE IF EXISTS `bas_hospital_info`;
+CREATE TABLE `bas_hospital_info` (
+  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
+  `name` varchar(32) NOT NULL COMMENT '医院名称',
+  `code` varchar(16) NOT NULL COMMENT '组织机构代码',
+  `spell` varchar(32) DEFAULT NULL COMMENT '医院名称拼音',
+  `address` varchar(128) DEFAULT NULL COMMENT '医院地址',
+  `status` int(1) NOT NULL DEFAULT '1' COMMENT '状态:0.禁用1.启用',
+  `order_no` int(5) DEFAULT NULL COMMENT '排序号',
+  `connect` int(1) DEFAULT '0' COMMENT '是否对接(0-不对接,1-对接)',
+  `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则表示纪录未修改',
+  `remark` varchar(128) DEFAULT NULL COMMENT '备注',
+  PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COMMENT='医院信息表';
+
+-- ----------------------------
+-- Table structure for hz_column
+-- ----------------------------
+DROP TABLE IF EXISTS `hz_column`;
+CREATE TABLE `hz_column` (
+  `hz_mc` varchar(128) DEFAULT NULL,
+  `hz_zj` varchar(128) DEFAULT NULL,
+  `hz_type` int(11) DEFAULT '0' COMMENT '1-病案首页',
+  UNIQUE KEY `HZ_MC_ZJ_INDEX` (`hz_mc`,`hz_zj`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- ----------------------------
+-- Table structure for kl_clinic
+-- ----------------------------
+DROP TABLE IF EXISTS `kl_clinic`;
+CREATE TABLE `kl_clinic` (
+  `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 COMMENT '术语概念id',
+  `has_bodypart` bigint(20) DEFAULT NULL COMMENT '科室概念id',
+  `has_label` varchar(2) DEFAULT NULL,
+  `remark` varchar(255) DEFAULT NULL COMMENT '备注',
+  PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=38446 DEFAULT CHARSET=utf8 COMMENT='疾病表';
+
+-- ----------------------------
+-- Table structure for kl_disease
+-- ----------------------------
+DROP TABLE IF EXISTS `kl_disease`;
+CREATE TABLE `kl_disease` (
+  `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 COMMENT '术语概念id',
+  `icd10` varchar(255) DEFAULT NULL,
+  `dept_id` bigint(20) DEFAULT NULL COMMENT '科室概念id',
+  `classify` varchar(8) DEFAULT NULL COMMENT '疾病的分类,现在分为I、II类',
+  `is_chronic` varchar(2) DEFAULT '0' COMMENT '慢病标识',
+  `is_infections` varchar(2) DEFAULT '0' COMMENT '传染病标识',
+  `has_label` varchar(2) DEFAULT NULL,
+  `remark` varchar(255) DEFAULT NULL COMMENT '备注',
+  PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=87719 DEFAULT CHARSET=utf8 COMMENT='疾病表';
+
+-- ----------------------------
+-- Table structure for kl_relevant_feature
+-- ----------------------------
+DROP TABLE IF EXISTS `kl_relevant_feature`;
+CREATE TABLE `kl_relevant_feature` (
+  `id` int(11) NOT NULL AUTO_INCREMENT,
+  `diagnose` varchar(100) DEFAULT NULL,
+  `feature` varchar(100) DEFAULT NULL,
+  `feature_type` int(2) DEFAULT NULL COMMENT '1:直接相关特征 2.程度词等非直接相关词 3.部位',
+  `value_type` int(2) DEFAULT NULL COMMENT '1:字符类型(二值属性:阳性/阴性)\r\n2:数值类型',
+  `find_suspect_diagnose` int(2) DEFAULT NULL,
+  PRIMARY KEY (`id`),
+  KEY `doc_rec_diagnose` (`diagnose`)
+) ENGINE=InnoDB AUTO_INCREMENT=47161 DEFAULT CHARSET=utf8 COMMENT='此表保存每种诊断所需的特征字段,用于后续学习分析';
+
+-- ----------------------------
+-- Table structure for lt_column
+-- ----------------------------
+DROP TABLE IF EXISTS `lt_column`;
+CREATE TABLE `lt_column` (
+  `lt_mc` varchar(128) DEFAULT NULL,
+  `lt_zj` varchar(128) DEFAULT NULL,
+  `lt_type` int(11) DEFAULT '0' COMMENT '1-病案首页',
+  UNIQUE KEY `LT_MC_ZJ_INDEX` (`lt_mc`,`lt_zj`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- ----------------------------
+-- Table structure for lt_hz_columnmap
+-- ----------------------------
+DROP TABLE IF EXISTS `lt_hz_columnmap`;
+CREATE TABLE `lt_hz_columnmap` (
+  `lt_mc` varchar(128) DEFAULT NULL,
+  `lt_zj` varchar(128) DEFAULT NULL,
+  `hz_mc` varchar(128) DEFAULT NULL,
+  `hz_zj` varchar(128) DEFAULT NULL,
+  `type` int(1) DEFAULT '0' COMMENT '1-病案首页',
+  UNIQUE KEY `LT_HZ_MC_ZJ_TYPE_INDEX` (`lt_mc`,`lt_zj`,`hz_mc`,`hz_zj`,`type`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- ----------------------------
+-- Table structure for med_behospital_info
+-- ----------------------------
+DROP TABLE IF EXISTS `med_behospital_info`;
+CREATE TABLE `med_behospital_info` (
+  `behospital_code` varchar(16) NOT NULL COMMENT '病人住院ID',
+  `hospital_id` bigint(20) NOT NULL DEFAULT '0' COMMENT '医院ID',
+  `name` varchar(32) NOT NULL COMMENT '姓名',
+  `sex` varchar(2) DEFAULT NULL COMMENT '性别',
+  `birthday` datetime DEFAULT NULL COMMENT '出生日期',
+  `file_code` varchar(16) DEFAULT NULL COMMENT '档案号',
+  `ward_code` varchar(16) DEFAULT NULL COMMENT '病区编码',
+  `ward_name` varchar(32) DEFAULT NULL COMMENT '病区名称',
+  `beh_dept_id` varchar(16) NOT NULL COMMENT '住院科室ID',
+  `beh_dept_name` varchar(64) NOT NULL COMMENT '住院科室名称',
+  `bed_code` varchar(12) DEFAULT NULL COMMENT '床位号',
+  `bed_name` varchar(12) DEFAULT NULL COMMENT '床位名称',
+  `insurance_name` varchar(50) DEFAULT NULL COMMENT '医保类别',
+  `job_type` varchar(30) DEFAULT NULL COMMENT '职业',
+  `behospital_date` datetime DEFAULT NULL COMMENT '入院时间',
+  `leave_hospital_date` datetime DEFAULT NULL COMMENT '出院时间',
+  `diagnose_icd` varchar(50) DEFAULT NULL COMMENT '疾病ICD编码',
+  `diagnose` text COMMENT '疾病名称',
+  `doctor_id` varchar(6) DEFAULT NULL COMMENT '医生ID',
+  `doctor_name` varchar(50) DEFAULT NULL COMMENT '医生姓名',
+  `is_deleted` char(3) DEFAULT 'N' COMMENT '是否删除,N:未删除,Y:删除',
+  `gmt_create` datetime DEFAULT '1970-01-01 12:00:00' COMMENT '记录创建时间',
+  `gmt_modified` datetime DEFAULT '1970-01-01 12:00:00' COMMENT '记录修改时间,如果时间是1970年则表示纪录未修改',
+  `creator` varchar(60) DEFAULT '0' COMMENT '创建人,0表示无创建人值',
+  `modifier` varchar(60) DEFAULT '0' COMMENT '修改人,如果为0则表示纪录未修改',
+  PRIMARY KEY (`behospital_code`,`hospital_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='住院病历信息';
+
+-- ----------------------------
+-- Table structure for med_doctor_advice
+-- ----------------------------
+DROP TABLE IF EXISTS `med_doctor_advice`;
+CREATE TABLE `med_doctor_advice` (
+  `doctor_advice_id` varchar(20) NOT NULL COMMENT '病人医嘱ID',
+  `hospital_id` bigint(20) NOT NULL DEFAULT '0' COMMENT '医院id',
+  `behospital_code` varchar(20) NOT NULL COMMENT '病人ID',
+  `order_doctor_name` varchar(20) DEFAULT NULL COMMENT '医生开单判别',
+  `frequency` varchar(20) DEFAULT NULL COMMENT '医嘱频率判别',
+  `parent_type_id` varchar(20) DEFAULT NULL COMMENT '父类医嘱ID',
+  `doctor_advice_type` varchar(20) DEFAULT NULL COMMENT '医嘱类型判别(嘱托长嘱、长期医嘱等)',
+  `usage_num` varchar(20) DEFAULT NULL COMMENT '一次使用数量',
+  `usage_unit` varchar(30) DEFAULT NULL COMMENT '一次用量单位',
+  `dose` varchar(20) DEFAULT NULL COMMENT '医嘱单次剂量',
+  `dose_unit` varchar(30) DEFAULT NULL COMMENT '单次剂量单位',
+  `med_mode_type` varchar(20) DEFAULT NULL COMMENT '给药方式',
+  `da_frequency` varchar(10) DEFAULT NULL COMMENT '医嘱频率',
+  `da_deal_type` varchar(20) DEFAULT NULL COMMENT '医嘱处理类型',
+  `da_start_date` datetime DEFAULT NULL COMMENT '医嘱开始时间',
+  `da_item_name` varchar(200) DEFAULT NULL COMMENT '医嘱项目名称',
+  `da_status` varchar(20) DEFAULT NULL COMMENT '医嘱状态判别',
+  `da_stop_date` datetime DEFAULT NULL COMMENT '医嘱结束时间',
+  `da_group_no` varchar(20) DEFAULT NULL COMMENT '医嘱同组序号',
+  `da_prescription_type` varchar(20) DEFAULT NULL COMMENT '医嘱处方类型(检验、描述医嘱、膳食、西药、护理等)',
+  `da_med_type` varchar(20) DEFAULT NULL COMMENT '医嘱领药类型',
+  `doctor_notice` varchar(100) DEFAULT NULL COMMENT '医生嘱托',
+  `doctor_id` varchar(20) DEFAULT NULL COMMENT '开单医生ID',
+  `doctor_name` varchar(60) DEFAULT NULL COMMENT '开单医生姓名',
+  `is_deleted` char(3) DEFAULT 'N' COMMENT '是否删除,N:未删除,Y:删除',
+  `gmt_create` datetime DEFAULT '1970-01-01 12:00:00' COMMENT '记录创建时间',
+  `gmt_modified` datetime DEFAULT '1970-01-01 12:00:00' COMMENT '记录修改时间,如果时间是1970年则表示纪录未修改',
+  `creator` varchar(60) DEFAULT '0' COMMENT '创建人,0表示无创建人值',
+  `modifier` varchar(60) DEFAULT '0' COMMENT '修改人,如果为0则表示纪录未修改',
+  UNIQUE KEY `advice_behospital_code_unique` (`doctor_advice_id`,`behospital_code`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='病人医嘱';
+
+-- ----------------------------
+-- Table structure for med_home_diagnose_info
+-- ----------------------------
+DROP TABLE IF EXISTS `med_home_diagnose_info`;
+CREATE TABLE `med_home_diagnose_info` (
+  `home_page_id` varchar(20) NOT NULL COMMENT '病案首页ID',
+  `hospital_id` bigint(20) NOT NULL DEFAULT '0' COMMENT '医院ID',
+  `diagnose_order_no` varchar(20) NOT NULL COMMENT '诊断序号',
+  `diagnose_type` varchar(20) DEFAULT NULL COMMENT '诊断类别',
+  `diagnose_type_short` varchar(20) DEFAULT NULL COMMENT '诊断判别',
+  `diagnose_name` varchar(200) DEFAULT NULL COMMENT '诊断名称',
+  `behospital_type` varchar(20) DEFAULT NULL COMMENT '入院情况',
+  `leave_hospital_type` varchar(20) DEFAULT NULL COMMENT '出院情况',
+  `pathology_diagnose` varchar(20) DEFAULT NULL COMMENT '病理号',
+  `icd_code` varchar(20) DEFAULT NULL COMMENT '诊断编码',
+  `is_deleted` char(3) DEFAULT 'N' COMMENT '是否删除,N:未删除,Y:删除',
+  `gmt_create` datetime DEFAULT '1970-01-01 12:00:00' COMMENT '记录创建时间',
+  `gmt_modified` datetime DEFAULT '1970-01-01 12:00:00' COMMENT '记录修改时间,如果时间是1970年则表示纪录未修改',
+  `creator` varchar(60) DEFAULT '0' COMMENT '创建人,0表示无创建人值',
+  `modifier` varchar(60) DEFAULT '0' COMMENT '修改人,如果为0则表示纪录未修改'
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- ----------------------------
+-- Table structure for med_home_operation_info
+-- ----------------------------
+DROP TABLE IF EXISTS `med_home_operation_info`;
+CREATE TABLE `med_home_operation_info` (
+  `home_page_id` varchar(20) NOT NULL COMMENT '病案首页ID',
+  `hospital_id` bigint(20) NOT NULL DEFAULT '0' COMMENT '医院ID',
+  `operation_order_no` varchar(20) NOT NULL COMMENT '手术序号',
+  `operation_date` datetime(6) DEFAULT NULL COMMENT '手术日期',
+  `operation_code` varchar(20) DEFAULT NULL COMMENT '手术编码',
+  `operation_doctor_id` varchar(20) DEFAULT NULL COMMENT '手术医生',
+  `first_assistant_id` varchar(20) DEFAULT NULL COMMENT '一助医生',
+  `second_assistant_id` varchar(20) DEFAULT NULL COMMENT '二助医生',
+  `cut_level` varchar(20) DEFAULT NULL COMMENT '切口等级',
+  `healing_level` varchar(20) DEFAULT NULL COMMENT '愈合等级',
+  `operation_name` varchar(200) DEFAULT NULL COMMENT '手术名称',
+  `operation_level` varchar(20) DEFAULT NULL COMMENT '手术级别',
+  `anaesthesia_name` varchar(100) DEFAULT NULL COMMENT '麻醉方式',
+  `sham_operation_name` varchar(200) DEFAULT NULL COMMENT '拟手术名称',
+  `is_deleted` char(3) DEFAULT 'N' COMMENT '是否删除,N:未删除,Y:删除',
+  `gmt_create` datetime DEFAULT '1970-01-01 12:00:00' COMMENT '记录创建时间',
+  `gmt_modified` datetime DEFAULT '1970-01-01 12:00:00' COMMENT '记录修改时间,如果时间是1970年则表示纪录未修改',
+  `creator` varchar(60) DEFAULT '0' COMMENT '创建人,0表示无创建人值',
+  `modifier` varchar(60) DEFAULT '0' COMMENT '修改人,如果为0则表示纪录未修改'
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- ----------------------------
+-- Table structure for med_home_page
+-- ----------------------------
+DROP TABLE IF EXISTS `med_home_page`;
+CREATE TABLE `med_home_page` (
+  `home_page_id` varchar(20) NOT NULL COMMENT '病案首页编号',
+  `hospital_id` bigint(20) NOT NULL DEFAULT '0' COMMENT '医院ID',
+  `behospital_code` varchar(20) NOT NULL COMMENT '病人住院序号',
+  `hospital_code` varchar(20) DEFAULT NULL COMMENT '组织机构id',
+  `hospital_name` varchar(20) DEFAULT NULL COMMENT '医疗机构名称',
+  `org_code` varchar(20) DEFAULT NULL COMMENT '医疗机构代码',
+  `pay_type` varchar(20) DEFAULT NULL COMMENT '医疗付费方式',
+  `health_card` varchar(20) DEFAULT NULL COMMENT '健康卡号',
+  `behospital_num` varchar(10) DEFAULT NULL COMMENT '住院次数',
+  `file_code` varchar(20) DEFAULT NULL COMMENT '病案号',
+  `name` varchar(40) DEFAULT NULL COMMENT '姓名',
+  `sex` varchar(10) DEFAULT NULL COMMENT '性别',
+  `birthday` datetime DEFAULT NULL COMMENT '出生日期',
+  `age` varchar(10) DEFAULT NULL COMMENT '年龄',
+  `age_unit` varchar(20) DEFAULT NULL COMMENT '年龄单位',
+  `nationality` varchar(20) DEFAULT NULL COMMENT '国籍',
+  `newborn_month` varchar(10) DEFAULT NULL COMMENT '新生儿出生月数',
+  `newborn_day` varchar(10) DEFAULT NULL COMMENT '新生儿出生天数',
+  `newborn_weight` varchar(10) DEFAULT NULL COMMENT '新生儿出生体重',
+  `newborn_behospital_weight` varchar(10) DEFAULT NULL COMMENT '新生儿入院体重',
+  `born_address` varchar(100) DEFAULT NULL COMMENT '出生地',
+  `born_place` varchar(100) DEFAULT NULL COMMENT '籍贯',
+  `nation` varchar(10) DEFAULT NULL COMMENT '民族',
+  `identity_card_no` varchar(20) DEFAULT NULL COMMENT '身份证号',
+  `job_type` varchar(20) DEFAULT NULL COMMENT '职业',
+  `marriage` varchar(20) DEFAULT NULL COMMENT '婚姻',
+  `cur_address` varchar(100) DEFAULT NULL COMMENT '现住址',
+  `cur_phone` varchar(20) DEFAULT NULL COMMENT '现住址电话',
+  `cur_post_code` varchar(6) DEFAULT NULL COMMENT '现住址邮编',
+  `residence_address` varchar(100) DEFAULT NULL COMMENT '户口地址',
+  `residence_post_code` varchar(6) DEFAULT NULL COMMENT '户口地址邮编',
+  `work_address` varchar(60) DEFAULT NULL COMMENT '工作单位',
+  `work_phone` varchar(20) DEFAULT NULL COMMENT '工作单位电话',
+  `work_post_code` varchar(6) DEFAULT NULL COMMENT '工作单位邮编',
+  `contact_name` varchar(20) DEFAULT NULL COMMENT '联系人姓名',
+  `contact_relation` varchar(60) DEFAULT NULL COMMENT '联系人关系',
+  `contact_address` varchar(100) DEFAULT NULL COMMENT '联系人地址',
+  `contact_phone` varchar(20) DEFAULT NULL COMMENT '联系人电话',
+  `behospital_way` varchar(20) DEFAULT NULL COMMENT '入院途径',
+  `behospital_date` datetime DEFAULT NULL COMMENT '入院时间',
+  `behospital_dept` varchar(20) DEFAULT NULL COMMENT '入院科别',
+  `behospital_ward` varchar(20) DEFAULT NULL COMMENT '入院病房',
+  `behospital_bed_id` varchar(20) DEFAULT NULL COMMENT '入院床位序号',
+  `behospital_bed_code` varchar(20) DEFAULT NULL COMMENT '入院床位号码',
+  `change_dept` varchar(50) DEFAULT NULL COMMENT '转科科别',
+  `leave_hospital_date` datetime DEFAULT NULL COMMENT '出院时间',
+  `leave_hospital_dept` varchar(20) DEFAULT NULL COMMENT '出院科别',
+  `leave_hospital_ward` varchar(20) DEFAULT NULL COMMENT '出院病房',
+  `leave_hospital_bed_id` varchar(20) DEFAULT NULL COMMENT '出院床位序号',
+  `leave_hospital_bed_code` varchar(20) DEFAULT NULL COMMENT '出院床位号码',
+  `behospital_day_num` varchar(10) DEFAULT NULL COMMENT '实际住院天数',
+  `outpatient_emr_diagnose` varchar(100) DEFAULT NULL COMMENT '门急诊诊断',
+  `outpatient_emr_diagnose_code` varchar(20) DEFAULT NULL COMMENT '门急诊诊断编码',
+  `poison_factor` varchar(100) DEFAULT NULL COMMENT '损伤中毒因素',
+  `poison_factor_code` varchar(50) DEFAULT NULL COMMENT '损伤中毒因素编码',
+  `pathology_diagnose` varchar(100) DEFAULT NULL COMMENT '病理诊断',
+  `pathology_diagnose_code` varchar(50) DEFAULT NULL COMMENT '病理诊断编码',
+  `pathology_diagnose_id` varchar(50) DEFAULT NULL COMMENT '病理诊断编号',
+  `is_med_allergy` varchar(10) DEFAULT NULL COMMENT '药物过敏',
+  `med_allergy_name` varchar(20) DEFAULT NULL COMMENT '过敏药物',
+  `autopsy` varchar(10) DEFAULT NULL COMMENT '死亡患者尸检',
+  `blood_type` varchar(20) DEFAULT NULL COMMENT '血型',
+  `rh` varchar(20) DEFAULT NULL COMMENT 'Rh',
+  `dept_director` varchar(20) DEFAULT NULL COMMENT '科主任',
+  `director_doctor` varchar(20) DEFAULT NULL COMMENT '主任医师',
+  `attending_doctor` varchar(20) DEFAULT NULL COMMENT '主治医师',
+  `behospital_doctor` varchar(20) DEFAULT NULL COMMENT '住院医师',
+  `response_nurse` varchar(20) DEFAULT NULL COMMENT '责任护士',
+  `study_doctor` varchar(20) DEFAULT NULL COMMENT '进修医师',
+  `practice_doctor` varchar(20) DEFAULT NULL COMMENT '实习医师',
+  `encode_man` varchar(20) DEFAULT NULL COMMENT '编码员',
+  `home_page_quality` varchar(20) DEFAULT NULL COMMENT '病案质量',
+  `qc_doctor` varchar(20) DEFAULT NULL COMMENT '质控医师',
+  `qc_nurse` varchar(20) DEFAULT NULL COMMENT '质控护士',
+  `qc_date` datetime DEFAULT NULL COMMENT '质控日期',
+  `leave_hospital_type` varchar(10) DEFAULT NULL COMMENT '离院方式',
+  `accept_org_code` varchar(100) DEFAULT NULL COMMENT '接收机构名称',
+  `again_behospital_plan` varchar(10) DEFAULT NULL COMMENT '31天内再住院计划',
+  `again_behospital_goal` varchar(100) DEFAULT NULL COMMENT '再住院目的',
+  `tbi_before_day` varchar(10) DEFAULT NULL COMMENT '颅脑损伤患者昏迷前天数',
+  `tbi_before_hour` varchar(10) DEFAULT NULL COMMENT '颅脑损伤患者昏迷前小时',
+  `tbi_before_minute` varchar(10) DEFAULT NULL COMMENT '颅脑损伤患者昏迷前分钟',
+  `tbi_after_day` varchar(10) DEFAULT NULL COMMENT '颅脑损伤患者昏迷后天数',
+  `tbi_after_hour` varchar(10) DEFAULT NULL COMMENT '颅脑损伤患者昏迷后小时',
+  `tbi_after_minute` varchar(10) DEFAULT NULL COMMENT '颅脑损伤患者昏迷后分钟',
+  `total_fee` varchar(20) DEFAULT NULL COMMENT '总费用',
+  `own_fee` varchar(20) DEFAULT NULL COMMENT '自付金额',
+  `general_fee` varchar(20) DEFAULT NULL COMMENT '一般医疗服务费',
+  `service_fee` varchar(20) DEFAULT NULL COMMENT '一般治疗服务费',
+  `nurse_fee` varchar(20) DEFAULT NULL COMMENT '护理费',
+  `other_fee` varchar(20) DEFAULT NULL COMMENT '其他费用',
+  `pathology_fee` varchar(20) DEFAULT NULL COMMENT '病理诊断费',
+  `lab_fee` varchar(20) DEFAULT NULL COMMENT '实验室诊断费',
+  `pacs_fee` varchar(20) DEFAULT NULL COMMENT '影像学诊断费',
+  `clinic_diagnose_fee` varchar(20) DEFAULT NULL COMMENT '临床诊断项目费',
+  `not_operation_fee` varchar(20) DEFAULT NULL COMMENT '非手术治疗项目费',
+  `clinic_physic_fee` varchar(20) DEFAULT NULL COMMENT '临床物理治疗费',
+  `operation_treat_fee` varchar(20) DEFAULT NULL COMMENT '手术治疗费',
+  `anaesthesia_fee` varchar(20) DEFAULT NULL COMMENT '麻醉费',
+  `operation_fee` varchar(20) DEFAULT NULL COMMENT '手术费',
+  `health_type_fee` varchar(20) DEFAULT NULL COMMENT '康复类',
+  `chn_treat_fee` varchar(20) DEFAULT NULL COMMENT '中医治疗费',
+  `western_med_fee` varchar(20) DEFAULT NULL COMMENT '西药费',
+  `antibiosis_fee` varchar(20) DEFAULT NULL COMMENT '抗菌药物费用',
+  `chn_med_fee` varchar(20) DEFAULT NULL COMMENT '中成药费',
+  `chn_herb_fee` varchar(20) DEFAULT NULL COMMENT '中草药费',
+  `blood_fee` varchar(20) DEFAULT NULL COMMENT '血费',
+  `albumen_fee` varchar(20) DEFAULT NULL COMMENT '白蛋白类制品费',
+  `globulin_fee` varchar(20) DEFAULT NULL COMMENT '球蛋白类制品费',
+  `blood_factor_fee` varchar(20) DEFAULT NULL COMMENT '凝血因子类制品费',
+  `cell_factor_fee` varchar(20) DEFAULT NULL COMMENT '细胞因子类制品费',
+  `check_material_fee` varchar(20) DEFAULT NULL COMMENT '检查用一次性医用材料费',
+  `treat_material_fee` varchar(20) DEFAULT NULL COMMENT '治疗用一次性医用材料费',
+  `operation_material_fee` varchar(20) DEFAULT NULL COMMENT '手术用一次性医用材料费',
+  `other_type_fee` varchar(20) DEFAULT NULL COMMENT '其他类其他费',
+  `single_diag_manage` varchar(10) DEFAULT NULL COMMENT '单病种管理',
+  `clinic_pathway_manage` varchar(10) DEFAULT NULL COMMENT '临床路径管理',
+  `is_outpatient_behospital` varchar(10) DEFAULT NULL COMMENT '门诊与住院',
+  `is_leave_behospital` varchar(10) DEFAULT NULL COMMENT '入院与出院',
+  `is_operation_before_after` varchar(10) DEFAULT NULL COMMENT '术前与术后',
+  `is_clinic_pathology` varchar(10) DEFAULT NULL COMMENT '临床与病理',
+  `is_radiate_pathology` varchar(10) DEFAULT NULL COMMENT '放射与病理',
+  `rescue_num` varchar(10) DEFAULT NULL COMMENT '病人抢救次数',
+  `rescue_success_num` varchar(10) DEFAULT NULL COMMENT '病人抢救成功次数',
+  `is_auto_leavehospital` varchar(10) DEFAULT NULL COMMENT '是否为自动出院',
+  `return_to_type` varchar(10) DEFAULT NULL COMMENT '转归情况',
+  `is_deleted` char(3) DEFAULT 'N' COMMENT '是否删除,N:未删除,Y:删除',
+  `gmt_create` datetime DEFAULT '1970-01-01 12:00:00' COMMENT '记录创建时间',
+  `gmt_modified` datetime DEFAULT '1970-01-01 12:00:00' COMMENT '记录修改时间,如果时间是1970年则表示纪录未修改',
+  `creator` varchar(60) DEFAULT '0' COMMENT '创建人,0表示无创建人值',
+  `modifier` varchar(60) DEFAULT '0' COMMENT '修改人,如果为0则表示纪录未修改',
+  PRIMARY KEY (`home_page_id`,`hospital_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- ----------------------------
+-- Table structure for med_medical_record
+-- ----------------------------
+DROP TABLE IF EXISTS `med_medical_record`;
+CREATE TABLE `med_medical_record` (
+  `rec_id` varchar(20) NOT NULL,
+  `hospital_id` bigint(20) NOT NULL DEFAULT '0' COMMENT '医院ID',
+  `behospital_code` varchar(50) DEFAULT NULL COMMENT '病人住院ID',
+  `org_code` varchar(20) DEFAULT NULL COMMENT '组织机构代码',
+  `rec_type_id` varchar(100) DEFAULT NULL COMMENT '病历类别编号',
+  `rec_date` varchar(50) DEFAULT NULL COMMENT '病历日期',
+  `rec_title` varchar(128) DEFAULT NULL COMMENT '病历标题',
+  `is_deleted` char(3) DEFAULT 'N' COMMENT '是否删除,N:未删除,Y:删除',
+  `gmt_create` datetime DEFAULT '1970-01-01 12:00:00' COMMENT '记录创建时间',
+  `gmt_modified` datetime DEFAULT '1970-01-01 12:00:00' COMMENT '记录修改时间,如果时间是1970年则表示纪录未修改',
+  `creator` varchar(60) DEFAULT '0' COMMENT '创建人,0表示无创建人值',
+  `modifier` varchar(60) DEFAULT '0' COMMENT '修改人,如果为0则表示纪录未修改',
+  PRIMARY KEY (`rec_id`,`hospital_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- ----------------------------
+-- Table structure for med_medical_record_content
+-- ----------------------------
+DROP TABLE IF EXISTS `med_medical_record_content`;
+CREATE TABLE `med_medical_record_content` (
+  `rec_id` varchar(11) NOT NULL COMMENT '病历ID',
+  `hospital_id` bigint(20) NOT NULL DEFAULT '0' COMMENT '医院ID',
+  `content_blob` longblob COMMENT '文书内容(blob)',
+  `content_text` longtext COMMENT '病历文本(文本)',
+  `is_deleted` char(3) DEFAULT 'N' COMMENT '是否删除,N:未删除,Y:删除',
+  `gmt_create` datetime DEFAULT '1970-01-01 12:00:00' COMMENT '记录创建时间',
+  `gmt_modified` datetime DEFAULT '1970-01-01 12:00:00' COMMENT '记录修改时间,如果时间是1970年则表示纪录未修改',
+  `creator` varchar(60) DEFAULT '0' COMMENT '创建人,0表示无创建人值',
+  `modifier` varchar(60) DEFAULT '0' COMMENT '修改人,如果为0则表示纪录未修改',
+  PRIMARY KEY (`rec_id`,`hospital_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- ----------------------------
+-- Table structure for med_qcresult_detail
+-- ----------------------------
+DROP TABLE IF EXISTS `med_qcresult_detail`;
+CREATE TABLE `med_qcresult_detail` (
+  `id` bigint(20) NOT NULL AUTO_INCREMENT,
+  `hospital_id` bigint(20) NOT NULL DEFAULT '0' COMMENT '医院ID',
+  `behospital_code` varchar(255) NOT NULL DEFAULT '' COMMENT '病人住院ID',
+  `cases_id` bigint(20) DEFAULT NULL COMMENT '模块id',
+  `cases_score` decimal(5,1) DEFAULT NULL COMMENT '模块总分',
+  `cases_entry_id` bigint(20) NOT NULL DEFAULT '0' COMMENT '条目ID',
+  `score` decimal(5,1) DEFAULT NULL COMMENT '人工修改分值',
+  `msg` varchar(255) DEFAULT NULL COMMENT '提示信息',
+  `is_reject` int(3) DEFAULT '0' COMMENT '单项否决(1-单项否决 0-非)',
+  `is_deleted` char(3) DEFAULT 'N' COMMENT '是否删除,N:未删除,Y:删除',
+  `gmt_create` datetime DEFAULT '1970-01-01 12:00:00' COMMENT '记录创建时间',
+  `gmt_modified` datetime DEFAULT '1970-01-01 12:00:00' COMMENT '记录修改时间,如果时间是1970年则表示纪录未修改',
+  `creator` varchar(60) DEFAULT '0' COMMENT '创建人,0表示无创建人值',
+  `modifier` varchar(60) DEFAULT '0' COMMENT '修改人,如果为0则表示纪录未修改',
+  `remark` varchar(255) DEFAULT NULL COMMENT '备注',
+  PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=29445 DEFAULT CHARSET=utf8 COMMENT='质控评分明细信息\r\n每次评分增加一条信息,前面所有评分is_deleted全部设置为Y';
+
+-- ----------------------------
+-- Table structure for med_qcresult_info
+-- ----------------------------
+DROP TABLE IF EXISTS `med_qcresult_info`;
+CREATE TABLE `med_qcresult_info` (
+  `id` bigint(20) NOT NULL AUTO_INCREMENT,
+  `hospital_id` bigint(20) DEFAULT '0' COMMENT '医院ID',
+  `behospital_code` varchar(255) NOT NULL DEFAULT '' COMMENT '病人住院ID',
+  `level` varchar(20) NOT NULL DEFAULT '' COMMENT '等级',
+  `page_data` longtext COMMENT '页面数据',
+  `menu_data` longtext COMMENT '菜单数据',
+  `grade_type` tinyint(4) DEFAULT '1' COMMENT '评分类型(1:机器,2:人工)',
+  `score_res` decimal(5,1) NOT NULL DEFAULT '0.0' COMMENT '最后得分',
+  `is_deleted` char(3) DEFAULT 'N' COMMENT '是否删除,N:未删除,Y:删除',
+  `gmt_create` datetime DEFAULT '1970-01-01 12:00:00' COMMENT '记录创建时间',
+  `gmt_modified` datetime DEFAULT '1970-01-01 12:00:00' COMMENT '记录修改时间,如果时间是1970年则表示纪录未修改',
+  `creator` varchar(60) DEFAULT '0' COMMENT '创建人,0表示无创建人值',
+  `modifier` varchar(60) DEFAULT '0' COMMENT '修改人,如果为0则表示纪录未修改',
+  `remark` varchar(255) DEFAULT NULL COMMENT '备注',
+  PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=234 DEFAULT CHARSET=utf8 COMMENT='质控评分主表信息\r\n每次评分增加一条信息,前面所有评分is_deleted全部设置为Y';
+
+-- ----------------------------
+-- Table structure for med_record_type
+-- ----------------------------
+DROP TABLE IF EXISTS `med_record_type`;
+CREATE TABLE `med_record_type` (
+  `type_id` varchar(16) NOT NULL COMMENT '类别ID',
+  `hospital_id` bigint(20) NOT NULL DEFAULT '0' COMMENT '医院ID',
+  `type_name` varchar(128) DEFAULT NULL COMMENT '类别名称',
+  `parent_type_id` varchar(16) DEFAULT NULL COMMENT '上级类别',
+  `obj_name` varchar(4) DEFAULT NULL COMMENT '服务对象(全院、科室、个人)',
+  `spell` varchar(32) DEFAULT NULL COMMENT '拼音',
+  `remark` varchar(256) DEFAULT NULL,
+  PRIMARY KEY (`type_id`,`hospital_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- ----------------------------
+-- Table structure for qc_cases
+-- ----------------------------
+DROP TABLE IF EXISTS `qc_cases`;
+CREATE TABLE `qc_cases` (
+  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
+  `name` varchar(255) DEFAULT NULL COMMENT '模块名称',
+  `prefix` varchar(255) DEFAULT NULL COMMENT '模块编码前缀',
+  `order_no` int(6) DEFAULT NULL COMMENT '顺序号',
+  `remark` varchar(255) DEFAULT NULL COMMENT '备注',
+  `is_deleted` char(3) DEFAULT 'N' COMMENT '是否删除,N:未删除,Y:删除',
+  `gmt_create` datetime DEFAULT '1970-01-01 12:00:00' COMMENT '记录创建时间',
+  `gmt_modified` datetime DEFAULT '1970-01-01 12:00:00' COMMENT '记录修改时间,如果时间是1970年则表示纪录未修改',
+  `creator` varchar(60) DEFAULT '0' COMMENT '创建人,0表示无创建人值',
+  `modifier` varchar(60) DEFAULT '0' COMMENT '修改人,如果为0则表示纪录未修改',
+  PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=285 DEFAULT CHARSET=utf8 COMMENT='模块数据标准';
+
+-- ----------------------------
+-- Table structure for qc_cases_entry
+-- ----------------------------
+DROP TABLE IF EXISTS `qc_cases_entry`;
+CREATE TABLE `qc_cases_entry` (
+  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
+  `cases_id` bigint(20) DEFAULT NULL COMMENT '病历id',
+  `cases_name` varchar(255) DEFAULT NULL,
+  `mode_id` bigint(20) DEFAULT NULL COMMENT '数据模块ID-对应qc_mode.id',
+  `code` varchar(255) DEFAULT NULL,
+  `name` varchar(255) DEFAULT NULL COMMENT '条目',
+  `precond` varchar(255) DEFAULT NULL,
+  `order_no` int(6) DEFAULT NULL COMMENT '顺序号',
+  `remark` varchar(255) DEFAULT NULL COMMENT '备注',
+  `is_deleted` char(3) DEFAULT 'N' COMMENT '是否删除,N:未删除,Y:删除',
+  `gmt_create` datetime DEFAULT '1970-01-01 12:00:00' COMMENT '记录创建时间',
+  `gmt_modified` datetime DEFAULT '1970-01-01 12:00:00' COMMENT '记录修改时间,如果时间是1970年则表示纪录未修改',
+  `creator` varchar(60) DEFAULT '0' COMMENT '创建人,0表示无创建人值',
+  `modifier` varchar(60) DEFAULT '0' COMMENT '修改人,如果为0则表示纪录未修改',
+  PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=2774 DEFAULT CHARSET=utf8 COMMENT='病历条目';
+
+-- ----------------------------
+-- Table structure for qc_cases_entry_hospital
+-- ----------------------------
+DROP TABLE IF EXISTS `qc_cases_entry_hospital`;
+CREATE TABLE `qc_cases_entry_hospital` (
+  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
+  `is_deleted` char(3) DEFAULT 'N' COMMENT '是否删除,N:未删除,Y:删除',
+  `gmt_create` datetime DEFAULT '1970-01-01 12:00:00' COMMENT '记录创建时间',
+  `gmt_modified` datetime DEFAULT '1970-01-01 12:00:00' COMMENT '记录修改时间,如果时间是1970年则表示纪录未修改',
+  `creator` varchar(60) DEFAULT '0' COMMENT '创建人,0表示无创建人值',
+  `modifier` varchar(60) DEFAULT '0' COMMENT '修改人,如果为0则表示纪录未修改',
+  `cases_entry_id` bigint(20) NOT NULL DEFAULT '0' COMMENT '病历id',
+  `hospital_id` bigint(20) NOT NULL DEFAULT '0' COMMENT '医院ID',
+  `score` decimal(5,1) NOT NULL DEFAULT '0.0' COMMENT '扣分值',
+  `msg` varchar(1024) DEFAULT NULL COMMENT '条目提示信息',
+  `is_used` int(3) NOT NULL DEFAULT '0' COMMENT '0-未启用 1-启用',
+  `is_reject` int(3) DEFAULT '0' COMMENT '单项否决(1-单项否决 0-非)',
+  `remark` varchar(255) DEFAULT NULL COMMENT '备注',
+  PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=6944 DEFAULT CHARSET=utf8 COMMENT='病历条目';
+
+-- ----------------------------
+-- Table structure for qc_cases_hospital
+-- ----------------------------
+DROP TABLE IF EXISTS `qc_cases_hospital`;
+CREATE TABLE `qc_cases_hospital` (
+  `id` bigint(20) NOT NULL AUTO_INCREMENT,
+  `hospital_id` bigint(20) NOT NULL DEFAULT '0' COMMENT '医院ID',
+  `cases_id` bigint(20) NOT NULL DEFAULT '0' COMMENT '模块ID',
+  `score` decimal(5,1) NOT NULL DEFAULT '0.0' COMMENT '模块总分',
+  `is_deleted` char(3) DEFAULT 'N' COMMENT '是否删除,N:未删除,Y:删除',
+  `gmt_create` datetime DEFAULT '1970-01-01 12:00:00' COMMENT '记录创建时间',
+  `gmt_modified` datetime DEFAULT '1970-01-01 12:00:00' COMMENT '记录修改时间,如果时间是1970年则表示纪录未修改',
+  `creator` varchar(60) DEFAULT '0' COMMENT '创建人,0表示无创建人值',
+  `modifier` varchar(60) DEFAULT '0' COMMENT '修改人,如果为0则表示纪录未修改',
+  PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=41 DEFAULT CHARSET=utf8 COMMENT='医院模块数据';
+
+-- ----------------------------
+-- Table structure for qc_mode
+-- ----------------------------
+DROP TABLE IF EXISTS `qc_mode`;
+CREATE TABLE `qc_mode` (
+  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
+  `name` varchar(128) DEFAULT NULL COMMENT '模块名称',
+  `order_no` int(11) DEFAULT '1' COMMENT '排序号',
+  `parent_id` bigint(20) DEFAULT NULL COMMENT '上级模块',
+  `is_deleted` char(3) DEFAULT 'N' COMMENT '是否删除,N:未删除,Y:删除',
+  `gmt_create` datetime DEFAULT '1970-01-01 12:00:00' COMMENT '记录创建时间',
+  `gmt_modified` datetime DEFAULT '1970-01-01 12:00:00' COMMENT '记录修改时间,如果时间是1970年则表示纪录未修改',
+  `creator` varchar(60) DEFAULT '0' COMMENT '创建人,0表示无创建人值',
+  `modifier` varchar(60) DEFAULT '0' COMMENT '修改人,如果为0则表示纪录未修改',
+  `remark` varchar(255) DEFAULT NULL COMMENT '备注',
+  PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=52 DEFAULT CHARSET=utf8 COMMENT='病历';
+
+-- ----------------------------
+-- Table structure for qc_model_hospital
+-- ----------------------------
+DROP TABLE IF EXISTS `qc_model_hospital`;
+CREATE TABLE `qc_model_hospital` (
+  `hospital_model_name` varchar(255) DEFAULT NULL,
+  `stand_model_name` varchar(255) DEFAULT NULL,
+  `id` int(11) NOT NULL AUTO_INCREMENT,
+  `hospital_id` int(11) DEFAULT NULL,
+  PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=957 DEFAULT CHARSET=utf8;
+
+-- ----------------------------
+-- Table structure for qc_model_mapping
+-- ----------------------------
+DROP TABLE IF EXISTS `qc_model_mapping`;
+CREATE TABLE `qc_model_mapping` (
+  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
+  `is_deleted` char(3) DEFAULT 'N' COMMENT '是否删除,N:未删除,Y:删除',
+  `gmt_create` datetime DEFAULT '1970-01-01 12:00:00' COMMENT '记录创建时间',
+  `gmt_modified` datetime DEFAULT '1970-01-01 12:00:00' COMMENT '记录修改时间,如果时间是1970年则表示纪录未修改',
+  `creator` varchar(60) DEFAULT '0' COMMENT '创建人,0表示无创建人值',
+  `modifier` varchar(60) DEFAULT '0' COMMENT '修改人,如果为0则表示纪录未修改',
+  `case_number_id` bigint(20) DEFAULT NULL COMMENT '病历号',
+  `case_number` varchar(255) DEFAULT NULL,
+  `mode_id` bigint(20) DEFAULT NULL COMMENT '数据类型id',
+  `origin_mode` varchar(255) DEFAULT NULL,
+  `text` longtext COMMENT '内容',
+  `origin_text` longtext,
+  `remark` varchar(255) DEFAULT NULL COMMENT '备注',
+  PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=257952 DEFAULT CHARSET=utf8 COMMENT='病历内容';
+
+-- ----------------------------
+-- Table structure for qc_type
+-- ----------------------------
+DROP TABLE IF EXISTS `qc_type`;
+CREATE TABLE `qc_type` (
+  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
+  `name` varchar(255) DEFAULT NULL COMMENT '质控类型名称',
+  `remark` varchar(255) DEFAULT NULL COMMENT '备注',
+  `is_deleted` char(3) DEFAULT 'N' COMMENT '是否删除,N:未删除,Y:删除',
+  `gmt_create` datetime DEFAULT '1970-01-01 12:00:00' COMMENT '记录创建时间',
+  `gmt_modified` datetime DEFAULT '1970-01-01 12:00:00' COMMENT '记录修改时间,如果时间是1970年则表示纪录未修改',
+  `creator` varchar(60) DEFAULT '0' COMMENT '创建人,0表示无创建人值',
+  `modifier` varchar(60) DEFAULT '0' COMMENT '修改人,如果为0则表示纪录未修改',
+  PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COMMENT='质控类型标准';
+
+-- ----------------------------
+-- Table structure for qc_type_cases_entry
+-- ----------------------------
+DROP TABLE IF EXISTS `qc_type_cases_entry`;
+CREATE TABLE `qc_type_cases_entry` (
+  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
+  `type_id` bigint(20) NOT NULL DEFAULT '0' COMMENT '质控类型ID',
+  `case_entry_id` bigint(20) NOT NULL DEFAULT '0' COMMENT '条目数据ID',
+  `remark` varchar(255) DEFAULT NULL COMMENT '备注',
+  `is_deleted` char(3) DEFAULT 'N' COMMENT '是否删除,N:未删除,Y:删除',
+  `gmt_create` datetime DEFAULT '1970-01-01 12:00:00' COMMENT '记录创建时间',
+  `gmt_modified` datetime DEFAULT '1970-01-01 12:00:00' COMMENT '记录修改时间,如果时间是1970年则表示纪录未修改',
+  `creator` varchar(60) DEFAULT '0' COMMENT '创建人,0表示无创建人值',
+  `modifier` varchar(60) DEFAULT '0' COMMENT '修改人,如果为0则表示纪录未修改',
+  PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=649 DEFAULT CHARSET=utf8 COMMENT='质控类型和质控条目关联表';
+
+-- ----------------------------
+-- Table structure for qc_type_doc
+-- ----------------------------
+DROP TABLE IF EXISTS `qc_type_doc`;
+CREATE TABLE `qc_type_doc` (
+  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
+  `type_id` bigint(20) NOT NULL DEFAULT '0' COMMENT '质控类型ID(qc_type.id)',
+  `hospital_type_id` bigint(20) NOT NULL DEFAULT '0' COMMENT '医院文书类型的类型id(med_record_type.type_id)',
+  `hospital_id` bigint(20) NOT NULL DEFAULT '0' COMMENT '医院文书类型的医院ID(med_record_type.hospital_id)',
+  `remark` varchar(255) DEFAULT NULL COMMENT '备注',
+  `is_deleted` char(3) DEFAULT 'N' COMMENT '是否删除,N:未删除,Y:删除',
+  `gmt_create` datetime DEFAULT '1970-01-01 12:00:00' COMMENT '记录创建时间',
+  `gmt_modified` datetime DEFAULT '1970-01-01 12:00:00' COMMENT '记录修改时间,如果时间是1970年则表示纪录未修改',
+  `creator` varchar(60) DEFAULT '0' COMMENT '创建人,0表示无创建人值',
+  `modifier` varchar(60) DEFAULT '0' COMMENT '修改人,如果为0则表示纪录未修改',
+  PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 COMMENT='质控类型和医院文书类型关联表';
+
+-- ----------------------------
+-- Table structure for sys_dictionary_info
+-- ----------------------------
+DROP TABLE IF EXISTS `sys_dictionary_info`;
+CREATE TABLE `sys_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 '分组(值自定义)',
+  `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=224 DEFAULT CHARSET=utf8 COMMENT='系统字典表';
+
+-- ----------------------------
+-- 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) 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 '菜单名称',
+  `parent_id` bigint(20) NOT NULL DEFAULT '-1' COMMENT '-1:表示顶级,其他值表示上级菜单的id',
+  `code` varchar(255) NOT NULL DEFAULT '' COMMENT '编码,与前端对应',
+  `order_no` int(11) NOT NULL DEFAULT '0' COMMENT '排序,从小到大',
+  `remark` varchar(255) NOT NULL DEFAULT '' COMMENT '备注',
+  PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8 COMMENT='系统菜单';
+
+-- ----------------------------
+-- Table structure for sys_menu_permission
+-- ----------------------------
+DROP TABLE IF EXISTS `sys_menu_permission`;
+CREATE TABLE `sys_menu_permission` (
+  `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则表示纪录未修改',
+  `menu_id` bigint(20) NOT NULL DEFAULT '0' COMMENT '菜单id',
+  `permission_id` bigint(20) NOT NULL DEFAULT '0' COMMENT '系统资源id',
+  `remark` varchar(255) DEFAULT NULL COMMENT '备注',
+  PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='菜单和系统资源的映射表';
+
+-- ----------------------------
+-- Table structure for sys_permission
+-- ----------------------------
+DROP TABLE IF EXISTS `sys_permission`;
+CREATE TABLE `sys_permission` (
+  `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则表示纪录未修改',
+  `name` varchar(255) NOT NULL DEFAULT '' COMMENT '资源名称',
+  `permissionUrl` varchar(255) NOT NULL DEFAULT '' COMMENT '资源Url',
+  `method` varchar(255) NOT NULL DEFAULT 'ALL' COMMENT '资源允许的请求方式',
+  `descritpion` varchar(255) NOT NULL DEFAULT '' COMMENT '资源描述',
+  `remark` varchar(255) DEFAULT NULL COMMENT '备注',
+  PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=17 DEFAULT CHARSET=utf8 COMMENT='系统资源表';
+
+-- ----------------------------
+-- Table structure for sys_role
+-- ----------------------------
+DROP TABLE IF EXISTS `sys_role`;
+CREATE TABLE `sys_role` (
+  `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则表示纪录未修改',
+  `name` varchar(255) NOT NULL DEFAULT '' COMMENT '角色名称',
+  `roleLevel` int(11) NOT NULL DEFAULT '0' COMMENT '角色等级',
+  `descritpion` varchar(255) NOT NULL DEFAULT '' COMMENT '角色描述',
+  `menuItems` varchar(255) NOT NULL DEFAULT '' COMMENT '菜单ID:对应角色ID(暂无用处)',
+  `remark` varchar(255) DEFAULT NULL COMMENT '备注',
+  PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 COMMENT='系统角色表';
+
+-- ----------------------------
+-- Table structure for sys_role_menu
+-- ----------------------------
+DROP TABLE IF EXISTS `sys_role_menu`;
+CREATE TABLE `sys_role_menu` (
+  `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则表示纪录未修改',
+  `role_id` bigint(20) NOT NULL DEFAULT '0' COMMENT '角色id',
+  `menu_id` bigint(20) NOT NULL DEFAULT '0' COMMENT '菜单id',
+  `remark` varchar(255) DEFAULT NULL COMMENT '备注',
+  PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8 COMMENT='角色和菜单的映射表';
+
+-- ----------------------------
+-- Table structure for sys_role_permission
+-- ----------------------------
+DROP TABLE IF EXISTS `sys_role_permission`;
+CREATE TABLE `sys_role_permission` (
+  `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则表示纪录未修改',
+  `role_id` bigint(20) NOT NULL DEFAULT '0' COMMENT '角色id',
+  `permission_id` bigint(20) NOT NULL DEFAULT '0' COMMENT '资源id',
+  `remark` varchar(255) DEFAULT NULL COMMENT '备注',
+  PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=19 DEFAULT CHARSET=utf8 COMMENT='角色和资源的映射表';
+
+-- ----------------------------
+-- Table structure for sys_task_cron
+-- ----------------------------
+DROP TABLE IF EXISTS `sys_task_cron`;
+CREATE TABLE `sys_task_cron` (
+  `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则表示纪录未修改',
+  `cron_code` varchar(30) NOT NULL DEFAULT '' COMMENT '任务编号',
+  `cron` varchar(30) NOT NULL DEFAULT '' COMMENT '任务执行周期',
+  `is_used` int(3) NOT NULL DEFAULT '0' COMMENT '0-未启用 1-启用',
+  `remark` varchar(100) NOT NULL DEFAULT '' COMMENT '备注',
+  PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COMMENT='定时任务';
+
+-- ----------------------------
+-- Table structure for sys_user
+-- ----------------------------
+DROP TABLE IF EXISTS `sys_user`;
+CREATE TABLE `sys_user` (
+  `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则表示纪录未修改',
+  `username` varchar(255) NOT NULL DEFAULT '' COMMENT '用户名',
+  `password` varchar(255) NOT NULL DEFAULT '' COMMENT '用户密码',
+  `linkman` varchar(255) NOT NULL DEFAULT '' COMMENT '联系人',
+  `type` int(11) NOT NULL DEFAULT '0' COMMENT '1内部用户,0外部用户(默认0)',
+  `remark` varchar(255) NOT NULL DEFAULT '' COMMENT '备注',
+  PRIMARY KEY (`id`),
+  KEY `uk_username` (`username`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=28 DEFAULT CHARSET=utf8 COMMENT='系统用户表';
+
+-- ----------------------------
+-- Table structure for sys_user_hospital
+-- ----------------------------
+DROP TABLE IF EXISTS `sys_user_hospital`;
+CREATE TABLE `sys_user_hospital` (
+  `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则表示纪录未修改',
+  `user_id` bigint(20) NOT NULL DEFAULT '0' COMMENT '用户主键',
+  `hospital_id` bigint(20) NOT NULL DEFAULT '0' COMMENT '医院ID',
+  `remark` varchar(255) DEFAULT NULL COMMENT '备注',
+  PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=24 DEFAULT CHARSET=utf8 COMMENT='用户-机构表映射表';
+
+-- ----------------------------
+-- Table structure for sys_user_role
+-- ----------------------------
+DROP TABLE IF EXISTS `sys_user_role`;
+CREATE TABLE `sys_user_role` (
+  `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则表示纪录未修改',
+  `user_id` bigint(20) NOT NULL DEFAULT '0' COMMENT '系统用户表.用户ID',
+  `role_id` bigint(20) NOT NULL DEFAULT '0' COMMENT '系统角色表.角色ID',
+  `remark` varchar(255) NOT NULL DEFAULT '' COMMENT '备注',
+  PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=28 DEFAULT CHARSET=utf8 COMMENT='系统用户角色关联表';

+ 7 - 0
src/main/java/com/diagbot/client/AuthServiceClient.java

@@ -1,10 +1,14 @@
 package com.diagbot.client;
 
 import com.diagbot.client.hystrix.AuthServiceHystrix;
+import com.diagbot.dto.AnalyzeDTO;
+import com.diagbot.dto.RespDTO;
 import com.diagbot.entity.JWT;
+import com.diagbot.vo.AnalyzeVO;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.security.oauth2.common.OAuth2AccessToken;
 import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestHeader;
 import org.springframework.web.bind.annotation.RequestParam;
 
@@ -25,6 +29,9 @@ public interface AuthServiceClient {
 
     @PostMapping(value = "/oauth/check_token")
     OAuth2AccessToken checkToken(@RequestHeader(value = "Authorization") String authorization, @RequestParam("token") String token);
+
+    @PostMapping(value = "/qc/behospitalInfo/analyze_rpc")
+    RespDTO<AnalyzeDTO> analyze_rpc(@RequestBody AnalyzeVO analyzeVO);
 }
 
 

+ 9 - 0
src/main/java/com/diagbot/client/hystrix/AuthServiceHystrix.java

@@ -2,7 +2,10 @@ package com.diagbot.client.hystrix;
 
 
 import com.diagbot.client.AuthServiceClient;
+import com.diagbot.dto.AnalyzeDTO;
+import com.diagbot.dto.RespDTO;
 import com.diagbot.entity.JWT;
+import com.diagbot.vo.AnalyzeVO;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.security.oauth2.common.OAuth2AccessToken;
 import org.springframework.stereotype.Component;
@@ -32,4 +35,10 @@ public class AuthServiceHystrix implements AuthServiceClient {
         log.error("【hystrix】调用{}异常", "checkToken");
         return null;
     }
+
+    @Override
+    public RespDTO<AnalyzeDTO> analyze_rpc(AnalyzeVO analyzeVO) {
+        log.error("【hystrix】调用{}异常", "analyze_rpc");
+        return null;
+    }
 }

+ 3 - 4
src/main/java/com/diagbot/config/ResourceServerConfigurer.java

@@ -3,7 +3,6 @@ package com.diagbot.config;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.ComponentScan;
 import org.springframework.context.annotation.Configuration;
@@ -14,7 +13,6 @@ import org.springframework.security.jwt.crypto.sign.RsaVerifier;
 import org.springframework.security.oauth2.config.annotation.web.configuration.EnableResourceServer;
 import org.springframework.security.oauth2.config.annotation.web.configuration.ResourceServerConfigurerAdapter;
 import org.springframework.security.oauth2.config.annotation.web.configurers.ResourceServerSecurityConfigurer;
-import org.springframework.security.oauth2.provider.token.TokenStore;
 import org.springframework.security.oauth2.provider.token.store.JwtAccessTokenConverter;
 import org.springframework.security.oauth2.provider.token.store.JwtTokenStore;
 import org.springframework.util.FileCopyUtils;
@@ -45,9 +43,10 @@ public class ResourceServerConfigurer extends ResourceServerConfigurerAdapter {
                 .antMatchers("/sys/dictionaryInfo/getDictionary").permitAll()
                 .antMatchers("/oauth/token").permitAll()
                 .antMatchers("/oauth/check_token").permitAll()
-                .antMatchers("/qc/behospitalInfo/analyze").permitAll()
                 .antMatchers("/cache/clear").permitAll()
-                .antMatchers("/qc/mode/getMenu").permitAll()
+                .antMatchers("/qc/behospitalInfo/execule").permitAll()
+                .antMatchers("/qc/behospitalInfo/analyze_rpc").permitAll()
+                .antMatchers("/qc/behospitalInfo/analyze").permitAll()
                 .antMatchers("/**").authenticated();
 //                .antMatchers("/**").permitAll();
     }

+ 3 - 2
src/main/java/com/diagbot/config/security/UrlAccessDecisionManager.java

@@ -86,9 +86,10 @@ public class UrlAccessDecisionManager implements AccessDecisionManager {
                 || matchers("/sys/user/checkToken", request)
                 || matchers("/oauth/token", request)
                 || matchers("/oauth/check_token", request)
-                || matchers("/qc/behospitalInfo/analyze", request)
                 || matchers("/cache/clear", request)
-                || matchers("/qc/mode/getMenu", request)
+                || matchers("/qc/behospitalInfo/execule", request)
+                || matchers("/qc/behospitalInfo/analyze_rpc", request)
+                || matchers("/qc/behospitalInfo/analyze", request)
                 || matchers("/", request)) {
             return true;
         }

+ 6 - 0
src/main/java/com/diagbot/dto/MsgDTO.java

@@ -23,6 +23,12 @@ public class MsgDTO {
     private String isReject;
     //模块名称
     private String modelName;
+    //模块id
+    private String modelId;
+    //模块ID
+    private Long casesId;
+    //模块分数
+    private BigDecimal casesScore;
     // 条目ID
     private Long casesEntryId;
 }

+ 9 - 6
src/main/java/com/diagbot/dto/QcCasesEntryFindDTO.java

@@ -1,9 +1,10 @@
 package com.diagbot.dto;
 
-import io.swagger.models.auth.In;
 import lombok.Getter;
 import lombok.Setter;
 
+import java.math.BigDecimal;
+
 /**
  * @author wangfeng
  * @Description:
@@ -12,22 +13,24 @@ import lombok.Setter;
 @Setter
 @Getter
 public class QcCasesEntryFindDTO {
+    //医院id
+    private Long hospitalId;
     //模块id
     private Long casesId;
     //模块名
     private String casesName;
+    //模块分值
+    private BigDecimal CaseScore;
     //医院模块id
     private Long modeId;
     //条目id
     private Long casesEntryId;
-    //医院id
-    private Long hospitalId;
     //条目名
     private String entryName;
     //提示信息
-    private String msg ;
-    //分值
-    private Double score;
+    private String msg;
+    //条目分值
+    private BigDecimal score;
     //是否单项否决
     private Integer isReject;
 }

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

@@ -28,7 +28,7 @@ public class BehospitalInfo implements Serializable {
     /**
      * 医院ID
      */
-    private String hospitalId;
+    private Long hospitalId;
 
     /**
      * 姓名

+ 43 - 2
src/main/java/com/diagbot/facade/BehospitalInfoFacade.java

@@ -3,6 +3,7 @@ package com.diagbot.facade;
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.diagbot.client.AuthServiceClient;
 import com.diagbot.client.QcServiceClient;
 import com.diagbot.dto.AlgorithmDTO;
 import com.diagbot.dto.AnalyzeDTO;
@@ -83,6 +84,8 @@ public class BehospitalInfoFacade extends BehospitalInfoServiceImpl {
     private QcresultInfoFacade qcresultInfoFacade;
     @Autowired
     QcModeFacade qcModeFacade;
+    @Autowired
+    AuthServiceClient authServiceClient;
 
     public IPage<BehospitalInfoDTO> pageFac(BehospitalPageVO behospitalPageVO) {
 
@@ -144,7 +147,10 @@ public class BehospitalInfoFacade extends BehospitalInfoServiceImpl {
     }
 
     public AnalyzeDTO analyze(AnalyzeVO analyzeVO) {
-        Long hospitalId = Long.parseLong(SysUserUtils.getCurrentHospitalID());
+        Long hospitalId = analyzeVO.getHospitalId();
+        if (!analyzeVO.getIsTask()) {
+            hospitalId = Long.parseLong(SysUserUtils.getCurrentHospitalID());
+        }
 //        Long hospitalId = 1L; // 写死
         analyzeVO.setHospitalId(hospitalId);
         // 获取质控条目
@@ -258,7 +264,7 @@ public class BehospitalInfoFacade extends BehospitalInfoServiceImpl {
         List<QcModeDTO> qcModeDTOList = qcModeFacade.getMenu(pageMap);
         String menuData = JSON.toJSONString(qcModeDTOList);
 
-        Date date = qcresultInfoFacade.saveQcResult(algorithmDTO, algorithmVO, analyzeVO, pageData, menuData);
+        Date date = qcresultInfoFacade.saveQcResult(algorithmDTO, algorithmVO, analyzeVO, pageData, menuData, analyzeVO.getIsTask());
 
         // 返回提示信息
         List<MsgDTO> msgDTOList = getMsg(analyzeVO);
@@ -320,6 +326,11 @@ public class BehospitalInfoFacade extends BehospitalInfoServiceImpl {
             }
         }
         if (flag) {
+            // 会诊记录特殊处理,有会诊申请单,没有会诊结果单,复制一份到会诊结果单
+            if ("会诊记录".equals(key) && ListUtil.isNotEmpty(listMap.get("会诊申请单"))
+                    && ListUtil.isEmpty(listMap.get("会诊结果单"))) {
+                listMap.put("会诊结果单", listMap.get("会诊申请单"));
+            }
             content.put("content", listMap);
             medrecVo.setContent(content);
             medrecVoList.add(medrecVo);
@@ -515,4 +526,34 @@ public class BehospitalInfoFacade extends BehospitalInfoServiceImpl {
         }
         return age;
     }
+
+    /**
+     * 执行未评分的病历
+     */
+    public void execute() {
+        List<BehospitalInfo> behospitalInfoList = getNoGrade();
+        for (BehospitalInfo bean : behospitalInfoList) {
+            AnalyzeVO analyzeVO = new AnalyzeVO();
+            analyzeVO.setIsTask(true);
+            analyzeVO.setHospitalId(bean.getHospitalId());
+            analyzeVO.setBehospitalCode(bean.getBehospitalCode());
+            authServiceClient.analyze_rpc(analyzeVO);
+        }
+
+//        List<BehospitalInfo> behospitalInfoList = this.list(new QueryWrapper<BehospitalInfo>()
+//                .eq("is_deleted", IsDeleteEnum.N.getKey())
+//        );
+//
+//        int i = 1;
+//        while(i < 100) {
+//            for (BehospitalInfo bean : behospitalInfoList) {
+//                AnalyzeVO analyzeVO = new AnalyzeVO();
+//                analyzeVO.setIsTask(true);
+//                analyzeVO.setHospitalId(bean.getHospitalId());
+//                analyzeVO.setBehospitalCode(bean.getBehospitalCode());
+//                authServiceClient.analyze_rpc(analyzeVO);
+//                System.out.println(i++);
+//            }
+//        }
+    }
 }

+ 2 - 4
src/main/java/com/diagbot/facade/QcCasesEntryHospitalFacade.java

@@ -31,8 +31,6 @@ import java.util.List;
  */
 @Component
 public class QcCasesEntryHospitalFacade extends QcCasesEntryHospitalServiceImpl {
-    @Autowired
-    QcCasesEntryHospitalService qcCasesEntryHospitalService;
     @Autowired
     private QcCasesFacade qcCasesFacade;
 
@@ -42,7 +40,7 @@ public class QcCasesEntryHospitalFacade extends QcCasesEntryHospitalServiceImpl
      * @return
      */
     public IPage<List<QcCasesEntryHospitalDTO>> QcCasesEntryHospitals(QcCasesEntryHospitalVO qcCasesEntryHospitalVO) {
-        IPage<List<QcCasesEntryHospitalDTO>> data = qcCasesEntryHospitalService.getQcCasesEntryAlls(qcCasesEntryHospitalVO);
+        IPage<List<QcCasesEntryHospitalDTO>> data = this.getQcCasesEntryAlls(qcCasesEntryHospitalVO);
         return data;
     }
 
@@ -92,7 +90,7 @@ public class QcCasesEntryHospitalFacade extends QcCasesEntryHospitalServiceImpl
      * @return
      */
     public List<QcCasesEntryFindDTO> findQcCasesEntryAlls(QcCasesEntryFindVO qcCasesEntryFindVO) {
-        List<QcCasesEntryFindDTO> data = qcCasesEntryHospitalService.findQcCasesEntryAll(qcCasesEntryFindVO);
+        List<QcCasesEntryFindDTO> data = this.findQcCasesEntryAll(qcCasesEntryFindVO);
         return data;
     }
 }

+ 6 - 3
src/main/java/com/diagbot/facade/QcresultInfoFacade.java

@@ -97,7 +97,7 @@ public class QcresultInfoFacade extends QcresultInfoServiceImpl {
         AnalyzeVO analyzeVO = new AnalyzeVO();
         analyzeVO.setHospitalId(hospitalId);
         analyzeVO.setBehospitalCode(qcresultVO.getBehospitalCode());
-        Date date = this.saveQcResult(algorithmDTO, algorithmVO, analyzeVO,null, null);
+        Date date = this.saveQcResult(algorithmDTO, algorithmVO, analyzeVO,null, null, false);
         //返回参数组装
         AnalyzeDTO analyzeDTO = new AnalyzeDTO();
         analyzeDTO.setBehospitalCode(qcresultVO.getBehospitalCode());
@@ -111,9 +111,12 @@ public class QcresultInfoFacade extends QcresultInfoServiceImpl {
     }
 
     public Date saveQcResult(AlgorithmDTO algorithmDTO, AlgorithmVO algorithmVO, AnalyzeVO analyzeVO,
-                             String pageData, String menuData) {
+                             String pageData, String menuData, Boolean isTask) {
         //更新质控评分结果信息
-        Long useId = Long.valueOf(SysUserUtils.getCurrentPrincipleID());
+        Long useId = 0L;
+        if (!isTask) {
+            useId = Long.valueOf(SysUserUtils.getCurrentPrincipleID());
+        }
         Date now = DateUtil.now();
         //获取旧记录
         QcresultInfo qcresultInfo

+ 3 - 0
src/main/java/com/diagbot/mapper/BehospitalInfoMapper.java

@@ -41,4 +41,7 @@ public interface BehospitalInfoMapper extends BaseMapper<BehospitalInfo> {
      * @return
      */
     public List<ResultDetailDTO> resultStatisticsByDept(FilterVO filterVO);
+
+
+    public List<BehospitalInfo> getNoGrade();
 }

+ 3 - 0
src/main/java/com/diagbot/service/BehospitalInfoService.java

@@ -41,4 +41,7 @@ public interface BehospitalInfoService extends IService<BehospitalInfo> {
      * @return
      */
     public List<ResultDetailDTO> resultStatisticsByDept(FilterVO filterVO);
+
+
+    public List<BehospitalInfo> getNoGrade();
 }

+ 5 - 0
src/main/java/com/diagbot/service/impl/BehospitalInfoServiceImpl.java

@@ -57,4 +57,9 @@ public class BehospitalInfoServiceImpl extends ServiceImpl<BehospitalInfoMapper,
     public List<ResultDetailDTO> resultStatisticsByDept(FilterVO filterVO) {
         return baseMapper.resultStatisticsByDept(filterVO);
     }
+
+    @Override
+    public List<BehospitalInfo> getNoGrade() {
+        return baseMapper.getNoGrade();
+    }
 }

+ 10 - 5
src/main/java/com/diagbot/task/BehospitalInfoAnalyzeTask.java

@@ -3,8 +3,10 @@ package com.diagbot.task;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.diagbot.entity.SysTaskCron;
 import com.diagbot.enums.IsDeleteEnum;
+import com.diagbot.facade.BehospitalInfoFacade;
 import com.diagbot.facade.SysTaskCronFacade;
 import com.diagbot.util.StringUtil;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.scheduling.Trigger;
@@ -13,7 +15,6 @@ import org.springframework.scheduling.annotation.EnableScheduling;
 import org.springframework.scheduling.annotation.SchedulingConfigurer;
 import org.springframework.scheduling.config.ScheduledTaskRegistrar;
 import org.springframework.scheduling.support.CronTrigger;
-import org.springframework.stereotype.Component;
 
 import java.time.LocalDateTime;
 import java.util.Date;
@@ -23,15 +24,18 @@ import java.util.Date;
  * @author: gaodm
  * @time: 2020/4/15 17:45
  */
-//@Component
-//@Configuration      //1.主要用于标记配置类,兼备Component的效果。
-//@EnableScheduling   // 2.开启定时任务
+@Configuration      //1.主要用于标记配置类,兼备Component的效果。
+@EnableScheduling   // 2.开启定时任务
+@Slf4j
 public class BehospitalInfoAnalyzeTask implements SchedulingConfigurer {
     @Autowired
     private SysTaskCronFacade sysTaskCronFacade;
 
     private SysTaskCron task001 = new SysTaskCron();
 
+    @Autowired
+    private BehospitalInfoFacade behospitalInfoFacade;
+
     /**
      * 执行定时任务.
      */
@@ -44,7 +48,8 @@ public class BehospitalInfoAnalyzeTask implements SchedulingConfigurer {
                 if (null != task001
                         && task001.getIsDeleted().equals(IsDeleteEnum.N.getKey())
                         && task001.getIsUsed().equals(1)) {
-                    System.out.println("执行动态定时任务: " + LocalDateTime.now().toLocalTime());
+                    log.info("执行动态定时任务: " + LocalDateTime.now().toLocalTime());
+                    behospitalInfoFacade.execute();
                 }
             }
         }, new Trigger() {

+ 2 - 0
src/main/java/com/diagbot/vo/AnalyzeVO.java

@@ -14,4 +14,6 @@ public class AnalyzeVO {
     private String behospitalCode; // 病历id
     @ApiModelProperty(hidden = true)
     private Long hospitalId; //医院ID
+    @ApiModelProperty(hidden = true)
+    private Boolean isTask = false;
 }

+ 18 - 0
src/main/java/com/diagbot/web/BehospitalInfoController.java

@@ -73,6 +73,15 @@ public class BehospitalInfoController {
         return RespDTO.onSuc(behospitalInfoFacade.analyze(analyzeVO));
     }
 
+    @ApiOperation(value = "评分[by:zhoutg]",
+            notes = "")
+    @PostMapping("/analyze_rpc")
+    @SysLogger("analyze_rpc")
+    @Transactional
+    public RespDTO<AnalyzeDTO> analyze_rpc(@RequestBody AnalyzeVO analyzeVO) {
+        return RespDTO.onSuc(behospitalInfoFacade.analyze(analyzeVO));
+    }
+
     @ApiOperation(value = "新增质控条目[by:zhoutg]",
             notes = "")
     @PostMapping("/addCase")
@@ -100,4 +109,13 @@ public class BehospitalInfoController {
         qcresultVO.setType(3);
         return RespDTO.onSuc(qcresultInfoFacade.changeQcResult(qcresultVO));
     }
+
+    @ApiOperation(value = "批量执行[by:zhoutg]",
+            notes = "")
+    @PostMapping("/execule")
+    @SysLogger("execule")
+    public RespDTO<Boolean> execule(){
+        behospitalInfoFacade.execute();
+        return RespDTO.onSuc(true);
+    }
 }

+ 22 - 3
src/main/resources/mapper/BehospitalInfoMapper.xml

@@ -62,11 +62,13 @@
     </select>
 
     <select id="getMsg" resultType="com.diagbot.dto.MsgDTO">
-        SELECT b.`name` model_name,c.score,c.msg,c.cases_entry_id,c.is_reject,c.id id
-        FROM `qc_cases_entry` a, qc_mode b, med_qcresult_detail c
-        where a.is_deleted = 'N' and b.is_deleted = 'N' and c.is_deleted = 'N'
+        SELECT b.`name` model_name,c.score,c.msg,c.cases_entry_id,c.is_reject,c.id id, a.cases_id cases_id, d.score cases_score,b.id model_id
+        FROM `qc_cases_entry` a, qc_mode b, med_qcresult_detail c, qc_cases_hospital d
+        where a.is_deleted = 'N' and b.is_deleted = 'N' and c.is_deleted = 'N' and d.is_deleted = 'N'
         and a.id = c.cases_entry_id
         and a.mode_id = b.id
+        AND c.cases_id = d.cases_id
+        and c.hospital_id = d.hospital_id
         and c.hospital_id = #{hospitalId}
         and c.behospital_code = #{behospitalCode}
         order by a.order_no
@@ -197,4 +199,21 @@
         ) t2
         )
     </select>
+
+
+    <select id="getNoGrade" resultMap="BaseResultMap">
+         select * from med_behospital_info a
+            where a.is_deleted = 'N'
+            and
+            not EXISTS (
+            SELECT
+                1
+            FROM
+                med_qcresult_info b
+            WHERE
+                b.is_deleted = 'N'
+            AND a.hospital_id = b.hospital_id
+            AND a.behospital_code = b.behospital_code
+            )
+    </select>
 </mapper>

+ 15 - 9
src/main/resources/mapper/QcCasesEntryHospitalMapper.xml

@@ -59,17 +59,23 @@
         b.mode_id AS modeId,
         b.id AS casesEntryId,
         a.hospital_id AS hospitalId,
-        b.name AS entryName,
-        a.msg AS msg ,
-        a.score as score,
-        a.is_reject as isReject
+        b. NAME AS entryName,
+        a.msg AS msg,
+        a.score AS score,
+        a.is_reject AS isReject,
+        c.score AS caseScore
         FROM
-        qc_cases_entry_hospital a
-        JOIN qc_cases_entry b
-        ON a.cases_entry_id = b.id
-        WHERE a.is_deleted = "N"
+        qc_cases_entry_hospital a,
+        qc_cases_entry b,
+        qc_cases_hospital c
+        WHERE
+        a.is_deleted = "N"
         AND b.is_deleted = "N"
-        AND a.is_used =1
+        AND c.is_deleted = "N"
+        AND a.cases_entry_id = b.id
+        AND c.cases_id = b.cases_id
+        AND c.hospital_id = a.hospital_id
+        AND a.is_used = 1
         <if test="hospitalId != null and hospitalId != ''">
             AND a.hospital_id = #{hospitalId}
         </if>