BMS-HOSxP Community

HOSxP => แจ้งปัญหา / ขอความช่วยเหลือ => ข้อความที่เริ่มโดย: anukul ที่ พฤษภาคม 14, 2007, 23:13:32 PM

หัวข้อ: up 50.4.10 ห้องตรวจแพทย์พบปัญหา
เริ่มหัวข้อโดย: anukul ที่ พฤษภาคม 14, 2007, 23:13:32 PM
เพิ่ง up ver เป็น 50.4.10 เมื่อคืนวันศุกร์ที่ผ่านมา  วันหยุดใช้งาน ไม่ค่อยพบปัญหาครับ

แต่พอเช้าวันจันทร์ เจอปัญหาที่ห้องตรวจครับ 

1.ผป.นัด แล้วมาตรงวันนัด  เวลาที่เรียกชื่อขึ้นมาตรวจ  จะมี pop up "เตือนรายการนัดวันนี้ให้"  เดิมกดปุ่ม Enter หรือกด ตกลง ก็จะหลุดออกไปให้ตรวจได้  แต่ ตอนนี้ พบว่า จะวนลูป แล้วแฮงเลยบางครั้ง  ทำงานต่อไม่ได้   ต้องใช้วิธี กด X ปิด มุมขวาบนแทน จึงจะหลุดออกไปตรวจได้ครับ   

2.เวลาเรียกคนไข้มาบางครั้งหน่วง มาก เปิด SQL Trace ดู เห็นว่า table OVST มักจะใช้เวลานาน (ส่ง transaction มาให้ช่วยดูด้วยครับ)

3.รู้สึกว่าจะมีปัญหา กับผป.นัด ค่อนข้างมาก เช่น จำนวนผป.นัด ที่หน้ารอตรวจ ด้านล่าง แสดงแค่ 1 ราย มาตามนัด - ราย (ทั้งๆที่ ในตารางนัด มี 38 ราย)

หมายเหตุ :  ผมเปลี่ยนเครื่อง server แต่ spec ใกล้เคียงของเดิม (ดีกว่าเล็กน้อย)   และ ใช้ MySQL 5.0.37 เลย ก่อน initial import ข้อมูลจากตัวเดิม  แล้วค่อย upgrade structure ที่ตัวใหม่ครับ
หัวข้อ: Re: up 50.4.10 ห้องตรวจแพทย์พบปัญหา
เริ่มหัวข้อโดย: manoi ที่ พฤษภาคม 15, 2007, 00:10:52 AM
เปลี่ยนตาราง ovst เป็น Innodb หรือยังครับ
หัวข้อ: Re: up 50.4.10 ห้องตรวจแพทย์พบปัญหา
เริ่มหัวข้อโดย: manoi ที่ พฤษภาคม 15, 2007, 00:13:49 AM
ส่วน error ที่เกิดในห้องตรวจแพทย์ น่าจะเกิดจากเหตุการณ์เกิดซ้อนกันครับ  คือ พอแพทย์คลิกเลือกผู้ป่วยแล้ว โดยปกติระบบจะแสดงข้อมูลผู้ป่วยทันที แต่เข้าใจว่าระบบยังรอข้อมูลจากเครื่อง server อยู่ ทำให้แพทย์เลือกผู้ป่วยซ้ำครับ

จำนวนผู้ป่วยที่นัดมาในวัน โปรแกรมใช้คำสั่งนี้ครับ

select count(*) as cc from oapp where nextdate = 'yyyy-mm-dd' and doctor = 'doctor_code'
หัวข้อ: Re: up 50.4.10 ห้องตรวจแพทย์พบปัญหา
เริ่มหัวข้อโดย: anukul ที่ พฤษภาคม 15, 2007, 00:56:58 AM
ยังไม่ได้ up เป็น innodb เลยครับ
แต่ตอนที่ใช้อาทิตย์ที่แล้ว ver เดิม  ไม่เคยช้าอย่างนี้ครับ
(เอ แล้ว up innodb ขณะทำงานได้มั๊ย  โดยไม่ต้องหยุดระบบ MySQL 5.0.37)

ใช้ SQL ดู จำนวนผป.นัด แล้ว ก็มี 38 ราย ครับ  แต่ที่หน้าจอ ผู้ป่วยรอตรวจ ด้านล่างยังขึ้นแค่ 1 ราย

สังเกตุ เห็นว่า CPU server ทำงานค่อนข้างหนัก กว่าตอนใช้ ver เดิม
หัวข้อ: Re: up 50.4.10 ห้องตรวจแพทย์พบปัญหา
เริ่มหัวข้อโดย: manoi ที่ พฤษภาคม 15, 2007, 01:21:27 AM
ส่งแฟ้ม /etc/my.cnf  เข้ามาด้วยครับ

หัวข้อ: Re: up 50.4.10 ห้องตรวจแพทย์พบปัญหา
เริ่มหัวข้อโดย: manoi ที่ พฤษภาคม 15, 2007, 01:32:35 AM
ลอง upgrade เฉพาะ ovst เป็น innodb ที่หน้าจอนี้ครับ

(ไม่ต้องหยุดระบบ)
หัวข้อ: Re: up 50.4.10 ห้องตรวจแพทย์พบปัญหา
เริ่มหัวข้อโดย: anukul ที่ พฤษภาคม 15, 2007, 02:36:45 AM
นี่ครับ my.cnf

รู้สึกว่า ผมจะปรับ เพิ่มบรรทัด  max-connection='300'

และ เพิ่ม config  innodb ไว้  (ที่แตกต่างจาก server เดิม)
หัวข้อ: Re: up 50.4.10 ห้องตรวจแพทย์พบปัญหา
เริ่มหัวข้อโดย: manoi ที่ พฤษภาคม 15, 2007, 02:43:18 AM
เครื่อง server ram เท่าไหร่ครับ
หัวข้อ: Re: up 50.4.10 ห้องตรวจแพทย์พบปัญหา
เริ่มหัวข้อโดย: manoi ที่ พฤษภาคม 15, 2007, 02:46:09 AM
ลองปรับแบบนี้ แล้ว restart mysql ครับ
หัวข้อ: Re: up 50.4.10 ห้องตรวจแพทย์พบปัญหา
เริ่มหัวข้อโดย: anukul ที่ พฤษภาคม 15, 2007, 02:53:33 AM
ECC RAM 1G. x 4  = 4G. ครับ
CPU :  Double Xeon 3.2 GHz
HDD : SCSI 10000 rpm 72G. x 2  (set RAID 1)

เดี๋ยวจะลอง restart MySQL  ครับ
หัวข้อ: Re: up 50.4.10 ห้องตรวจแพทย์พบปัญหา
เริ่มหัวข้อโดย: มดตานอย ครับ.. ที่ พฤษภาคม 15, 2007, 03:00:29 AM
ตาม  อ.mn    แรม server ต้อง  4 GB   ขึ้นไปใช่ไหมครับ
หัวข้อ: Re: up 50.4.10 ห้องตรวจแพทย์พบปัญหา
เริ่มหัวข้อโดย: manoi ที่ พฤษภาคม 15, 2007, 03:19:40 AM
config ข้างบน ผมนึกว่า RAM 2 Gb ครับ แต่คิดว่าคงทำให้เร็วขึ้นได้ครับ
หัวข้อ: Re: up 50.4.10 ห้องตรวจแพทย์พบปัญหา
เริ่มหัวข้อโดย: anukul ที่ พฤษภาคม 15, 2007, 03:56:59 AM
เดี๋ยวคงต้องรอดูอีกที พรุ่งนี้เช้าครับ  เพราะนอกเวลาถ้าแพทย์ใช้งานน้อยคน ก็ไม่ค่อยมีปัญหา  แต่ถ้าใช้หลายห้องตรวจ (ตอนเช้าใช้กันประมาณ 10 กว่าห้อง)  จะช้ามาก  รวมทั้งห้องฟันด้วยครับ 

อีกเรื่อง คือ ระบบนัด ดูรวนๆ  โดยเฉพาะเวลาส่งตรวจ ผป.นัด  ซึ่งมีสั่ง lab นัด ด้วย จะช้ามาก เกือบทุกคน 

จริงๆ ผมอยากลอง upgrade structure ดูอีกครั้ง  เพราะ ครั้งนี้ up ข้ามหลาย ver มาก จาก 2.49.9.13  มาเป็น 3.50.4.10  (เวลาที่ใช้ในการ upgrade structure ประมาณ เกือบ 5 ชั่วโมง ตั้งแต่ ตี 2 กว่า ถึง หกโมงครึ่ง  กว่าจะเสร็จ)     ...... ดีมั๊ยครับ .......

ขอบคุณมากครับ

หัวข้อ: Re: up 50.4.10 ห้องตรวจแพทย์พบปัญหา
เริ่มหัวข้อโดย: manoi ที่ พฤษภาคม 15, 2007, 04:13:31 AM
แก้ไขจำนวนผู้ป่วยนัดที่หน้าจอห้องตรวจให้แล้วครับ เกิดจากระบบนำจำนวนผู้ป่วยที่มาตามนัด มาใส่แทนผู้ป่วยที่นัดมาทั้งหมดครับ
หัวข้อ: Re: up 50.4.10 ห้องตรวจแพทย์พบปัญหา
เริ่มหัวข้อโดย: manoi ที่ พฤษภาคม 15, 2007, 04:18:01 AM
ลองอีกครั้งก็ได้ครับ แต่คงใช้เวลาไม่นานมากครับ
หัวข้อ: Re: up 50.4.10 ห้องตรวจแพทย์พบปัญหา
เริ่มหัวข้อโดย: anukul ที่ พฤษภาคม 15, 2007, 07:02:55 AM
ปัญหา หน้าต่าง pop up แจ้งการนัดวันนี้  เวลาที่เรียกชื่อผป.มาตรวจ  แล้ววน ออกไม่ได้  ....

ผมลองดูแล้ว พบว่า ถ้าเรา เลือก หน้าจอแรกเมื่อเลือกคนไข้ ---> ข้อมูลซักประวัติ   จะเกิดปัญหาที่แจ้งครับ
แต่ถ้าเลือกอันอื่น เช่น หน้าสั่งเวชภัณฑ์ หรือหน้าประวัติการรักษา หรือหน้าวินิจฉัย  จะไม่เกิดปัญหาที่แจ้งครับ

พอดีผมเลือก ดูข้อมูลซักประวัติ เป็นหน้าจอแรก  เลยเจอปัญหาครับ
หัวข้อ: Re: up 50.4.10 ห้องตรวจแพทย์พบปัญหา
เริ่มหัวข้อโดย: anukul ที่ พฤษภาคม 15, 2007, 11:55:20 AM
ผมได้ ปรับตาราง ovst เป็น  innodb  ตามตัวอย่างแล้ว  (ทำใน safe alter) 

แต่พอเรียกให้แสดง ตาราง innodb กลับ ไม่พบเลย

ลองเข้าใน SQL  show create table ovst  --> 
CREATE TABLE `ovst` (
  `hos_guid` varchar(38) NOT NULL default '',
  `vn` varchar(13) default NULL,
  `hn` varchar(9) default NULL,
  `an` varchar(9) default NULL,
  `vstdate` date default NULL,
  `vsttime` time default NULL,
  `doctor` varchar(7) default NULL,
  `hospmain` varchar(5) default NULL,
  `hospsub` varchar(5) default NULL,
  `oqueue` int(11) default NULL,
  `ovstist` char(2) default NULL,
  `ovstost` varchar(4) default NULL,
  `pttype` char(2) default NULL,
  `pttypeno` varchar(50) default NULL,
  `rfrics` char(1) default NULL,
  `rfrilct` varchar(5) default NULL,
  `rfrocs` char(1) default NULL,
  `rfrolct` varchar(5) default NULL,
  `spclty` char(2) default NULL,
  `rcpt_disease` varchar(100) default NULL,
  `hcode` varchar(5) default NULL,
  `cur_dep` char(3) default NULL,
  `cur_dep_busy` char(1) default NULL,
  `last_dep` char(3) default NULL,
  `cur_dep_time` time default NULL,
  `rx_queue` int(11) default NULL,
  `diag_text` varchar(250) default NULL,
  `pt_subtype` tinyint(4) default NULL,
  `main_dep` char(3) default NULL,
  `main_dep_queue` int(11) default NULL,
  `finance_summary_date` date default NULL,
  `visit_type` char(1) default NULL,
  `node_id` char(1) default NULL,
  `contract_id` int(11) default NULL,
  `waiting` char(1) default NULL,
  `rfri_icd10` varchar(6) default NULL,
  `o_refer_number` int(11) default NULL,
  `has_insurance` char(1) default NULL,
  `i_refer_number` varchar(25) default NULL,
  `refer_type` char(1) default NULL,
  `o_refer_dep` varchar(5) default NULL,
  `staff` varchar(10) default NULL,
  `command_doctor` varchar(6) default NULL,
  `send_person` varchar(150) default NULL,
  `pt_priority` char(1) default NULL,
  `finance_lock` char(1) default NULL,
  PRIMARY KEY  (`hos_guid`),
  UNIQUE KEY `ix_unique` (`vn`),
  KEY `ix_hn` (`hn`),
  KEY `ix_an` (`an`),
  KEY `ix_vstdate` (`vstdate`),
  KEY `ix_pttype` (`pttype`),
  KEY `ix_hn_vstdate` (`hn`,`vstdate`),
  KEY `ix_doctor` (`doctor`),
  KEY `ix_hcode` (`hcode`),
  KEY `ix_o_refer_number` (`o_refer_number`),
  KEY `ix_spclty` (`spclty`),
  KEY `ix_staff` (`staff`)
) ENGINE=MyISAM DEFAULT CHARSET=tis620

เลยไม่รู้ว่า ตอนนี้มันเป็น MyISAM  หรือ  Innodb  เพราะตอนสั่งก็ไม่มีอาการผิดปกติอะไร