门诊输液 更新

This commit is contained in:
liuhongrui
2025-03-19 19:45:05 +08:00
parent a445ad299c
commit 3d09f06d1d
8 changed files with 163 additions and 209 deletions

View File

@@ -133,32 +133,34 @@
<select id="getOutpatientInfusionPatient"
resultType="com.openhis.web.outpatientmanage.dto.OutpatientInfusionPatientDto">
SELECT
T1.service_id,
T1.prescription_no,
T1.encounter_busNo,
T1.birth_date,
T1.patient_busNo,
T1.patient_id,
T1.patient_name,
T1.id_card,
T1.gender_enum,
T1.create_time
from
T1.tenant_id,
T1.service_id,
T1.prescription_no,
T1.encounter_bus_no,
T1.birth_date,
T1.patient_bus_no,
T1.patient_id,
T1.patient_name,
T1.id_card,
T1.gender_enum,
T1.create_time
FROM
(
SELECT DISTINCT
sr.id AS service_id, --服务申请管理ID
sr.prescription_no, --处方号
sr.tenant_id,
e.bus_no as encounter_busNo, --就诊号
pt.birth_date , --病人生日
pt.bus_no AS patient_busNo, --病人ID前台显示用
sr.patient_id, --病人ID
pt.name AS patient_name, --病人姓名
pt.name AS id_card, --病人身份证号
pt.gender_enum AS gender_enum, --病人性别
mr.create_time AS create_time --开单时间
sr.id AS service_id, --服务申请管理ID
sr.prescription_no, --处方号
sr.encounter_id,
e.bus_no as encounter_bus_no, --就诊号
pt.birth_date , --病人生日
pt.bus_no AS patient_bus_no, --病人ID前台显示用
sr.patient_id, --病人ID
pt.name AS patient_name, --病人姓名
pt.id_card AS id_card, --病人身份证号
sr.tenant_id,
pt.gender_enum AS gender_enum, --病人性别
mr.create_time AS create_time --开单时间
FROM
wor_service_request sr
wor_service_request sr
LEFT JOIN adm_encounter e ON e.id = sr.encounter_id
LEFT JOIN adm_patient pt ON pt.id = sr.patient_id
LEFT JOIN wor_activity_definition ad ON ad.id = sr.activity_id
@@ -167,6 +169,7 @@
ad.bus_no = 'sy001' -- 输液的编号todo编号未定后期修改
AND mr.infusion_flag = 1
AND sr.status_enum in (2,3) --服务状态未完成
AND sr.based_on_id = null
</where>
ORDER BY
mr.create_time,e.bus_no,pt.bus_no
@@ -205,64 +208,70 @@
T1.occurrence_start_time,
T1.occurrence_end_time,
T1.create_time
from
FROM
(
SELECT
sr.id AS service_id, --服务申请管理ID
sr.bus_no, -- 服务请求编码
sr.based_on_id, -- 请求基于什么的ID
sr.execute_num, -- 执行次数
sr.activity_id,--请求code,输液
sr.prescription_no, --处方号
sr.encounter_id , --就诊ID
sr.tenant_id,
sr.status_enum AS request_status, --服务请求状态
e.bus_no AS encounter_busNo, --就诊ID前台显示用
pt.name AS patient_name, --病人姓名
pt.bus_no AS patient_busNo, --病人ID前台显示用
sr.patient_id, --病人ID
md.id AS medication_id, --药品ID
md.name AS medication_information, --药品信息
mr.antity AS medication_antity,--药品数量
mr.status_enum AS medication_status_Enum, --药品状态
mr.group_id, --注射药品组号
CASE mr.skin_test_flag
WHEN 1 THEN 1
ELSE 0
END AS skin_test_flag --皮试标志
ai.clinical_status_enum, --皮试检查结果
mr.speed, --输液速度
mr.method_code,--用法
mr.dose || ' '|| mr.dose_unit_code AS dose,--单次剂量,剂量单位
mr.practitioner_id as doctor_id, --开单医生
mr.org_id,--开单科室
sr.performer_id, --执行护士
to_char(sr.occurrence_start_time, 'YYYY-MM-DD HH24:MI:SS') AS occurrence_start_time, --预计执行时间
to_char(sr.occurrence_end_time, 'YYYY-MM-DD HH24:MI:SS') AS occurrence_end_time, --预计结束时间
mr.create_time --开单时间
FROM
wor_service_request sr
LEFT JOIN adm_encounter e ON e.id = sr.encounter_id
LEFT JOIN adm_patient pt ON pt.id = sr.patient_id
LEFT JOIN wor_activity_definition ad ON ad.id = sr.activity_id
LEFT JOIN med_medication_request mr ON mr.prescription_no = sr.prescription_no
LEFT JOIN med_medication m ON m.id = mr.medication_id
LEFT JOIN med_medication_definition md ON md.id = m.medication_def_id
LEFT JOIN cli_allergy_intolerance ai ON ai.request_id = sr.id
<where>
ad.bus_no = 'sy001' -- 输液检查的编号todo编号未定后期修改
AND mr.infusion_flag = 1
AND md.infusion_flag = 1
sr.tenant_id,
sr.id AS service_id, --服务申请管理ID
sr.bus_no, -- 服务请求编码
sr.based_on_id, -- 请求基于什么的ID
sr.execute_num, -- 执行次数
sr.activity_id,--请求code,输液
sr.prescription_no, --处方号
sr.encounter_id , --就诊ID
sr.status_enum AS request_status, --服务请求状态
e.bus_no AS encounter_busNo, --就诊ID前台显示用
pt.name AS patient_name, --病人姓名
pt.bus_no AS patient_busNo, --病人ID前台显示用
sr.patient_id, --病人ID
md.id AS medication_id, --药品ID
md.name AS medication_information, --药品信息
mr.antity AS medication_antity,--药品数量
mr.status_enum AS medication_status_Enum, --药品状态
mr.group_id, --注射药品组号
CASE mr.skin_test_flag
WHEN 1 THEN 1
ELSE 0
END AS skin_test_flag ,--皮试标志
ai.clinical_status_enum, --皮试检查结果
mr.speed, --输液速度
mr.method_code,--用法
mr.dose || ' '|| mr.dose_unit_code AS dose,--单次剂量,剂量单位
mr.practitioner_id as doctor_id, --开单医生
mr.org_id,--开单科室
sr.performer_id, --执行护士
to_char(sr.occurrence_start_time, 'YYYY-MM-DD HH24:MI:SS') AS occurrence_start_time, --预计执行时间
to_char(sr.occurrence_end_time, 'YYYY-MM-DD HH24:MI:SS') AS occurrence_end_time, --预计结束时间
mr.create_time --开单时间
FROM
wor_service_request sr
LEFT JOIN adm_encounter e ON e.id = sr.encounter_id
LEFT JOIN adm_patient pt ON pt.id = sr.patient_id
LEFT JOIN wor_activity_definition ad ON ad.id = sr.activity_id
LEFT JOIN med_medication_request mr ON mr.prescription_no = sr.prescription_no
LEFT JOIN med_medication m ON m.id = mr.medication_id
LEFT JOIN med_medication_definition md ON md.id = m.medication_def_id
LEFT JOIN cli_allergy_intolerance ai ON ai.request_id = sr.id
<where>
ad.bus_no = 'sy001' -- 输液检查的编号todo编号未定后期修改
AND mr.infusion_flag = 1
AND md.infusion_flag = 1
</where>
ORDER BY
mr.create_time desc,e.bus_no,pt.bus_no
<!-- 时间筛选 -->
<if test="beginTime != null and endTime != null">
AND mr.create_time BETWEEN TO_TIMESTAMP(#{beginTime}, 'YYYY-MM-DD HH24:MI:SS')
AND TO_TIMESTAMP(#{endTime}, 'YYYY-MM-DD HH24:MI:SS')
</if>
</where>
ORDER BY
mr.create_time desc,e.bus_no,pt.bus_no
) AS T1
${ew.customSqlSegment}
</select>
<!-- 查询药品已执行数量/查询同组内药品数量 -->
<select id="countMedicationExecuteNum" resultType="long">
<select id="countExecuteNumOrGroupNum" resultType="long">
SELECT COUNT(*)
FROM
@@ -281,7 +290,7 @@
<!-- 药品已执行数量 条件筛选 -->
<if test="flag and paramId != null and paramId != '' and prefixBusNo != null and prefixBusNo != '' ">
AND sr.base_on_id = #{paramId}
AND sr.based_on_id = #{paramId}
AND sr.bus_no LIKE CONCAT(#{prefixBusNo}, '%')
AND sr.status_enum = 6 --服务状态是已完成
</if>
@@ -292,7 +301,6 @@
AND mr.group_id = #{groupId}
AND sr.status_enum = 2 --服务状态是进行中
</if>
</where>
</select>