BMS-HOSxP Community
HOSxP => แจ้งปัญหา / ขอความช่วยเหลือ => ข้อความที่เริ่มโดย: grandbb ที่ ธันวาคม 28, 2011, 14:42:57 PM
-
เกี่ยวกับเรื่องการแพ้ยาคับ พอดีมีเคสที่เกี่ยวกับการฟ้องร้องเกิดขึ้น
ปัญหาที่เจอตอนนี้คือ คนไข้ได้รับยาไปวันที่ 6 แต่พึ่งทราบการแพ้ยาวันที่ 15
ตอนที่พิมพ์ OPDCARD วันที่ 6 ปรากฏว่ามีข้อมูลการแพ้ยาโชว์ขึ้นมา (ตามรูป 1 )
Value := 'ยาที่แพ้ : '+GetSQLStringData('select if(drugallergy is null or drugallergy = ""," - ",drugallergy) '+
' as cc from patient where hn = "'+DBPipeline['hn']+'" ');
โค๊ตจะเป็นแบบนี้
ผมพยายามแ้ก้แล้วแต่ไม่สำเร็จไม่รู้จะติดตรงไหน (ผมแก้เป็น opd_allergy.report_date <= "'+DBPipeline['vstdate']+'")
-
ลองไปตรวจสอบเพิ่มเงื่อนไขจาก
select * from allergy_confirm จะเห็นทั้ง hn+รายชื่อยาที่แพ้ และ วันเดือนปีที่ยืนยันครับ....
หรือ เอาเงือนไข and vstdate >="confirm_date_time" ครับ..จะได้ไม่พิมพ์ติดในเอกสารที่สั่งพิมพ์ในภายหลัง แต่เป็นวันรับบริการก่อนได้รับทราบประวัติแพ้ยาครับ :D :D :D
-
ลองไปตรวจสอบเพิ่มเงื่อนไขจาก
select * from allergy_confirm จะเห็นทั้ง hn+รายชื่อยาที่แพ้ และ วันเดือนปีที่ยืนยันครับ....
หรือ เอาเงือนไข and vstdate >="confirm_date_time" ครับ..จะได้ไม่พิมพ์ติดในเอกสารที่สั่งพิมพ์ในภายหลัง แต่เป็นวันรับบริการก่อนได้รับทราบประวัติแพ้ยาครับ :D :D :D
ขอบคุณมากคับ
ผมเข้าใจในหลักการคับ แต่คือผมลองทำแล้วปรากฏว่า มันจะขึ้นบางไม่ขึ้นบ้างเป็นบ้างวัน
รบกวนขอ code เต็มๆเลยได้ไหมคับ ไม่ก็ OPDCARD ตัวเต็มเลย
-
... เดี๋ยวลองดูให้นะครับ
ถ้าไม่มี case ตัวอย่าง นึกไม่ถึงเหมือนกันครับ กรณีนี้ ... :D ...
-
... ขอโทษทีนะครับ ช้าไปหน่อย :D
พอดีวันนี้ ที่ รพ. จัดงานเลี้ยงปีใหม่พอดีครับ เพิ่งเลิกงานเมื่อครู่เองครับ ...
... ที่แสดงบ้างไม่แสดงบ้าง เป็นเพราะไม่ได้แปลงรูปแบบวันที่ของ DBPipeline['vstdate'] น่ะครับ
ท่าน grandbb ลอง copy คำสั่งข้างล่างไปแทนที่คำสั่งใน variable เดิมนะครับ ...
-----------------------------------------------------------------------------------------------------------------
if GetSQLIntegerData('select count(*) as cc from opd_allergy where hn = "'+DBPipeline['hn']+'" '+
'and report_date <= "'+FormatDateTime('yyyy-mm-dd',DBPipeline['vstdate'])+'" ') > 0 then
Value := 'ประวัติการแพ้ยา : '
+ReplaceStr(GetSQLSubQueryData('select agent from opd_allergy where hn = "'+DBPipeline['hn']+'" '+
'and report_date <= "'+FormatDateTime('yyyy-mm-dd',DBPipeline['vstdate'])+'" '),'''',' ')
else
Value := '***ไม่มีประวัติการแพ้ยา';
-----------------------------------------------------------------------------------------------------------------
... ก่อน copy คำสั่ง อย่าลืม switch ให้ภาษาของ keyboard เป็นภาษาไทยก่อนนะครับ แล้วค่อยสั่ง copy
เวลาเอาไป paste ส่วนที่เป็นภาษาไทยจะได้ไม่เป็น ? ? ? ? ? ? ครับ ... :D ....