เมื่อพูดถึง HOSxP (โปรแกรมระบบบริการในโรงพยาบาล) Admin หลาย ๆ ที่คงจะรู้จักกันดี
ความเห็นส่วนตัวของผม HOSxP สามารถเก็บ Requirement ได้ละเอียดมาก ๆ จนน่าทึ่ง
ในบางครั้ง User ก็มี Requirement อะไรบางอย่างมาให้ Admin ปวดหัว สิ่งแรกที่คิดคือ ”โปรแกรมจะทำได้หรือเปล่าน้อ”
แต่พอเข้าไปดูปรากฎว่าโปรแกรมรองรับแทบทุกอย่างที่ User ต้องการ เพียงแต่ผู้ดูและระบบต้องศึกษาโปรแกรมให้ละเอียด
ก็จะสามารถประยุกต์สิ่งที่มีเพื่อตอบสนอง Requirement ของ User ได้ครับ
Requirement อย่างหนึ่งที่ admin หลาย ๆ คนต้องทำก็คือการเขียนรายงาน หรือ Report นั่นเอง ใน HOSxP จะมี Tool สำหรับ
ช่วยเขียน Report ก็คือ Report Designer ก็คล้าย ๆ กับ Cystal Report นั่นเอง
หากใครสนใจเกี่ยวกับ HOSxP สามารถดูรายละเอียดได้ที่ [...]
เมื่อไม่นานมานี้ สสจ. ขอฐานข้อมูลยาไป เพื่อที่จะ map รหัสยามาตรฐาน 24 หลัก
หลักจาก map เสร็จก็ได้ไฟล์ Exel มาโดยมี icode (รหัสยาของ รพ.) และ did (รหัสยามาตรฐาน) และข้อมูลอื่น ๆ
ที่สำคัญคือ สองฟิลนี้คือ icode และ did จะต้อง update did ลงไปในฐานข้อมูลยาตาม icode
ปัญหาก็คือจะเอาลงไปยังไงดี (โปรแกรม map ยังไม่ได้) ก็เลยคิดไปคิดมา เอา php เขียนแยกข้อมูลออกมาใส่ตาราง tempreport
แล้วเอา SQL update did อีกที อาจจะไม่ใช่วิธีที่ดี แต่มันก็อัพเดทได้โดยไม่มึนกับ code อิอิ
Code PHP
<?
$strFileName = “drug_import.csv”;
$objFopen = fopen($strFileName, ‘r’);
mysql_connect(localhost,”user”,”password”);
if ($objFopen) {
while (!feof($objFopen)) [...]
select ov.vstdate,concat(pt.pname,pt.fname,” “,pt.lname) as ptname,ov.hn,rx.note
from ovst ov
left outer join patient pt on pt.hn = ov.hn
left outer join rx_operator rx on rx.vn = ov.vn
where ov.vstdate between “2009-10-01″ and “2009-11-30″ and (rx.note <> “” or rx.note is not null)
เมื่อก่อน Workload ของ MySQL ก็จะวิ่งอยู่ที่ไม่เกิน 25 % แต่เฉลี่ยจะอยู่ประมาณ 10 %
แต่เมื่อเวลาผ่านไปข้อมูลก็เยอะขึ้น กราฟเริ่มสูงขึ้น กลายเป็นว่าเฉลี่ยอยู่ที่เกือบ 20 % มีบางครั้ง peak ถึง 40 %
ก็เลยคิดว่า มันดึง RAM มาใช้ไม่หมดหรือเปล่า เพราะ RAM ก็ตั้ง 10 G ก็เลยจัดการ Config my.cnf ใหม่ กลับมานิ่งเหมือนเดิมละคับ
ขอขอบคุณชุมชน hosxp.net
ปล. เคยอ่านเจอ ใน hosxp.net บอกว่า ค่าปกติจะอยู่ที่ไม่เกิน 25 %
หลาย ๆ ท่านที่ใช้ HosXP คงเคยพบปัญหาจะแก้ไข report แล้วไม่รู้ว่า report นั้นชื่ออะไร
แต่เราสามารถใช้ประโยชน์ของ intercept sql keyword มาช่วยได้ หลักการทำงานของ
intercept sql keyword ก็คือ จะแสดงคำสั่ง sql ใน debug form เมื่อในคำสั่ง sql นั้นมีคำที่ตรงกับคำที่เราตั้งไว้
ดังนั้น ถ้าเราจะหาชื่อ report เราต้องใช้คำว่า reporttemplate เป็น keyword เพราะโปรแกรม
จะเรียก report จากตาราง reporttemplate โดยใช้คำสั่ง select * from reporttemplate
จะสังเกตว่า ในคำสั่งมีคำที่ตรงกับคำที่เราตั้งเป็น keyword ดังนั้นโปรแกรมจะแสดงคำสั่ง sql นี้ใน Debug Form
1. เปิด intercept sql keyword ตามภาพ
2. keyword ของคำสั่งที่เราต้องการให้โชว์ลงไปในที่นี้เราจะใช้คำว่า reporttemplate [...]
| S | M | T | W | T | F | S |
|---|---|---|---|---|---|---|
| « Jun | ||||||
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 | ||