Files
zyt/server/sql/1.9.20261110/02_assistant_service_alert.sql
2026-11-12 09:07:07 +08:00

27 lines
1.6 KiB
SQL

-- 行为预警。只保存规则命中和摘录。channel 为 im 或 call。
-- MySQL 5.7 兼容;可重复执行。核实实际表前缀后执行。
CREATE TABLE IF NOT EXISTS `zyt_assistant_service_alert` (
`id` bigint unsigned NOT NULL AUTO_INCREMENT,
`staff_admin_id` int unsigned NOT NULL COMMENT '发消息时的员工账号,不按患者当前归属回填',
`patient_id` int unsigned NOT NULL,
`diagnosis_id` int unsigned NOT NULL DEFAULT 0 COMMENT '消息上的诊单,0表示当时没有可靠诊单',
`channel` varchar(16) NOT NULL COMMENT 'im',
`source_id` bigint unsigned NOT NULL COMMENT '来源表主键,企微文字为 0',
`source_key` varchar(80) NOT NULL DEFAULT '' COMMENT '企微消息和患者组成的来源键',
`rule_code` varchar(32) NOT NULL,
`rule_version` smallint unsigned NOT NULL,
`severity` varchar(16) NOT NULL COMMENT 'high/medium/low',
`snippet` varchar(120) NOT NULL COMMENT '命中位置附近的摘录',
`status` varchar(16) NOT NULL DEFAULT 'open' COMMENT 'open/confirmed/false_positive/followed',
`reviewer_id` int unsigned NOT NULL DEFAULT 0,
`review_note` varchar(200) NOT NULL DEFAULT '',
`reviewed_at` int unsigned NOT NULL DEFAULT 0,
`occurred_at` int unsigned NOT NULL,
`created_at` int unsigned NOT NULL,
`updated_at` int unsigned NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `uk_channel_source_rule` (`channel`,`source_id`,`source_key`,`rule_code`),
KEY `idx_status_time` (`status`,`occurred_at`,`id`),
KEY `idx_staff_time` (`staff_admin_id`,`occurred_at`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='医助行为预警';