แสดงกระทู้

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Topics - naj

หน้า: 1 ... 5 6 [7] 8 9 ... 12
301
Delphi / Pascal / Tool สำหรับนำเข้าข้อมูลในตาราง Clinicmember
« เมื่อ: มิถุนายน 12, 2009, 12:12:58 PM »
ใช้สำหรับ โอนข้อมูลผู้ป่วยขึ้นทะเบียนคลินิกโรคเรื้อรังตามที่ รพ กำหนด เช่น เบาหวาน ความดัน โรคหัวใจ  COPD โดยยึด Principal dx ที่จากการลงในระบบ OPD นำตัวอยางมาให้ดูก่อนครับ กำลังจะแก้ใขบางส่วนเพื่อให้ใช้งานได้ง่ายขึ้นครับ
ขอขอบคุณ อ.อ๊อด ที่ให้คำแนะนำในการเขียนครับ
แต่เมื่อนำเข้าแล้วต้องไปเลือกยืนยันว่ารายใดบ้างที่ต้องขึ้นทะเบียนจริงๆ เนื่องจากบางคลินิกอาจจะดูแค่ Diax อย่างเดียวไม่ได้ จำเป็นต้องได้รับการยืนยันจากผลวิเคราะห์ด้านอื่นประกอบด้วยครับ
โค๊ด: Delphi
  1. unit Import2Clinicmember;
  2.  
  3. interface
  4.  
  5. uses
  6.   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  7.   Dialogs, ComCtrls, StdCtrls;
  8.  
  9. type
  10.   TForm1 = class(TForm)
  11.     Button1: TButton;
  12.     ProgressBar1: TProgressBar;
  13.     Memo: TMemo;
  14.     Button2: TButton;
  15.     procedure Button2Click(Sender: TObject);
  16.     procedure Button1Click(Sender: TObject);
  17.   private
  18.     { Private declarations }
  19.   public
  20.     { Public declarations }
  21.   end;
  22.  
  23. var
  24.   Form1: TForm1;
  25.  
  26. implementation
  27.  
  28. {$R *.dfm}
  29.  
  30. procedure TForm1.Button1Click(Sender: TObject);
  31. var a:integer;
  32. begin
  33. a:=0;
  34. dbf1.close;
  35. dbf1.tablename:='C:\DOCUME~1\Yindee\IMPOST~1\Temp\export.dbf';
  36. dbf1.open;
  37. ProgressBar1.max:=dbf1.recordcount;
  38. showmessage('¨Ó¹Ç¹¢éÍÁÙÅ·Õè¹Óà¢éÒ '+inttostr(ProgressBar1.max)+' Records');
  39. Memo.lines.add('Found '+inttostr(ProgressBar1.max)+' Records');
  40. Memo.lines.add('Start Import DaTa............');
  41. ProgressBar1.position:=0;
  42. dbf1.first;
  43. fcds.close;
  44. //fcds.datarequest('EXEC delete from clinicmember');
  45. fcds.datarequest('select * from clinicmember');
  46. fcds.open;
  47. while not dbf1.eof do
  48. begin
  49. ProgressBar1.position:=ProgressBar1.position+1;
  50. a:=a+1;
  51.  fcds.insert;
  52.  // fcds['age_y']:=dbf1['age_y'];
  53.  //fcds['begin_year']:=dbf1['begin_year'];
  54.  fcds['clinic']:='018';
  55.  fcds['hn']:=dbf1['hn'];
  56.  fcds['number']:=a;
  57.  fcds['regdate']:='11/6/2552';
  58.  {fcds['last_vn']:=dbf1['last_vn'];
  59.  fcds['lastupdate']:=dbf1['lastupdate'];
  60.  fcds['lastvisit']:=dbf1['lastvisit'];
  61.  fcds['note']:=dbf1['note'];
  62.  fcds['pt_number']:=dbf1['pt_number'];
  63.  fcds['pttype']:=dbf1['pttype'];
  64.  fcds['sex']:=dbf1['sex'];
  65.  fcds['subtype']:=dbf1['subtype']; }
  66.  
  67.  fcds.post;
  68.  memo.lines.add('Import No.'+inttostr(ProgressBar1.position)+'    Clinic '+fcds['clinic']+' , HN '+fcds['hn']);
  69.  dbf1.next;
  70. end;
  71. applyupdate_fcds(-1);
  72. dbf1.close;
  73. fcds.close;
  74. memo.lines.add('-------------------------------------------------');
  75. memo.lines.add('Yindee Process Done ('+inttostr(ProgressBar1.position)+' Records)');
  76. showmessage('Done');
  77. end;
  78.  
  79. procedure TForm1.Button2Click(Sender: TObject);
  80. begin
  81. self.Close;
  82. end;
  83.  
  84. end.
  85.  

302
เนื่องจากหารูปเท้าเหมาะๆๆยังไม่ได้ รบกวนท่านที่สนใจส่งรูปมาให้หน่อยครับ จะได้มาประกอบในแบบสำรวจและ จะ upload ให้ลองนำไปทดสอบดูครับ :) :) :) :) :) :)

303
ได้รับคำถามเกี่ยวกับคำสั่งที่ใช้ update  รายการค่ารักษา ราคาพิเศษ 1 ให้เท่ากับราคาปกติ ทุกรายการเนื่องจาก Admin วางแผนว่า รพ ตนเองจะมีบัญชีค่ารักษาพยาบาล 2 บัญชี แต่บัญชี 2 (ราคาพิเศษ 1) ส่วนใหญ่ราคาจะเท่ากับราคาปกติ จึงอยากปรับทุกรายการโดยใช้คำสั่งเดียว แล้วค่อยมาแก้เองเป็นบางรายการ
ตัวอย่างคำสั้ง
โค๊ด: SQL
  1. UPDATE nondrugitems SET price2=price , ipd_price2=ipd_price

304
เนื่องจากระบบเดิม ที่โปรแกรมออกแบบให้จนท.x-rayต้องยืนยันและบันทึกการ x-ray ผ่านเมนู X-ray ก่อนจึงจะคิดค่า x-ray ให้ครับ ซึ่งบางครั้งพบปัญหาว่ากรณีทีแรงงานต่างด้าวหรือข้าราชการ มาตรวจสุขภาพจำนวนมาก และทางรพ.เองจำเป็นต้องเก็บค่าตรวจสุขภาพก่อน ถ้าห้อง x-ray ไม่บันทึกการx-ray  จะทำให้ค่าใช้จ่ายx-ray จะเกิดขึ้นครับ บางครั้งจนท.x-ray ลืมยืนยันก็มี เลยอยากเสนอ อ.mn ปรับโปรแกรมให้สามารถเลือกได้เหมือน Lab ว่า จะคิดเงินตั้งแต่ตอนสั่งx-ray หรือ หลังจากยืนยันการ x-ray ก็ได้ครับ
ขอบคุณครับ

305
ทดสอบการใช้งานพบว่า เมื่อบันทึกยืนยันการจ่ายยาไปแล้ว เมื่อกลับมาหน้าคิวผู้มารอรับยา แล้วกดเลือกแสดงผู้ป่วยที่ได้รับยาแล้วไม่แสดงครับ v.3.52.5.20 ยังแสดงได้ปรกติครับ
ขอบคุณพี่ Kookaija ที่แจ้งมาครับ

306
ลองทดสอบการใช้ Script ในการบังคับ Object ที่แสดงใน  Universal Form Designer แต่ยังไม่เข้าใจเรื่องการอ้าง Object ว่าถูกต้องหรือไม่ครับ  พอดีมีแนวคิดว่าถ้าให้มันตรวจสอบค่าคะแนนที่ได้ แล้งเขียนคำสั่งควบคุมผ่าน Radiogroup
เช่น
โค๊ด: Delphi
  1.  if a<25 then
  2. radigroup150.buttons[0].checked:=true;
เมื่อ a คือ คะแนนรวมที่ได้จากการตอบแบสอบถาม

307
พบปัญหาการสั่ง X-ray ในระบบห้องทำงานแพทย์ จะต้องระบบุ ท่า เช่น AP ด้วย จึงจะสั่งได้ ซึ่งไม่สะดวกในการสั่ง  เพราะบางรายการไม่จำเป็นต้องระบุท่า ครับ ทดสอบใน ระบบ ER IPD  ไม่พบปัญหาดังกล่าวนี้ครับ
ฝาก อ.mn พิจารณา
ขอบคุณครับ

308
UE แบบประเมินผลการควบคุมโรคหืด Asthma Control Test (ACT) ฉบับภาษาไทย
ออกแบบโดย คุณหมอเศกสิทธิ์ เหล่าพิเชียรพงษ์  รพ เมืองชลบุรี ให้พวกเราลองไปใช้
ขอบคุณมากครับ
 MU จงเจริญ   จากเด็กผี

309
Development / เสนอแนะปรับปรุง Risk Management Report(RM)
« เมื่อ: เมษายน 30, 2009, 00:19:55 AM »
ขอเสนอปรับปรุงเพื่อรองรับกับระบบงานคุณภาพ  ตามที่ พรพ ต้องการและสามารถที่จะเก็บมาเป็นตัวชี้วัดได้ง่ายขึ้นครับ
ฝาก อ.mn พิจารณา
ขอบคุณครับ

310
สืบเนื่องมาจาก จังหวัด นครปฐม ให้โรงพยาบาลชุมชนจัดทำรายงานสรุปผู้ป่วยส่งต่อ ประจำทุกเดือน ถ้าท่านใดสนใจจะลองไปปรับใช้ ก็ d/l ได้เลยครับ

311
ได้รับคำถามมาจากคุณหมอเกียวกับ ช่อง Ext ในระบบทันตกรรมแบบใหม่  แต่ไม่แน่ใจว่าที่ตัวเองเข้าใจถูกต้องหรือไม่  จึงขอสอบถามชุมชน HOSxP เอาไว้สำหรับตอบหมอฟันได้ถูกต้องและถูกใจ

312
อยากให้มีปุ่ม  รายการให้บริการ และปุ่มแสดงสรุป ในระบบบัญชี 4-6เพื่อสะดวกในการใช้งาน เหมือนในระบบบัญชี 3 ฝาก อ.mn พิจารณา
ขอบคุณครับ

313
ช่องสถานที่ไม่ขึ้นครับ ทั้งๆที่มีข้อมูลในตาราง labour_place  หรือว่า อ.mn ยกเลิกการใช้

314
มีน้อง Admin บางท่านถามมาครับว่า เวลาที่เรา login แล้วตัวเลือกที่เราเลือกก่อนเข้าระบบ จะเก็บไว้ที่ไหนโดยเฉพาะ ประเภท ในเวลา นอกเวลา Parttime    ผมลองเปิดไปที่ตาราง onlineuser เจอข้อมูลแค่บางส่วน

315
Report Exchange / ขอฟอร์ม IPD-PROFILE-FINANCE-INCOME-SUMMARY-1
« เมื่อ: เมษายน 02, 2009, 06:53:50 AM »
ไม่ทร าบว่าท่านใดพอมี IPD-PROFILE-FINANCE-INCOME-SUMMARY-1บ้างครับ
ขอบคุณล่วงหน้าครับ

316
ลองทดสอบใช้ใน HOSxP 3.52.3.14 พบปัญหาในการใช้งานตามรูปที่แนบมาให้ครับ   อยากให้ อ.mn เพิ่มปุ่มพิมพ์ให้สามารถสั่งพิมพ์รายละเอียดที่ได้อนุเคราะห์ ได้ด้วยครับ เพื่อใช้สำหรับให้งานการเงินทวนสอบได้

317
เอาไว้สำหรับเรียกเก็บค่ารักษาพยาบาลระหว่างเขตรอยต่อของหน่วยงาน  โดย สามารถเลือกสิทธิการรักษาและที่อยู่ของผู้ป่วยได้ครับในรายงานี้กำหนดว่า ถ้าค่าใช้จ่ายจริงไม่เกิน 700 บาท ให้เก็บเต็ม ตามที่รักษาจริง แต่ถ้าเกิน เช่น 1,000 บาท ก็จะเก็บแค่ 700 บาทเท่านั้น
ปล. thanks Srwood ที่ช่วยออกแบบ ด้วยครับ
โค๊ด: Delphi
  1. var
  2.  
  3.  _pttype,_aid,_vn,ds1,ds2:string;
  4.  d1,d2:tdatetime;
  5.  
  6. procedure GlobalOnCreate;
  7. begin
  8.  
  9.    GetDateRangeDialog(d1, d2);
  10.    ds1:=formatdatetime('yyyy-mm-dd',d1);
  11.    ds2:=formatdatetime('yyyy-mm-dd',d2);
  12.    _pttype:=GetMultipleList('select concat(pttype," : ",name) as wd '+
  13.             ' from pttype order by pttype');
  14.    if _pttype<>'' then
  15.     begin
  16.      _pttype:=getsqlsubquerydata('select pttype from pttype '+
  17.               ' where concat(pttype," : ",name) in ('+_pttype+')');
  18.      _aid:=GetMultipleList('select distinct concat(if(v.moopart="","-",concat("&#193;.",abs(v.moopart)))," ",t.full_name) as wd '+
  19.            ' from vn_stat v '+
  20.            ' left outer join thaiaddress t on v.aid=t.addressid '+
  21.            ' where v.vstdate between "'+ds1+'" and "'+ds2+'" '+
  22.            ' and v.pttype in ('+_pttype+') '+
  23.            ' order by t.addressid,v.moopart');
  24.     if _aid<>'' then
  25.       begin
  26.         _vn:=getsqlsubquerydata('select v.vn '+
  27.                ' from vn_stat v '+
  28.                ' left outer join thaiaddress t on v.aid=t.addressid '+
  29.                ' where v.vstdate between "'+ds1+'" and "'+ds2+'" '+
  30.                ' and concat(if(v.moopart="","-",concat("&#193;.",abs(v.moopart)))," ",t.full_name) in ('+_aid+')');
  31.         if _vn<>'' then
  32.                   ChangeReportSQL('select if(v.income>=700,700,round(v.income,0)) as claim,v.*,p.name as pttype_name,pc.cardno,concat(pa.pname,pa.fname," ",pa.lname) as wd, '+
  33.                ' concat(h.hosptype,h.name) as wd1, '+
  34.                ' concat(if(v.moopart="","-",concat("&#193;.",abs(v.moopart)))) as wd2, '+
  35.                ' if(v.sex="1","&#170;&#210;&#194;","&#203;&#173;&#212;&#167;") as wd3'+
  36.                ' from vn_stat v '+
  37.                ' left outer join pttype p on v.pttype=p.pttype '+
  38.                ' left outer join ptcardno pc on v.hn=pc.hn '+
  39.                ' left outer join patient pa on v.hn=pa.hn '+
  40.                ' left outer join hospcode h on v.hospmain=h.hospcode '+
  41.                ' where v.vn in ('+_vn+') '+
  42.                ' and v.income>0');
  43.  
  44.       end;
  45.     end;
  46. end;

318
ทดสอบลองใช้ระบบ Check Up พบว่าอายุไม่แสดงครับ ไม่แน่ใจว่าทำผิดขั้นตอนไหนหรือเปล่าครับ

319
ทราบข่าวมาว่า มี โรงพยาบาลบางแห่งได้ร้องต่อศาลปกครองเกี่ยวกับแนวทางการเบิกจ่ายค่ารักษาพยาบาลบางกลุ่มรายการที่คนไข้จำเป็นต้องใช้แต่ไม่สามารถที่จะเบิกได้ ของผู้มีสิทธิข้าราชการ ตามที่กรมบัญชีกลางได้กำหนดมาเพื่อให้โรงพยาบาลแต่ละแห่งต้องยึดเป็นแนวปฏิบัติ เดือนมีนาคม 52 นี้คงทราบผลครับ

320
Report Exchange / รายงาน ER-REPORT-1,ER-REPORT-2,ER-REPORT-3
« เมื่อ: มีนาคม 03, 2009, 21:16:24 PM »
จัดให้กับคนคอน และน้า JD
ได้มาจาก น้อง อาร์ม รพ ด่านซ้ายอีกทีครับ
ถ้าจะ Thanks  ต้องให้ credit  น้อง อาร์ม รพ ด่านซ้าย

321
สำนักบริหารจัดการคลัสเตอร์และโปรแกรมวิจัย (CPMO) สำนักงานพัฒนาวิทยาศาสตร์และเทคโนโลยีแห่งชาติ (สวทช)  กระทรวงวิทฯ (NSTDA Annual Conference) กำหนดให้มีการสัมมนาระดมความคิดเห็นเรื่อง มาตราฐานข้อมูลระบบสุขภาพของประเทศไทย เพื่อสวัสดิการสังคมของคนไทย ในวันที่เสาร์ที่ 14 มีนาคม พ.ศ.2552 ระหว่างเวลา 9:00-16:00 น ณ อาคารศูนย์ประชุมอุทยานวิทยาศาสตร์ประเทศไทย(CC)
อุทยานวิทยาศาสตร์ประเทศไทย ถ.พหลโยธิน ต.คลองหนึ่ง อ.คลองหลวง จ.ปทุมฐานี
(02-5646759)

322
ใช้ HOSxP 3.51.10.14 ส่ง 12+18 แฟ้ม ของ สปสช พบปัญหาว่าข้อมูลบางแฟ้มนำเข้าไม่ได้ครับ ยังไม่ได้ลองใช้ version ล่าสุด ส่งออก

สงสัยต้อง up version ซะแหล่ว 8) 8) 8) 8) :o :o :o :o :o

323
ลองเข้าไปดู ฟ้องตามรูปครับ

324
แจ้งปัญหา / ขอความช่วยเหลือ / Bug HOSxP 3.52.2.23 กับ บัญชี 2
« เมื่อ: กุมภาพันธ์ 25, 2009, 21:30:05 PM »
เรื่องการลง lot และวันหมดอยุไม่ได้ เนื่องจาก ตาราง person_anc_service_detail อ.mn ไม่ได้เพิ่ม vaccine_expire_date และ  vaccine_lotno ให้ใช้คำสั่งนี้แก้ปัญหาเฉพาะหน้าไปก่อนสำหรับท่านใดที่ต้องการใช้ version นี้ คงต้องฝาก อ.mn เิพิ่มให้ใน version ถัดไปครับ
โค๊ด: SQL
  1. ALTER TABLE  person_anc_service_detail ADD   `vaccine_expire_date` DATE DEFAULT NULL;
  2. ALTER TABLE  person_anc_service_detail ADD   `vaccine_lotno` VARCHAR(50) DEFAULT NULL;

325
เนื่องจากทางงานคัดกรองจะให้ทางห้องบัตรช่วย sreen  คนไข้ เวลที่มีคนไข้มามากๆ จึงอยากอาจารย์ mn ดึงข้อความอาการสำคัญในเมนูส่งตรวจคนไข้มาแสดงใน cc ของเมนูงานคัดกรองด้วยครับ ทั้งนี้เพื่อความสะดวก โดยพี่พยาบาลจะได้ไม่ต้องพิมพ์ซ้าใหม่ทั้งหมด  เพียงแค่มาแก้ไขข้อความเพิ่มเติม ก็จะทำให้การคักรองเร็วขึ้นครับ
ขอบคุณครับ

326
Report Exchange / Function YindeeReplaceStr
« เมื่อ: กุมภาพันธ์ 17, 2009, 12:18:04 PM »
สำหรับท่านใดที่เคยใช้ function GetSQLSubQueryData(sql) ข้อมูลที่ได้จะเป็น 'xxxx','yyyy','zzzzz'  ซึ่งบางครั้งผู้ใช้อยากให้เครื่องหมาย ' ' หายไป โดยให้แสดงเป็น xxx,yyyy,zzzzz
จากที่เคยเรียนรู้เรื่องการสร้าง Function ขึ้นใช้เองใน Report Designer วันนี้มารู้จัก Function YindeeReplaceStr
Str คือ ข้อความ
o คือ เครื่องหมายหรือสิ่งที่อยู่ในข้อความเดิมที่ต้องการแทนที่
n คือ เครื่องหมายหรือสิ่งที่อยู่ในข้อความใหม่ที่ต้องการแทนที่แทนของเดิม
ยกตัวอย่าง เช่น  ผมต้องการแทนที่ 1 ด้วย a
ข้อมความ  str='123451';
YindeeReplaceStr(str,'1','a');
จะได้ str='a2345a'
โค๊ด: Pascal
  1. Function YindeeReplaceStr(Str,o,n:string):string;
  2. var
  3. np,nl:integer;
  4. begin
  5. np:=pos(o,Str);
  6. nl:=length(o);
  7. while (np >0) do
  8. begin
  9. delete(Str,np,nl);
  10. insert(n,Str,np);
  11. np:=pos(o,Str);
  12. end;
  13. Result:=Str;
  14. end;
ตัวอย่างตามรูปที่แนบมาครับ

327
ยินดีต้อนรับ / นำเสนอระบบ LIS เชื่อมต่อ HOSxP
« เมื่อ: กุมภาพันธ์ 03, 2009, 15:14:57 PM »
จากที่ได้เตรียมระบบ Lis มานาน ในที่สุดก็ได้เวลาเริ่มใช้งานจริงแล้วครับ(ที่ช้าก็เนื่องมาจากอยากให้ระบบที่ได้มีความยืดหยุ่นสูงในการใช้งาน และที่สำคัญต้องไม่หน่วงระบบพร้อมทั้งต้อง Stable ด้วย ทางทีมเขาเลยมึนไปนาน ปรับแก้กันหลายรอบ  )
วันนี้น้องทางทีม บริษัท CYBER SOFT TECH (www.cstthailand.com)มาสาธิตการใช้งาน ได้ฟังแนวคิดที่น้องเขาทำหลายๆอย่างน่าสนใจ โรงพยาบาลหลวงพ่อเปิ่นจึงร่วมกับ บริษัท CYBER SOFT TECH นำเสนอระบบ LAB   AUTOMATE(LIS) เชื่อมต่อกับ HOSxP ) ประมาณเดือนมีนาคม 2552 นี้ครับ 1 วัน งานนี้ฟรี ไม่มีค่าใช้จ่ายครับ แ่ต่ถ้าจะช่วยออกค่า break ก็ไม่ว่ากัน   ;D ;D ;D ;D ;D ; ซึ่งทางบริษัท CYBER SOFT TECH  เขายินดีรับฟังทุกความคิดเห็น เพื่อจะนำไปปรับปรุงให้เหมาะสมกับการใช้งานจริง ต่อไป

328
ที่อ.mn เพิ่ม SYS_VN_SCRIPT ลองทดสอบแล้วจะเตือนตอนส่งตรวจครับ แต่ที่ระบบคัดกรอง ห้องตรวจแพทย์ไม่เตือน

329
ห้องฟันอีกแล้วครับ
เนื่องจากงานทันตกรรมต้องการที่จะพิมพ์ opdcard ของผู้ป่วยประกันสังคมโดยที่จะเอาเฉพาะรายการที่ห้องฟันบันทึกเท่านั้นรายการอื่นที่ไม่เกี่ยวข้อง ไม่เอา (เธอช่างเลือกเหมือนกัน ;D ;D ;D)

330
เนื่องมาจากห้องฟันที่ รพ.ต้องการค้นเบอร์โทรของผู้มาทำฟัน และ่สามารถจะแก้ไข บันทึกเบอร์ได้ด้วยโดยไม่ต้องเข้าระบบลงทะเบียนผู้ป่วยรายใหม่  สำหรับไว้ติดต่อการบริการ โดยที่หลังจากบันทึกแก้ไขแล้ว ข้อมูลจะถูก update ไปที่ field hometel informtel ของ patient table

331
Report Exchange / ส่งตัวอย่างรายงานให้ รพ.บ้านนา
« เมื่อ: มกราคม 27, 2009, 09:36:59 AM »
ลองทดสอบดูก่อนนะ ผมลองแล้วสามารถพิมพ์ได้ครับ

332
Report Exchange / Custom Printing Settings ใน HOSxP Report Designer
« เมื่อ: มกราคม 15, 2009, 21:12:52 PM »
มีน้อง Admin ถามมาเรื่องการทำ Custom Printing Settings ใน HOSxP Report Designer เช่น คำสั่ง
โค๊ด: Delphi
  1. procedure GlobalOnCreate;
  2.  
  3. var s:string;
  4.  
  5. begin
  6.  
  7.   s:=  InputQuery('Copy', 'Copy');
  8.  
  9.   if trim(s)='' then s:='1';
  10.  
  11.   Report.PrinterSetup.copies:=strtoint(s);
  12.  
  13. end;
  14.  
ซึ่งใช้ควบคุมการสั่งพิมพ์
ขอเวลาสักครู่ รอให้เจ้ายินดีหลับก่อน แล้วจะมาอธิบายการสร้างและการใช้ต่อครับ :D :D :D :D :D

333
Report Exchange / การสร้าง Function ใช้เองใน Report Designer
« เมื่อ: มกราคม 14, 2009, 12:34:45 PM »
มีบางท่านถามมาเกี่ยวกับการสร้าง Function หรือ Procedure ขึ้นใช้เองเพิ่มเติมจากFunction หรือ Procedure เดิมที่มีมาให้ใน HOSxP Report Designer ยกตัวอย่าง รายงานชื่อ SYSTEM-OPD-RG0110-1 ตัวอย่างตามรูป
 Function ชื่อ GetHOSVariable()

334
เนื่องจากงาน IC ต้องการติดตามการเจ็บป่วยของเจ้าหน้าของโรงพยาบาล จึงอยากได้รายงานที่แสดง HN  ชื่อ วันที่เจ้บป่วยในช่วงวันที่ต้องการ  dx ที่เป็นโรคหลัก
ผมใช้ Subreport ,ChangeReportSQL ช่วยในการทำรายงาน

335
แจ้งปัญหา / ขอความช่วยเหลือ / โดน Smurf attack
« เมื่อ: มกราคม 05, 2009, 13:23:25 PM »
ท่านใดพอมีวิธีแก้ปัญหานี้บ้างครับ กำลังโดน :-[ :-[ :-[ :-[ :-[ :-[ :-[
ขอบคุณครับ

336
เป็นตัวอย่างการใช้ Unix_Timestamp,GetDateTimeRangeDialog,ChangeReportSQL สำหรับท่านที่ต้องการสร้าง dialog ที่ให้ผู้ใช้เลือกวันที่และเวลา หลังจากนั้นนำค่าที่ได้จากการเลือกไปทำรายงานต่อ ครับ
(รายยงานแสดง รายการยาที่จ่ายนอกเวลา ตั้งแต่ 16:00 - 08:00  ของวันถัดไป)
หมายเหตุ ยังไม่รวมนอกเวลาที่เป็นวันหยุด เสาร์ อาทิตย์ วันหยุดทางราชการ เนื่องจากยังไม่รู้ว่าจะทำงัยดี :D :D :D :D

โค๊ด: Pascal
  1. var
  2.        date1,date2:tdatetime;
  3.        dt1,dt2,ds1,ds2:string;
  4. procedure GlobalOnCreate;
  5. begin
  6.   GetDateTimeRangeDialog(date1, date2);
  7. dt1:= FormatDateTime('yyyy-mm-dd 16:00:00',date1);//เนื่องจากงาน ER ขอให้ใส่เวลา กำกับไปด้วยครับ
  8. dt2:= FormatDateTime('yyyy-mm-dd 08:00:00',date2);//เนื่องจากงาน ER ขอให้ใส่เวลา กำกับไปด้วยครับ
  9. ds1:= getsqlstringdata('select unix_timestamp("'+dt1+'")');
  10. ds2:= getsqlstringdata('select unix_timestamp("'+dt2+'")');
  11. ChangeReportSQL('select  a.icode,concat(b.name,"  ",strength," (",b.units,")") as drugname , '+
  12. 'sum(a.qty) as total,dosageform '+
  13. 'from opitemrece a   '+
  14. 'left outer join drugitems b on a.icode=b.icode  '+
  15. 'where  unix_timestamp(concat(a.vstdate," ",a.vsttime)) between "'+ds1+'" and "'+ds2+'"  '+
  16. 'and a.icode like"1%"  '+
  17. 'and dep_code  in ("011","009")  '+
  18. 'group by   a.icode,b.name,strength,b.units,dosageform  '+
  19. 'order by dosageform,b.name ');
  20. end;

337
เป็นคู่มือสำหรับการทำรายงานด้วย pascal script ที่เขียน อยู่ใน Tempreport เหมาะกับ admin ที่ต้องการความท้าทาย และอยากให้ report มีลูกเล่นเพิ่มขึ้นจากเดิม จะพยายามทำให้เสร็จก่อนการอบรมที่ นครนายกครับ รับปากไว้นานแล้ว  ถ้าเสร็จเมื่อใด จะ upload ให้อีกทีครับ  สำหรับท่านใดที่ต้องการให้ส่ง e-mail ก็ขอให้แจ้ง mail ไว้ด้วยครับ
ตัวอย่าง code ง่ายๆ ที่ใช้ครับ
โค๊ด: Pascal
  1. UNIT Bangsay;
  2. procedure main;
  3. begin
  4. zquery.close;
  5. zquery.sql.text:='delete from tempreport where reportname="CUSTOM-Yindee"';
  6. zquery.execsql;
  7. zquery.close;
  8. fcds.close;
  9. fcds.datarequest('select * from tempreport where reportname="CUSTOM-Yindee"');
  10. fcds.open;
  11. fcds2.close;
  12. fcds2.datarequest('select  *  from pttype ');
  13. fcds2.open;
  14. fcds2.first;
  15. while not fcds2.eof do
  16. begin
  17. fcds.insert;
  18. fcds['reportname']:='CUSTOM-Yindee';
  19. fcds['id']:='CUSTOM-Yindee';
  20. fcds['name1']:=fcds2['pttype'];
  21. fcds['name2']:=fcds2['name'];
  22. fcds.post;
  23. fcds2.next;
  24. end;
  25. fcds2.close;
  26. fcds.datarequest('select * from tempreport where reportname="CUSTOM-Yindee"');
  27. applyupdate_fcds();
  28. end;
  29. end.

338
ขอบคุณคุณ DENHOSPITAL ที่แจ้งมาครับ ทดสอบใน hosxp 3.51.12.20 จากเมนูห้องตรวจแพทย์  ระบบงานส่งเสริม
ลงทะเบียนเด็ก 1-6 ปี พบว่าเวลาส่งออก 18 แฟ้ม แฟ้ม EPI  field SEQ ไม่มีครับเป็นค่าว่าง แต่กรณีที่ใช้เมนูลงทะเบียนเด็ก 0-1 ปึ ส่งออกได้ครบทุก field ครับ

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

340
ยินดีต้อนรับ / เป็นกำลังใจให้ อ.mn
« เมื่อ: ตุลาคม 23, 2008, 09:44:39 AM »
ทราบข่าวจาก อ.อ๊อด เมื่อสักครู่นี้ ผมและเจ้าหน้าที่ รพ.หลวงพ่อเปิ่น ขอเป็นกำลังใจให้ อ.mn ครับ เพราะ HOSxP คือชีวิตของอ.mn ตามที่ อ.mnเคยบอกไว้ :D :D :D :D :D

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

342
จากที่ได้สอบถามผมเรื่องการส่งข้อมูลตาราง  MCH แล้วข้อมูลขึ้นไม่ครบหรือไม่มี ผมได้ทดสอบแล้วครับว่าส่งออกได้ (HOSxP 3.51.10.14) ถ้ายังสงสัยก็โทรมาถามได้ครับ เมื่อคืนขอโทษเหวยด้วยไม่ได้โทรกลับไปหา เนื่องจากเจ้ายินดีไม่ยอมให้จับ notebook เลย :D :D :D :D

343
ยินดีต้อนรับ / EDGE MODEM DT-610U (DTECH USB 2.0) อ.อ๊อดให้มา
« เมื่อ: ตุลาคม 05, 2008, 08:43:09 AM »
ขอบคุณ อ.อ๊อดครับที่เอาของเล่นใหม่มาให้ เนื่องจากที่บ้านผมยังห่างไกล ADSL และ tot ไม่ยอมมาติดตั้งให้เนื่องจากในหมู่บ้านที่ผมอยู่มีผมใช้คนเดียว เขาบอกว่าสัญาณมาไม่ถึง ไม่คุ้มในการลงทุน ;D ;D ;D ;D ;D ;D สรุปใช้งานได้ดีแต่ต้องต่อโดยตรงไม่ต้องใช้สายพ่วงครับ ถ้าใครอยากให้ช่วยทำรายงาน ช่วยสบทบทุนเติมเงินให้ด้วยเน้อ.... เพราะส่วนใหญ่จะเวลาทำรายงานจะทำที่บ้านเป็นหลักครับ
(ใช้ sim 1-2-call   ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D)

344
กำลังจัดทำ รายงานผลการปฏิบัติงานทันตสาธธารณสุข ท่านใดที่สนใจ รอไม่เกินศุกร์นี้ครับ
( คุณหมอฟันที่ รพ น่ารักมากครับ (3 สาว super girl :D :D :D :D) กำหนดหัตถการและและระบุรายละเอียดการทำรายงานตัวนี้ดีมากครับ ไม่ต้องเสียเวลามาหาความหมายเอง รับปาหหมอไว้นานแล้วครับ คงเสร็จทัน รพ.สิเกามาดูงาน)

345
ยินดีต้อนรับ / ส่งให้ lk
« เมื่อ: กันยายน 25, 2008, 14:36:38 PM »
to u :D

346
ขอความคิดเห็นจากชุมชน HOSxP เรื่องการที่จะใช้ linux รันบน VMWARE ที่ run บน LINUX server อีกที โดยที่ linux ที่จะ รันบน VMWAR นี้จะลง  hosxp database และจะใช้เก็บข้อมูลจริงของรพ ที่มีคนไข้ประมาณ 300-500 คนขึ้นไป เดาว่าต้องการประหยัดเครื่องจึงออกแบบให้ สามารถลง os ได้หลายตัว เพือที่จะรองรับการใช้ทั้งงานที่ต้องวิ่งบน windows หรือ linux บน server เดียวกัน เรียกง่ายว่า รวมมิตรโดยผ่าน VMWARE
(spec server IBM SCSI 143 G HDD 2 ตัว RAM 2 G)
เพราะอาทิตย์หน้าต้องไปให้คำตอบเขาแล้วว่าเหมาะสมอย่างไร ::) ::) ::) ::) ::)

347
แจ้งปัญหา / ขอความช่วยเหลือ / Bug HOSxP 3.51.9.16
« เมื่อ: กันยายน 18, 2008, 09:14:45 AM »
งานผู้ป่วยในตรวจมาพบว่าโปรแกรมดึงค่าใช้จ่ายมาแสดงไม่ถูกต้องครับ ฝาก อ.mn ตรวจสอบให้ด้วยครับ
ขอบคุณครับ

348
ส่งข้อเสนอแนะระบบ HOSXP PCU จากการอบรมที่ รพ แก้งคร้อ ให้ อ.mn พิจารณาครับ

349
ได้รับแจ้งจากงานเวชระเบียนว่าอยากให้สามารถลงการวินิจฉัยผู้ป่วยนอกได้เหมือนกับในหน้าการลงวินิจฉัยผู้ป่วยในที่ไม่ได้บังคับการลง สำหรับ กลุ่มรหัส S V T W X ที่ต้องลง extenal code ด้วยเนื่องจากทางหน่วยงานไม่ต้องการให้โปรแกรมตรวจสอบรหัส S V T W X ครับ ตอนนี้แก้ปัญหาเฉพาะหน้าโดยการใช้ลูกศรเลื่อนซ้ายขวาแทนปุ่ม ENTER สำหรับ กลุ่มรหัส S V T W X

350
ขอเสนอแนะ อ.mn ปรับเรื่องการบันทึกคลอด ตามรูปที่แนบมาให้ครับ

หน้า: 1 ... 5 6 [7] 8 9 ... 12