แสดงกระทู้

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 - armds

หน้า: 1 [2] 3 4 ... 22
51
แจ้งข้อผิดพลาดการทำงานของ HOSxP V3 / Re: hosxp v.3.55.8.9
« เมื่อ: สิงหาคม 10, 2012, 15:39:17 PM »
ผมลง version นี้แล้ว ใบหน้างบก็ยังพิมพ์ไม่ได้ครับ
Err ครับ
ผมพิมพ์ใบหน้างบ ก็พิมพ์ออกอยู่นะครับ
ได้กำหนด  ใช้ zeosdbo  แล้วหรือยังครับ

แต่มี error  ที่หน้าจอ Discharge [F9]   แต่เป็นเฉพาะบางรายครับ 
error Field 'charge_icode' not found.
คิดว่าน่าจะมีปัญหา ระบบของการ  Resync AN  นะครับ
ฝาก อ.mn ตรวจสอบให้ด้วยนะครับ เพราะเป็นบางกรณีไม่ทุกรายครับ

ขอ call stack ด้วยครับ
ตอนนี้ปรับให้ใช้งานเวอชัน  3.55.7.14 ไปก่อนแล้วครับ
แต่ล่าสุดผมลองตรวจสอบอีกครั้ง ไม่พบ error แล้วครับ (งง เหมือนกันคับ) กำลังให้ทดสอบกับเครื่องหอผู้ป่วยในใหม่ (3.55.8.9) ใหม่อีกทีครับ  ว่าจะพบ error  อีกหรือไม่นะครับ
แล้วจะแจ้งให้ทราบครับ ขอบคุณครับ อ.mn

52
แจ้งข้อผิดพลาดการทำงานของ HOSxP V3 / Re: hosxp v.3.55.8.9
« เมื่อ: สิงหาคม 10, 2012, 11:51:15 AM »
ผมลง version นี้แล้ว ใบหน้างบก็ยังพิมพ์ไม่ได้ครับ
Err ครับ
ผมพิมพ์ใบหน้างบ ก็พิมพ์ออกอยู่นะครับ
ได้กำหนด  ใช้ zeosdbo  แล้วหรือยังครับ

แต่มี error  ที่หน้าจอ Discharge [F9]   แต่เป็นเฉพาะบางรายครับ 
error Field 'charge_icode' not found.
คิดว่าน่าจะมีปัญหา ระบบของการ  Resync AN  นะครับ
ฝาก อ.mn ตรวจสอบให้ด้วยนะครับ เพราะเป็นบางกรณีไม่ทุกรายครับ

53
ปริ้นใบแสดงงบหน้าค่ารักษาพยาบาลไม่ได้ครับ
ได้ติกถูก  ใช้  zeosdbo  แล้วหรือยังครับ
ผมทดสอบ 3.55.8.9  ปริ้นออกนะครับ

54
แจ้งข้อผิดพลาดการทำงานของ HOSxP V3 / Re: HOSxP 3.55.7.24
« เมื่อ: กรกฎาคม 24, 2012, 11:02:51 AM »
ไม่ทราบว่าทุกท่านเคยเจอ แบบว่า ... แบบว่า เมื่อเรากดปุ่ม Cancel Statement แล้วจะมีหน้าต่างให้ยืนยัน แต่หน้าต่างนี้จะแอบไปอยู่ด้านหลังหน้าต่าง MySQL Transaction Waiting ทำให้ผู้ใช้ไม่ทราบว่าต้องกดยืนยันอีกครั้งน่ะครับ
เจอเหมือนกันครับพี่เข้ม  แล้วมันทำให้  table  ที่กำลัง  ทำ  statement  มัน  lock ทำให้เครื่องอื่นๆใช้งานตารางนั้นไม่ได้เลย  ช้าไปเลยแต่  Workload  ไม่สูงนะครับ

55
ดาวโหลดได้แล้วนะครับ
DSHOS_Service_update_55.7.24.exe.7z
เพิ่มตัวเลือก  diagtype กรณีไม่เหมือนกันครับ
ฐานของด่านซ้าย  diagtype=5  ครับ

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

จริงๆ ตัวล่าสุดก็อิงตาม  diagetype  = 5 นะครับ  ตามรูปนะครับ
ผมเลยเพิ่มตัวเลือกว่าในกรณีที่  diagtype  ไม่เท่ากับ 5 ก็ให้เลือกตัวก่อนนำเข้านะครับ

โดย  CauseCode  จะดึงจาก icd10  ที่ตาราง  ovstdiag  ที่มีประเภท  diagtype = ตัวที่กำหนดครับ
โค้ดตัวอย่าง
CauseCode :=
            TransFormICD10(vartostr(getsqldata('select icd10 from ovstdiag where vn = "' +
            tc.fieldbyname('vn').asstring + '" ' +
            ' and diagtype="'+copy(lookup_diagtype.text,1,1)+'"')));

57
ขอ link load มาทดสอบใช้งานด้วยครับ
ดาวโหลดได้แล้วนะครับ  ผมลบตัวเก่าออกแล้วครับ

DSHOS_Service_update_55.7.23.exe.zip
ไฟล์แนบนะครับ

เพิ่ม ส่งออก excel 
เพิ่ม แสดงค่าใช้จ่าย  SocialPaid1-18  และ  PatientPaid1-18

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

ขอบคุณครับ...

ปล..ผมใช้โปรแกรมอ.อาร์มในการส่งออกข้อมูลประกันสังคมนะครับ....
เดี่ยวจะตรวจสอบให้นะครับ

ผมตรวจสอบแล้ว  ก็ตรงนะครับ 

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

59
อยากใช้บ้างครับ ทำไงครับ ท่าน อาจารย์

ดาวโหลดไปทดสอบได้เลยครับ
หลักการคือ  สามารถนำเข้าโปรแกรม  SSNData_Sub V1_3 
ได้เลยครับ  แล้วมาตรวจสอบข้อมูลว่าสมบูรณ์หรือเปล่านะครับ  โดยไม่ต้องคีย์เองครับ

ดาวโหลดตาม  กระทู้หน้านี้ครับ
http://hosxp.net/index.php?option=com_smf&Itemid=28&topic=19208.msg224987#msg224987

60
Report Exchange / Re: รายงาน X-RAY ครับ
« เมื่อ: กรกฎาคม 19, 2012, 10:58:14 AM »
ตัวอย่างรายงานเป็นแบบนี้นะครับ

อันนี้ใกล้เคียงครับ

ทำไมผลรวมของ opd + IPD รวมแล้วไม่เท่ากับผลรวมละครับ
อืม เกิดจากบางรายการ ใบ request x-ray มีใบเดียว  แต่รายงานหลายฟิม  ครับ
แก้ไขแล้วตัวใหม่ครับ

61
Report Exchange / Re: รายงาน X-RAY ครับ
« เมื่อ: กรกฎาคม 18, 2012, 10:07:28 AM »
ตัวอย่างรายงานเป็นแบบนี้นะครับ

อันนี้ใกล้เคียงครับ

62
::) โหลดไม่ได้แล้วเหรอครับ อ.อาร์ม
โหลดตัวใหม่เลยครับ  ผมเพิ่มให้นำเข้าหัตถการเสร็จแล้วนะครับ ลองดูครับ   :) :)

63
ค่าใช้จ่ายอื่นแสดงค่าใช้จ่ายถูกต้อง น่าจะเหลือแต่ lab xray ที่ ยังส่งออกค่าใช้จ่ายยังไม่ได้ครับ
หมายเหตุ
เทพ Arm เก่งมากครับ  :D :D :D :D
แก้ไขแล้วนะครับ  :) ;)
จาก กระทู้ด้านบนครับ
เท่าที่ทดสอบ พบปัญหาค่า lab,xray ไม่มีครับ
อืม ผมลืมเองครับ  แก้ไขแล้วนะครับ  ลองดูใหม่ครับ พี่ naj   :) :)

64
เท่าที่ทดสอบ พบปัญหาค่า lab,xray ไม่มีครับ
อืม ผมลืมเองครับ  แก้ไขแล้วนะครับ  ลองดูใหม่ครับ พี่ naj   :) :)

65
ฝาก พี่ naj  ทดสอบครับ
แก้ไขให้ตรงตาม  income_sss_group แล้วนะครับ
ตอนนี้เหลือแต่นำเข้าระบบ ผ่าตัดหัตถการ  ยังคิดอยู่เป็นหัตถการทั่วไป  หรือว่าเป็นทะเบียนผ่าตัด
เลยยังไม่ได้ทำระบบนำเข้าครับ 

OutpatientSurgeryDtl2  นิยามหมายถึงอะไรครับ ฝากพี่ naj  แนะนำด้วยนะครับ

66
พบปัญหาในตาราง OutpatientChargesDtl2,OutpatientSurgeryDtl2,OutpatientDiagnosisDtl2 ข้อมูลไม่ได้ถูก append
ครับเดี่ยวแก้ไขให้ครับ

67
ไม่ทราบว่าจำนวนยาที่แพทย์สั่งแต่ละคนเก็บไว้ในตารางไหนครับ
น่าจะฟิวล์  qty  ในตาราง  opitemrece  แยกตาม  icode  นะครับ 

68
คิดว่าอาจจะอิงตามตาราง

MedicalOutpatientServiceFee    =    income_sss_group

ฝาก พี่ naj  ทดสอบตรวจสอบดูนะครับ  ได้ผลยังไงแจ้งให้ทราบด้วยนะครับ  ต้องกลับบ้านแล้ว  :) :)


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

70
ผมไม่แน่ใจว่า code ที่ Arm เขียน ตอนที่ส่งออกข้อมูลเข้า SSNData Sub v.1.3 ในแต่ละกลุ่มค่าใช้จ่าย ได้กรณีคนไข้นอก น่าจะกำหนดเป็น i.income_sss_group_code หรือเปล่าครับ เพราะเท่าที่ใน code กรณีที่เป็นผู้ป่วยใน อ.mn ใช้ i.income_group ซึ่งตรงกับ MedicalServiceFee
ครับ  เท่าที่ผมตรวจสอบ ในโปรแกรม  ssn data (sub)  ข้อมูลกลุ่มค่ารักษาก็ตรงนะ  เดี่ยวซุ่มอีกสักคนก่อนนะครับ
ตัวอย่าง  กลุ่ม 1 กับกลุ่ม 2 ครับ
โค๊ด: Delphi
  1. //  loop money group 1
  2.         if tc.fieldbyname('pdx').asstring <> '' then
  3.         begin
  4.           ssncds2.close;
  5.           adoquery2.close;
  6.           adoquery2.sql.text := 'select * from OutpatientChargesDtl2 where TransactionNumber = ' +
  7.                  ssncds.fieldbyname('TransactionNumber').asstring + ' and MedicalServiceFeeCode = ''1'' ';
  8.           adoquery2.open;
  9.           application.processmessages;
  10.           ssncds2.open;
  11.           if ssncds2.recordcount = 0 then
  12.             begin
  13.             ssncds2.append;
  14.             ssncds2['TransactionNumber'] := ssncds.fieldbyname('TransactionNumber').asinteger;
  15.             end
  16.           else
  17.             ssncds2.edit;
  18.           ssncds2['mainhospitalcode'] := hospmain;
  19.           ssncds2['SubHospitalCode'] := hospsub;
  20.           ssncds2['MedicalServiceFeeCode'] := '1';
  21.           ssncds2['idcardnumber'] := tc['cid'];
  22.           try
  23.           ssncds2.fieldbyname('SocialPaid').asfloat :=
  24.                     getsqldata('select sum(o.sum_price) as cc ' +
  25.                     ' from opitemrece o , income i ' +
  26.                     ' where o.vn = "' + tc.fieldbyname('vn').asstring + '" ' +
  27.                     ' and o.income = i.income and i.income_group = "01" and o.paidst = "02" ');
  28.           except  end;
  29.           try
  30.           ssncds2.fieldbyname('PatientPaid').asfloat :=
  31.                     getsqldata('select sum(r2.total_amount) as cc ' +
  32.                     ' from rcpt_print r1,rcpt_print_detail r2 ,income i ' +
  33.                     ' where r1.finance_number = r2.finance_number ' +
  34.                     ' and r1.vn = "' + tc.fieldbyname('vn').asstring + '" ' +
  35.                     ' and r2.income = i.income and i.income_group = "01" ');
  36.           //ssncds2.fieldbyname('OthersPaid').asfloat := tc['cid'];
  37.           except  end;
  38.           ssncds2.post;
  39.  
  40.           if ssncds2.changecount > 0 then
  41.           ssncds2.applyupdates(-1);
  42.           adoquery2.close;
  43.           ssncds2.close;
  44.         end;
  45.  
  46.         //  loop money group 2
  47.         if tc.fieldbyname('pdx').asstring <> '' then
  48.         begin
  49.           ssncds2.close;
  50.           adoquery2.close;
  51.           adoquery2.sql.text := 'select * from OutpatientChargesDtl2 where TransactionNumber = ' +
  52.                  ssncds.fieldbyname('TransactionNumber').asstring + ' and MedicalServiceFeeCode = ''2'' ';
  53.           adoquery2.open;
  54.           application.processmessages;
  55.           ssncds2.open;
  56.           if ssncds2.recordcount = 0 then
  57.             begin
  58.             ssncds2.append;
  59.             ssncds2['TransactionNumber'] := ssncds.fieldbyname('TransactionNumber').asinteger;
  60.             end
  61.           else
  62.             ssncds2.edit;
  63.           ssncds2['mainhospitalcode'] := hospmain;
  64.           ssncds2['SubHospitalCode'] := hospsub;
  65.           ssncds2['MedicalServiceFeeCode'] := '2';
  66.           ssncds2['idcardnumber'] := tc['cid'];
  67.           try
  68.           ssncds2.fieldbyname('SocialPaid').asfloat :=
  69.                     getsqldata('select sum(o.sum_price) as cc ' +
  70.                     ' from opitemrece o , income i ' +
  71.                     ' where o.vn = "' + tc.fieldbyname('vn').asstring + '" ' +
  72.                     ' and o.income = i.income and i.income_group = "02" and o.paidst = "02" ');
  73.           except  end;
  74.           try
  75.           ssncds2.fieldbyname('PatientPaid').asfloat :=
  76.                     getsqldata('select sum(r2.total_amount) as cc ' +
  77.                     ' from rcpt_print r1,rcpt_print_detail r2 ,income i ' +
  78.                     ' where r1.finance_number = r2.finance_number ' +
  79.                     ' and r1.vn = "' + tc.fieldbyname('vn').asstring + '" ' +
  80.                     ' and r2.income = i.income and i.income_group = "02" ');
  81.           //ssncds2.fieldbyname('OthersPaid').asfloat := tc['cid'];
  82.           except  end;
  83.           ssncds2.post;
  84.  
  85.           if ssncds2.changecount > 0 then
  86.           ssncds2.applyupdates(-1);
  87.           adoquery2.close;
  88.           ssncds2.close;
  89.         end;

71
อ. armds เจจอ Error ครับ
1. ตอน Login เข้าระบบ ครั้งแรก
2. ตอน Upgrade Structure

ดังภาพ ครับ
ตอบข้อ 1. เข้าไปแก้ไข เมนู กำหนดค่าเริ่มต้น ---> system setting ---> ค่าเริ่มต้นระบบ  ----> ไปแก้ไขการเชื่อมต่อ อัตโนมัติตอน Login  ติกออกครับ  แล้ว บันทึก

ตอบข้อ 2. ตาราง  ovst  ไม่มีในฐานข้อมูลไม่เป็นไรครับ ข้ามไปก่อนเลยครับ

เสร็จแล้วก็สามารถใช้งานได้เลยครับ  ไปกำหนดค่าเริ่มต้นครับ

72
ฝาก Arm ดูเรื่องค่าใช้จ่ายที่ส่งออก เข้าในโปรแกรม เท่าที่ตรวจสอบดูมันไม่ตรงกับหมวดที่เราจับคู่ใน HOSxP ครับ
ครับ อ.naj  ผมใช้โค้ดของ อ.mn ตัว Main เลย ในการจับคู่หมวดค่าใช้จ่าย
เดี่ยวผมขอตรวจสอบ SUB  ใหม่ก่อนนะครับ
ซึ่งหมวดค่ารักษาผมมีไม่เยอะเท่ากับของ อ.naj  นะครับ

73
error ทะเบียนครุภัณฑ์ครับ อ.อารม์
สร้างตารางก่อนครับ
CREATE TABLE `ds_country_manufacturer` (
  `country_manufacturer_name` varchar(50) DEFAULT NULL,
  `country_manufacturer` char(3) NOT NULL,
  `hos_guid` varchar(38) DEFAULT NULL,
  PRIMARY KEY (`country_manufacturer`),
  KEY `ix_hos_guid` (`hos_guid`)
) ENGINE=InnoDB DEFAULT CHARSET=tis620

74
ลองทดสอบส่งออก SSNData Main พบ error ตามรูปที่แนบมาครับ
ครับ ผมยังไม่ได้ทดสอบเลย  :)
เอามา compile แล้ว ไปทำตัวนำเข้า SUB  เลยไม่ได้ตรวจสอบ Main ครับ
แก้ไขแล้วนะครับ  โหลดเวอชันใหม่ครับ

75
::) Login มันถามหาตารางครับ
สร้างตาราง  onlineuser_dshos  เอาไว้ตรวจสอบว่าใครใช้งานอยู่ครับ
CREATE TABLE `onlineuser_dshos` (
  `appserver` varchar(150) DEFAULT NULL,
  `computername` varchar(50) DEFAULT NULL,
  `kskloginname` varchar(50) DEFAULT NULL,
  `ksklogintime` datetime DEFAULT NULL,
  `loginname` varchar(50) DEFAULT NULL,
  `onlineid` varchar(50) NOT NULL,
  `remark` varchar(250) DEFAULT NULL,
  `servername` varchar(50) DEFAULT NULL,
  `client_version` varchar(50) DEFAULT NULL,
  `department` varchar(100) DEFAULT NULL,
  `doctor_schedule_id` int(11) DEFAULT NULL,
  `antivirus_name` varchar(150) DEFAULT NULL,
  `antivirus_version` varchar(50) DEFAULT NULL,
  `antivirus_update` varchar(10) DEFAULT NULL,
  `os_name` varchar(100) DEFAULT NULL,
  `database_server` varchar(150) DEFAULT NULL,
  `gateway` varchar(50) DEFAULT NULL,
  `is_admin` char(1) DEFAULT NULL,
  PRIMARY KEY (`onlineid`),
  KEY `computername` (`computername`),
  KEY `ksklogintime` (`ksklogintime`),
  KEY `onlineid` (`onlineid`),
  KEY `onlineid_2` (`onlineid`),
  KEY `onlineid_unique` (`onlineid`)
) ENGINE=InnoDB DEFAULT CHARSET=tis620

76
เรียนคุณarmdsครับ ถ้าทำสำเร็จ อย่าลืมมาแบ่งปันกันด้วยนะครับ จะได้เอาไปให้PCUและรพ.สต.ไปใช้ต่อครับ
ดาวโหลด ไปทดสอบดูนะครับ

DSHOS_Service_update_55.7.13.exe.7z
จากไฟล์แนบนะครับ

มีอะไรแนะนำก็แจ้งมาได้นะครับ

77
เพิ่มคลังใหญ่ได้แล้ว  แต่คลังย่อยยังเพิ่มไม่ได้ครับ
วัสดุคงคลัง > กำหนดค่าพื้นฐาน > รายการคลังย่อย
แก้ไขแล้วเวอชันใหม่นะครับ
หรือจะแก้ไขที่ตาราง  stock_department  ก่อนได้นะครับ

78
ผมทำเพิ่มจากที่ อ.mn  ให้มาโดยนำเข้าไป  SSN_Data (sub) เลย
ตอนนี้กำลังตรวจสอบว่าข้อมูลสมบูรณ์หรือไม่นะครับ

79
พี่ครับมันขึ้นว่า SQL Error : Table'HosRefill.ds_country_manufacturer'doesn't exist. ในหน้าทะเบียนครุภัณฑ์ เกือบทั้งหมดของเมนูครับ ทั้งเพิ่ม และแก้ไข
สร้างตาราง  ก่อนครับ

CREATE TABLE `ds_country_manufacturer` (
  `country_manufacturer_name` varchar(50) DEFAULT NULL,
  `country_manufacturer` char(3) NOT NULL,
  `hos_guid` varchar(38) DEFAULT NULL,
  PRIMARY KEY (`country_manufacturer`),
  KEY `ix_hos_guid` (`hos_guid`)
) ENGINE=InnoDB DEFAULT CHARSET=tis620

หรือโหลดไฟล์แนบนี้นะครับ ddl_field and dll_index.7z แตกไฟล์ไปเก็บไว้ที่
C:\Program Files\DS-ASSET
แล้วอัพเกรดดูนะครับ

80
Development / Re: ReportBuilder end user function
« เมื่อ: กรกฎาคม 13, 2012, 15:04:15 PM »

ช่วยอธิบายความหมายของแต่ละ grade 0-5 หน่อยครับว่าคืออะไร เพราะมีบาง case แบ่ง grade ไม่ได้ครับ
เช่นผู้ป่วย วัด bps 139 bpd 93 result:= ''

อ้อ อันนี้หมอเขาต้องการดู grade ของคนไข้ความดันครับ
ถ้าในกรณี  bps 139 bpd 93 result:= '0'  ผลลัพก็จะได้  0 ครับ
แต่ความหมายในทางการวิเคราะห์ผมก็ไม่ทราบครับ  เขาอยากแบ่งแบบนี้ครับ 
เดี่ยวไปถามพี่พยาบาลก่อนนะครับ
ผมลอง แล้วครับ GetGradebp('139','93');
มัน return value ='' ครับ ไม่ใช่ 0 นะครับ

ครับ โอกาสที่ bpd จะเป็น 93 ก็เป็นไปได้  แต่ผลลัพที่ไม่มีในเงื่อนไขก็จะเป็นค่าว่างครับ 
ผมก็เอาค่า returen value = '' หรือ 0 ก็มีความเดียวกันครับ

ประมาณนี้ครับ
function GetGradebp(bps,bpd:string): string;
begin
  result := '';

  case strtoint(bps)  of
     1..140   : begin
                     if strtoint(bpd)<=90 then
                     result := '5'
                     else
                     result := '0';
                end;
     141..150 : begin
                     if strtoint(bpd)<=90 then
                     result := '4'
                     else if strtoint(bpd)<=95 then
                          result := '3'
                          else
                          result := '0';
                end;
     151..160 : begin
                     if strtoint(bpd)>95  then
                     result := '2'
                     else
                     result := '2';
                end;
     161..300 : begin
                     if strtoint(bpd)>100  then
                     result := '1'
                     else
                     result := '1';
                end;
     else result := '0';
  end;
end;

81
เพิ่ม รายการคลังสินค้า  รายการคลังย่อย  รายการสินค้า ได้อย่างไรครับ

โหลดเวอชัน  1.55.7.7  ไปทดสอบดูก่อนนะครับ  ที่นี่ครับ
http://im-hospital.blogspot.com/2012/01/dansai-asset.html

82
Development / Re: ReportBuilder end user function
« เมื่อ: กรกฎาคม 13, 2012, 12:43:44 PM »
เพิ่มให้แล้วครับ  :)
เพิ่มเติมครับ อ.mn
GetHOSVariable

อันนี้ไม่ได้เขียนเองครับ  อยู่ใน hosxp  แล้วแต่อยากใช้งานกับรายงานด้วยครับ

83
Development / Re: ReportBuilder end user function
« เมื่อ: กรกฎาคม 13, 2012, 12:23:39 PM »
ผม link unit นี้ให้แล้วนะครับใน 3.55.7.13
เพิ่มอีก 2 ฟังชันครับ  อ.mn   :)
GetGradelab_hba1c
GetGradebp

84
Development / Re: ReportBuilder end user function
« เมื่อ: กรกฎาคม 13, 2012, 12:00:13 PM »
เอาไปใส่ไว้ใน Unit ตามตัวอย่างแฟ้มใน post แรกได้หรืเปล่าครับ
ตัวอย่าง  THOSxPRapGetGradelab_fbsFunction  นี้ได้ไหมครับ
ถ้าได้จะได้เพิ่มที่เหลือครับ   :)

อ้อลืม อีกบรรทัดครับ 
raRegisterFunction('GetGradelab_fbs', THOSxPRapGetGradelab_fbsFunction);
บรรทัดสุดท้าย
แนบไฟล์ใหม่แล้วนะครับ อ.mn

85
เขียน procedure เปล่าๆ เอาไว้ด้านบนก่อนก็ได้ครับ

procedure resyncan(an:string);
begin

end;

ผมใช้  procedure  นี้ได้หรือเปล่าครับ  อ.mn

procedure ResyncVN(vn: string);
var
  BDR: TVNResync;
begin

  //EnterCriticalSection(HOSxP_VNResyncCriticalSection);
  try

    BDR := TVNresync.create(vn);
    try
      BDR.DoResyncData;
    finally
      BDR.Free;
    end;

  finally
    // LeaveCriticalSection(HOSxP_VNResyncCriticalSection);
  end;
end;

86
Development / Re: ReportBuilder end user function
« เมื่อ: กรกฎาคม 13, 2012, 11:37:43 AM »

ช่วยอธิบายความหมายของแต่ละ grade 0-5 หน่อยครับว่าคืออะไร เพราะมีบาง case แบ่ง grade ไม่ได้ครับ
เช่นผู้ป่วย วัด bps 139 bpd 93 result:= ''

อ้อ อันนี้หมอเขาต้องการดู grade ของคนไข้ความดันครับ
ถ้าในกรณี  bps 139 bpd 93 result:= '0'  ผลลัพก็จะได้  0 ครับ
แต่ความหมายในทางการวิเคราะห์ผมก็ไม่ทราบครับ  เขาอยากแบ่งแบบนี้ครับ 
เดี่ยวไปถามพี่พยาบาลก่อนนะครับ

87
Development / Re: ReportBuilder end user function
« เมื่อ: กรกฎาคม 13, 2012, 11:07:43 AM »
ขอคนแรกได้ไหมครับ  อ.mn
ไม่แน่ใจว่าจะได้ไหมนะครับ

//ตัวนี้เอาไว้หาคะแนน  ของผลแลป fbs  ครับ โดยตั้งค่าคงที่ไว้ที่  select sys_value from sys_var where sys_name like"LAB_Criterion_FBS_1"
โค๊ด: Delphi
  1. function GetGradelab_fbs(lab_result:string): string;
  2. begin
  3.   result := '';
  4.   if StrToFloat(lab_result) < getsqldata('select sys_value from sys_var where sys_name like"LAB_Criterion_FBS_1" ') then
  5.               result := getsqldata('select sys_var_guid from sys_var where sys_name like"LAB_Criterion_FBS_1" ')
  6.            else if StrToFloat(lab_result) < getsqldata('select sys_value from sys_var where sys_name like"LAB_Criterion_FBS_2" ') then
  7.                   result := getsqldata('select sys_var_guid from sys_var where sys_name like"LAB_Criterion_FBS_2" ')
  8.                 else if StrToFloat(lab_result) < getsqldata('select sys_value from sys_var where sys_name like"LAB_Criterion_FBS_3" ') then
  9.                        result := getsqldata('select sys_var_guid from sys_var where sys_name like"LAB_Criterion_FBS_3" ')
  10.                      else  if StrToFloat(lab_result) < getsqldata('select sys_value from sys_var where sys_name like"LAB_Criterion_FBS_4" ') then
  11.                            result := getsqldata('select sys_var_guid from sys_var where sys_name like"LAB_Criterion_FBS_4" ')
  12.                            else
  13.                            result := getsqldata('select sys_var_guid from sys_var where sys_name like"LAB_Criterion_FBS_5" ');
  14. end;

//ตัวนี้เอาไว้หาคะแนน  ของผลแลป hba1c  ครับ โดยตั้งค่าคงที่ไว้ที่  select sys_value from sys_var where sys_name like"LAB_Criterion_HbA1C_1"
โค๊ด: Delphi
  1. function GetGradelab_hba1c(lab_result:string): string;
  2. begin
  3.   result := '';
  4.   if StrToFloat(lab_result) < getsqldata('select sys_value from sys_var where sys_name like"LAB_Criterion_HbA1C_1" ') then
  5.             result := getsqldata('select sys_var_guid from sys_var where sys_name like"LAB_Criterion_HbA1C_1" ')
  6.          else if StrToFloat(lab_result) < getsqldata('select sys_value from sys_var where sys_name like"LAB_Criterion_HbA1C_2" ') then
  7.                  result := getsqldata('select sys_var_guid from sys_var where sys_name like"LAB_Criterion_HbA1C_2" ')
  8.               else  if StrToFloat(lab_result) < getsqldata('select sys_value from sys_var where sys_name like"LAB_Criterion_HbA1C_3" ') then
  9.                     result := getsqldata('select sys_var_guid from sys_var where sys_name like"LAB_Criterion_HbA1C_3" ')
  10.                     else  if StrToFloat(lab_result) < getsqldata('select sys_value from sys_var where sys_name like"LAB_Criterion_HbA1C_4" ') then
  11.                           result := getsqldata('select sys_var_guid from sys_var where sys_name like"LAB_Criterion_HbA1C_4" ')
  12.                           else
  13.                           result := getsqldata('select sys_var_guid from sys_var where sys_name like"LAB_Criterion_HbA1C_5" ');
  14. end;

// //ตัวนี้เอาไว้หาคะแนน  ของผลแลป bp  ครับ  แต่ค่าคงที่ยัง fix ตายตัวอยู่  ยังหาที่เก็บไว้ไม่ได้ครับ
โค๊ด: Delphi
  1. function GetGradebp(bps,bpd:string): string;
  2. begin
  3.   result := '';
  4.  
  5.   case strtoint(bps)  of
  6.      1..140   : begin
  7.                      if strtoint(bpd)<=90 then
  8.                      result := '5';
  9.                 end;
  10.      141..150 : begin
  11.                      if strtoint(bpd)<=90 then
  12.                      result := '4'
  13.                      else if strtoint(bpd)<=95 then
  14.                           result := '3';
  15.                 end;
  16.      151..160 : begin
  17.                      if strtoint(bpd)>95  then
  18.                      result := '2'
  19.                      else
  20.                      result := '2';
  21.                 end;
  22.      161..300 : begin
  23.                      if strtoint(bpd)>100  then
  24.                      result := '1'
  25.                      else
  26.                      result := '1';
  27.                 end;
  28.      else result := '0';
  29.   end;
  30. end;

88
แบบนี้น่าจะตรงกับโครงสร้างหรือเปล่าครับ  คุณ  cchp2005

ส่วนฟิวล์  vn  ก็เข้าไปลบ  ออกอีกทีครับ

89
ตามที่พี่เกื้อ อธิบายไว้ครับ  ต้องลงตัว  VFP9DLL เข้าไปใหม่หรือว่าลงแล้วไม่สมบูรณ์
ก็ลง  msvcr71  ตัวนี้ใหม่อีกครั้งดูครับ

90
เพิ่มเติม จากพี่ปิ๊ก นะครับ

FormatThaiDate    และ  formatthaidate

ใช้งานไม่เหมือนกันนะครับ  ถ้าให้ดีทั้ง xp และ win7  ให้ใช้  FormatThaiDate  ครับ

91
มีให้เลือก 2 กรณีครับ
1 กำหนดเอง                                                                                   --->  สามารถแก้ไขได้
2 ออกเลขที่ใบเกิดอัตโนมัต  โดยไปกำหนดที่  system setting  ครับ     ---> ไม่สามารถแก้ไขได้

92
Report Exchange / Re: ขอรายงาน เกกี่ยวกับ อสม ครับ
« เมื่อ: พฤษภาคม 31, 2012, 16:25:16 PM »
ลองเอาไปปรับใช้ดูครับ

93
เป็น bug ของเวอชัน 3.55.4.20  ครับ  อ.mn  แก้ไขให้แล้วตั้งแต่เวอชัน 3.55.4.25  แล้วครับ

อ้างอิงจากกระทู้
http://hosxp.net/index.php?option=com_smf&Itemid=28&topic=25714.msg218635#msg218635

ดาวโหลด HOSxP_Upgrade_3.55.4.25

http://hosxp.net/bms/HOSxP_Upgrade_3.55.4.25.exe

94
อ.อาร์มครับ ตรงช่องบันทึกการรับซ่อม เลือกเครื่องพิมพ์ไม่ได้ครับ
ครับ  แก้ไขแล้วในเวอชันใหม่ครับ

95
ลองแก้ไขชื่อค่าใช้จ่ายนี้ดูนะครับ  คิดว่าระบบห้ามใช้  เครื่องหมาย "
เดิม
ค่าใส่ Finger Splint (รวมอุปกรณ์ 0.5",0.7",1")
แก้ไขเป็น
ค่าใส่ Finger Splint (รวมอุปกรณ์ 0.5,0.7,1)

แล้วลองคีย์ใหม่ดูนะครับ

96
นอกเรื่อง / Re: ผมขอลาบวช 1 เดือนนะครับ
« เมื่อ: พฤษภาคม 08, 2012, 21:21:53 PM »
อนุโมทนาบุญด้วยครับ อ.ชัยพร

97
ขอแสดงความเสียใจด้วยนะครับ....

98
3.55.5.1  ก็ยัง  error   เหมือนกันครับ  ไม่รู้  3.55.5.4  แก้ไขหรือยังครับ  เดี่ยวต้องทดสอบ

99
หน้าจอลงทะเบียนผู้ป่วยใหม่ ไม่สามารถย้าย หรือ ปรับได้ ตามรูป
แก้ไขได้อย่างไรครับ
ลองกดปุ่ม  Cascade  ดูนะครับ

100
ขออนุญาตดันกระทู้ครับ กำลังรอเวอร์ชั่นปรับปรุงอยู่ครับ
แก้ไขแล้วนะครับ ดาวโหลดตามนี้ครับ
DS_ASSET_update_55.4.10
http://www.mediafire.com/?yiusfmwj2ytkuez

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