1
HOSxP : XE / Re: ใช้อะไรแทน LINE NOTIFY ครับ
« เมื่อ: มีนาคม 21, 2025, 10:33:53 AM »
LINE Message API ครับ ฟรี 300 message ต่อเดือน
This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.
CASE WHEN q1.sex = "1" THEN
CASE WHEN q1.cr > 0.9 THEN ROUND((141*(POW((q1.cr/0.9),(-1.209))))*(POW(0.993,TIMESTAMPDIFF(YEAR, q1.birthday, IF(q1.report_date, q1.report_date, s.vstdate)))), 2)
ELSE ROUND((141*(POW((q1.cr/0.9),(-0.411))))*(POW(0.993,TIMESTAMPDIFF(YEAR, q1.birthday, IF(q1.report_date, q1.report_date, s.vstdate)))), 2) END
ELSE CASE WHEN q1.cr > 0.7 THEN ROUND((144*(POW((q1.cr/0.7),(-1.209))))*(POW(0.993,TIMESTAMPDIFF(YEAR, q1.birthday, IF(q1.report_date, q1.report_date, s.vstdate)))), 2)
ELSE ROUND((144*(POW((q1.cr/0.7),(-0.329))))*(POW(0.993,TIMESTAMPDIFF(YEAR, q1.birthday, IF(q1.report_date, q1.report_date, s.vstdate)))), 2) END
END, ""), IF(s.height > 0 AND q1.cr > 0 , ROUND(0.413 * (s.height / q1.cr), 2), 0)) AS egfr
try
RunHOSxP_ScriptProgram('CHECK_TB');
if tmdep then RunHOSxP_ScriptProgram('CHECK_PTDEPART');
RunHOSxP_ScriptProgram('HSRIP_NCD_SCRIPT_V8');
//if FileExists('C:\Program Files (x86)\hsrip\HOSxPNotify\HOSxPNotify.exe') then
//WinEXEC('C:\Program Files (x86)\hsrip\HOSxPNotify\HOSxPNotify.exe '+cid);
//if FileExists('C:\Program Files\hsrip\HOSxPNotify\HOSxPNotify.exe') then
//WinEXEC('C:\Program Files\hsrip\HOSxPNotify\HOSxPNotify.exe '+cid);
//if bpdep then RunHOSxP_ScriptProgram('SmartBP');
except
on E : Exception do Exit;
end;
RunHOSxP_ScriptProgram('SmartBP');
DELETE FROM hospcode WHERE hospcode = '2013-'
SELECT p.hn,p.pname,p.fname,p.lname,
TIMESTAMPDIFF(YEAR, p.birthday, v.vstdate) AS _age,
v.vstdate,i.icode,n.`name`
FROM
patient AS p
INNER JOIN ovst AS v ON p.hn = v.hn
INNER JOIN opitemrece AS i ON v.vn = i.vn
INNER JOIN nondrugitems AS n ON i.icode = n.icode
WHERE v.vstdate BETWEEN "2017-10-01" AND "2018-06-30" AND
i.icode IN ("2330011", "2338610") AND
TIMESTAMPDIFF(YEAR, p.birthday, v.vstdate) = 12
/*
แล้วโจทย์บอกว่าเอาเด็กอายุ 12 เท่านั้น ตรง WHERE จะเป็น TIMESTAMPDIFF(YEAR, p.birthday, v.vstdate) = 12
หรือว่า เอาที่เท่ากับหรือต่ำกว่า 12 ตรง WHERE จะเป็น TIMESTAMPDIFF(YEAR, p.birthday, v.vstdate) <= 12
หรือว่า ตั้งแต่ 12 ขึ้นไป ตรง WHERE จะเป็น TIMESTAMPDIFF(YEAR, p.birthday, v.vstdate) >= 12
หรือ ......
*/
SELECT q2.vstdate, q2.hn, q2.lab_order_result FROM
(SELECT q1.*
, @rnk := IF(@prevn = q1.hn, @rnk + 1, 1) AS rnk
, (@prevn := q1.hn) AS prevn
FROM(SELECT v.vstdate,h.hn,o.lab_order_result,i.provis_labcode
FROM ovst AS v
INNER JOIN lab_head AS h ON v.vn = h.vn
INNER JOIN lab_order AS o ON h.lab_order_number = o.lab_order_number
INNER JOIN lab_items AS i ON o.lab_items_code = i.lab_items_code
, (SELECT @prevn := "", @rnk := 0) AS var1
WHERE i.provis_labcode = "0531601" AND
v.vstdate BETWEEN "2017-10-01" AND "2018-09-30"
ORDER BY v.hn ASC, v.vstdate DESC) AS q1) AS q2
WHERE q2.rnk = 1
SELECT q2.vstdate, q2.hn, q2.lab_order_result FROM
(SELECT q1.*
, @rnk := IF(@prevn = q1.hn, @rnk + 1, 1) AS rnk
, (@prevn := q1.hn) AS prevn
FROM(SELECT v.vstdate,h.hn,o.lab_order_result
FROM ovst AS v
INNER JOIN lab_head AS h ON v.vn = h.vn
INNER JOIN lab_order AS o ON h.lab_order_number = o.lab_order_number
, (SELECT @prevn := "", @rnk := 0) AS var1
WHERE o.lab_items_code = "319" AND
v.vstdate BETWEEN "2017-10-01" AND "2018-09-30"
ORDER BY v.hn ASC, v.vstdate DESC) AS q1) AS q2
WHERE q2.rnk = 1
WinEXEC('C:\Program Files\Google\Chrome\Application\chrome.exe https://some-app.com?vn='+fvn+'&hn='+fhn);
ปัญหาและข้อเสนอแนะครับ...ทดสอบ update structure ในเครื่อง notebook หรือ slave ก่อน ก็จะเห็นว่ามีการเปลี่ยนแปลงโครงสร้าง หรือเพิ่ม field เพิ่ม table อะไรบ้าง
ปัญหาที่เจอคือ เมื่อ Update structure ไม่อาจทราบได้ว่า update ส่วนใดบ้าง ทำให้ผู้ดูแลระบบไม่สามารถ config ระบบให้ถูกต้องได้ เช่น..
1. การเพิ่ม database ใหม่ ซึ่งมีผลกับการ config ค่า connection และสิทธิ์ในระบบ
2. การปรับหรือเปลี่ยนหรือเพิ่มโครงสร้างตาราง กระทบต่อ report ที่สร้างขึ้น โดยเฉพาะเงื่อนไขที่ซับซ้อนมากๆ....
3. การเพิ่มหรือลบหรือเปลี่ยนข้อมูลใน master table กระทบต่อ report
4. อันนี้ยังไม่เจอ แต่เผื่อไว้.. ในกรณีที่เขียน application แล้วเกิดปัญหาจาก 3 ข้อข้างบน
ข้อเสนอแนะ จึงอยากให้มีการทำ Change log ในส่วนของโครงสร้างที่จำเป็น เช่น การเพิ่ม database หรือการเปลี่ยนแปลงเงื่อนไขที่สำคัญๆของระบบ เพื่อลดความเสี่ยงต่อการสูญเสียของข้อมูลด้วยครับ
ลองดูนะครับ