ผู้เขียน หัวข้อ: พอดีว่า .....  (อ่าน 7265 ครั้ง)

0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้

่eki

  • บุคคลทั่วไป
พอดีว่า .....
« เมื่อ: สิงหาคม 23, 2006, 20:55:55 PM »
0
ผมไปอ่านกระทู้นี้มา http://203.157.181.5/q_a/list_topic.php?id=532
และได้ทดสอบ ตามนี้

1.vn_stat เก็บข้อมูลผู้ป่วยนอกจริงครับ แต่ ถ้าเรา match ตาราง ovst กับ vn_stat ด้วย vn แล้วให้นับจำนวน record ที่ an ไม่เป็น null ผลการนับไม่ค่ามากกว่า 0 ครับ นั้นหมายความว่า vn_stat ไม่ได้มีเฉพาะเพียงคนไข้นอก แต่มีคนไข้ในด้วยครับ ***เช่น*** select count (*) as num from ovst,vn_stat where (vn_stat.vn like '4906%')and(ovst.an is not null) หรือจะ match ตาราง vn_stat กับ ตาราง an_stat ด้วย vn ก็ได้ แล้วลองนับจำนวน record ดู ***เช่น*** select count(*) as num from vn_stat,an_stat where(vn_stat.vn=an_stat.vn)and(vn_stat.vn like '4906%') ผลจะไม่เป็น 0 เช่นกัน
 2.คราวนี้เรามาจับกระแส replicate_log กัน ขั้นแรกลบข้อมูออกจาก ตารางนี้ก่อน ทำได้เลยเพราะข้อมูลส่วนนี้ไม่สำคัญอะไร ดังนี้ *** delete from replicate_log ครับ แล้วเราก็ลองเริ่มทำสอบกัน นับจากลงทะเบียนคนเข้าใหม่ ส่งคนไข้เข้าตรวจ แล้วจากนั้นก็ปิดหน้าต่างส่งตรวจคนไข้ไป หลังจากนั้นก็ไปนับจำนวน records ใน replicate_log กันด้วยคำสั่ง *** select count(*) as num from replicate_log ครับ ซึ่งจำนวน records มากกว่า 50 records แน่นอน


ซึ่งผลที่ได้ก็จริงตามที่เขาอ้างมา ไม่ทราบข้อมูลมันผิดมากไหมครับ  หรือว่า หยวน ๆ ได้ครับ

และรายงาน รง.5      ผลรวมของคนไข้ ก็ไม่ตรง ไม่ทราบเป็นเพราะอะไร    (ลองใช้เครื่องคิดเลขบวกยอดผู้ป่วยแต่ละรายการดู จะเห็นว่าผลรวมผิด )

แล้วข้อมูลที่ได้จะเชื่อได้แค่ไหน ????

ไม่ได้มีเจตนาจะร้ายใด ๆ เพียงแต่สงสัย และอยากให้อาจารย์พิจารณาแก้ไขข้อบกพร่องในจุดนนี้

ด้วยความเคารพ

ออฟไลน์ manoi

  • Hero Member
  • *****
  • กระทู้: 8,669
  • Respect: +170
    • ดูรายละเอียด
    • HOSxP Community Center
Re: พอดีว่า .....
« ตอบกลับ #1 เมื่อ: สิงหาคม 23, 2006, 21:21:49 PM »
0
คำสั่ง
โค๊ด: SQL
  1. SELECT COUNT (*) AS num FROM ovst,vn_stat WHERE (vn_stat.vn LIKE '4906%') AND (ovst.an IS NOT NULL)
  2.  
เป็นคำสั่งที่ผิดครับ หากมีการดึงข้อมูลมาจากหลายตารางในรูปแบบของ equi join จะต้องระบุเงื่อนไขการเชื่อมโยงของสองตารางนี้ด้วยครับ ควรจะเป็น
โค๊ด: SQL
  1. SELECT COUNT(ovst.*) AS num FROM ovst,vn_stat WHERE (vn_stat.vn LIKE '4906%') AND (ovst.an IS NOT NULL)  AND ovst.vn = vn_stat.vn
  2.  

ส่วนข้อมูลใน ovst.an นั้นจะเป็นการเก็บข้อมูลอ้างอิงไปยังการ Admit ครับว่าผู้ป่วยได้รับการ admit โดยในขั้นตอนการ admit ระบบจะทำการ update ovst.an ให้ด้วยครับ

ในระบบการ admit ผู้ป่วย ณ ปัจจุบัน ผู้ป่วยจะต้องผ่านขั้นตอนมาจาก opd ก่อนครับ ดังนั้นผู้ป่วยทุกรายที่ admit จะต้องมี visit number เชื่อมโยงไปยังการมา ( ipt.vn = ovst.vn) 

หากต้องการตรวจสอบข้อมูลการ admit แนะนำให้ทำการนำข้อมูลมาจากตาราง ipt ครับไม่ใช่ ovst


ส่วน replicate_log ที่ผมได้ตอบไปนั้นผมนับเฉพาะการลงทะเบียนผู้ป่วยใหม่ครับ ยังไม่รวมการส่งตรวจ ครับ (ถ้ารวมกันก็น่าจะเกิน 50 ครับ)

ส่วน รง.5 ที่แจ้งว่าไม่ตรง ไม่ทราบพอจะช่วยแจ้ง version ของ hosxp ที่กำลังใช้งานอยู่เข้ามาด้วยได้หรือไม่ครับ และจะช่วยได้มากหากช่วยส่ง ตัวอย่างหน้าจอของ report ที่มีปัญหาเข้ามาด้วยครับ
« แก้ไขครั้งสุดท้าย: สิงหาคม 23, 2006, 21:23:45 PM โดย manoi »
HOSxP Project Manager / Cheif Developer / BMS MD