แสดงกระทู้

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

หน้า: [1] 2 3
1
select concat((select count(modifytype) from ksklog   where  logtime between "2020-11-25 00:00:01" and  "2020-11-25 23:59:59"
and modifytype="Delete"   and detail like "%cause%" ),' คน')as Day

คำสั่งนี้มันกำหนดให้เป็นปัจจุบันไม่ได้ค่ะ ใช้กับ HIS Line Notify โปรแกรมแจ้งเตือนผ่าน Lin Notify ค่ะ
ลองใช้ Code นี้แทนนะครับ
โค๊ด: [Select]
select concat((select count(modifytype) from ksklog   where  logtime between concat(curdate()," 00:00:01") and  concat(curdate()," 23:59:59")
and modifytype="Delete"   and detail like "%cause%" ),' คน')as Day

2
คำสั่งใน Variable เป็นแบบนี้

Value := GetListFromQuery( 'select concat(date_format(lh.report_date,''(%e-%c-%Y)'')) from lab_order lo left outer join lab_head lh on lh.lab_order_number=lo.lab_order_number  where lh.hn='''+ DBPipeline['hn'] + '''and lo.lab_items_code=76 order by report_date desc,report_time desc limit 0,1');

แสดงผลเป็น  (13-9-2017) อยากให้มันขึ้นเป็น ปี พ.ศ. (13-9-2560) ต้องทำไงครับ ช่วยชี้แนะด้วยครับ
โค๊ด: [Select]
ถ้าใช้ คำสั่ง mysql ต้องเปลี่ยน
concat(date_format(lh.report_date,"(%e-%c-%Y)"))
เป็น
concat(date_format(lh.report_date,"%d-%m"),"-",date_format(lh.report_date,"%y")+543)
แนะนำให้ใช้
function FormatThaiDate ใน report disigner
เป็น
Value := FormatThaiDate('d-m-yyyy',
GetSQLDateData( 'select lh.report_date
from lab_order lo
left outer join lab_head lh on lh.lab_order_number=lo.lab_order_number 
where lh.hn='''+ DBPipeline['hn'] + ''' and lo.lab_items_code=76
order by report_date desc,report_time desc limit 0,1'));
:) :)

3
ประกาศรับ เจ้าพนักงานเครื่องคอมพิวเตอร์ 1 ตำแหน่ง รพ.เมืองปาน
อ.เมืองปาน จ.ลำปาง
 :)
รายละเอียดเพิ่มเติม
http://www.muangpanhealth.com/muangpan/job60-4.pdf

ยังไม่มีใครมาสมัคเลยครับ...
เปิดอีกรอบแล้ว
http://www.muangpanhealth.com/muangpan/job60-6.pdf

4
ประกาศรับ เจ้าพนักงานเครื่องคอมพิวเตอร์ 1 ตำแหน่ง รพ.เมืองปาน
อ.เมืองปาน จ.ลำปาง
 :)
รายละเอียดเพิ่มเติม
http://www.muangpanhealth.com/muangpan/job60-4.pdf

5
ยินดีต้อนรับ / Re: ICD10 Audit
« เมื่อ: มิถุนายน 04, 2015, 18:02:14 PM »
ลองไปใช้กันนะครับ
เดี๋ยวมีมาเพิ่ม...ถ้าว่าง
B4 : การให้รหัส ผู้ป่วยนอก ที่มารับวัคซีนป้องกันโรค ไม่ต้องใส่รหัสการตรวจร่างกาย การตรวจสุขภาพ
select t1.* from
(select odx.vn, odx.hn, concat(pt.pname,pt.fname,' ',pt.lname) as pt_name, odx.vstdate
from ovstdiag odx
join patient pt on pt.hn=odx.hn
where vstdate between '2014-10-01' and '2015-09-30'
and icd10 between 'Z230' and 'Z279') as t1
join
(select vn from ovstdiag
where vstdate between '2014-10-01' and '2015-09-30'
and (icd10 between 'Z000' and 'Z029')) as t2 on t2.vn=t1.vn
ลองแล้วใช้ได้ทุกอันยกเว้นข้อ B4
สงสัยอ.ลืมปิด ) สีแดงครับอ.โก็ มันเลยไม่รันครับ

6
นอกเรื่อง / Re: แจ้งข่าวการสูญเสีย
« เมื่อ: พฤษภาคม 27, 2015, 10:48:35 AM »
RIP...
ขอแสดงความเสียใจ :'( :'( :'(
สำหรับครอบครัวของพี่สันทัด JD-Admin  ด้วยครับ

7
Delphi / Pascal / Re: คำสั่งตัดคำ ใน pascal ครับ
« เมื่อ: พฤษภาคม 25, 2015, 10:34:24 AM »
มีข้อความยาวๆ จะตัดให้เหลือตามต้องการครับ เช่น

 st1:=vartostr(getsqldata('select pdx from an_stat where an="'+fan+'"'));
 fcds['name6']:= st1;
 fcds['name7']:=vartostr(getsqldata('select name from icd101 where code="'+st1+'"'));

จะตัดชื่อการวินิจซึ่งยาวเกินไปให้เหลือสั้น เช่น
Foodborne Bacillus cereus intoxication -> เป็น Foodborne Bacillus.... มีจุดๆๆๆ ต่อท้าย

ถ้าใช้ใน script delphi ของ HOSxP ก็ copy(fullstring,stringStart,lenString); จะได้
 
 st1:=vartostr(getsqldata('select pdx from an_stat where an="'+fan+'"'));
 fcds['name6']:= st1;
 st2:=vartostr(getsqldata('select name from icd101 where code="'+st1+'"'));
 fcds['name7']:=copy(st2,1,15)+"...";

แต่ใช้ sql query
เป็น substr(fullstring,stringStart,lenString) หรือ substring(fullstring,stringStart,lenString) จะได้
 st1:=vartostr(getsqldata('select pdx from an_stat where an="'+fan+'"'));
 fcds['name6']:= st1;
 st2:=vartostr(getsqldata('select concat(substr(name,1,15),"...") from icd101 where code="'+st1+'"'));
 fcds['name7']:=st2;




8
สู้ต่อไป "BMS"
ขอเป็นกำลังใจให้ อ.ชัยพร และ ทีมงานทุกคนนะครับ...




9
Development / Re: shell script สำหรับ tranfer database(หรือ import databas)
« เมื่อ: ธันวาคม 30, 2014, 12:26:49 PM »
ลองตรวจสอบตำแหน่งของ command ที่เรียกใช้

โค๊ด: [Select]
$ echo $PATH
ผลที่ได้ ประมาณนี้
โค๊ด: [Select]
/usr/bin:/bin:/usr/sbin:/sbin:/usr/X11R6/bin:/usr/local/bin:/home/user/bin
นั่นคือ คำสั่งที่อยู่ใน /bin  /usr/bin o และ  /usr/local/bin สามารถเรียกใช้งานได้ทันที ในทุกตำแหน่ง มิฉะนั้นแล้วก็ต้องอ้างพาธเต็ม
วิธีการตรวจสอบพาธของคำสั่ง เช่น date echo
โค๊ด: [Select]
$ which date
โค๊ด: [Select]
$ which echo
หากไม่ต้องการอ้าง path ก็ต้องแก้ ไฟล์ .bashrc ใน Home Directory โดยใช้ text editor
โค๊ด: [Select]
$ vi $HOME/.bashrc
เพิ่ม path ที่คำสั่งที่อยู่ และต้องการเรียกใช้งาน เช่น
โค๊ด: [Select]
PATH=$PATH:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
export PATH

บันทึก  run คำสั่ง ตรวจสอบพาธ และสามารถเรียกใช้งานคำสั่งได้โดยตรง
โค๊ด: [Select]
$ source ~/.bashrc
$ echo $PATH

งงครับ  ;D ;D ;D ไม่สันทัด linux เอาซะเลย  :D :D :D

ลองใช้ text editor แก้ code โดยเปลี่ยน
ECHO พิมพ์ใหญ่ เป็น echo พิมพ์เล็กดู  linux มัน case sensitive

ครับ

10
web hosxp.net ล่มไม่ทราบจะใช้ได้เมื่อไหร่ครับ
:)

11
ขอคำสั่ง MySQL หาจำนวนใบสั่งยา OPD  IPD  ที่มียา  หรือ ผ่านการจัดยา / ยืนยันจ่ายยา จากห้องจ่ายยาด้วยครับ  ;D ;D

โค๊ด: [Select]
-- opd
select count(distinct o.vn) as cc
from opitemrece o left outer join drugitems d on o.icode=d.icode
 where o.vstdate between '2012-10-01' and '2013-09-30'    and (o.an is null or length(o.an)=0)  and d.icode is not null



-- ipd
SELECT Count(DISTINCT o.order_no) AS cc
FROM opitemrece o
  LEFT OUTER JOIN drugitems d ON o.icode = d.icode
  LEFT OUTER JOIN ipt_order_no i ON o.an = i.an
  left outer join ipt a on o.an=a.an
WHERE a.dchdate BETWEEN '2012-10-01' AND '2013-09-30' AND (o.an IS NOT NULL OR
    Length(o.an) = 9) AND d.icode IS NOT NULL

12
พอดีตั้ง crontab (ทุก 18.30 ของ จันทร์ พุธ ศุกร์)
รัน  php script  บน Server สั่ง backup ทีละ table แล้วบีบเป็น .7z แล้วส่งขึ้น ftp เลย
แต่ติดปัญหาว่า   .7z  ค่อนข้างใหญ่  (บาง รพ.สต. ใหญ่ถึง 30MB)

จึงอยากรู้ว่า table ไหนบ้างที่ไม่จำเป็นต้อง back up ครับ
ผมใช้ แบบนี้ เลือก table ครับ

select table_name from information_schema.tables 
where table_schema = 'hosxp_pcu'
and table_name not in ('ksklog','pcu_dw_track','doraemon')"

อย่าง 3 เทเบิ้ลนี้ ใหญ่มากๆ  จำเป็นต้อง back up ไปมั้ยครับ

ของผม ได้ทำเป็น bat ไฟล์โดยจะทำการ bakcup เฉพาะที่มีการบันทึกข้อมูลในแต่ละวันเลยครับเช่น
ในแต่ละวันมีการ insert record,update record,delete record
โดยดูใน field `sql` ของ table replicate_log ว่ามีคำสั่งดังนี้
1.insert inoto xxxxx_ins .............
2.update xxxxx_upd  set field1=value where key=exp
3.delete from xxxxx_del where key=exp
โดยจะสนใจ xxxxx_???  ว่ามีกี่ table ในแต่ละวัน
เท่าที่ลองทำดูในแต่ละวันจะมีการบ้นทึกข้อมูลไม่น่าจะเกิน 300 table ครับ
เราก็ backup เฉพาะ xxxxx_???  ได้โดยแต่ละวันเมื่อ 7z รวมกันมันก็ไม่ถึง 1GB ครับ
เพราะถ้า backup ทุก table ไม่รวม table_logและก็ table_image แล้วก็ 3xxxx table ใช้ 7z แล้วของผมเกิน 3GB เลยครับ
ลองทำเป็น php script ดูครับ เสร็จแล้วเอามา share กันด้วยนะครับ ;D ;D ;D

13
นิยามความรักของแม่ ของผม

"รักแท้ไหนที่ว่าแน่ ก็สู้รักของแม่ที่มีให้ลูกได้"

คุณกระป๋อง  คำนี้ไหมคะ   ;D :D

"รักแท้ไหนที่ว่าแน่ ก็ไม่สู้รักของแม่ที่มีให้ลูกได้"



ขอบคุณคะ
นันท์ทา   ตั้งใจ(ตั๊ก)
ฝ่ายลูกค้าสัมพันธ์
สายตาดีจริงๆครับ  ;D ;D

ผมว่าคำน่าจะประมาณนี้ครับ
"รักแท้ไหนที่ว่าแน่ ก็สู้รักของแม่ที่มีให้ลูกไม่ได้"

และผมก็ชอบเพลงนี้มากครับ
<a href="http://www.youtube.com/v/2ag6WOOGAUg??&amp;autoplay=1" target="_blank" class="new_win">http://www.youtube.com/v/2ag6WOOGAUg??&amp;autoplay=1</a> :D

14
แจ้งปัญหา / ขอความช่วยเหลือ / Re: Share Tips HOSxP
« เมื่อ: กรกฎาคม 08, 2014, 16:14:10 PM »
โปรแกรมจะสร้างตาราง ชื่อว่า  backupfile ให้ server โดยอัตโนมัติ ในการสั่ง Backup ครั้งแรก  เพื่อสำหรับตรวจสอบการ Backup ครั้งล่าสุด  กับปัจจุบัน ว่าตารางไหนที่มี Record เปลี่ยนแปลงก็จะทำการ Backup ให้ใหม่ เพื่อประหยัดเวลาในการ Backup


ถ้า run ตัวโปรแกรมนี้จากหลายๆ เครื่อง สมมติ
เครื่อง A รันวันที่ 1 พอเครื่อง B มารันวันที่ 2 มันจะเอามาเฉพาะตารางที่เปลี่ยนแปลงหรือเปล่าครับ
------------------------------------------------------------------------------------------------------------------------

ไม่น่าจะมีปัญหาครับ โปรแกรมจะตรวจสอบเครื่องที่ Backup ครั้งแรก จะต้องได้ตารางครบทุกตาราง เหมือน Server  ( แต่แนะนำให้ใช้แค่ 1 เครื่องในการตั้งเวลา Backup ก็น่าจะเพียงพอครับ โดยอาจใช้ควบคู่กับ Backup Schedule ของ HOSxP  )
ลองทดสอบดูครับ 



อยากได้หรือช่วย sharecode ให้ด้วยครับจะได้นำไปต่อยอดได้
เพราะสิ่งที่ต้องการตอนนี้คือให้โปรแกรมบันทึกเฉพาะตารางข้อมูลที่มีการเปลี่ยนแปลงข้อมูล
เช่น insert update delete
โดยน่าจะมีตัวเลือกให้เลือกตารางตาม replicate_log เพราะใน replicate_log ใน sql จะมีชื่อตารางมาให้แต่เราต้องการมาเฉพาะตารางที่มีการเปลี่ยแปลงในรอบสัปดาห์ที่ผ่านมาว่ามีการเปลี่ยนแปลงข้อมูลตารางใดบ้าง
ถ้าดูจากจำนวน record ที่เปลี่ยนแปลงคงไม่พอครับบางที่มีการแก้ไขข้อมูลอย่างเดียวไม่มี record เพิ่มหรือลด
ส่วนโปรแกรมจะไม่มีการ backup นะครับ
น่าจะตามจาก log ใน replicate_log ดัง sql ข้างล่างน่าจะไม่ต้องสร้าง backuplog มาเก็บว่าตารางใหนเพิ่มลด(เฉพาะใน HOSxP database ตัวอื่นอาศัยหลักการที่ว่าได้อยู่ครับ)
ถ้าจะแก้ใหไวนะครับเปลี่ยนจากการอ่าน backuplog file มาใช้ replcate_log น่าจะ ok นะครับ
ตาม sql ที่ให้ไว้เป็นการหาตารางที่มีการ insert delete update record ในรอบ 3 วันย้อนหลัง
น่าจะพอแล้วครับ

โค๊ด: [Select]
set @a:=''; set @b:='';
show table status  where name in (select t.tables
from ( select @a:=rtrim(substring(r.`sql`,1, if(r.`sql` like 'delete%',if(instr(r.`sql`,'where')=0,length(r.`sql`),instr(r.`sql`,'where')-2),
if(r.`sql` like 'insert%',if(instr(r.`sql`,'select')=0,instr(r.`sql`,'(')-2,instr(r.`sql`,'select')-2), instr(r.`sql`,'set')-1)))) as a,
@b:=rtrim(substring(@a,if(@a like 'delete%', instr(@a,'from')+5, if(@a like 'insert%',instr(@a,'into')+5,8)) )) as x ,if(instr(@b,'(')>0, substring(@b,1,instr(@b,'(')-2),@b) as tables,r.`sql`
from replicate_log r
where event_time between concat(date_add(curdate(),interval -3 day),' 00:00:00') and concat(curdate(),' 23:59:59')
group by tables ) as t where instr(t.tables," ")+instr(t.tables,".")<1)
 /*for replicate_log_event*/
ลองรันในสายฟ้าดูว่าเรามีตารางอะไรบ้างที่บันทึกไปในรอบ 3 วันที่ผ่านมา
แล้วน่าจะมีตัวเลือกให้ โอนข้อมูลเลยตามเวลาที่กำหนด
เพราะตอนนี้ผมใช้ bat file ที่เขียนขึ้นมาใช้เองจะกำหนดได้ว่าจะ backup แล้ว บีบอัด หรือ ว่าโอนข้อมูลไปยัง slave ได้เลย

ดูเพิ่มเติมจาก link http://hosxp.net/index.php?option=com_smf&Itemid=28&topic=29777.msg244628#msg244628
ตอนนี้ยังใช้ bat file อยู่นะครับ ต้องมีการสร้าง schedual task
ในการโอนข้อมูล thairefer,hosxp,eclaim เพราะใช้ฐาน mysql ทั้งหมด
แต่ถ้าเป็นฐานข้อมูลอื่นตัวเลือกการเลือกตารางตาม replicate_log ไม่ต้องทำงานจะน่าใช้มากครับ
ส่วนตัวเลือก addtime น่าจะสั่งให้มันสร้าง schedual task ตามเวลาใน list นะครับถ้าถึงเวลาค่อยเรียกโปรแกรมมาทำงานไม่ต้องเปิดทิ้งไว้เพื่อมีการมาปิดมันโดยไม่ตั้งใจ

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

ขอบคุณครับ


16
ผมทำ Initial มาสองวันแล้วเกิดปัญหาตามรูป 1 ครับ

ส่วน Run Agent มีปัญหา หลังจากไม่ได้ทำต่อ 1 วัน ก็มี Error ดังรูป 2 ครับ

ศึกษาการแก้ปัญหาได้จากกระทู้เก่าตามนี้ครับ
http://hosxp.net/index.php?option=com_smf&Itemid=28&topic=29175.0

อ้างอิงจาก
http://hosxp.net/index.php?option=com_smf&Itemid=28&topic=16469.msg133601#msg133601

17
ผมลองเขียน code ดังนี้
select i.hn,i.an,concat(p.fname,' ',p.lname) as fullname,concat(p.addrpart,' ',p.moopart,' ',t.full_name) as fulladdr,io.ipt_oper_code,o.qty,o.icode,io.name,i.regdate,o.rxdate
from ipt i
left outer join patient p on p.hn=i.hn
left outer join an_stat a on a.an=i.an
left outer join opitemrece o on o.an=i.an
left outer join ipt_nurse_oper ipo on ipo.an=i.an
left outer join ipt_oper_code io on io.icode=o.icode and ipo.ipt_oper_code=io.ipt_oper_code
left outer join thaiaddress t on t.addressid=a.aid
where io.ipt_oper_code in('1','23') and o.rxdate between "2013-10-01" and "2013-10-17" and o.an is not null
order by i.an
limit 100

จาก ipt_oper_code
ipt_oper_code | icode | name
1|3000853|IV ให้สารน้ำทางหลอดเลือดดำ [เด็ก]
23|3000853|IV ให้สารน้ำทางหลอดเลือดดำ [ผู้ใหญ่]

ทำให้ข้อมูลที่ออกมา
1.0039693|560003901|สมมุติ ทดสอบ|14/1 ม.1 ต..........|31/12/2013|04/01/2014|23|1|3000853|IV ให้สารน้ำทางหลอดเลือดดำ [เด็ก]
2.0039693|560003901|สมมุติ ทดสอบ|14/1 ม.1 ต..........|31/12/2013|04/01/2014|1|1|3000853|IV ให้สารน้ำทางหลอดเลือดดำ [ผู้ใหญ่]

ทำให้ไม่สามารถทราบได้จริงว่าตกลงได้ IV ผู้ใหญ่หรือเด็ก
วิธีที่จำทำได้คือต้องอ้าง ipt_oper_code เพราะแยกกันชัดเจน แต่ผมหาไม่เจอว่ามันเชื่อมกับตารางไหนที่เกี่ยวข้อง
รบกวนเพื่อนด้วยครับ



ลองเติมคำสั่งตัวสีแดงเพิ่มอึกทีครับว่าได้ไหม

18
ผมทดสอบไฟล์ เพื่อ เชื่อมต้องระหว่าง php กับ mysql ขึ้นหน้าจอว่าง


ตัวอย่าง Script ทดสอบ
<?php
$link = mysql_connect('localhost', 'root', 'password');
if (!$link) {
die('Could not connect: ' . mysql_error());
}
echo 'Connected successfully';
mysql_close($link);
?>

ลอง ติดตั้ง php-mysql   และ Percona-Server-shared-compat ดูก่อนนะครับ

ตามดูได้จากhttp://stackoverflow.com/questions/6343419/apache-php-and-percona-database

19
1.extract zip เก็บที่ temp
2.dump to database
หรือเปล่าครับถ้าเป็น restore จาก zip
ผมว่าเรื่อง Restore 2 รอบนี่เป็นนานแล้วนะครับ

เท่าทีสังเกตคือ
หากไฟล์ที่เอามา Restore มีการ Backup เป็น .7z จะ Restore รอบเดียว
หากไฟล์ที่เอามา Restore มีการ Backup เป็น .zip จะ Restore สองรอบครับ

ผมก็ไม่แน่ใจว่าเป็นเพราะอะไร แต่ที่ auto Backup เป็น Zip ครับ

แนะนำให้ใช้ตัวเลือกกระบบสำรองข้อมูลอัตโนมัติเป็นแบบ 7zip ดูครับ

ผมเพิ่มตัวเลือกระบบสำรองข้อมูลอัตโนมัติให้มีแบบ 7zip ให้แล้วครับใน 3.56.1.15

20
ส่งออก12แฟ้ม รหัสicd10 แพทย์แผนไทยไม่ออก ทั้งที่มีการคีย์ข้อมูลในหน้าแพทย์แผนไทย
แนะนำหน่อยครับ

select * from icd10_nhso where code like 'U%' -- ดูครับว่ามีรหัส แพทย์แผนไทยหรือเปล่า
/*
12 แฟ้ม drg จะส่งออกเฉพาะ icd10 ที่มีใน icd10_nhso เท่านั้นครับ
แล้วใช้คำสั่ง
*/
insert ignore into icd10_nhso(code,description) select a.code,a.name from icd101 a left outer join icd10_nhso b on a.code=b.code
where b.code is null and a.active_status='Y'
/*
เพื่่อสำเนา icd10 ที่มีสถานะ active แต่ยังไม่มีใน icd10_nhso
*/


21
นอกเรื่อง / Re: endian firewall 2.5.1 กับเน็ตสำรอง
« เมื่อ: มิถุนายน 07, 2013, 17:31:32 PM »
เพิ่งรู้ตัวว่ามีผู้เชี่ยวชาญอยู่ใกล้ ๆ ครับ  ;D ;D ;D
ถ้าขึ้นตามรูปภาพแบบนี้มันได้หรือยังครับ  :D

ลองใหม่นะครับพอดี endian ของผม run mysql ด้วย
ถ้าจะดูสถานะการทำงานของ balance.sh จากหน้า dashboard
ให้เอา script /home/httpd/cgi-bin/netstatus.cgi ทับของเก่าดูครับ

22
นอกเรื่อง / Re: endian firewall 2.5.1 กับเน็ตสำรอง
« เมื่อ: มิถุนายน 07, 2013, 09:09:25 AM »
Error ภาพ แก้ไขยังไงครับ  ;D

ลองเอาไปใช้ดูครับ

ปรับแก้ที่ตัวแปร wancount จำนวน wan ที่มี ถ้าต้องการ backup ก็ 1.5
EXTIFT1 ชนิดของ interface ที่1 โดยกำหนดเป็น 0 คือ eth หรือ 1 pppoe
EXTIFT2 ชนิดของ interface ที่2 โดยกำหนดเป็น 0 คือ eth หรือ 1 pppoe
EXTIFT3 ชนิดของ interface ที่3 โดยกำหนดเป็น 0 คือ eth หรือ 1 pppoe


EXIF1 ชื่อของ interface ที่1 ตัวอย่าง tot ต่อแบบ static/dhcp ผ่าน lan eth3  ก็ EXIF1=eth3 
EXIF2 ชื่อของ interface ที่2 ตัวอย่าง cat ต่อแบบ static/dhcp ผ่าน lan eth2  ก็ EXIF2=eth2
โดย EXIF1 คือ interface หลัก ในกรณี wancount=1.5
โดย EXIF2 คือ interface รอง  ในกรณี wancount=1.5
แต่ถ้า wancount=2 คือใช้พร้อมกันตาม WEIGHT1  WEIGHT2

ส่วน ENDGW1 คือ ip หลักสุดท้าย ของ router ที่ต่อแบบ static/dhcp เพราะเรากำหนด ip router เอง
ถ้าต่อแบบ ppoe ENDGW1 ก็ไม่ได้ใช้เพราะ จะ เป็น ชุด ip ที่ ได้จาก isp



23
นอกเรื่อง / Re: endian firewall 2.5.1 กับเน็ตสำรอง
« เมื่อ: มิถุนายน 06, 2013, 09:19:38 AM »
ขอ Script แบบ eth1 +eth2 (ตัว eth1 เป็นหลัก ส่วน eth2 สำรองเท่านั้น)
ผมลองแก้ไข Script แล้วยังงงครับ มีหลายบรรทัดยังไม่เข้าใจ   ;D

ผมก็เอาของเขามาปรับแต่งเองครับ
อยากได้ต้นฉบับไปอ่านได้จาก
http://linux.sothorn.org/node/398

หรือในบางบทความที่เกี่ยวข้อง
http://aifarfa.blogspot.com/2011/11/load-balance-2-endian-firewall24-bash.html
ลองปรับให้แล้วครับ
คือ กำหนด wanCount=1 คือมี wan เดียว

คือ กำหนด wanCount=1.5 คือมี 2 wan ใช้ wan 1 เป็นหลัก wan 2 เป็นwanสำรอง

คือ กำหนด wanCount=2 คือมี 2 wan ใช้ wan 2 wan loadbalance

คือ กำหนด wanCount=3 คือมี 3 wan ใช้ wan 3 wan loadbalance




ส่วยวิธี restart crontab ใน endian ก็ /etc/init.d/fcron restart

24
นอกเรื่อง / Re: endian firewall 2.5.1 กับเน็ตสำรอง
« เมื่อ: มิถุนายน 06, 2013, 08:58:31 AM »
มีสเปคคอมที่รองรับแนะนำไหมคับท่าน
ผมลองลงกับคอมใหม่ๆแล้วไม่รองรับเลย
cpu: intel corei5
ram:4 Gb
hdd: 160 Gb
nic: intel 1000 pro mt มีทั้งแบบ 1 interface และ 2 interface



25
นอกเรื่อง / Re: endian firewall 2.5.1 กับเน็ตสำรอง
« เมื่อ: มิถุนายน 06, 2013, 08:45:35 AM »
สอบถามหน่อยครับถ้ามีพวก proxy ด้วยถ้าเน็ทหลุดจะทำงานได้หรือเปล่าครับ
ของผมเป็น Ethernet Static ทั้ง 2 สายครับ  แล้ว
Leadline (TOT) กับ AirNet (AIS) ทำเป็นแบบ  PPPoE ได้หรือเปล่าครับ
รบกวนด้วยนะครับ ผมไม่ทราบวิธีทำจริง ๆ
ผมให้ข้อมูลอย่างนี้ครับว่า
1.ผมมีเน็ต 2 เส้น Leadline (TOT) กับ AirNet (AIS)
2.ใช้ endian firewall 2.5.1

ถามว่าผมต้องตั้งค่ายังไงครับให้  AirNet (AIS) ทำงานกรณีที่ Leadline (TOT) เช่น สายขาดบ่อยมาก แล้วถ้า Leadline (TOT) ใช้งานได้แล้วก็ให้ใช้  Leadline (TOT) แทน  AirNet (AIS)

ขอบคุณครับ    ;D

ลองเอา script load balance ไปใช้ดูครับ
/usr/share/balance.sh
ใช้ได้ 3 wan
โดยทั้ง wan เป็น PPPOE หรือ ETH ก็ได้
ของผมใช้ tot adsl ผ่าน eth1
ส่วน cat on net ผ่าน ppp0

ตั้ง crontab ให้รัน /usr/share/balance.sh ทุก 1 นาทีก็ได้ครับ
ถ้า net เส้นใดหลุดก็จะ ใช้อึกเส้นทันทีครับ


แต่ถ้าเป็น ETH ทั้ง สองเส้น จะได้เปล่าครับ
ผมใช้ CAT ผ่าน eth1
ส่วน TOT ผ่าน eth2


ใช้ proxy ด้วยก็ต้องเช็คว่าถ้า net หลุด ก็ให้ restart proxy ทันทีครับ คือต้องเช็คทุกนาทีเลยครับ

ส่วนจะใช้ pppoe หรือ eth ได้แบบผสมเลยครับ
จะเป็น eth1 +eth 2 + ppp0 คือได้ 3 wan เลยครับ
หรือ จะเป็น ppp0 + ppp1 +eth3 ก็ได้ครับ
หรือ จะเป็น eth1 +eth2
หรือ จะเป็น ppp0 +eth2
หรือ จะเป็น ppp0 +ppp1
ได้หมดครับแต่ต้องตั้งค่าใน script ให้ถูกต้องครับ

26
นอกเรื่อง / Re: endian firewall 2.5.1 กับเน็ตสำรอง
« เมื่อ: มิถุนายน 04, 2013, 16:35:33 PM »
ของผมเป็น Ethernet Static ทั้ง 2 สายครับ  แล้ว
Leadline (TOT) กับ AirNet (AIS) ทำเป็นแบบ  PPPoE ได้หรือเปล่าครับ
รบกวนด้วยนะครับ ผมไม่ทราบวิธีทำจริง ๆ
ผมให้ข้อมูลอย่างนี้ครับว่า
1.ผมมีเน็ต 2 เส้น Leadline (TOT) กับ AirNet (AIS)
2.ใช้ endian firewall 2.5.1

ถามว่าผมต้องตั้งค่ายังไงครับให้  AirNet (AIS) ทำงานกรณีที่ Leadline (TOT) เช่น สายขาดบ่อยมาก แล้วถ้า Leadline (TOT) ใช้งานได้แล้วก็ให้ใช้  Leadline (TOT) แทน  AirNet (AIS)

ขอบคุณครับ    ;D

ลองเอา script load balance ไปใช้ดูครับ
/usr/share/balance.sh
ใช้ได้ 3 wan
โดยทั้ง wan เป็น PPPOE หรือ ETH ก็ได้
ของผมใช้ tot adsl ผ่าน eth1
ส่วน cat on net ผ่าน ppp0

ตั้ง crontab ให้รัน /usr/share/balance.sh ทุก 1 นาทีก็ได้ครับ
ถ้า net เส้นใดหลุดก็จะ ใช้อึกเส้นทันทีครับ


27
ตอนนี้ใช้ version 3.56.4.22 ที่ระบบ scan document เกิด err
Access violation at address 00408178 in module 'HOSMy.exe'. Read of address FFFFFFFD.

เกิดจากอะไรครับ

ส่ง ไฟล bugreport.txt มาให้ดูครับ

28
Development / Re: การสำรองข้อมูลใน hosxp
« เมื่อ: พฤษภาคม 03, 2013, 10:58:39 AM »
อยากทราบว่าการสำรองข้อมูลใน hosxp เราสามารถแย่งการสำรองข้อมูลให้มีการสำรองข้อมูลทุก ๆ 4 ชั่วโมง ไดไหมค่ะ

http://hosxp.net/smf/index.php?action=profile
แนะนำต้ว ใส่รายละเอียดที่ตรงส่วนนี้ด้วยครับ โดยเฉพาะลายเซ็นครับ ดูตัวอย่างจากในเว็บบอร์ดก็ได้ครับ จะได้รู้จักกันไว้ครับ

ถ้าใช้ tool ->สำรองข้อมูล-> option -> backup Schedule
ได้ครับ แต่ต้องสร้างการสำรอง 6 เครื่่องในเวลาต่างกัน เช่น
A สร้าง Schedule Job เวลา  00:00
B สร้าง Schedule Job เวลา  04:00
C สร้าง Schedule Job เวลา  08:00
D สร้าง Schedule Job เวลา  12:00
E สร้าง Schedule Job เวลา  16:00
F สร้าง Schedule Job เวลา  20:00
ครับแต่ละเครื่อง พื้นที่ hard disk ต้องว่างพอสมควรนะครับ
เพราะก่อนจะ tool compres เป็นไฟล์ zip ก็จะใช้พื้นที่ส่วนของ %userprofile%\temp มากตามจำนวน record ของ ฐานข้อมูลครับ

หากต้องการ tool กำหนดได้ 2 ช่วงเวลาตาม กระทู้ ด้านล่างก็ได้ครับมีคนทำไว้ให้ใช้แล้วครับ
http://hosxp.net/index.php?option=com_smf&Itemid=28&topic=18941.0

ไม่ก็ใช้ mysql_dump ใน linux โดยใช้ crond job กำหนดเวลา backup ก็ตาม

http://hosxp.net/index.php?option=com_smf&Itemid=28&topic=18858.0

ครับ
ส่วน mysql_dump ใน windows ผมก็มีตัวอย่าง tool ที่ใช้สำรองข้อมูลเป็น Dos bat file ครับ
ทำไว้ใช้เองครับใช้ได้กับโปรแกรมที่มี Database mysql ทุกโปรแกรมครับ
ตัวอย่างเช่น backup แบบ Jhcisdb แบบกำหนดเวลา
 backup แบบ Eclaimdb แบบกำหนดเวลา
 backup แบบ referdb แบบกำหนดเวลา

มีทั้ง option สำหรับ backup เป็นไฟล์ backup.7z แบบกำหนดเวลา
และสำหรับ backup เฉพาะ table ที่มีการเปลี่ยนแปลง เป็นไฟล์ backup.7z แบบกำหนดเวลา
กับทั้ง initial import ไปยัง slaveได้แบบ กำหนดเวลา
หรือแบบ sync table ที่มีการเปลี่ยนแปลง ไปยัง slaveได้แบบ กำหนดเวลา
และ clear table replicate_log โดยจะสำรองเป็นไฟล replicate.7z แล้ว delete from table replicate_log ใน command line ของ windows

แต่ที่สำคัญสุดคือพื้นที่ hard disk จะเต็มก่อนนะครับ
ถ้าสำรองวันละหลายรอบ  :D :D :D 555

29
พื้นที่ root HDD เต็มครับ เนื่องจากติดตั้ง MySQL ไว้ที่ root

ดูจากตรงนี้ครับ
/dev/mapper/VolGroup-lv_root
                       50G   47G     0 100% /

พิ้นที่ถูกใช้ไป 100 % แล้ว
ติดตั้ง centos ใหม่ แล้วแบ่งพื้นที่ root ให้มากกว่านี้ครับ (ถ้าจะติดตั้ง MySQL ไว้ที่ root)





ลอง boot ผ่าน linux live cd
แล้ว ใช้ชุดคำสังของ lvm เพื่อแบ่ง partition ของ linux โดยไม่ต้อง format ลง OS ใหม่ ดูครับ
โดยต้องทำบน linux ที่ไม่ช่รันจาก os เดิม
คือต้อง boot จาก usb หรือ cdrom ของ linux ที่มีชุดคำสั่ง lvm ครับ
โดย
ลด home แล้ว เพิ่ม / ดูครับ


ใช้ vgdisplay ดูว่า volumegroup ชื่่ออะไรก่อน
root@efw-11157:~ # vgdisplay
  --- Volume group ---
  VG Name               xxxx
  System ID
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  10
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                4
  Open LV               3
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               125.64 GB
  PE Size               4.00 MB
  Total PE              32163
  Alloc PE / Size       32162 / 125.63 GB
  Free  PE / Size       1 / 4.00 MB
  VG UUID               xxxxxx-xxxx-xxxx-xxxx-xxxx-xxxx-xxxxxx


root@efw-11157:~ # lvdisplay
  --- Logical volume ---
  LV Name                /dev/xxxx/VolGroup-lv_root
  VG Name                xxxx
  LV UUID                 xxxxxx-xxxx-xxxx-xxxx-xxxx-xxxx-xxxxxx
  LV Write Access        read/write
  LV Status              available
  # open                 0
  LV Size                 50.00 GB
  Current LE             128
  Segments               1
  Allocation             inherit
  Read ahead sectors     0
  Block device           48:0

 --- Logical volume ---
  LV Name                /dev/xxxx/VolGroup-lv_home
  VG Name                xxxx
  LV UUID                 xxxxxx-xxxx-xxxx-xxxx-xxxx-xxxx-xxxxxx
  LV Write Access        read/write
  LV Status              available
  # open                 0
  LV Size                485.00 GB
  Current LE             128
  Segments               1
  Allocation             inherit
  Read ahead sectors     0
  Block device           480:0




แล้วใช้

e2fsck  /dev/local/home 

เพื่อscandisk ก่อนแล้ว

resize2fs /dev/xxxx/VolGroup-lv_home 280G

เพื่อลดพื้นที่ home ใน OS ลง ให้เลื่อน้อยกว่าที่ 285 G แล้ว

lvreduce -L 200G /dev/xxxx/VolGroup-lv_home

เพื่่อลด logical volume ของ VolGroup-lv_home จาก 485 G ลง 200 G เหลื่อ 285 G แล้ว

resize2fs /dev/xxxx/VolGroup-lv_home

เพื่อขยายพื่นที่ home ของ OS ให้ = 285 G จากนั้น

ก็ ขยายพื่้นที่ logical group ของ / อีก 200 G โดย

lvextend -L 200G /dev/xxxx/VolGroup-lv_root

แล้วขยายพื่่นที่ส่วนของ OS / โดย

resize2fs /dev/xxxx/VolGroup-lv_root

30
อาจารย์ ค่ะ ถ้าบันทึกซ้ำไปแล้ว จะแก้ไข้อย่างไรต่อไปค่ะ เพราะเปิดมาใหม่อีกรอบ  LIS-ERROR เหมือนเดิม

ต้องลงผลที่ถูกต้องลงไปแล้วบันทึกซ้ำอีกรอบครับ

แต่ถ้าอ. ทำการบันทึก log ผลก่อนการเปลี่ยนแปลงก็จะดีครับ
เป็นการเก็บ log การแก้ไขผล Lab ได้ด้วยครับ พิจารณาด้วยครับ

31
เกิดจากห้อง Lab ไปบันทึกซ้ำน่ะครับ ถ้าขึ้น LIS-ERROR แล้วห้ามบันทึกซ้ำครับ ให้ปิดหน้าจอไปเลย

อ.ครับ น่าจะมีการเก็บ log ผล Lab ที่มีการบันทึกแก้ไขไว้ได้หรือเปล่าเผื่อจะได้นำผล Lab ก่อนการแก้ไขมาใช้ครับ
 :o

32
วันนี้อยู่ดีๆ โปรแกรมที่เคย Activated ไปแล้วก็ขึ้นถามให้ Activated อีกครั้งครับ
แล้วลองทั้ง Online และ Offline แล้ว ก็ไม่สามารถทำการ Activated ได้ครับ

ลองเช็ค select hospitalcode  from opdconfig; ดูครับ
รหัส Activated มันจะสัมพันธ์กับ version HOSxP + hospitalcode on opdconfig ครับ
เครื่่องทดสอบหรื่อเปล่าครับ

มีคนเคย post ไว้ตามนี้ครับ
ทำไมผมลง HOSxP Full Setup 3.55.10.8  แล้ว Up 3.55.10.10 ในโน๊ตบุคเชื่อมต่อฐานข้อมูลภายในเครื่อง
แล้วไม่สามารถ Activate ได้ครับ ทั้งแบบ Log In และ นำรหัส Activate มาใส่ก็ไม่ได้
มันขึ้น Invalid ID หรือ Key นี่แหละผมจำไม่ได้
รหัสสถานพยาบาล แก้ไขให้เหมือนกับ server จริงหรือยังครับ
ลอง ดูตาราง ต่อไปนี้ ระหว่าง server จริง กับ note book ครับว่าเหมือนกันไหมครับ
sys_var  ==> เก็บค่า Activate Key
opdconfig ==>กำหนดค่าสถานพยาบาล



33
เรียน  รพ. ที่ใช้ LIS ของบริษัทล็อคอินเมดิคอล หรือไบโอเซน
      

ทำไมไม่มี รพ.เมืองปาน จ.ลำปาง ละครับ
ใช้ LIS ของบริษัทล็อคอินเมดิคอล
ขอ tool ปลดล๊อคชั่วคราว ด้วยครับ
hosp11157@yahoo.com

ทาง บริษัทล็อคอิน เมดดิคอลแจ้งรายชื่อมาให้แค่ 6 รพ.ค่ะ

ส่วน รพ. ที่เหลือ ทางบริษัทฯ กำลังเคลียค่าใช้จ่ายกับทาง บริษัทน้ำยาอยู่ค่ะ

คงจะแจ้งมาในเร็วนี้นะค่ะ

จึงเรียนมาเพื่อโปรดพิจารณา

    ขอบพระคุณค่ะ

โทรไปหาบริษัทน้ำยาแล้วครับเรื่่องส่งรายชื่อ
แต่ยังไม่คืบหน้าครับ
ไม่ทราบว่าติดตรงใหนครับ
อยากขอ tool ปลดล๊อคชั่วคราวก่อนได้ไหมครับ อยากจะ up version แล้วครับ
ตอนนี้กำลัง up master server เป็น version 3.56.3.19 แล้วครับ ;)
plan ว่า จะใช้  version 3.56.3.19++ ทุกงานในต้นเดือน เมษา นี้ครับ
ขอบคุณครับ

34
หลังจาก up version  HOSxP 3.56.2.7c ที่ห้อง ER เกิด err
 Access violation at address 0040678C in module 'HOSMy.exe'. Write of address 00000620
เกิดจากอะไรครับ :D
ส่ง ไฟล bugreport.txt มาให้ดูครับ

35
เรียน  รพ. ที่ใช้ LIS ของบริษัทล็อคอินเมดิคอล หรือไบโอเซน
      

ทำไมไม่มี รพ.เมืองปาน จ.ลำปาง ละครับ
ใช้ LIS ของบริษัทล็อคอินเมดิคอล
ขอ tool ปลดล๊อคชั่วคราว ด้วยครับ
hosp11157@yahoo.com

36
แจ้งปัญหา / ขอความช่วยเหลือ / Re: error number24 ครับ
« เมื่อ: กุมภาพันธ์ 26, 2013, 17:16:55 PM »
เป็นที่อะไรหรอครับหลังจากอัพ structure
ช่วยทีนะครับขอบคุณครับ

ตามลิงค์นี้ดูครับ
http://hosxp.net/index.php?option=com_smf&Itemid=28&topic=29175.msg240846#new

37
ใน linux ได้จำกัดจำนวนไฟล์ที่เปิดได้สูงสุดไว้ครับ
แก้ไขโดยรันคำสั่งใน terminall
ulimit -n 30000

หรือให้มันรันทุกครั้งที่เปิด server ใหม่ โดย เพิ่ม คำสั่งใน /etc/init.d/mysql

ulimit -n 30000

------------------------------------------------------------------
และแก้ไข ไฟล์ /etc/my.cnf

innodb_open_files = 15000

ถ้าเป็นไปได้ ให้เพิ่ม บรรทัด 

ulimit -n 30000

ไว้ในแฟ้ม  /etc/init.d/mysql  ด้วยครับ  เอาไว้ช่วงบนๆ ของแฟ้มครับ ตามรูป

อ้างอิงจาก
http://hosxp.net/index.php?option=com_smf&Itemid=28&topic=16469.msg133601#msg133601

38
แจ้งข้อผิดพลาดการทำงานของ HOSxP V3 / Re: HOSxP 3.56.2.18
« เมื่อ: กุมภาพันธ์ 21, 2013, 09:12:01 AM »
ขึ้นต้นเป็นมะลิซ้อน พอแตกใบอ่อนนเป็นมะลิลา ...ฮา.....

กระทู้ v.3.56.2.18 แต่ไม่มีให้ดาวโหลด...กับมีแต่ความแรงเน็ต555555

เอาน่ะ .. ก็ยังไม่มีให้ download ก็คุยกันเรื่องอื่นไปก่อนครับ 555

ทำไมของผมยังโหลดไม่ได้ครับ  ??? ???

ลองโหลดลิงค์นี้ดูครับ
http://hosxp.net/bms/HOSxP_Upgrade_3.56.2.18.exe

39
แจ้งข้อผิดพลาดการทำงานของ HOSxP V3 / Re: HOSxP 3.56.2.4b
« เมื่อ: กุมภาพันธ์ 06, 2013, 14:37:35 PM »
ฝาก อ. manoi ช่วยแก้ไขด้วยครับ

บัญชี 1 ยัง Error Script ตรงนี้อยู่

select cast(v.village_moo as SIGNED integer) as village_moo_int,
v.address_id,v.village_moo,v.village_id,v.village_name,v.latitude,v.longitude,t.name as tmb_name,
count(distinct h.house_id) as house_count,  count(distinct p.person_id) as person_count ,
count(ps1.person_id) as male_count , count(ps2.person_id) as female_count ,
count(ps3.person_id) as death_count , count(ps3.person_id) as family_count
from village v
left outer join house h on h.village_id = v.village_id
left outer join person p on p.house_id = h.house_id and p.house_id not in (439,1891)
left outer join person ps1 on ps1.person_id = p.person_id and ps1.sex = '1' and ps1.death='N'
left outer join person ps2 on ps2.person_id = p.person_id and ps2.sex = '2' and ps2.death='N'
left outer join person ps3 on ps3.person_id = p.person_id and ps3.death = 'Y'
left outer join thaiaddress t on t.addressid = v.address_id and t.codetype='3'
group by v.address_id,v.village_moo,v.village_id,v.village_name ,v.latitude,v.longitude,t.name
order by v.address_id,village_moo_int


จาก
The CAST() function takes an expression of any type and produces a result value of a specified type

The type for the result can be one of the following values:

BINARY[(N)]

CHAR[(N)]

DATE

DATETIME

DECIMAL[(M[,D])]

SIGNED [INTEGER]

TIME

UNSIGNED [INTEGER]

ต้องเปลี่ยน
จาก  cast(v.village_moo as integer) as village_moo_int
เป็น
cast(v.village_moo as signed integer) as village_moo_int
||
cast(v.village_moo as unsigned integer) as village_moo_int
||
cast(v.village_moo as signed) as village_moo_int
||
cast(v.village_moo as unsigned) as village_moo_int
||
v.village_moo+0 as village_moo_int แบบเดิมก็ได้ครับ

จากแหล่งที่มา
http://dev.mysql.com/doc/refman/5.0/en/cast-functions.html#function_convert

40
แจ้งข้อผิดพลาดการทำงานของ HOSxP V3 / Re: HOSXP V.3.56.2.4
« เมื่อ: กุมภาพันธ์ 06, 2013, 09:02:26 AM »
รพ.กาฬสินธุ์ ก็ยังเข้า บัญชี 1 ไม่ได้ครับ ใช้ V.56.2.4 ครับ


เหมือนกัน...


select cast(v.village_moo as integer) as village_moo_int,v.address_id,v.village_moo,v.village_id,v.village_name,v.latitude,v.longitude,t.name as tmb_name,count(distinct h.house_id) as house_count,  count(distinct p.person_id) as person_count , count(ps1.person_id) as male_count , count(ps2.person_id) as female_count , count(ps3.person_id) as death_count , count(ps3.person_id) as family_count  from village v  left outer join house h on h.village_id = v.village_id  left outer join person p on p.house_id = h.house_id and p.house_id not in (1) left outer join person ps1 on ps1.person_id = p.person_id and ps1.sex = '1' and ps1.death='N'  left outer join person ps2 on ps2.person_id = p.person_id and ps2.sex = '2' and ps2.death='N'  left outer join person ps3 on ps3.person_id = p.person_id and ps3.death = 'Y'  left outer join thaiaddress t on t.addressid = v.address_id and t.codetype='3'
 group by v.address_id,v.village_moo,v.village_id,v.village_name ,v.latitude,v.longitude,t.name
 order by v.address_id,village_moo_int

มีปัญหาที่ sql ตอนดึงข้อมูลครับ cast(v.village_moo as integer) as village_moo_int ใช้ได้ใน maria db ครับ
แต่ ถ้า server mysql version อื่นจะใช้ไม่ได้ครับ
น่าจะลองเปลี่ยน sql เป็น (v.village_moo*1) as village_moo_int นะครับ

รพ ผม บัญชี 1 ก็เข้าไม่ได้ แถมส่งรายงาน 21 แฟ้ม ค้างอีกครับประมวลรายงานตั้งแต่เมื่อคืน ตอนนี้ก็ยังไม่เสร็จเลย ทำอย่างนี้สามครั้งสามวันแล้วครับ ไม่แฮงค์นะครับ ไม่ error แต่ไม่ตอบสนองอะไร ลองใช้งานปรกติโปรแกรมอื่นขณะดึงรายงานก็ได้แต่รายงานไม่ดึงเสร็จซักที

เหมือนกันเลยครับ

41
ยินดีต้อนรับ / Re: ขอใบเสนอราคา Activation Package
« เมื่อ: กุมภาพันธ์ 04, 2013, 15:20:19 PM »
รพ.เมืองปาน จ.ลำปาง
ได้รับใบแจ้งหนี้แล้วครับ
กำลังดำเนินการโดย เจ้าหน้าที่ผัสดุคงจะโอนเงินภายในสัปห์ดานี้ครับ
แล้วจะได้ใช้เมื่อไหร่ครับ ::) ::)


42
MySQL / Re: ขอ sql บวกวันที่ครับ
« เมื่อ: มกราคม 15, 2013, 08:45:49 AM »
ขอคำสั่ง SQL ในการบวกวันที่ครับ เช่น Cuurent Date บวกอีก 30 วัน

date_add(curdate(),interval 30 day) /*+30day*/

date_add(curdate(),interval 1 month)

date_add(curdate(),interval 1 year)

date_add(curdate(),interval -30 day) /*-30day*/

43
Development / Re: YindeeAndTan Tool For HOSxP 55.12.25
« เมื่อ: ธันวาคม 26, 2012, 09:26:41 AM »
สำหรับใช้แก้ปัญหาปัญหาการส่งตรวจและ Admit ผิดคน ครับ  :)

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

ผมว่าถ้าจะ undo ก็ทำกลับกันได้ไหมครับ
เช่น จาก แก้จาก hnเดิม 5600001 --> 56000002
เป็น  56000002 -->  5600001 ก็น่าจะเป็นการ undo ที่สมบูรณ์นะครับ โดยใช้ vn เหมือนกัน

sql สำหรับแก้ส่งตรวจผิดคนน่าจะประมาณนี้นะครับ
โค๊ด: [Select]
update an_stat set hn='5600002' where vn='560101000000' and hn='5600001';
update anc_detail set hn='5600002' where vn='560101000000' and hn='5600001';
update approve_doctor set hn='5600002' where vn='560101000000' and hn='5600001';
update ar_head set hn='5600002' where vn='560101000000' and hn='5600001';
update blood_request set hn='5600002' where vn='560101000000' and hn='5600001';
update cancer_nursenote set hn='5600002' where vn='560101000000' and hn='5600001';
update cancer_nursenote_icrt set hn='5600002' where vn='560101000000' and hn='5600001';
update clinic_cormobidity_diabete set hn='5600002' where vn='560101000000' and hn='5600001';
update clinic_visit set hn='5600002' where vn='560101000000' and hn='5600001';
update clinicmember_cormobidity_screen set hn='5600002' where vn='560101000000' and hn='5600001';
update doctor_cert set hn='5600002' where vn='560101000000' and hn='5600001';
update doctor_consult set hn='5600002' where vn='560101000000' and hn='5600001';
update doctor_fee_list set hn='5600002' where vn='560101000000' and hn='5600001';
update doctor_order_print set hn='5600002' where vn='560101000000' and hn='5600001';
update doctor_order_print_queue set hn='5600002' where vn='560101000000' and hn='5600001';
update doctorptotlist set hn='5600002' where vn='560101000000' and hn='5600001';
update doctorscreen set hn='5600002' where vn='560101000000' and hn='5600001';
update dtmain set hn='5600002' where vn='560101000000' and hn='5600001';
update dtmain_save set hn='5600002' where vn='560101000000' and hn='5600001';
update ekg_request set hn='5600002' where vn='560101000000' and hn='5600001';
update enoc_member set hn='5600002' where vn='560101000000' and hn='5600001';
update enoc_member_dw set hn='5600002' where vn='560101000000' and hn='5600001';
update factordm set hn='5600002' where vn='560101000000' and hn='5600001';
update fbshistory set hn='5600002' where vn='560101000000' and hn='5600001';
update finance_check set hn='5600002' where vn='560101000000' and hn='5600001';
update finance_deposit set hn='5600002' where vn='560101000000' and hn='5600001';
update health_med_queue set hn='5600002' where vn='560101000000' and hn='5600001';
update health_med_service set hn='5600002' where vn='560101000000' and hn='5600001';
update inc_opd_stat set hn='5600002' where vn='560101000000' and hn='5600001';
update inc_std_opd_stat set hn='5600002' where vn='560101000000' and hn='5600001';
update incoth set hn='5600002' where vn='560101000000' and hn='5600001';
update ipt set hn='5600002' where vn='560101000000' and hn='5600001';
update ipt_admit_queue set hn='5600002' where vn='560101000000' and hn='5600001';
update lab_app_head set hn='5600002' where vn='560101000000' and hn='5600001';
update lab_head set hn='5600002' where vn='560101000000' and hn='5600001';
update medplan_ipd_wait set hn='5600002' where vn='560101000000' and hn='5600001';
update oapp set hn='5600002' where vn='560101000000' and hn='5600001';
update oapp_cancel set hn='5600002' where vn='560101000000' and hn='5600001';
update oapp_temp set hn='5600002' where vn='560101000000' and hn='5600001';
update opd_card_request set hn='5600002' where vn='560101000000' and hn='5600001';
update opd_presc_machine set hn='5600002' where vn='560101000000' and hn='5600001';
update opdscan set hn='5600002' where vn='560101000000' and hn='5600001';
update opdscreen set hn='5600002' where vn='560101000000' and hn='5600001';
update opdscreening set hn='5600002' where vn='560101000000' and hn='5600001';
update operation_cancel set hn='5600002' where vn='560101000000' and hn='5600001';
update operation_list set hn='5600002' where vn='560101000000' and hn='5600001';
update opitemrece set hn='5600002' where vn='560101000000' and hn='5600001';
update opitemrece_arc set hn='5600002' where vn='560101000000' and hn='5600001';
update opitemrece_bak set hn='5600002' where vn='560101000000' and hn='5600001';
update opitemrece_delta set hn='5600002' where vn='560101000000' and hn='5600001';
update opitemrece_finance_delete set hn='5600002' where vn='560101000000' and hn='5600001';
update opitemrece_innodb set hn='5600002' where vn='560101000000' and hn='5600001';
update opitemrece_ipd set hn='5600002' where vn='560101000000' and hn='5600001';
update opitemrece_trx set hn='5600002' where vn='560101000000' and hn='5600001';
update ovaccident set hn='5600002' where vn='560101000000' and hn='5600001';
update ovst set hn='5600002' where vn='560101000000' and hn='5600001';
update ovst_department set hn='5600002' where vn='560101000000' and hn='5600001';
update ovstdiag set hn='5600002' where vn='560101000000' and hn='5600001';
update patient_cancer_interrogate set hn='5600002' where vn='560101000000' and hn='5600001';
update patient_cancer_order_3dcrt set hn='5600002' where vn='560101000000' and hn='5600001';
update patient_history_pe_visit set hn='5600002' where vn='560101000000' and hn='5600001';
update patient_opd_scan set hn='5600002' where vn='560101000000' and hn='5600001';
update physic_main set hn='5600002' where vn='560101000000' and hn='5600001';
update pq_rxorder set hn='5600002' where vn='560101000000' and hn='5600001';
update provis_direct_person_op set hn='5600002' where vn='560101000000' and hn='5600001';
update psychia_service_list set hn='5600002' where vn='560101000000' and hn='5600001';
update psychia_visit set hn='5600002' where vn='560101000000' and hn='5600001';
update ptdepart set hn='5600002' where vn='560101000000' and hn='5600001';
update pteroprt set hn='5600002' where vn='560101000000' and hn='5600001';
update rcpt_abort set hn='5600002' where vn='560101000000' and hn='5600001';
update rcpt_arrear set hn='5600002' where vn='560101000000' and hn='5600001';
update rcpt_credit set hn='5600002' where vn='560101000000' and hn='5600001';
update rcpt_current set hn='5600002' where vn='560101000000' and hn='5600001';
update rcpt_debt set hn='5600002' where vn='560101000000' and hn='5600001';
update rcpt_debt_cancel set hn='5600002' where vn='560101000000' and hn='5600001';
update rcpt_print set hn='5600002' where vn='560101000000' and hn='5600001';
update referin set hn='5600002' where vn='560101000000' and hn='5600001';
update referout set hn='5600002' where vn='560101000000' and hn='5600001';
update report_sks set hn='5600002' where vn='560101000000' and hn='5600001';
update rvp_accident set hn='5600002' where vn='560101000000' and hn='5600001';
update service_time set hn='5600002' where vn='560101000000' and hn='5600001';
update sti_patient_counseling set hn='5600002' where vn='560101000000' and hn='5600001';
update sti_patient_queue set hn='5600002' where vn='560101000000' and hn='5600001';
update sti_patient_std set hn='5600002' where vn='560101000000' and hn='5600001';
update sti_queue set hn='5600002' where vn='560101000000' and hn='5600001';
update surveil_member set hn='5600002' where vn='560101000000' and hn='5600001';
update surveil_member_507 set hn='5600002' where vn='560101000000' and hn='5600001';
update surveil_member_dw set hn='5600002' where vn='560101000000' and hn='5600001';
update temp412a061 set hn='5600002' where vn='560101000000' and hn='5600001';
update temp412a071 set hn='5600002' where vn='560101000000' and hn='5600001';
update temp412a091 set hn='5600002' where vn='560101000000' and hn='5600001';
update temp412b031 set hn='5600002' where vn='560101000000' and hn='5600001';
update temp412b051 set hn='5600002' where vn='560101000000' and hn='5600001';
update temp412b091 set hn='5600002' where vn='560101000000' and hn='5600001';
update temp421d071 set hn='5600002' where vn='560101000000' and hn='5600001';
update tempblue_command1 set hn='5600002' where vn='560101000000' and hn='5600001';
update tempcom41 set hn='5600002' where vn='560101000000' and hn='5600001';
update tempdental1 set hn='5600002' where vn='560101000000' and hn='5600001';
update universal_head set hn='5600002' where vn='560101000000' and hn='5600001';
update visit_name set hn='5600002' where vn='560101000000' and hn='5600001';
update visit_pay_plan set hn='5600002' where vn='560101000000' and hn='5600001';
update vital_sign_data set hn='5600002' where vn='560101000000' and hn='5600001';
update vn_stat set hn='5600002' where vn='560101000000' and hn='5600001';
update xray_head set hn='5600002' where vn='560101000000' and hn='5600001';
update xray_report set hn='5600002' where vn='560101000000' and hn='5600001';

44
ตัวอย่าง-ใบรับรองการเกิด
error ตรงคำนวณค่ามาสเกณฑ์(_mas)
ที่ต้อง +25 ไม่รู้เพราะอะไร
คำนวณได้แค่ 2401-2559
หาค่าตารางสังวัตสร (ผมตั้งชื่อว่า sws) ได้แค่นี้
ช่วยแนบตาราง sws มาด้วยได้ไหมครับ

45
grant all on *.* to user@'hostname or ip or %' identified by 'password' with grant option;
grant all privileges on  *.* to user@'hostname or ip or %' identified by 'password' with grant option;
flush previleges;
แก้ตามนี้ครับ

hostname or ip or % เป็นของเครื่องลูกข่ายที่อนุญาต นะครับ
เช่นให้ เครื่อง ip 192.168.0.1-192.168.0.254 ใช้ก็

grant all on *.* to user@'192.168.0.%' identified by 'password' with grant option;
grant all privileges on  *.* to user@'192.168.0.%' identified by 'password' with grant option;
flush previleges;

ถ้า % อย่างเดียวหมายถึงให้ทุกเครื่องที่เข้าถึงได้จากเครือข่ายทั้งภายในและภายนอก

46
นอกเรื่อง / Re: สอบถาม การทำลิงค์ Download
« เมื่อ: พฤศจิกายน 22, 2012, 11:04:04 AM »
สอบถาม การทำลิงค์ Download
1.ใช้ Appserv 2.5.10
2.ทำลิงค์ไปที่ไฟล์เพื่อให้ดาวน์โหลด เช่น
http://192.168.1.231/nurse/ER/การพัฒนาความรูักระบวนการเบาหวาน.pptx

ปัญหาคือไฟล์ที่มี นามสกุล 4 ตัว เช่น docx  pptx  xlsx
เมื่อดาวน์โหลดแล้วจะเป็นไฟล์ zip เมื่อเปิดไฟล์ zip มาดู ข้างในเป็นไฟล์อะไรไม่รู้ครับ  ;D ???
สามารถแก้ไขได้อย่างไรครับ

จากรูปตอน download บันทึกนามสกุลผิด เพราะ
นามสกุล 4 ตัว เช่น docx  pptx  xlsx มันจะใช้การบีบอัดคล้าย zip ไฟล์แล้ว
ต้องเปลียนนามสกุลก่อนแล้วค่อยเปิด

แต่แนะนำให้ zip ไฟล์ก่อนให้ download

48
ค้นหา Order No = 251629 ใน opitemrece ก็ไม่มีครับ
(มันหายไปไหน  ??? ???)

ลอง
select * from opitemrece _log where order_no between "251629" and "251630"
ดูว่ามีใหมครับ

49
ยินดีต้อนรับ / Re: ขอใบเสนอราคา Activation Package
« เมื่อ: ตุลาคม 11, 2012, 16:45:00 PM »
===========================================
ชัยวิชิต จันตะมะ
โรงพยาบาลเมืองปาน 11157
อ.เมืองปาน
จ.ลำปาง
52240
โทร. 0810337448
email:  chitvichai@hotmail.com

Activation Package แบบ 1 ปี
===========================================

50
ขอเรียนปรึกษาครับ

เนื่องจาก สปสช.เขต 8 ใช้
ข้อมูลการใ้บริการแพทย์แผนไทย และการจ่ายยาสมุนไพร จากข้อมูล 21 แฟ้ม
ซึ่ง
ผลการจัดสรรค์เงินค่าตอบแทนในส่วนนี้ ในไตรมาส ที่ 1 2 3 นั้นน้อยมาก
เนื่องจาก ข้อมูลที่ สปสช.ดึงไปมีข้อมูลน้อย ทั้งที่การให้บริการจริงมีมากกว่าที่ สปสช.ดึงไป
มีที่ไหนประสบปัญหานี้บ้างครับ

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

ขอบคุณครับ


น่าจะตามนี้นะครับ
http://kalasin.moph.go.th/hsd/docs/422/129778973475046250__TTM_upload_news_531.pdf

หน้า: [1] 2 3