แสดงกระทู้

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.


Messages - naj

หน้า: 1 [2] 3 4 ... 48
51
โค๊ด: SQL
  1. UPDATE patient SET bloodgrp="99"
  2. WHERE bloodgrp IS NULL OR bloodgrp LIKE""

52
ถึงบางอ้อ แล้วครับ  :D :D :D :D :D
เข้าใจการทำงานของคำสั่ง WinEXEC และการส่งค่า Param ที่มากกว่า 1 ตัว ให้กับ Exe File ที่เราสร้างขึ้น 
unit Yindee;
procedure main;
var fan:string;
begin
 fan:=GetGlobalValue('AN');

  //WinEXEC('Project1.exe '+fan);
  Winexec('Project1.exe '+' '+fan);

  //showmessage(fan);
end;
end.

53
มีใครจำได้ไหมครับว่า WinEXEC  เราจะส่งค่า Parameter เข้าไปใน Project ที่เรา Compile ได้ยังงัย (ลืมวิธีทำไปแล้วครับ)

54
ยินดีต้อนรับ / Re: DrugProfile
« เมื่อ: มีนาคม 22, 2013, 16:44:06 PM »
ใช้ HOSxP Version ไหนครับ

55
ยินดีต้อนรับ / Re: DrugProfile
« เมื่อ: มีนาคม 22, 2013, 15:56:58 PM »
ชื่อ IPD-PROFILE-REPORT-1 ครับ

56
Thanks  :) :) :)
ไอเดีย บรรเจิด ไม่ต้องใช้เข็มขัด (เพราะคาดไม่ถึง...) 

57
ถ้าได้ HOSxP  Amazing  เถิดเทิงเป็นแน่แท้  บรรดาขาสร้าง(ฝัน) การพัฒนาต่อยอดการใช้งาน คงคันไม้คันมือ(ส่ายสะดือ เด้งมา เด้งไป...555)  ;D

59
ลองทดสอบการเขียนฟอร์มในปุ่ม Custom Form โดยที่ เราสร้างฟอร์มย่อยมากกว่า 1 form ยกตัวอย่างเช่น มี MianForm กับ ChildForm เรียก ChildForm ด้วยคำสั่ง  RunHOSxP_ScriptProgram('xxxxFORM')  ผ่าน Button ใน MainForm  โดยปกติใน Delphi เราสามารถประกาศตัวแปรในส่วนของ Public ของ Unit1 แล้ว Use Unit1 ใน Unit2 ซึ่งจะทำให้เราสามารถที่จะใช้ตัวแปรร่วมกันได้(รับส่งค่าระหว่าง Form ได้) แต่จากเท่าที่ลองทำใน HOSxP ไม่สามารถทำได้ครับ เลยไม่แน่ใจว่าตอนนี้ HOSxP สามารถทำได้หรือยังครับ  ถ้าไม่ได้จริงคงต้องใช้วิธีเดิม Compile เป็น Exe file แล้วเรียกขึ้นมาใช้งานตรงๆ

60
ได้รับแจ้งว่ารายงานของทะเบียนผู้ป่วยเบาหวาน/ความดันโลหิตสูง ในส่วนของรายงานตามรูปที่ 1 เปิดใช้ไม่ได้ จากการทดสอบ พบ error ตามภาพที่แนบมาครับ น่าจะเกิดจากคำสั่ง count กับ (o.vn) มันมีช่องว่าง ที่จริง มันควรจะติดกัน

61
แจ้งปัญหา / ขอความช่วยเหลือ / Re: Share Tips HOSxP
« เมื่อ: มีนาคม 04, 2013, 11:31:16 AM »
 :)

62
Report Exchange / Re: ปกปิดชื่อโรค HIV
« เมื่อ: กุมภาพันธ์ 13, 2013, 12:04:42 PM »
ลองเขียนแบบนี้ก็ได้ครับ  :)
if pos('HIV' ,DBPipeline['diagnosis_name'])>0 then
  begin
  Value:='-';
  end else
  begin
  Value:=DBPipeline['diagnosis_name'];
  end;

63
แจ้งข้อผิดพลาดการทำงานของ HOSxP V3 / Re: HOSxP 3.56.2.10 error
« เมื่อ: กุมภาพันธ์ 12, 2013, 14:20:44 PM »
ลองทดลองใช้เมนูคัดกรองจิตเวช พบ error ดังกล่าวครับ

64
Development / Re: ระบบการ Login เข้าใช้งาน Data center ด้วย USB Key ครับ
« เมื่อ: กุมภาพันธ์ 12, 2013, 13:11:15 PM »
ใช้ได้เลยครับ ไม่มีค่าใช้จ่ายเพิ่ม
ขอบคุณครับ จะได้ประสานกับพี่งาน IT ที่ สสจ นครปฐม นำร่องเริ่มใช้ระบบนี้ในเครื่อข่าย รพ หลวงพ่อเปิ่นครับ  :)

65
Development / Re: ระบบการ Login เข้าใช้งาน Data center ด้วย USB Key ครับ
« เมื่อ: กุมภาพันธ์ 12, 2013, 11:59:46 AM »
ขอสอบถามเรื่อง  ระบบการ Login เข้าใช้งาน Data center ด้วย USB Key สำหรับจังหวัดที่มี Data Center ต้องซื้อเพิ่ม ต่างหากหรือเปล่าครับ   :)

66
หลังจาก upgrade พบปัญหาการเรียกรายงานของผู้ป่วยในแล้วพบตามภาพที่แนบมาครับ แต่ถ้าถอยมาใช้ version HOSxP 3.55.7.14 ไม่พบปัญหานี้ครับ

67
Development / Re: YindeeAndTan Tool For HOSxP 55.12.25
« เมื่อ: ธันวาคม 26, 2012, 14:14:54 PM »
สิ่งที่โปรแกรมตรวจสอบ
   เงื่อนไขทุกช่องต้องมีข้อมูล ว่างไม่ได้
สิ่งที่ไม่ได้ตรวจสอบ
   hn,vn,an มีจริงอยู่ในฐานข้อมูลหรือไม่  น้องเขาไม่ได้ทำระบบ search
   AN,VN เป็นของ HN ที่ส่งตรวจผิดหรือเปล่า

ดังนั้น ตอนที่นำไปใช้งานต้องแน่ใจว่าถูกต้อง  :) :) :) :) :)
เป็น Tool เล็กๆที่ใช้สำหรับแก้ปัญหาเฉพาะหน้าให้กับ admin  :)

68
Development / Re: YindeeAndTan Tool For HOSxP 55.12.25
« เมื่อ: ธันวาคม 26, 2012, 14:03:37 PM »
upload ให้แล้ว  file จะอยู่ด้านล่างของกระทู้นี้ครับ YindeeAndTan Tool For HOSxP 3.55.12.26
code ที่แก้ไขกรณีเป็น IPD Case
procedure TIPDAdmitEditForm.cxButton2Click(Sender: TObject);
var   i,i1:integer;
   begin
   if cxTextEdit1.Text=''  then
   begin
      ShowMessage('ไม่ได้กำหนด HN ที่ส่งตรวจผิด');
         cxTextEdit1.SetFocus;
     Exit;
   end;
   if cxTextEdit2.Text=''  then
     begin
        ShowMessage('ไม่ได้กำหนด AN');
     cxTextEdit2.SetFocus;
     Exit;
     end;
     if Length(cxTextEdit2.Text)<>9 then
     begin
      ShowMessage('AN ต้องเท่ากับ 9 หลัก');
     cxTextEdit2.SetFocus;
     Exit;
     end;
  if cxTextEdit3.Text<>'' then
  begin

   TC.Close;
   tc.data:=hosxp_getdataset('select * from hosxp_ddl_field  where field_name ="an"');
   ClientDataSet1.Close;
   ClientDataSet1.data:=HOSxP_GetDataSet('select sys_value from  '+
   'sys_var where sys_name="hn_digit"');
   i1:=StrToInt(ClientDataSet1.FieldByName('sys_value').AsString);
   {PatientCDS.Close;
   PatientCDS.Data:=HOSxP_GetDataSet('select concat(pname,fname,"  ",lname) as ptname '+
   'from patient where hn="'+addzero(cxtextedit3.text,i1)+'" limit 1') ;}
   ProgressBar1.position:=0;
   ProgressBar1.max:=tc.recordcount;
   i:=0;
   while not tc.eof do
   begin
     i:=i+1;
     label1.caption:='ตารางที่:'+inttostr(i)+': ชื่อ: '+tc.fields[0].asstring;
     if tc.fields[1].asstring ='an' then
     begin
      Memo1.lines.add('Table...'+tc.fields[0].asstring);
     try
      hosxp_getdataset('update '+tc.fields[0].asstring+'  set hn="'+
       addzero(cxtextedit3.text,i1)+'" where an="'+
       cxTextEdit2.text+'" and hn="'+AddZero(cxtextedit1.text,i1)+'" ');
       HOSxP_GetDataSet('update lab_head set '+
       'hn="'+addzero(cxtextedit3.text,i1)+'" '+
       'where vn="'+ cxTextEdit2.text+'" ') ;
       HOSxP_GetDataSet('update patient  set '+
       'admit="Y" '+
       'where hn="'+ addzero(cxtextedit3.text,i1)+'"  limit 1') ;
              HOSxP_GetDataSet('update patient  set '+
       'admit="N" '+
       'where hn="'+ addzero(cxtextedit1.text,i1)+'"  limit 1') ;
     except end;
     end;
    memo1.lines.add('Change...'+'update '+tc.fields[0].asstring+'  set hn="'
    +addzero(cxtextedit3.text,i1)+'" where an="'+cxtextedit2.text+'" and hn="'+
    AddZero(cxtextedit1.text,i1)+'" ---> OK');
    ProgressBar1.position:=ProgressBar1.position+1;
     application.processmessages;
     tc.next;
   end;
   Memo1.Lines.Add('--------------------------------------------------------------------------------------------------------------------');
   Memo1.Lines.Add('Data Update Successfull...');
   tc.close;
   ClientDataSet1.Close;
   PatientCDS.Close;
      showmessage('Done.');
  end else
  begin
   ShowMessage('ไม่ได้กำนด HN ที่ถูกต้อง') ;
   cxTextEdit3.SetFocus;
   Exit;
  end;
end;

//////////////////////////////////////////////////////////////////
code กรณีเป็น OPD CASE
procedure TOPDvisitEditForm.cxButton2Click(Sender: TObject);
var   i,i1:integer;
   begin
   if cxTextEdit1.Text=''  then
   begin
      ShowMessage('ไม่ได้กำหนด HN ที่ส่งตรวจผิด');
         cxTextEdit1.SetFocus;
     Exit;
   end;
   if cxTextEdit2.Text=''  then
     begin
        ShowMessage('ไม่ได้กำหนด VN');
     cxTextEdit2.SetFocus;
     Exit;
     end;
     if Length(cxTextEdit2.Text)<>12 then
     begin
      ShowMessage('VN ต้องเท่ากับ 12 หลัก');
     cxTextEdit2.SetFocus;
     Exit;
     end;
     
  if cxTextEdit3.Text<>'' then
  begin

   TC.Close;
   tc.data:=hosxp_getdataset('select * from hosxp_ddl_field  where field_name ="vn"');
   ClientDataSet1.Close;
   ClientDataSet1.data:=HOSxP_GetDataSet('select sys_value from  '+
   'sys_var where sys_name="hn_digit"');
   i1:=StrToInt(ClientDataSet1.FieldByName('sys_value').AsString);
   PatientCDS.Close;
   PatientCDS.Data:=HOSxP_GetDataSet('select concat(pname,fname,"  ",lname) as ptname '+
   'from patient where hn="'+addzero(cxtextedit3.text,i1)+'" limit 1') ;
   ProgressBar1.position:=0;
   ProgressBar1.max:=tc.recordcount;
   i:=0;
   while not tc.eof do
   begin
     i:=i+1;
     label1.caption:='ตารางที่:'+inttostr(i)+' ชื่อ '+tc.fields[0].asstring+' Done...';
     if tc.fields[1].asstring ='vn' then
     begin
      Memo1.lines.add('Table...'+tc.fields[0].asstring);
     try
      hosxp_getdataset('update '+tc.fields[0].asstring+'  set hn="'+
       addzero(cxtextedit3.text,i1)+'" where vn="'+
       cxTextEdit2.text+'" and hn="'+AddZero(cxtextedit1.text,i1)+'" ');
       HOSxP_GetDataSet('update visit_name set '+
       'patient_name="'+patientcds.FieldByName('ptname').AsString+'" '+
       'where vn="'+ cxTextEdit2.text+'" ') ;
     except end;
     end;
    memo1.lines.add('Change...'+'update '+tc.fields[0].asstring+'  set hn="'
    +addzero(cxtextedit3.text,i1)+'" where vn="'+cxtextedit2.text+'" and hn="'+
    AddZero(cxtextedit1.text,i1)+'" ---> OK');
    ProgressBar1.position:=ProgressBar1.position+1;
     application.processmessages;
     tc.next;
   end;
   Memo1.Lines.Add('--------------------------------------------------------------------------------------------------------------------');
   Memo1.Lines.Add('Data Update Successfull...');
   tc.close;
   ClientDataSet1.Close;
   PatientCDS.Close;
      showmessage('Done.');
  end else
  begin
  ShowMessage('ไม่ได้กำหนด HN ที่ถูกต้อง') ;
  cxTextEdit3.SetFocus;
   Exit;
  end;
end;


69
Development / Re: YindeeAndTan Tool For HOSxP 55.12.25
« เมื่อ: ธันวาคม 26, 2012, 11:51:13 AM »
รอสักครู่ ช่วงบ่ายผมจะ upload ให้ครับ  :) :) :)

70
หน้าจอ  current profile และหน้าสั่งยา ของผู้ป่วยในครับ

71
ตรวจสอบแล้วยังพบปัญหาเดิมอยุ่ครับ
 เพราะ ดูจากคำสั่งที่ query ข้อมูล
select icode from s_drugitems where rtrim(concat(name,' ',strength,' ',units))='PARACETAMOL 500 mg. àÁç´' ยังไม่ได้ระบุ istatus="Y" เอาไว้ด้วยครับ ยัง query เหมือนกระทู้  http://hosxp.net/index.php?option=com_smf&Itemid=28&topic=28548.msg236694;topicseen#new


72
Development / Re: YindeeAndTan Tool For HOSxP 55.12.25
« เมื่อ: ธันวาคม 25, 2012, 19:26:43 PM »
น้องเข้าตั้งใจทำครับ  :) :) :)

73
Development / Re: YindeeAndTan Tool For HOSxP 55.12.25
« เมื่อ: ธันวาคม 25, 2012, 19:18:43 PM »
ขออภัยด้วยที่ไม่ได้แจกมาบน Board นี้ครับ แต่ถ้าใครสนใจที่จะช่วยร่วมทดสอบการใช้งานให้แจ้งมาที่ mail  ของ น้อง IT  opendead100@gmail.com  เนื่องจากน้องเขากำลังตรวจสอบความถูกต้องก่อนครับ ถ้าทดสอบจนมั่นใจว่าใช้งานได้แน่นอนถูกต้อง จะ upload ตัว STABLE ให้ต่อไปครับ   :) :) :) :) :) :)

74
Development / Re: YindeeAndTan Tool For HOSxP 55.12.25
« เมื่อ: ธันวาคม 25, 2012, 17:10:30 PM »
ถ้าสนใจ ติดต่อน้อง IT ที่ รพ ได้เลยครับ น้องเขาจะส่งโปรแกรมไปให้พร้อมคำแนะนำดีๆในการใช้และข้อควรระวัง  ;D ;D ;D ;D
หมายเหตุ:
     การกระทำใดๆอันเกิดจากน้อง IT ที่ รพ. ผมได้กระทำลงไป ขอให้น้องเขาเป้นผู้รับผิดชอบแต่เพียงผู้เดียวเท่านั้น ครอบครัว เข็มแข็ง ไม่เกี่ยวนะครับ.... ;D ;D ;D ;D ;D

75
Development / YindeeAndTan Tool For HOSxP 55.12.25
« เมื่อ: ธันวาคม 25, 2012, 17:04:51 PM »
สำหรับใช้แก้ปัญหาปัญหาการส่งตรวจและ Admit ผิดคน ครับ  :)

คำเตือน:
  tool นี้ไม่มี undo นะครับ  :) :) :) :)

76
ตอนนี้ผมแก้ปัญหาเฉพาะหน้าโดยการ เติมเครื่องหมาย " _ " หน้ารายการที่ถูกยกเลิก(field name ของตาราง s_drugitems) เพื่อไม่ให้โปรแกรมไปค้นชื่อยา (rtrim(concat(name,' ',strength,' ',units))) ที่เหมือนกันมาได้ โดยใช้คำสั่งนี้ครับ
update s_drugitems set name=concat("_",name)
where istatus="N"
แต่แนะนำให้ไปปรับในตาราง drugitems,nondrugitems แล้ว  เมนู update search list

77
หลังจากที่ upgrade เป็น HOSxP 55.12.6 (บางเครื่อง) พบปัญหาดังนี้ครับ
การสั่งยาทั้งผู้ป่วยนอกและผู้ป่วยใน เท่าที่สังเกต ตอนที่เรา Key  ยาที่ต้องการ โปรแกรมจะไปค้นหารายการจากตาราง  s_drugitems  ด้วยคำสั่งนี้
select * from s_drugitems
where rtrim(concat(name,' ',strength,' ',units))='PARACETAMOL 500 mg. àÁç´'

ตามรูปที่แนบมา ถ้ามีรายการยาที่  rtrim(concat(name,' ',strength,' ',units)) เหมือนกัน แต่ icode และ istatus ต่างกัน  โปรแกรมควรจะให้ user เลือกได้เฉพาะ  select * from s_drugitems
where rtrim(concat(name,' ',strength,' ',units))='PARACETAMOL 500 mg. àÁç´' and istatus="Y" เท่านั้นครับ
อย่างกรณีของผม งานเข้า คือมียา para tablet 2 ตัว แต่โปรแกรมไปเจอชื่อยา Para ตัวแรกที่ถูกยกเลิก ทำให้ข้อมูลที่บันทึกได้ไม่ถูกต้อง ไม่ใช่รายการยาที่เป็นปัจจุบัน ผมลองทดสอบใช้ เมนุ update serach list ก็พบว่าโปรแกรมก้จะดึงรายการที่เลิกใช้และใช้มาด้วย (อันนีไม่ค่อยซีเรียสครับ) แต่อยากให้ปรับเรื่องการดึงเฉพาะรายการที่ใช้งานเท่านั้น
ก็เลยยังชั่งใจอยู่ว่าจะลบรายการทั้งหมดใน s_drugitems ที่ istatus="N" แล้วไล่แก้ icode ของตารางที่เกี่ยวข้อง หรือแจ้ง อ.mn ดี  ........ตัดสินใจแล้วครับ แจ้ง อ.mn ดี ที่สุดครับ   :) :) :) :) :) :) :)

78
Development / Re: HOSxP 3.55.9.21 ออกให้ Download แล้วครับ
« เมื่อ: กันยายน 22, 2012, 16:28:47 PM »
ฝากดูระบบ Inventory ด้วยครับ

79
ยินดีต้อนรับ / การบันทึก UE ของบ้านในบัญชี 1
« เมื่อ: กันยายน 19, 2012, 14:16:11 PM »
เนื่องจาก นครปฐมกำลังจะเก็บข้อมูลของบ้านที่ได้รับผลกระทบจากสภาวะน้ำท่วม โดยทำผ่านบัญชี 1 แก้ไขบ้าน>>>ข้อมูลการสำรวจ>>>> แก้ไขการสำรวจ>>>>-ข้อมูลสำรวจอื่นๆๆ
หลังจากที่บันทึกใน UE แล้ว ไม่แน่ใจว่ามันเก็บ house_id ในตารางไหนครับ

82
HOSxP 55.9.12e  พิมพ์สรุปยอดรายการผู้ป่วยในไม่ได้ ฟ้อง error ตามภาพที่แนบมาครับ

83
วันนี้ได้นั่งประชุมงาน IPD เรื่องกรณีที่รายการแรกรับก่อน Admit หาย อย่างไรดีครับ  :) :) :) :)

84
อ้างถึง
ดาวโหลดได้แล้วนะครับ
DSHOS_Service_update_55.7.24.exe.7z
เพิ่มตัวเลือก  diagtype กรณีไม่เหมือนกันครับ
ฐานของด่านซ้าย  diagtype=5  ครับ
เรื่อง Diagtype นี่ผมเองก็ยังไม่แน่ใจเหมือนกัน ว่าที่ถูกต้อง มันตั้งแบบไหน แต่ก็ไม่ยากครับ ปรับตาม Arm ก็จบเลยครับ  :) :) :) :) :)

85
ขึ้นเตือนที่หน้าจอด้วยครับ

86
จากเรื่องข้อมูลผู้ป่วยในหาย(Trx) ที่ อ.mn เพิ่มระบบการตรวจสอบให้ รพ ผมเจอตามรูปที่แนบมาครับ
คำสั่งที่เรียก
select sum(sum_price) as tt  from opitemrece where an='550000451' and order_no = 157305

select sum(sum_price) as tt  from opitemrece where an='550000451'   

select must_paid,high_cost,use_right from drugitems where icode='3000955'

87
Report Exchange / Re: script ปรับการแสดง pt_priority อัตโนมัติ
« เมื่อ: กรกฎาคม 23, 2012, 16:15:46 PM »
ได้ครับ แต่ว่าต้องการระบุเงื่อนไขแบบไหนครับ  :) :) :) :) :)

88
ขอบคุณมากครับ เทพ Arm
 แต่มีข้อเสนอแนะนิดหน่อยครับ เรื่อง External Cause จากรูปที่แนบมาครับในกรณีที่เป็นรหัส W,X,Y โปรแกรมประกันสังคมจะให้ระบุในช่อง  External Cause ถ้าปรับตามนี้ได้ ก็Ok เลยครับ

89
ผมลองส่งออกก็ได้นะครับ

90
ผุู้ใช้อยากให้ arm เพิ่มเมนูส่งออก excel  ด้วย เพื่อที่จะไว้ตรวจสอบข้อมูลก่อนนำเข้า SSNData Sub  และควรจะเพิ่ม SocialPaid ,PatientPaid (1-18) ด้วย ผมว่าจะดีมากเลยครับทาง จนท ที่รับผิดชอบจะได้ส่งออกมาและตรวจได้ง่ายขึ้นครับ

91
Development / Re: JVCL Error
« เมื่อ: กรกฎาคม 20, 2012, 10:55:00 AM »

92
Development / Re: JVCL Error
« เมื่อ: กรกฎาคม 20, 2012, 09:46:51 AM »
ลองดูตัวอย่างตามนี้ก็ได้ครับ
http://www.youtube.com/watch?v=0x01_NwhYCc

93
ลองทดสอบแล้ว ส่งออกข้อมูลได้ถูกต้องครับ
 :D :D :D :D :D :D

94
ค่าใช้จ่าย Ok แล้วครับ เหลือทดสอบเรื่องหัตการกับ Extenal Cause

95
ค่าใช้จ่ายอื่นแสดงค่าใช้จ่ายถูกต้อง น่าจะเหลือแต่ lab xray ที่ ยังส่งออกค่าใช้จ่ายยังไม่ได้ครับ
หมายเหตุ
เทพ Arm เก่งมากครับ  :D :D :D :D

96
เท่าที่ทดสอบ พบปัญหาค่า lab,xray ไม่มีครับ

97
พบปัญหาในตาราง OutpatientChargesDtl2,OutpatientSurgeryDtl2,OutpatientDiagnosisDtl2 ข้อมูลไม่ได้ถูก append

98
สองพี่น้องเขาคุยกัน คงช่วยอะไรเขาไม่ได้  ::) ::)
ได้แต่นั่งฟังอย่างเดียว  ;D ;D
;D ;D ;D ;D ;D ;D

99
 ;) ;) ;) ;) ;)
ดู Code ในช่วงบรรทัดที่ 1307-1340

100
:) :) :) :)
อืม  เดี่ยวทำตัวเลือกให้ครับ  ว่าจะเอาตัวไหนเป็นหลัก  ผมก็ไม่แน่ใจว่าใช้ตัวไหน
ก็ดีครับ เพราะไล่ code จนตาลายเลย   ;D ;D ;D ;D ;D ;D ;D

หน้า: 1 [2] 3 4 ... 48