BMS-HOSxP Community

HOSxP => แจ้งปัญหา / ขอความช่วยเหลือ => ข้อความที่เริ่มโดย: nksawan2011 ที่ มกราคม 12, 2012, 10:53:13 AM

หัวข้อ: ต้องการกำหนดช่วง diag ในรายงาน
เริ่มหัวข้อโดย: nksawan2011 ที่ มกราคม 12, 2012, 10:53:13 AM
ต้องการกำหมดช่วง diag f20-f29 ต้องเพื่มคำสั่งตรงไหนครับลองมาหลายวิธีแล้วไม่สำเร็จครับ


GetDateRangeDialog(date1, date2);
GetDateRangeDialog(date3, date4);
ds1 := Formatdatetime('yyyy-mm-dd',date1);
ds2 := Formatdatetime('yyyy-mm-dd',date2);
ds3 := Formatdatetime('yyyy-mm-dd',date3);
ds4 := Formatdatetime('yyyy-mm-dd',date4);

ChangeReportSQL('select o.oapp_id,concat(p.pname,p.fname,"  ",p.lname) as ptname, '+
'c.name as clinic_name,d.name as doctor_name,o.app_user, o.hn,o.vstdate,o.nextdate,v1.main_pdx, '+
'o.nexttime,o.note,o.vn,k.department,count(v.hn) as visit_count '+
'from oapp o '+
'left outer join patient p on p.hn=o.hn '+
'left outer join clinic c on c.clinic=o.clinic '+
'left outer join doctor d on d.code=o.doctor '+
'left outer join kskdepartment k on k.depcode = o.depcode '+
'left outer join ovst v on v.vstdate=o.nextdate and v.hn=o.hn '+
'left outer join vn_stat v1 on  v1.vn=v.vn '+
'where o.nextdate between "'+ds1+'" and "'+ds2+'" '+
'and o.hn not in(select hn from ovst where vstdate between "'+ds3+'" and "'+ds4+'") '+

'group by o.nextdate,o.clinic,p.pname,v1.main_pdx ');


หัวข้อ: Re: ต้องการกำหนดช่วง diag ในรายงาน
เริ่มหัวข้อโดย: เกื้อกูล ครับ.. ที่ มกราคม 12, 2012, 10:59:16 AM
ลองเพิ่มการ join ตาราง ovstdiag มาอีก 1 ตารางครับ...

left outer join vn_stat v1 on  v1.vn=v.vn

left outer join ovstdiag ov on ov.vn=v.vn

........
where o.nextdate between "'+ds1+'" and "'+ds2+'" '+
'and ov.icd10 like "f2%"
หัวข้อ: Re: ต้องการกำหนดช่วง diag ในรายงาน
เริ่มหัวข้อโดย: nksawan2011 ที่ มกราคม 12, 2012, 11:20:31 AM
'left outer join ovstdiag ov on ov.vn=v.vn '+
'where o.nextdate between "'+ds1+'" and "'+ds2+'" '+
'and ov.icd10 like "f2%" '+
แบบนี้ใช่ไหมครับ รันแล้วว่างเปล่าครับ
หัวข้อ: Re: ต้องการกำหนดช่วง diag ในรายงาน
เริ่มหัวข้อโดย: เกื้อกูล ครับ.. ที่ มกราคม 12, 2012, 11:34:31 AM
คนไข้ในตาราง clinicmember มีการมารับบริการและได้รหัสโรค f20-f29 ในโรคคลินิกพิเศษใดครับ..

แล้วทำไมต้อง  hn not in ovst ระหว่าง ds3,ds4 ล่ะคัรบ...รายงานอะไรน่ะครับ..ผมเริ่มงง ๆ
หัวข้อ: Re: ต้องการกำหนดช่วง diag ในรายงาน
เริ่มหัวข้อโดย: nksawan2011 ที่ มกราคม 12, 2012, 11:41:32 AM
ไม่มี clinicmember ครับเป็น รพ.จิตเวชครับ clinicmemberว่างเปล่าครับ ทำรายงานตัวนี้ให้งานจิตเวชชุมชนตามผู้ป่วยโรคจิตเภท(f20-29)ครับ
หัวข้อ: Re: ต้องการกำหนดช่วง diag ในรายงาน
เริ่มหัวข้อโดย: nksawan2011 ที่ มกราคม 12, 2012, 11:49:32 AM
แล้วทำไมต้อง  hn not in ovst ระหว่าง ds3,ds4 ล่ะคัรบ...รายงานอะไรน่ะครับ..ผมเริ่มงง ๆ
[/quote]

ds1 ds2 เป็นวันที่ครยกำหนดนัด   ส่วน ds3 ds4  ตรวจสอบว่าหลังครบกำหนดนัดมาหรือยัง
หัวข้อ: Re: ต้องการกำหนดช่วง diag ในรายงาน
เริ่มหัวข้อโดย: nksawan2011 ที่ มกราคม 12, 2012, 15:05:08 PM
ได้แล้วครับ ขอบคุณ  อ.เกื้อกูลอย่างสูงครับ
ผิดพราดตรงนี้นี่เอง
'from oapp o  '+
'left outer join patient p on p.hn=o.hn '+
'left outer join clinic c on c.clinic=o.clinic '+
'left outer join doctor d on d.code=o.doctor '+
'left outer join kskdepartment k on k.depcode = o.depcode '+
'left outer join ovst v on v.vstdate=o.nextdate and v.hn=o.hn '+
'left outer join vn_stat v1 on  v1.vn=v.vn  '+