ผู้เขียน หัวข้อ: ขอคำแนะนำเรื่องทำรายงานหน่อยครับ  (อ่าน 9489 ครั้ง)

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

ออฟไลน์ nan_it

  • Hero Member
  • *****
  • กระทู้: 578
  • หัวไม่ให้แต่ใจรัก ( อยากเก่งให้มากกว่านี้ )
  • Respect: 0
    • ดูรายละเอียด
    • ramanhospital
ขอคำแนะนำเรื่องทำรายงานหน่อยครับ
« เมื่อ: กันยายน 12, 2011, 12:13:05 PM »
0
คือผมกำลังเขียนรายงาน ผู้ป่วยเบาหวาน ที่ตรวจ FBS ปัญหาคือผมจะเปลี่ยนค่าใน lab_order_result ให้เป็นตัวอักษร
เช่น คนไข้ที่มีค่า FBS ต่ำกว่า 130 ให้แทนด้วย A  130-180 ให้แทนด้วย B ประมาณนี้ครับ แนะนำหน่อยครับ
Mr.Anannee Sama ,โรงพยาบาลรามัน อำเภอรามัน จังหวัดยะลา 95140 ( รพ.60 เตียง กำลังจะเป็น รพ.ทั่วไป ครับ)
e-mail : nan_it@hotmail.com
http://www.ramanhospital.com
Server Intel Ram 16 G 
OS CentOS Database Mysql percona xtradb
ขึ้นระบบ กรกฎาคม พ.ศ. 2547
เวอร์ชั่นที่ใช้ 3.54.10.31

ออฟไลน์ nutsuanplu

  • Full Member
  • ***
  • กระทู้: 157
  • Respect: +3
    • ดูรายละเอียด
    • ฝากผลงาน web รายงานผล lab ด้วยครับ
Re: ขอคำแนะนำเรื่องทำรายงานหน่อยครับ
« ตอบกลับ #1 เมื่อ: กันยายน 12, 2011, 13:33:56 PM »
0
คือผมกำลังเขียนรายงาน ผู้ป่วยเบาหวาน ที่ตรวจ FBS ปัญหาคือผมจะเปลี่ยนค่าใน lab_order_result ให้เป็นตัวอักษร
เช่น คนไข้ที่มีค่า FBS ต่ำกว่า 130 ให้แทนด้วย A  130-180 ให้แทนด้วย B ประมาณนี้ครับ แนะนำหน่อยครับ

น่าจะประมาณนี้รึป่าวครับ

if lab_order_result < 130 then value := 'A';


ณัฐวุฒิ วงษ์แพทย์
นักวิชาการคอมพิวเตอร์
โรงพยาบาลอู่ทอง จังหวัดสุพรรณบุรี

ออฟไลน์ nan_it

  • Hero Member
  • *****
  • กระทู้: 578
  • หัวไม่ให้แต่ใจรัก ( อยากเก่งให้มากกว่านี้ )
  • Respect: 0
    • ดูรายละเอียด
    • ramanhospital
Re: ขอคำแนะนำเรื่องทำรายงานหน่อยครับ
« ตอบกลับ #2 เมื่อ: กันยายน 12, 2011, 14:38:18 PM »
0
ผมลองนำเงื่อนไขไปใช่ดู ค่าที่ได้มันยังไม่ถูกทั้งหมดครับ คือ ผมกำหนดให้ค่าที่มากกว่า 180 เท่ากับ C พอลองตรวจสอบดู ฟิลล์ที่มีค่า 93 98 84 ประมาณนี้ ออกมาเป็น C หมดครับ แนะนำหน่อยครับ
Mr.Anannee Sama ,โรงพยาบาลรามัน อำเภอรามัน จังหวัดยะลา 95140 ( รพ.60 เตียง กำลังจะเป็น รพ.ทั่วไป ครับ)
e-mail : nan_it@hotmail.com
http://www.ramanhospital.com
Server Intel Ram 16 G 
OS CentOS Database Mysql percona xtradb
ขึ้นระบบ กรกฎาคม พ.ศ. 2547
เวอร์ชั่นที่ใช้ 3.54.10.31

ออฟไลน์ usa0823

  • Hero Member
  • *****
  • กระทู้: 773
  • Respect: +9
    • ดูรายละเอียด
Re: ขอคำแนะนำเรื่องทำรายงานหน่อยครับ
« ตอบกลับ #3 เมื่อ: กันยายน 12, 2011, 14:55:40 PM »
0
if lab_order_result < 130 then
begin
     value := 'A';
end
else  begin
    if lab_order_result >= 180 then
        begin
            value := 'C';
        end
     else  begin
            value := 'B';
        end;
end;
***************************************
นายศรัญญู  ชูเมือง
จพ.เภสัชกรรมชำนาญงาน
ดูแลระบบ โรงพยาบาลลานสกา
E-mail  Sarunyu0823@hotmail.com
..............................................................................
** HOSxP ver. 3.56.11.19d
** MySQL 5.6.17
** Activated 2560

ออฟไลน์ nan_it

  • Hero Member
  • *****
  • กระทู้: 578
  • หัวไม่ให้แต่ใจรัก ( อยากเก่งให้มากกว่านี้ )
  • Respect: 0
    • ดูรายละเอียด
    • ramanhospital
Re: ขอคำแนะนำเรื่องทำรายงานหน่อยครับ
« ตอบกลับ #4 เมื่อ: กันยายน 12, 2011, 15:27:28 PM »
0
if lab_order_result < 130 then
begin
     value := 'A';
end
else  begin
    if lab_order_result >= 180 then
        begin
            value := 'C';
        end
     else  begin
            value := 'B';
        end;
end;
เขียนแล้วครับ ข้อมูลยังผิดอยู่ครับ ไม่ทราบว่าต้องแปลงข้อมูลในฟิลล์ให้เป็น int ก่อนหรือเปล่าครับ
Mr.Anannee Sama ,โรงพยาบาลรามัน อำเภอรามัน จังหวัดยะลา 95140 ( รพ.60 เตียง กำลังจะเป็น รพ.ทั่วไป ครับ)
e-mail : nan_it@hotmail.com
http://www.ramanhospital.com
Server Intel Ram 16 G 
OS CentOS Database Mysql percona xtradb
ขึ้นระบบ กรกฎาคม พ.ศ. 2547
เวอร์ชั่นที่ใช้ 3.54.10.31

ออฟไลน์ usa0823

  • Hero Member
  • *****
  • กระทู้: 773
  • Respect: +9
    • ดูรายละเอียด
Re: ขอคำแนะนำเรื่องทำรายงานหน่อยครับ
« ตอบกลับ #5 เมื่อ: กันยายน 12, 2011, 15:37:53 PM »
0
if strtoint(lab_order_result) < 130 then
begin
     value := 'A';
end
else  begin
    if strtoint(lab_order_result) >= 180 then
        begin
            value := 'C';
        end
     else  begin
            value := 'B';
        end;
end;
***************************************
นายศรัญญู  ชูเมือง
จพ.เภสัชกรรมชำนาญงาน
ดูแลระบบ โรงพยาบาลลานสกา
E-mail  Sarunyu0823@hotmail.com
..............................................................................
** HOSxP ver. 3.56.11.19d
** MySQL 5.6.17
** Activated 2560

ออฟไลน์ nutsuanplu

  • Full Member
  • ***
  • กระทู้: 157
  • Respect: +3
    • ดูรายละเอียด
    • ฝากผลงาน web รายงานผล lab ด้วยครับ
Re: ขอคำแนะนำเรื่องทำรายงานหน่อยครับ
« ตอบกลับ #6 เมื่อ: กันยายน 12, 2011, 15:49:58 PM »
0
ผมลองนำเงื่อนไขไปใช่ดู ค่าที่ได้มันยังไม่ถูกทั้งหมดครับ คือ ผมกำหนดให้ค่าที่มากกว่า 180 เท่ากับ C พอลองตรวจสอบดู ฟิลล์ที่มีค่า 93 98 84 ประมาณนี้ ออกมาเป็น C หมดครับ แนะนำหน่อยครับ

if lab_order_result < 130 then value := 'A'
else if lab_order_result >= 180 value :='C'
else if......;

ก็ลองเปลี่ยนพวกตัวแปลหรือ variable เป็น integer หรือ Double ดูอ่ะครับ

ณัฐวุฒิ วงษ์แพทย์
นักวิชาการคอมพิวเตอร์
โรงพยาบาลอู่ทอง จังหวัดสุพรรณบุรี

ออฟไลน์ nan_it

  • Hero Member
  • *****
  • กระทู้: 578
  • หัวไม่ให้แต่ใจรัก ( อยากเก่งให้มากกว่านี้ )
  • Respect: 0
    • ดูรายละเอียด
    • ramanhospital
Re: ขอคำแนะนำเรื่องทำรายงานหน่อยครับ
« ตอบกลับ #7 เมื่อ: กันยายน 13, 2011, 11:02:54 AM »
0
if strtoint(lab_order_result) < 130 then
begin
     value := 'A';
end
else  begin
    if strtoint(lab_order_result) >= 180 then
        begin
            value := 'C';
        end
     else  begin
            value := 'B';
        end;
end;
ผมลองใช้ strtoint แล้วไม่ผ่านครับ
if  GetSQLStringData('select lab_order_result from lab_order where lab_order_number = "'+DBPipeline['lab_order_number']+'"') < '130' then
 begin
  Value :=   'A' ;
 end
else
  if (GetSQLStringData('select lab_order_result from lab_order where lab_order_number = "'+DBPipeline['lab_order_number']+'"') > '130') and (GetSQLStringData('select lab_order_result from lab_order where lab_order_number = "'+DBPipeline['lab_order_number']+'"') < '180') then
  begin
  Value :=   'B' ;
  end
  else
    if GetSQLStringData('select lab_order_result from lab_order where lab_order_number = "'+DBPipeline['lab_order_number']+'"') > '180' then
    begin
    Value := 'C' ;
    end

ผมเขียนแบบนี้ครับ แนะนำหน่อยครับ
Mr.Anannee Sama ,โรงพยาบาลรามัน อำเภอรามัน จังหวัดยะลา 95140 ( รพ.60 เตียง กำลังจะเป็น รพ.ทั่วไป ครับ)
e-mail : nan_it@hotmail.com
http://www.ramanhospital.com
Server Intel Ram 16 G 
OS CentOS Database Mysql percona xtradb
ขึ้นระบบ กรกฎาคม พ.ศ. 2547
เวอร์ชั่นที่ใช้ 3.54.10.31

ออฟไลน์ realaerm

  • Full Member
  • ***
  • กระทู้: 152
  • Aerm
  • Respect: +1
    • ดูรายละเอียด
Re: ขอคำแนะนำเรื่องทำรายงานหน่อยครับ
« ตอบกลับ #8 เมื่อ: กันยายน 13, 2011, 11:19:33 AM »
0
ลองแบบนี้ดูนะครับ  ;)

value:=GetSqlStringData('select if(lab_order_result<130,"A",if(lab_order_result>=180,"C","B"))as result from lab_order where lab_items_code="'+รหัสของ lab_items_code+'" and vn="'+เลข vn คนไข้+'");
---------------------------------------------------------
Mr. Sitichart  Wongyuttanapong
Inventory  Team
---------------------------------------------------------
Bangkok  Medical  Software  Co,.Ltd
---------------------------------------------------------

ออฟไลน์ realaerm

  • Full Member
  • ***
  • กระทู้: 152
  • Aerm
  • Respect: +1
    • ดูรายละเอียด
Re: ขอคำแนะนำเรื่องทำรายงานหน่อยครับ
« ตอบกลับ #9 เมื่อ: กันยายน 13, 2011, 11:27:16 AM »
0
if lab_order_result < 130 then
begin
     value := 'A';
end
else  begin
    if lab_order_result >= 180 then
        begin
            value := 'C';
        end
     else  begin
            value := 'B';
        end;
end;
เขียนแล้วครับ ข้อมูลยังผิดอยู่ครับ ไม่ทราบว่าต้องแปลงข้อมูลในฟิลล์ให้เป็น int ก่อนหรือเปล่าครับ


Data type ของฟิลนี้เป็น varchar ครับ ถ้า if แบบนี้มันจะมองว่าเป็นเลข 1 3 0 แยก กัน ไม่ใช่ 130 พอมันเจอค่า 78 หรือ 78 ซึ่ง 7 มากกว่า 1 ทำให้ผลที่ได้ผิดครับ
(เวลาเป็น varchar จะมองเฉพาะตัวแรกอย่างเดียวก่อนแล้วค่อยไล่ไปตำแหน่งถัดไป)
ถ้าไงลอง code แบบด้านบนดูนะครับ
---------------------------------------------------------
Mr. Sitichart  Wongyuttanapong
Inventory  Team
---------------------------------------------------------
Bangkok  Medical  Software  Co,.Ltd
---------------------------------------------------------

ออฟไลน์ nan_it

  • Hero Member
  • *****
  • กระทู้: 578
  • หัวไม่ให้แต่ใจรัก ( อยากเก่งให้มากกว่านี้ )
  • Respect: 0
    • ดูรายละเอียด
    • ramanhospital
Re: ขอคำแนะนำเรื่องทำรายงานหน่อยครับ
« ตอบกลับ #10 เมื่อ: กันยายน 13, 2011, 12:02:04 PM »
0
โปรแกรม error แบบนี้ครับ
Mr.Anannee Sama ,โรงพยาบาลรามัน อำเภอรามัน จังหวัดยะลา 95140 ( รพ.60 เตียง กำลังจะเป็น รพ.ทั่วไป ครับ)
e-mail : nan_it@hotmail.com
http://www.ramanhospital.com
Server Intel Ram 16 G 
OS CentOS Database Mysql percona xtradb
ขึ้นระบบ กรกฎาคม พ.ศ. 2547
เวอร์ชั่นที่ใช้ 3.54.10.31

ออฟไลน์ realaerm

  • Full Member
  • ***
  • กระทู้: 152
  • Aerm
  • Respect: +1
    • ดูรายละเอียด
Re: ขอคำแนะนำเรื่องทำรายงานหน่อยครับ
« ตอบกลับ #11 เมื่อ: กันยายน 13, 2011, 12:12:47 PM »
0
โปรแกรม error แบบนี้ครับ

โทษทีครับ ตก ' ไปตัวครับ

value:=GetSqlStringData('select if(lab_order_result<130,"A",if(lab_order_result>=180,"C","B"))as result from lab_order where lab_items_code="'+รหัสของ lab_items_code+'" and vn="'+เลข vn คนไข้+'"');
---------------------------------------------------------
Mr. Sitichart  Wongyuttanapong
Inventory  Team
---------------------------------------------------------
Bangkok  Medical  Software  Co,.Ltd
---------------------------------------------------------

ออฟไลน์ nan_it

  • Hero Member
  • *****
  • กระทู้: 578
  • หัวไม่ให้แต่ใจรัก ( อยากเก่งให้มากกว่านี้ )
  • Respect: 0
    • ดูรายละเอียด
    • ramanhospital
Re: ขอคำแนะนำเรื่องทำรายงานหน่อยครับ
« ตอบกลับ #12 เมื่อ: กันยายน 13, 2011, 13:31:56 PM »
0
ที่เครื่อหมาย ' ตกไปผมแก้แล้วครับ มันก้ยัง error ครับ ผมลองเปิดโปรแกรม HOSxP ขึ้นมาพร้อมกันด้วย  ใช้ได้แล้วครับ ขอบคุณมากครับ
Mr.Anannee Sama ,โรงพยาบาลรามัน อำเภอรามัน จังหวัดยะลา 95140 ( รพ.60 เตียง กำลังจะเป็น รพ.ทั่วไป ครับ)
e-mail : nan_it@hotmail.com
http://www.ramanhospital.com
Server Intel Ram 16 G 
OS CentOS Database Mysql percona xtradb
ขึ้นระบบ กรกฎาคม พ.ศ. 2547
เวอร์ชั่นที่ใช้ 3.54.10.31