ผู้เขียน หัวข้อ: เขียน valiable ขึ้น error ต้องแก้ตรงไหนครับ  (อ่าน 8228 ครั้ง)

0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้

ออฟไลน์ xycop

  • Full Member
  • ***
  • กระทู้: 157
  • Respect: +1
    • ดูรายละเอียด
    • โรงพยาบาลบ้านโป่ง
เขียน valiable ขึ้น error ต้องแก้ตรงไหนครับ
« เมื่อ: มกราคม 28, 2013, 14:56:07 PM »
0
begin

if  DBPipeline['sex']=1 then
     if  DBPipeline['creatinine']<=0.9 then
       Value :=141*exp(-0.411*ln(DBPipeline['creatinine']/0.9))*exp(DBPipeline['age_y']*ln(0.993))
       else
       Value:=141*exp(-1.209*ln(DBPipeline['creatinine']/0.9))*exp(DBPipeline['age_y']*ln(0.993));
if  DBPipeline['sex']=2 then
     if DBPipeline['creatinine']<=0.7 then
         Value:=144*exp(-0.329*ln(DBPipeline['creatinine']/0.7))*exp(DBPipeline['age_y']*ln(0.993))
         else
         Value:=144*exp(-1.209*ln(DBPipeline['creatinine']/0.7))*exp(DBPipeline['age_y']*ln(0.993));
end;
ธันยา สุระคำแหง ตำแหน่งนักวิชาการคอมพิวเตอร์ โรงพยาบาลบ้านโป่ง จังหวัดราชบุรี
e-mail  xycop@hotmail.com       Mobile  08-1540-0022

ออฟไลน์ xycop

  • Full Member
  • ***
  • กระทู้: 157
  • Respect: +1
    • ดูรายละเอียด
    • โรงพยาบาลบ้านโป่ง
Re: เขียน valiable ขึ้น error ต้องแก้ตรงไหนครับ
« ตอบกลับ #1 เมื่อ: มกราคม 29, 2013, 09:54:02 AM »
0
ดันครับ
ธันยา สุระคำแหง ตำแหน่งนักวิชาการคอมพิวเตอร์ โรงพยาบาลบ้านโป่ง จังหวัดราชบุรี
e-mail  xycop@hotmail.com       Mobile  08-1540-0022

ออฟไลน์ Terminator2015

  • Hero Member
  • *****
  • กระทู้: 3,352
  • Achilles : ประวัติศาสตร์จารึกชื่อกษัตริย์ มิได้จารึกชื่อทหาร
  • Respect: +66
    • ดูรายละเอียด
    • โรงพยาบาลนาเชือก
Re: เขียน valiable ขึ้น error ต้องแก้ตรงไหนครับ
« ตอบกลับ #2 เมื่อ: มกราคม 29, 2013, 10:00:36 AM »
0
 ;) ผมว่าตอนนี้ไม่ต้องเขียนคำนวณแล้วนะครับ เพราะ อ.MN บันทึกค่านี้ลงใน opdscreen ฟิวส์ egfr แล้วครับ เป็นสูตร CDK-EPI ตามที่ท่านเขียนนี้ล่ะครับ ถ้าเขียน ผมว่าไปเขียนแยก Stage ดีกว่าครับ  ;D
นายคณวัชร คำชัย(ทัศ) โรงพยาบาลนาเชือก จ.มหาสารคาม
Mail : nachuak@hotmail.co.th  Tel.  (AIS)0817080646
โรงพยาบาลชุมชน ขนาด 30 เตียง (Paperless OPD)
ดุแล สอ.12 แห่ง HOSxP_PCU 3.59.12.15 NewVersion
ขึ้นระบบเมื่อ 1 ต.ค. 2549

ออฟไลน์ James011

  • Hero Member
  • *****
  • กระทู้: 1,743
  • Respect: +16
    • ดูรายละเอียด
Re: เขียน valiable ขึ้น error ต้องแก้ตรงไหนครับ
« ตอบกลับ #3 เมื่อ: มกราคม 29, 2013, 10:12:52 AM »
0
begin

if  DBPipeline['sex']=1 then
     if  DBPipeline['creatinine']<=0.9 then
       Value :=141*exp(-0.411*ln(DBPipeline['creatinine']/0.9))*exp(DBPipeline['age_y']*ln(0.993))
       else
       Value:=141*exp(-1.209*ln(DBPipeline['creatinine']/0.9))*exp(DBPipeline['age_y']*ln(0.993));
if  DBPipeline['sex']=2 then
     if DBPipeline['creatinine']<=0.7 then
         Value:=144*exp(-0.329*ln(DBPipeline['creatinine']/0.7))*exp(DBPipeline['age_y']*ln(0.993))
         else
         Value:=144*exp(-1.209*ln(DBPipeline['creatinine']/0.7))*exp(DBPipeline['age_y']*ln(0.993));
end;
     ;D ;D  ตัวหารเป็น  0

ออฟไลน์ xycop

  • Full Member
  • ***
  • กระทู้: 157
  • Respect: +1
    • ดูรายละเอียด
    • โรงพยาบาลบ้านโป่ง
Re: เขียน valiable ขึ้น error ต้องแก้ตรงไหนครับ
« ตอบกลับ #4 เมื่อ: มกราคม 30, 2013, 09:26:34 AM »
0
procedure Variable35OnCalc(var Value: Variant);
begin

  if (DBPipeline['egfr']='')  then s := '0' ;
    Value := strtofloat(s);

end;
ธันยา สุระคำแหง ตำแหน่งนักวิชาการคอมพิวเตอร์ โรงพยาบาลบ้านโป่ง จังหวัดราชบุรี
e-mail  xycop@hotmail.com       Mobile  08-1540-0022

ออฟไลน์ thannawe

  • Hero Member
  • *****
  • กระทู้: 2,904
  • Respect: +8
    • ดูรายละเอียด
Re: เขียน valiable ขึ้น error ต้องแก้ตรงไหนครับ
« ตอบกลับ #5 เมื่อ: มกราคม 30, 2013, 11:47:57 AM »
0
เทพ  ;D :D
กิจจา ชาญธัญกรรม
นักวิชาการคอมพิวเตอร์ชำนาญการ รพ.โพธาราม จ.ราชบุรี
็HOSxP XE

ออฟไลน์ xycop

  • Full Member
  • ***
  • กระทู้: 157
  • Respect: +1
    • ดูรายละเอียด
    • โรงพยาบาลบ้านโป่ง
Re: เขียน valiable ขึ้น error ต้องแก้ตรงไหนครับ
« ตอบกลับ #6 เมื่อ: มกราคม 30, 2013, 13:53:52 PM »
0
เทพท่านใด ช่วยหน่อย
ธันยา สุระคำแหง ตำแหน่งนักวิชาการคอมพิวเตอร์ โรงพยาบาลบ้านโป่ง จังหวัดราชบุรี
e-mail  xycop@hotmail.com       Mobile  08-1540-0022

ออฟไลน์ James011

  • Hero Member
  • *****
  • กระทู้: 1,743
  • Respect: +16
    • ดูรายละเอียด
Re: เขียน valiable ขึ้น error ต้องแก้ตรงไหนครับ
« ตอบกลับ #7 เมื่อ: มกราคม 30, 2013, 14:22:34 PM »
0
procedure Variable35OnCalc(var Value: Variant);
begin

  if (DBPipeline['egfr']='')  then Value:=0 ;

end;


  ลองดูครับ



ออฟไลน์ xycop

  • Full Member
  • ***
  • กระทู้: 157
  • Respect: +1
    • ดูรายละเอียด
    • โรงพยาบาลบ้านโป่ง
Re: เขียน valiable ขึ้น error ต้องแก้ตรงไหนครับ
« ตอบกลับ #8 เมื่อ: มกราคม 31, 2013, 10:32:00 AM »
0
ไม่ผ่านครับมันขึ้นเหมือนเดิม
ธันยา สุระคำแหง ตำแหน่งนักวิชาการคอมพิวเตอร์ โรงพยาบาลบ้านโป่ง จังหวัดราชบุรี
e-mail  xycop@hotmail.com       Mobile  08-1540-0022

ออฟไลน์ เกื้อกูล ครับ..

  • Hero Member
  • *****
  • กระทู้: 12,611
  • Respect: +169
    • ดูรายละเอียด
    • โรงพยาบาลปากท่อ
Re: เขียน valiable ขึ้น error ต้องแก้ตรงไหนครับ
« ตอบกลับ #9 เมื่อ: มกราคม 31, 2013, 20:08:56 PM »
0
ไม่ผ่านครับมันขึ้นเหมือนเดิม

เผา  script  แล้วเริ่มใหม่ครับ  ;D ;D
Implement  HOSxP  Start 2548 ---> NOW!
Station : 140 Client   V.3 Version  3.67.7.8
Server  : CENTOS 7 +MySQL maria 10.x.x

ออฟไลน์ pop_hosxp

  • Hero Member
  • *****
  • กระทู้: 3,138
  • Respect: +40
    • ดูรายละเอียด
    • Phanomphrai Hospital
Re: เขียน valiable ขึ้น error ต้องแก้ตรงไหนครับ
« ตอบกลับ #10 เมื่อ: กุมภาพันธ์ 01, 2013, 08:23:15 AM »
0
แบบนี้ได้ไหมครับ

procedure Variable35OnCalc(var Value: Variant);
begin

  if (DBPipeline['egfr']='')  then s:='0.00';
    Value := strtofloat(s);

end;
pop434241@gmail.com
รพ.พนมไพร จ.ร้อยเอ็ด https://pnphos.moph.go.th/hosweb/

ออฟไลน์ xycop

  • Full Member
  • ***
  • กระทู้: 157
  • Respect: +1
    • ดูรายละเอียด
    • โรงพยาบาลบ้านโป่ง
Re: เขียน valiable ขึ้น error ต้องแก้ตรงไหนครับ
« ตอบกลับ #11 เมื่อ: กุมภาพันธ์ 01, 2013, 11:28:17 AM »
0
ที่ผมเขียนโค๊ด GFR ขึ้นมาเองเพราะว่า บางรายที่ตรวจ  creatinine มันไม่มีผล egfr เลย ผลต้องเขียนขึ้นมาเองครับ นั่งเทียนลองไปลองมาเกือบทั้งวัน ได้ code ตามนี้ครับ
procedure Variable35OnCalc(var Value: Variant);
begin
  s := DBPipeline['creatinine'];
  if s='0' then
  begin   Value := '-';
  end else
  begin
   if  DBPipeline['sex']=1 then
     if  DBPipeline['creatinine']<=0.9 then
       Value:= 141*exp(-0.411*ln(DBPipeline['creatinine']/0.9))*exp(DBPipeline['age_y']*ln(0.993))
         else
       Value:= 141*exp(-1.209*ln(DBPipeline['creatinine']/0.9))*exp(DBPipeline['age_y']*ln(0.993));
if  DBPipeline['sex']=2 then
     if DBPipeline['creatinine']<=0.7 then
         Value:=144*exp(-0.329*ln(DBPipeline['creatinine']/0.7))*exp(DBPipeline['age_y']*ln(0.993))
         else
         Value:=144*exp(-1.209*ln(DBPipeline['creatinine']/0.7))*exp(DBPipeline['age_y']*ln(0.993));
  end;
end;
ธันยา สุระคำแหง ตำแหน่งนักวิชาการคอมพิวเตอร์ โรงพยาบาลบ้านโป่ง จังหวัดราชบุรี
e-mail  xycop@hotmail.com       Mobile  08-1540-0022

ออฟไลน์ golf_win

  • Hero Member
  • *****
  • กระทู้: 3,481
  • Respect: +112
    • ดูรายละเอียด
Re: เขียน valiable ขึ้น error ต้องแก้ตรงไหนครับ
« ตอบกลับ #12 เมื่อ: กุมภาพันธ์ 02, 2013, 12:03:30 PM »
0
ผมว่าบางทีที่ไม่มีค่า egfr อาจมาจาก LIS ครับ ลองกด update lablink แล้วตรวจสอบ egfr ในตาราง opdscreen ครับ
โรงพยาบาลเจ็ดเสมียน จังหวัดราชบุรี
Start 19-1-51    35 station
HOSxP  3.59.5.18 Activate License
Tel. 032-305096-7 ต่อ 118
Web. http://csmhos.thaiddns.com:8080
         http://csmhos.thaieasydns.com:8080

ออฟไลน์ James011

  • Hero Member
  • *****
  • กระทู้: 1,743
  • Respect: +16
    • ดูรายละเอียด
Re: เขียน valiable ขึ้น error ต้องแก้ตรงไหนครับ
« ตอบกลับ #13 เมื่อ: กุมภาพันธ์ 02, 2013, 17:35:28 PM »
0
 ;D ;D ;D  วิธีการเขียนป้องกัน Script Error ให้เขียนแบบนี้ครับ
โค๊ด: Delphi
  1.          if  getsqldata('select count(gfr) from opdscreen where vn="xxxxxxx"')>0 then
  2.          begin
  3.            
  4.            ------------------Statement--------------------------------
  5.  
  6.          end;
  7.          

ออฟไลน์ BBT Hospital

  • Jr. Member
  • **
  • กระทู้: 61
  • Respect: +2
    • ดูรายละเอียด
Re: เขียน valiable ขึ้น error ต้องแก้ตรงไหนครับ
« ตอบกลับ #14 เมื่อ: กุมภาพันธ์ 08, 2013, 08:29:55 AM »
0
ลองดูคล้าย ๆ แบบนี้ดูไหมครับ
เพราะว่า Variable 37 นำค่า Last Creatinine ออกมาเป็น String ครับ
 If   DBPipeline['age_y']<18 then
  begin
    if ((Variable37.value)>0.01) and ((Variable37.value)<= 99.99) then
    Value:= (0.41 * DBPipeline['height'])/Variable37.Value;
  end else
  if DBPipeline['sex']='2'  then
  Begin{Female}
     if ((Variable37.value)>0.01) and ((Variable37.value)<= 0.7) then
        Value := (144 * (exp(-0.329*ln((Variable37.value)/0.7)))*exp(DBPipeline['age_y']*ln(0.993))) else
     if ((Variable37.value)>0.7) and (Strtofloat(Variable37.value)< 99.99) then
        Value := (144 * (exp(-1.209*ln((Variable37.value)/0.7)))*exp(DBPipeline['age_y']*ln(0.993)));
  End  {Female}
  else
  Begin{Male}
     if ((Variable37.value)>0.01) and ((Variable37.value)<= 0.9) then
        Value := (141 * (exp(-0.411*ln(Strtofloat(Variable37.value)/0.9)))*exp(DBPipeline['age_y']*ln(0.993))) else
     if ((Variable37.value)>0.9) and ((Variable37.value)< 99.99) then
        Value := (141 * (exp(-1.209*ln((Variable37.value)/0.9)))*exp(DBPipeline['age_y']*ln(0.993))) ;
  End;
ส่วนการกำหนดช่วงเพราะเคยมีการใส่ข้อมูลที่ไม่ใช่ตัวเลขในโปรแกรมทำให้ error ในการคำนวนแล้วข้อมูลไม่ออกได้ครับ
แพทย์ โรงพยาบาลบางบัวทอง
Linux server Cent-OS 5 -ram 4 GB
HosXP when 2550
ตัวเองเริ่มใช้ July 2551
Server version: 3.55.11.8
Client version:HOSxP 3.55.2.29  (Most)
                      3.55.7.14(Ward)
การขึ้นระบบโดย : ทีม BMS
การทำ Report + SQL => นั่งเทียนมั่วเอง + copy ของ อาจารย์ ทั้งหลายครับ
** ขอบคุณ ทุกท่านที่เอื้อเฟื้อครับ **
(update signature when 56-01-24)