ลองปรับใช้ดูครับ
;D ;D ;D ขอบคุณครับ รบกวนขอรายงาน PCU ของมะการักษ์หน่อยนะครับ ทำ Datacenter แล้วน่าจะมีฟอร์มรายงานเยอะ ;D ;D ;D
Value := GetListFromQuery( 'select concat(date_format(lh.report_date,''%e %b %Y''))
from lab_order lo
left outer join lab_head lh on lh.lab_order_number=lo.lab_order_number
where lh.hn='''+ DBPipeline['hn'] + '''and lo.lab_items_code=76
order by report_date desc,report_time desc limit 0,1');
Value := GetListFromQuery('select lo.lab_order_result from lab_order lo
left outer join lab_head lh on lh.lab_order_number=lo.lab_order_number
where lh.hn='''+ DBPipeline['hn'] + ''' and lo.lab_items_code=76
order by lh.report_date desc,lh.report_time desc limit 0,1');
สูตร {[140 - age(year)] x BW x 0.85 (if sex=female)} / (72 x creatinine)
สูตร {[140 - age(year)] x BW} / (72 x creatinine)
โดย age มาจาก ?
bw จาก opdscreen.bw
cr จาก opdscreen.creatinine
sex จาก patient.sex ถ้า sex = 2 ต้องคูณทั้งหมดด้วย 0.85 อีกที
select p.hn,o.vn,o.bw,o.creatinine,v.age_y,p.sex,
(((140-v.age_y)*o.bw)/(72*o.creatinine)*if(p.sex='1',1,0.85)) as crcl
from opdscreen o,vn_stat v,patient p
where o.vn=v.vn and p.hn=o.hn and o.bw>0 and o.creatinine>0 limit 100
[/code]
ลองดูครับ
;D ;D ;D
จริงๆ แล้วการคำนวณจาก MySQL ทำได้ง่ายมากครับ
ก็คือหาค่ามาให้คำนวณให้ได้ให้หมดทุกค่าครับ
แต่ยังงงๆ ของคุณหมอ white ครับตรง
ตกลงว่า 0.85 ต้องคูณตรงไหนกันแน่ครับ
แต่ยังไงก็ลองเอา SQL แบบนี้ไปปรับใช้ดูครับ
คุณหมอลองตรวจสอบอีกครั้งนะครับว่าถูกต้องหรือป่าวครับ
โค๊ด: SQL
SELECT p.hn,o.vn,o.bw,o.creatinine,v.age_y,p.sex, ((140-v.age_y) * o.bw * IF(p.sex='1',1,0.85)) / (72*o.creatinine) AS crcl FROM opdscreen o,vn_stat v,patient p WHERE o.vn=v.vn AND p.hn=o.hn AND o.bw>0 AND o.creatinine>0 LIMIT 100
โค๊ด: SQL
SELECT p.hn,o.vn,o.bw,o.creatinine,v.age_y,p.sex, (((140-v.age_y)*o.bw)/(72*o.creatinine)*IF(p.sex='1',1,0.85)) AS crcl FROM opdscreen o,vn_stat v,patient p WHERE o.vn=v.vn AND p.hn=o.hn AND o.bw>0 AND o.creatinine>0 LIMIT 100
ถามเพิ่มหน่อยครับ รายงานนี้ถ้าหากต้องการเพิ่มรายการยา เป็น 3 ครั้งล่าสุดเหมือนกับ lab ด้วยนะครับ และอีกอย่างครับจะนำมาใช้กับคนไข้โรคเรื้อรัง เช่น เบาหวานอย่างนี้ครับ โดยที่เราไม่ด้องใส่เลข vn แต่กลับเป็นเลือกคลีนิคแทน จะได้ไหมครับ เหมือนตัวอย่างข้างล่างที่แนบมาคับ
รายชื่อคนไข้ของคลินิกทั้งหมดอยู่ในตาราง clinicmember
ส่วนรหัส clinic อยู่ในตาราง clinic
ก็แค่เอา hn ทั้งหมดที่อยู่ใน clinicmember โดยมีรหัสคลินิกเท่ากับรหัสคลินิกที่ต้องการ
แต่ว่าจะพิมพ์ยังไงนี่สิ
เพราะพิมพ์ทีนึงจะเป็นรายการของทุกคนเลย ไม่ได้ออกเป็นรายคน
ต้องมา select เฉพาะกลุ่มอีก ไม่งั้นก็พิมพ์ออกมายาวเป็นหางว่าง ไปถึงดวงจันทร์
ถ้าจะเอารายงานคนไข้อยู่ในคลีนิก นั้นๆ ลิสมาเป็นรายชื่อ อีกรายงานดีกว่าไหมคับรายชื่อคนไข้ของคลินิกทั้งหมดอยู่ในตาราง clinicmember
ส่วนรหัส clinic อยู่ในตาราง clinic
ก็แค่เอา hn ทั้งหมดที่อยู่ใน clinicmember โดยมีรหัสคลินิกเท่ากับรหัสคลินิกที่ต้องการ
แต่ว่าจะพิมพ์ยังไงนี่สิ
เพราะพิมพ์ทีนึงจะเป็นรายการของทุกคนเลย ไม่ได้ออกเป็นรายคน
ต้องมา select เฉพาะกลุ่มอีก ไม่งั้นก็พิมพ์ออกมายาวเป็นหางว่าง ไปถึงดวงจันทร์
ถูกครับ ;D
ต้องการข้อมูลคนไข้ทุกคนที่อยู่ในคลีนิกเหรอคับ
มันจะมาทั้งคลีนิกเลยนะครับ
เลือกเป็น visit อ่ะดีแล้วครับ แล้วก็โชว์ คลีนิกว่าเป็นคลีนิกอะไร แบบนี้ไม่ได้เหรอคับ
ถ้าจะเอารายงานคนไข้อยู่ในคลีนิก นั้นๆ ลิสมาเป็นรายชื่อ อีกรายงานดีกว่าไหมคับ
แต่ถ้าจะทำทุกคนก็ต้องตามนั้นครับ มันจะเยอะนะคับ
ถ้าจะเอารายงานคนไข้อยู่ในคลีนิก นั้นๆ ลิสมาเป็นรายชื่อ อีกรายงานดีกว่าไหมคับอีกรายงานดีกว่าไหมคับ