HOSxP Tip วันนี้มาทำระบบแจ้งเตือนกันครับ  มีสมาชิก ส่งคำถามมา เลยมาทดสอบดูว่าจะพอทำได้ไหม ก็เลยมาเป็น ระบบ SYS_VN_PRE_SCRIPT แจ้งเตือนผู้ป่วยรายนี้ ยังไม่มีการคิดค่าบริการฉีดยา  เป็นไงมาเริ่มกันเลยครับ

ความต้องการ และวัตถุประสงค์
– ใช้กับ HOSxP เท่านั้น
– เปิดใช้งาน RUN VN Script ที่หน้าจอ System Setting
– สร้าง โค้ด แล้วตั้งชื่อ Script ชื่อ SYS_VN_PRE_SCRIPT
– ทำงานหลังจากเลือกคนไข้ขึ้นมาแล้ว จะแสดงทันที

อยากแรกเลย ไปกำหนดค่าเริ่มต้นก่อน
กำหนดให้ RUN VN Script  ติ๊กถูกแล้วบันทึก
กำหนดให้  ยอมให้ Run Pre processing vn script  เฉพาะแผนกที่จะให้ทำงาน  หน่วยงานไหนไม่กำหนดก็จะไม่ทำงานนะครับ





ต่อมาก็เปิด sql query เลย

ไปที่แท็บ Script เพื่อสร้าง script ก่อนเลย

ต่อมาก็ลบ โค้ด ทั้งหมดออกก่อน ทั้งแท็บ Source และ DFM

ต่อมาก็ว่างโค้ดนี้ใส่เข้าไปในแท็บ Source
——————————-

var
a,fvn,fonlineid,fuser,fcid,pcid,fcomputername,fdepartment,fhn: string;
tc : TClientDataset;
cc:integer;
cds:tclientdataset;
icode_notify, icode_im :string;
hcode ,iplocal ,drug_hosxp,drug_qty ,key_time :string;
value_all :string;
number :integer;
begin

cds :=tclientdataset.create(nil);
fvn:= GetGlobalValue(‘VN’);
if fvn =” then exit
fonlineid:=get_onlineid;

fhn:=getsqldata(‘select o.hn from ovst o ‘+
‘ left outer join vn_stat v on v.vn=o.vn ‘+
‘ where v.pt_subtype in (“0″,”1”) and ‘+
‘ v.vn = “‘+fvn+'”‘);
if fhn =” then
exit;
fcomputername := getsqldata(‘select servername from onlineuser where onlineid=”‘+fonlineid+'”‘);
fuser :=getsqldata(‘select kskloginname from onlineuser where onlineid=”‘+fonlineid+'”‘);
fdepartment := getsqldata(‘select k.depcode from onlineuser o ‘+
‘ left outer join kskdepartment k on k.department = o.department ‘+
‘ where o.onlineid=”‘+fonlineid+'” ‘);
icode_notify := GetSQLSubQueryData(‘select icode from drugitems where icode=”1000140” ‘);
hcode := getsqldata(‘select hospitalcode from opdconfig’);
iplocal := getsqldata(‘select computername from onlineuser’);
icode_im := GetSQLSubQueryData(‘select icode from nondrugitems where icode=”3000197” ‘);

if getsqldata(‘select count(*) as cc’+
‘ from opitemrece o ‘+
‘ where o.vn = “‘+fvn+'” and o.icode in(‘+icode_notify+’) and o.icode like”1%” ‘+
‘ ‘)>0 then
begin

if getsqldata(‘select count(*) as cc’+
‘ from opitemrece o ‘+
‘ where o.vn = “‘+fvn+'” and o.icode in(‘+icode_im+’) ‘+
‘ ‘) > 0 then
begin
Application.MessageBox(‘แจ้งเตือนผู้ป่วยรายนี้มีการคิดค่าบริการฉีดยา แล้ว ! ‘ +#13+#13+#13+#13+#13+
‘[SYS_VN_PRE_SCRIPT]’,
‘By ARM ANT’, MB_ICONWARNING);

end
else
begin
Application.MessageBox(‘แจ้งเตือนผู้ป่วยรายนี้ ยังไม่มีการคิดค่าบริการฉีดยา ! ‘ +#13+#13+#13+#13+#13+
‘[SYS_VN_PRE_SCRIPT]’,
‘By ARM ANT’, MB_ICONQUESTION);
end;
end;

end;


หมายเหตุ 1000140  คือ  รหัส icode ของรายการยา GENTAMICIN หรือยาฉีดนะครับ
3000197  คือ  รหัส icode ค่าใช่จ่าย ค่าฉีดยา IM หรือค่าบริการฉีดยา     

ว่างโค้ดตามรูป  ให้อยู่ในแท็บ  Source
แล้วก็มาบันทึก ก่อนบันทึกให้ติ๊กถูกที่  Checkbox ของ Allow User Run ก่อน แล้วค่อยไปคลิกปุ่ม Save  จะขึ้นหน้าจอตั้งชื่อ
ตั้งชื่อ  เป็น  SYS_VN_PRE_SCRIPT  จะใช้ชื่ออื่นไม่ได้นะ  ต้องชื่อนี้เลย
ระบบจะจัดเก็บไว้ที่ตาราง  sys_app_script  ก็จะพร้อมสำหรับใช้งาน แต่ให้แน่ใจ ต้องปิด HOSxP แล้วเข้าใหม่อีกทีนะครับ

ต่อมา ไปดูขั้นตอนที่ระบบทำงานตอนที่เลือกคนไข้ขึ้นมา  ยกตัวอย่างเช่น

ขั้นแรกให้คีย์ รายการ นี้ก่อน GENTAMICIN  เพื่อให้ทราบว่ามีการสั่ง ฉีด จากแพทย์หรือพยาบาลก่อน
แล้วพอหน่วยงานอื่น หรือเครื่องคอมฯ ที่หน่วยงานอื่น เลือกคนไข้รายนี้เปิดดู ระบบจะแจ้งเตือน ตามเงื่อนไขที่ทำไว้

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

เมื่อเลือกคนไข้รายนี้ขึ้นมา ก็จะแสดงอีกเงื่อนไขคือ  “แจ้งเตือนผู้ป่วยรายนี้ มีการคิดค่าบริการฉีดยา  แล้ว”  ก็แสดงว่า  เงื่อนไข กรณีมีการคิดค่าบริการฉีดยาแล้ว

ก็เป็นอันเสร็จ ตามโจทย์นี้ และตรงตามเงื่อนไขที่กำหนด

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

ต่อตามได้ทาง…. https://www.facebook.com/armdsant/

 10,316 total views,  4 views today

HOSxP Tip ! สร้างแจ้งเตือน ผู้ป่วยรายนี้ ยังไม่มีการคิดค่าฉีดยา ด้วย SYS_VN_PRE_SCRIPT
Tagged on:                                 

ใส่ความเห็น

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

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