มาทำคิวรอซักประวัติกัน Ovst Q

ได้โจทย์ต่อยอดจาก คิวรอรับยา  มาทำหน้าจอแสดงคิวรอซักประวัติกันครับ
ระบบนี้ไม่ต้องมีอะไรมาก ให้คีย์หรือต้องเข้าไปบันทึกที่ขั้นตอนไหน เพราะหลังจากส่งตรวจก็จะทราบเลยว่า มีคนรอซักประวัติ แค่รู้ว่าจะแสดงที่แผนกไหน ที่ฝ่ายเวชระเบียนส่งตรวจมารอที่แผนกไหน เท่านั้นเอง  ที่นี้ก็มาออกแบบหน้าจอกัน  เลยได้ตามรูปนี้เลย

ก็เอา รูปแบบมาจากตัว Q คิวรอจ่ายยา นั้นเอง แต่ปรับแต่งอีกนิดหน่อย ( เดี่ยวระบบคิวรอจ่ายยา รออีกสักพักนะครับ กะจะแจกก่อนแต่ว่ามีขั้นตอนเยอะ และต้องทำคู่มือตั้งค่าก่อน) เอาอันนี้ไปก่อน ติดตั้งแล้ว config นิดหน่อยก็ใช้งานได้แล้ว

ต่อมาก็มาคิวรี่  หาโค้ด sql ที่หน้าจอจุดซักประวัติ กัน
หน้านี้เลย วิธีหาก็ใช้ sql trace นี้แหละครับ

ก็จะได้โค้ดประมาณนี้ครับ
select distinct hn from opdscreen
where vstdate=curdate()
and screen_dep in(select screendepcode from opdconfig )
and waiting=’Y’





อันนี้เป็นโค้ด sql หาจำนวนคนที่ยังได้ผ่านการซักประวัติไปแล้ว คือฟิวล์ waiting =’Y’ นั้นเอง เอาแยกกลุ่มทั้งหมดว่าไม่เอา กลุ่มนี้ นั้นเอง

ต่อมาก็ได้โค้ด  คนส่งตรวจทั้งหมด คือ
select v.vn,v.hn,
v.pt_priority,v.oqueue,
v.cur_dep_time,k.department,xh.confirm_all,
l.lab_count,l.report_count,ovq.pttype_check,v.pt_priority,
curtime(),v.cur_dep_time,substr(TIMEDIFF(curtime(),v.cur_dep_time),1,5)as ttime
from ovst v
left outer join patient p on p.hn=v.hn
left outer join lab_status l on l.vn = v.vn
left outer join xray_head xh on xh.vn = v.vn
left outer join ovst_seq ovq on ovq.vn = v.vn
left outer join kskdepartment k on k.depcode = v.cur_dep
where v.vstdate = curdate()
and v.cur_dep in(select screendepcode from opdconfig )
and v.cur_dep_busy=’N’
order by v.pt_priority desc,v.cur_dep_time

ตรงจุดนี้จะมีฟิวล์ ttime เป็นเวลาที่รอ โดยผมใช้วิธีคำนวนโดยใช้ฟังชัน TIMEDIFF เอาเวลาปัจจุบัน กับเวลาในฟิวล์ cur_dep_time เวลาที่ส่งมายังจุดซักประวัตินั้นเอง มาหาค่าเวลา ก็จะได้เป็นเวลา ที่รอ  ประมาณการ นะครับ (อาจจะไม่ถูกก็ได้)

แล้วก็เอาโค้ด 2 ตัวนี้มารวมกัน ก็จะได้

select v.vn,v.hn,
v.pt_priority,v.oqueue,
v.cur_dep_time,k.department,xh.confirm_all,
l.lab_count,l.report_count,ovq.pttype_check,v.pt_priority,
curtime(),v.cur_dep_time,substr(TIMEDIFF(curtime(),v.cur_dep_time),1,5)as ttime
from ovst v
left outer join patient p on p.hn=v.hn
left outer join lab_status l on l.vn = v.vn
left outer join xray_head xh on xh.vn = v.vn
left outer join ovst_seq ovq on ovq.vn = v.vn
left outer join kskdepartment k on k.depcode = v.cur_dep
where v.vstdate = curdate()
and v.cur_dep in(select screendepcode from opdconfig )
and v.cur_dep_busy=’N’
and v.hn not in (select distinct hn from opdscreen
where vstdate=curdate()
and screen_dep in(select screendepcode from opdconfig )
and waiting=’Y’)
order by v.pt_priority desc,v.cur_dep_time

ก็จะได้คิวรีหน้า ซักประวัติแล้ว ก็เอาโค้ดนี้มาวางใส่ไฟล์ php
ดาวโหลดไฟล์ php ชื่อ  ov_queue คลิก 

ใน zip ก็จะมีไฟล์ php อยู่ตามรูปนี้ครับ

ก็แตกไฟล์แล้ว เอาไว้วางไว้ที่  host webserver ของท่านเอง ก็ไปวางไว้ที่ /var/www/html
ต่อมาก็เข้าไปแก้ไขไฟล์ config.php

กำหนด hostname  , user , password , dbname  ตามลำดับเลยนะครับ admin แต่จะรู้เองหากเคยเขียน php มาก่อนนะครับ
เสร็จแล้วก็ไปเปิด brower ดูว่าใช้งานได้ไหมนะครับ  ถ้าออกมาหน้าจอตามรูปนี้ ก็ถือว่า ใช้ได้นะครับ

ผมใช้ฟอน ฟรี ๆ ของ google นะครับ
หรือท่านอื่นๆ จะเปลี่ยนเป็น font อื่นก็เข้าไปดาวโหลดได้ที่ ลิ้งนี้นะครับ
https://fonts.google.com/?subset=thai&selection.family=Kanit

ดาวโหลด source code ตามนี้ครับ
https://www.dropbox.com/s/gsunlhaumfgew3q/ov_queue%20-%20demo%20-%20610619.zip?dl=0

หวังว่าจะเป็นประโยชน์กับทุกท่านที่ได้ เข้ามา ชม นะครับ
หากเอาไปต่อยอดแล้ว อย่าลืมแชร์มาให้ผมใช้ต่อด้วยนะครับ ขอบคุณครับ

ติดตามหรือแนะนำติชมผมได้ทาง Facebook
https://www.facebook.com/arm.youant

Loading

Tags :

ใส่ความเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *

This site uses Akismet to reduce spam. Learn how your comment data is processed.