query admit ด้วย DM hyperglycemia

ข้อมูลผู้ป่วย admitted ด้วย DM c hyperglycemia กย.66 - มีค.68

เกณฑ์การ Admit กรณี DM Hyper คือ

  1. เป็นคนไข้ DM
  2. ผล Lab มากกว่า 300 (Lab จะตรวจจาก OPD)
  3. ถ้าจะดูว่าคนๆนี้ได้ Admit หรือไม่ ให้ตรวจสอบจากเลข vn ระหว่าง OPD และ IPD
    • OPD: ovst.vn
    • IPD: ipt.vn

OPD

SELECT
v.vn,
v.hn,
v.vstdate AS visit_date,
CONCAT( p.pname, p.fname, ' ', p.lname ) AS ptname,
li.lab_items_name,
lo.lab_order_result,
CASE
WHEN CAST( lo.lab_order_result AS DECIMAL ) >= 116 THEN
'Hyperglycemia'
WHEN CAST( lo.lab_order_result AS DECIMAL ) <= 70 THEN
'Hypoglycemia' ELSE 'Normal'
END AS glucose_status
FROM
lab_head lh
JOIN lab_order lo ON lo.lab_order_number = lh.lab_order_number
JOIN lab_items li ON li.lab_items_code = lo.lab_items_code
JOIN ovst v ON v.vn = lh.vn
JOIN patient p ON p.hn = v.hn
WHERE
lh.order_date BETWEEN '2023-10-01'
AND '2025-09-30'
AND li.lab_items_code IN ( 1, 777, 1293, 136, 229, 1024, 434 )
AND lo.lab_order_result NOT IN ( '', '-', 'Negative' )
ORDER BY
v.vstdate DESC

IPD

SELECT
ip.an,
ip.hn,
ip.regdate AS admit_date,
ip.dchdate AS discharge_date,
CONCAT( p.pname, p.fname, ' ', p.lname ) AS ptname,
li.lab_items_name,
lo.lab_order_result,
CASE
WHEN CAST( lo.lab_order_result AS DECIMAL ) >= 116 THEN
'Hyperglycemia'
WHEN CAST( lo.lab_order_result AS DECIMAL ) <= 70 THEN
'Hypoglycemia' ELSE 'Normal'
END AS glucose_status
FROM
lab_head lh
JOIN lab_order lo ON lo.lab_order_number = lh.lab_order_number
JOIN lab_items li ON li.lab_items_code = lo.lab_items_code
JOIN ipt ip ON ip.hn = lh.hn
JOIN patient p ON p.hn = ip.hn
WHERE
lh.order_date BETWEEN ip.regdate
AND IFNULL( ip.dchdate, CURRENT_DATE )
AND li.lab_items_code IN ( 1, 777, 1293, 136, 229, 1024, 434 )
AND lo.lab_order_result NOT IN ( '', '-', 'Negative' )
ORDER BY
ip.regdate DESC