- 数据库:在adm_charge_item表添加SourceBillNo字段 - 后端实体类:更新ChargeItem.java添加SourceBillNo字段 - 前端组件:创建手术计费界面(基于门诊划价界面) - 后端API:扩展PrePrePaymentDto支持手术计费标识 - 后端Service:扩展getChargeItems方法支持手术计费过滤 - 门诊手术安排界面:添加【计费】按钮 注意事项: - 需要手动执行SQL脚本:openhis-server-new/sql/add_source_bill_no_to_adm_charge_item.sql - 术后一站式结算功能待后续开发
135 lines
6.8 KiB
SQL
135 lines
6.8 KiB
SQL
-- 会诊申请表
|
||
CREATE TABLE IF NOT EXISTS consultation_request (
|
||
id BIGSERIAL PRIMARY KEY,
|
||
patient_id VARCHAR(50) NOT NULL, -- 患者ID
|
||
patient_name VARCHAR(100), -- 患者姓名
|
||
gender VARCHAR(10), -- 患者性别
|
||
age INTEGER, -- 患者年龄
|
||
visit_id BIGINT, -- 门诊就诊流水号
|
||
order_id BIGINT, -- 门诊医嘱表主键
|
||
department_id BIGINT, -- 申请科室ID
|
||
department_name VARCHAR(100), -- 申请科室名称
|
||
attending_doctor_id BIGINT, -- 主管医生ID
|
||
attending_doctor_name VARCHAR(100), -- 主管医生姓名
|
||
consultation_purpose TEXT, -- 会诊目的
|
||
provisional_diagnosis TEXT, -- 门诊诊断
|
||
current_condition TEXT, -- 目前病情
|
||
consultation_department_ids TEXT, -- 申请会诊科室ID列表,逗号分隔
|
||
consultation_doctor_ids TEXT, -- 申请会诊医生ID列表,逗号分隔
|
||
consultation_type INTEGER DEFAULT 1, -- 会诊类型:1-普通会诊,2-紧急会诊,3-多学科会诊
|
||
priority_level INTEGER DEFAULT 1, -- 优先级:1-低,2-中,3-高
|
||
consultation_status INTEGER DEFAULT 0, -- 会诊状态:0-新开,10-已提交,20-已确认,30-已签名,40-已完成,50-已取消
|
||
consultation_opinion TEXT, -- 会诊意见
|
||
confirming_physician VARCHAR(100), -- 提交会诊的医生
|
||
confirming_physician_id BIGINT, -- 提交会诊的医生ID
|
||
confirming_date TIMESTAMP, -- 提交会诊时间
|
||
consultation_urgency VARCHAR(20) DEFAULT '一般', -- 是否紧急
|
||
application_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP, -- 申请日期
|
||
consultation_request_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP, -- 会诊申请时间
|
||
confirmed_date TIMESTAMP, -- 确认日期
|
||
scheduled_date TIMESTAMP, -- 计划会诊日期
|
||
actual_date TIMESTAMP, -- 实际会诊日期
|
||
location VARCHAR(200), -- 会诊地点
|
||
confirming_physician_name VARCHAR(100), -- 确认会诊的医生姓名
|
||
signature VARCHAR(100), -- 签名医生
|
||
signature_date TIMESTAMP, -- 签名时间
|
||
confirming_department_name VARCHAR(100), -- 代表科室
|
||
confirming_physician_participation VARCHAR(100), -- 会诊确认参加医师
|
||
creator_id BIGINT, -- 创建人ID
|
||
creator_name VARCHAR(100), -- 创建人姓名
|
||
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP, -- 创建时间
|
||
updater_id BIGINT, -- 更新人ID
|
||
updater_name VARCHAR(100), -- 更新人姓名
|
||
update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP, -- 更新时间
|
||
valid_flag INTEGER DEFAULT 1, -- 有效标志:1-有效,0-无效
|
||
tenant_id INTEGER DEFAULT 1 -- 租户ID
|
||
);
|
||
|
||
-- 会诊确认表
|
||
CREATE TABLE IF NOT EXISTS consultation_confirmation (
|
||
id BIGSERIAL PRIMARY KEY,
|
||
consultation_request_id BIGINT, -- 会诊申请ID
|
||
confirming_department_id BIGINT NOT NULL, -- 确认科室ID
|
||
confirming_department_name VARCHAR(100) NOT NULL, -- 确认科室名称
|
||
confirming_doctor_id BIGINT NOT NULL, -- 确认医生ID
|
||
confirming_doctor_name VARCHAR(100) NOT NULL, -- 确认医生姓名
|
||
confirmation_status INTEGER DEFAULT 1, -- 确认状态:1-待确认,2-同意,3-拒绝
|
||
confirmation_reason TEXT, -- 确认/拒绝理由
|
||
confirmation_date TIMESTAMP, -- 确认日期
|
||
consultation_opinion TEXT, -- 会诊意见
|
||
confirming_physician_participation VARCHAR(100), -- 会诊确认参加医师
|
||
confirming_physician_name VARCHAR(100), -- 所属医生
|
||
confirming_department_name_field VARCHAR(100), -- 代表科室
|
||
signature VARCHAR(100), -- 签名医生
|
||
signature_date TIMESTAMP, -- 签名时间
|
||
creator_id BIGINT NOT NULL, -- 创建人ID
|
||
creator_name VARCHAR(100) NOT NULL, -- 创建人姓名
|
||
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP, -- 创建时间
|
||
updater_id BIGINT, -- 更新人ID
|
||
updater_name VARCHAR(100), -- 更新人姓名
|
||
update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP, -- 更新时间
|
||
valid_flag INTEGER DEFAULT 1, -- 有效标志:1-有效,0-无效
|
||
tenant_id INTEGER DEFAULT 1 -- 租户ID
|
||
);
|
||
|
||
-- 会诊记录表
|
||
CREATE TABLE IF NOT EXISTS consultation_record (
|
||
id BIGSERIAL PRIMARY KEY,
|
||
consultation_request_id BIGINT, -- 会诊申请ID
|
||
participant_doctor_id BIGINT NOT NULL, -- 参与医生ID
|
||
participant_doctor_name VARCHAR(100) NOT NULL, -- 参与医生姓名
|
||
participant_department_id BIGINT NOT NULL, -- 参与科室ID
|
||
participant_department_name VARCHAR(100) NOT NULL, -- 参与科室名称
|
||
opinion TEXT, -- 会诊意见
|
||
suggestion TEXT, -- 会诊建议
|
||
record_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP, -- 记录日期
|
||
creator_id BIGINT NOT NULL, -- 创建人ID
|
||
creator_name VARCHAR(100) NOT NULL, -- 创建人姓名
|
||
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP, -- 创建时间
|
||
updater_id BIGINT, -- 更新人ID
|
||
updater_name VARCHAR(100), -- 更新人姓名
|
||
update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP, -- 更新时间
|
||
valid_flag INTEGER DEFAULT 1, -- 有效标志:1-有效,0-无效
|
||
tenant_id INTEGER DEFAULT 1 -- 租户ID
|
||
);
|
||
|
||
-- 创建索引
|
||
CREATE INDEX IF NOT EXISTS idx_consultation_request_patient_id ON consultation_request(patient_id);
|
||
CREATE INDEX IF NOT EXISTS idx_consultation_request_dept_id ON consultation_request(department_id);
|
||
CREATE INDEX IF NOT EXISTS idx_consultation_request_status ON consultation_request(consultation_status);
|
||
CREATE INDEX IF NOT EXISTS idx_consultation_request_date ON consultation_request(application_date);
|
||
|
||
CREATE INDEX IF NOT EXISTS idx_consultation_confirmation_req_id ON consultation_confirmation(consultation_request_id);
|
||
CREATE INDEX IF NOT EXISTS idx_consultation_confirmation_doctor_id ON consultation_confirmation(confirming_doctor_id);
|
||
CREATE INDEX IF NOT EXISTS idx_consultation_confirmation_status ON consultation_confirmation(confirmation_status);
|
||
|
||
CREATE INDEX IF NOT EXISTS idx_consultation_record_req_id ON consultation_record(consultation_request_id);
|
||
CREATE INDEX IF NOT EXISTS idx_consultation_record_doctor_id ON consultation_record(participant_doctor_id);
|
||
|
||
-- 添加外键约束
|
||
DO $$
|
||
BEGIN
|
||
-- 为consultation_confirmation表添加外键约束
|
||
IF NOT EXISTS (
|
||
SELECT 1
|
||
FROM information_schema.table_constraints
|
||
WHERE constraint_name = 'fk_consultation_confirmation_request'
|
||
AND table_name = 'consultation_confirmation'
|
||
) THEN
|
||
ALTER TABLE consultation_confirmation
|
||
ADD CONSTRAINT fk_consultation_confirmation_request
|
||
FOREIGN KEY (consultation_request_id) REFERENCES consultation_request(id);
|
||
END IF;
|
||
|
||
-- 为consultation_record表添加外键约束
|
||
IF NOT EXISTS (
|
||
SELECT 1
|
||
FROM information_schema.table_constraints
|
||
WHERE constraint_name = 'fk_consultation_record_request'
|
||
AND table_name = 'consultation_record'
|
||
) THEN
|
||
ALTER TABLE consultation_record
|
||
ADD CONSTRAINT fk_consultation_record_request
|
||
FOREIGN KEY (consultation_request_id) REFERENCES consultation_request(id);
|
||
END IF;
|
||
END $$; |