ผู้เขียน หัวข้อ: ขอความช่วยเหลือค่ะ...ปรับแก้IPD-MAR  (อ่าน 7548 ครั้ง)

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

ออฟไลน์ rapassaya

  • Newbie
  • *
  • กระทู้: 46
  • Respect: 0
    • ดูรายละเอียด
ขอความช่วยเหลือค่ะ...ปรับแก้IPD-MAR
« เมื่อ: กรกฎาคม 02, 2013, 10:32:31 AM »
0
รบกวนอาจารย์ทุกท่านด้วยนะคะ จะปรับแก้รายงานในส่วนของ drugusage ให้ดึงมาจากตาราง opitemrece ค่ะ
จะต้องปรับแก้ตรงไหนบ้างคะ (ลองปรับหลายรอบแล้วค่ะ ยังไม่ได้)

โค้ดตามนี้ค่ะ..

select r.an,r.icode,r.mar_time,r.mar_date,concat(dr.name,'  ',dr.strength ) as drname,dr.units,a.hn,
       concat(pt.pname,' ',pt.fname,'   ',pt.lname) as ptname,a.ward,w.name as wname,b.bedno
       ,r.drugusage,pty.name as pttype,r.med_rx_number,du.name1,du.name2,du.name3
       ,r.qty,r.med_interval_type_id,met.interval_name as inname,r.orderstatus,dr.name,med.orderdate,med.offdate
       ,pt.drugallergy,dr.units , i.entry_staff , doc.name as stname, a.age_y, a.age_m, a.age_d, k.prediag
       ,os.bw ,os.height,if(du.name1 is not null ,du.name1,du.common_name) as drugusename1
       ,if(du.name2 is not null,du.name2,'') as drugusename2,if(du.name3 is not null,du.name3,'')as drugusename3
       ,(k.bw/1000) as bw_1 ,med.med_plan_number,
       pt.birthday,now()as today,dr.hintcode_eng,med.orderdate,
timestampdiff(year,pt.birthday,curdate()) as count_year,
timestampdiff(month,pt.birthday,curdate())-(timestampdiff(year,pt.birthday,curdate())*12) as count_month,
timestampdiff(day,date_add(pt.birthday,interval (timestampdiff(month,pt.birthday,curdate())) month),curdate()) as count_day
from ipd_mar r

          left outer join drugitems dr on dr.icode=r.icode
 left outer join an_stat a on a.an=r.an
  left outer join opitemrece op on op.an=a.an       
 left outer join drugusage du on du.drugusage=op.drugusage
          left outer join an_stat a on a.an=r.an
          left outer join patient pt on pt.hn=a.hn
          left outer join ward w on w.ward=a.ward
          left outer join iptadm b on b.an=r.an
          left outer join pttype pty on pty.pttype=a.pttype
          left outer join med_interval_type met on met.med_interval_type_id=r.med_interval_type_id
          left outer join ipt_order_no i on i.order_no = r.med_rx_number
          left outer join doctor doc on doc.code = i.entry_staff
          left outer join ipt k on k.an=r.an
          left outer join opdscreen os on os.vn=a.vn
          left outer join medpay_ipd medp on medp.icode = r.icode  and medp.med_rx_number = r.med_rx_number
          left outer join medplan_ipd  med  on med.icode=r.icode and med.med_plan_number  = medp.med_plan_number         
where r.med_rx_number='895654'  and r.icode <'2000000' and r.icode not in('1900273','1900274','1900623')
order by r.orderstatus
 

ออฟไลน์ asawincyber

  • Hero Member
  • *****
  • กระทู้: 1,011
  • สู้ต่อไป ทาเกชิ
  • Respect: 0
    • ดูรายละเอียด
    • http://www.okhospital.net
Re: ขอความช่วยเหลือค่ะ...ปรับแก้IPD-MAR
« ตอบกลับ #1 เมื่อ: กรกฎาคม 02, 2013, 10:57:07 AM »
0
ลบบรรทัดนี้ออกแล้วรอง run ดูครับ
เสน่ห์  คงมูล (เอก)
โรงพยาบาลองครักษ์ อ.องครักษ์ จ.นครนายก
HOSxP  3.56.2.26  Activate License
Server : DELL T710 Xeon 5500 Ram 64Gb (16 X 4GB) 10600R Centos 5.5 64 bit MySQL 5.5.11 percona By อ.อ็อด
Server : IBM X3400 2.4 Ghz. Ram 4Gb. Centos 5.5 64 bit MySQL 5.5.11 percona By อ.อ็อด

ออฟไลน์ asawincyber

  • Hero Member
  • *****
  • กระทู้: 1,011
  • สู้ต่อไป ทาเกชิ
  • Respect: 0
    • ดูรายละเอียด
    • http://www.okhospital.net
Re: ขอความช่วยเหลือค่ะ...ปรับแก้IPD-MAR
« ตอบกลับ #2 เมื่อ: กรกฎาคม 02, 2013, 10:59:04 AM »
0
select r.an,r.icode,r.mar_time,r.mar_date,concat(dr.name,'  ',dr.strength ) as drname,dr.units,a.hn,
       concat(pt.pname,' ',pt.fname,'   ',pt.lname) as ptname,a.ward,w.name as wname,b.bedno
       ,r.drugusage,pty.name as pttype,r.med_rx_number,concat(du.name1," ",du.name2," ",du.name3) as dd
       ,r.qty,r.med_interval_type_id,met.interval_name as inname,r.orderstatus,sp.name1,sp.name2
       ,sp.name3,dr.ename,med.orderdate,med.offdate
       ,pt.drugallergy,dr.units , i.entry_staff , doc.name as stname, a.age_y, a.age_m, a.age_d, k.prediag,du.shortlist
       ,os.bw ,os.height,r.sp_use,if(sp.name1 is not null ,sp.name1,du.common_name) as drugusename1
       ,if(sp.name2 is not null,sp.name2,'') as drugusename2,if(sp.name3 is not null,sp.name3,'')as drugusename3
       ,(k.bw/1000) as bw_1 ,med.med_plan_number,
       pt.birthday,now()as today,dr.hintcode_eng,med.orderdate,
timestampdiff(year,pt.birthday,curdate()) as count_year,
timestampdiff(month,pt.birthday,curdate())-(timestampdiff(year,pt.birthday,curdate())*12) as count_month,
timestampdiff(day,date_add(pt.birthday,interval (timestampdiff(month,pt.birthday,curdate())) month),curdate()) as count_day
from ipd_mar r

          left outer join drugitems dr on dr.icode=r.icode
          left outer join drugusage du on du.drugusage=r.drugusage
          left outer join an_stat a on a.an=r.an
          left outer join patient pt on pt.hn=a.hn
          left outer join ward w on w.ward=a.ward
          left outer join iptadm b on b.an=r.an
          left outer join pttype pty on pty.pttype=a.pttype
          left outer join med_interval_type met on met.med_interval_type_id=r.med_interval_type_id
          left outer join sp_use sp on sp.sp_use=r.sp_use
          left outer join ipt_order_no i on i.order_no = r.med_rx_number
          left outer join doctor doc on doc.code = i.entry_staff
          left outer join ipt k on k.an=r.an
          left outer join opdscreen os on os.vn=a.vn
          left outer join medpay_ipd medp on medp.icode = r.icode  and medp.med_rx_number = r.med_rx_number
          and medp.drugusage = r.drugusage and  medp.sp_use = r.sp_use
          left outer join medplan_ipd  med  on med.icode=r.icode and med.med_plan_number  = medp.med_plan_number         
where r.med_rx_number="90089"  and r.icode <'2000000' and r.icode not in('1900273','1900274','1900623')
order by r.orderstatus


อันนี้รองดู
เสน่ห์  คงมูล (เอก)
โรงพยาบาลองครักษ์ อ.องครักษ์ จ.นครนายก
HOSxP  3.56.2.26  Activate License
Server : DELL T710 Xeon 5500 Ram 64Gb (16 X 4GB) 10600R Centos 5.5 64 bit MySQL 5.5.11 percona By อ.อ็อด
Server : IBM X3400 2.4 Ghz. Ram 4Gb. Centos 5.5 64 bit MySQL 5.5.11 percona By อ.อ็อด

ออฟไลน์ realaerm

  • Full Member
  • ***
  • กระทู้: 152
  • Aerm
  • Respect: +1
    • ดูรายละเอียด
Re: ขอความช่วยเหลือค่ะ...ปรับแก้IPD-MAR
« ตอบกลับ #3 เมื่อ: กรกฎาคม 02, 2013, 10:59:32 AM »
0
รบกวนอาจารย์ทุกท่านด้วยนะคะ จะปรับแก้รายงานในส่วนของ drugusage ให้ดึงมาจากตาราง opitemrece ค่ะ
จะต้องปรับแก้ตรงไหนบ้างคะ (ลองปรับหลายรอบแล้วค่ะ ยังไม่ได้)

โค้ดตามนี้ค่ะ..

select r.an,r.icode,r.mar_time,r.mar_date,concat(dr.name,'  ',dr.strength ) as drname,dr.units,a.hn,
       concat(pt.pname,' ',pt.fname,'   ',pt.lname) as ptname,a.ward,w.name as wname,b.bedno
       ,r.drugusage,pty.name as pttype,r.med_rx_number,du.name1,du.name2,du.name3
       ,r.qty,r.med_interval_type_id,met.interval_name as inname,r.orderstatus,dr.name,med.orderdate,med.offdate
       ,pt.drugallergy,dr.units , i.entry_staff , doc.name as stname, a.age_y, a.age_m, a.age_d, k.prediag
       ,os.bw ,os.height,if(du.name1 is not null ,du.name1,du.common_name) as drugusename1
       ,if(du.name2 is not null,du.name2,'') as drugusename2,if(du.name3 is not null,du.name3,'')as drugusename3
       ,(k.bw/1000) as bw_1 ,med.med_plan_number,
       pt.birthday,now()as today,dr.hintcode_eng,med.orderdate,
timestampdiff(year,pt.birthday,curdate()) as count_year,
timestampdiff(month,pt.birthday,curdate())-(timestampdiff(year,pt.birthday,curdate())*12) as count_month,
timestampdiff(day,date_add(pt.birthday,interval (timestampdiff(month,pt.birthday,curdate())) month),curdate()) as count_day
from ipd_mar r

          left outer join drugitems dr on dr.icode=r.icode
 left outer join an_stat a on a.an=r.an
  left outer join opitemrece op on op.an=a.an       
 left outer join drugusage du on du.drugusage=op.drugusage
          left outer join an_stat a on a.an=r.an
          left outer join patient pt on pt.hn=a.hn
          left outer join ward w on w.ward=a.ward
          left outer join iptadm b on b.an=r.an
          left outer join pttype pty on pty.pttype=a.pttype
          left outer join med_interval_type met on met.med_interval_type_id=r.med_interval_type_id
          left outer join ipt_order_no i on i.order_no = r.med_rx_number
          left outer join doctor doc on doc.code = i.entry_staff
          left outer join ipt k on k.an=r.an
          left outer join opdscreen os on os.vn=a.vn
          left outer join medpay_ipd medp on medp.icode = r.icode  and medp.med_rx_number = r.med_rx_number
          left outer join medplan_ipd  med  on med.icode=r.icode and med.med_plan_number  = medp.med_plan_number         
where r.med_rx_number='895654'  and r.icode <'2000000' and r.icode not in('1900273','1900274','1900623')
order by r.orderstatus
 

select r.an,r.icode,r.mar_time,r.mar_date,concat(dr.name,'  ',dr.strength ) as drname,dr.units,a.hn,
       concat(pt.pname,' ',pt.fname,'   ',pt.lname) as ptname,a.ward,w.name as wname,b.bedno
       ,r.drugusage
       ,if(op.drugusage is not null,concat(du.name1,du.name2,du.name3),concat(sp.name1,sp.name2,sp.name3))as opi_drugusage
       ,pty.name as pttype,r.med_rx_number,du.name1,du.name2,du.name3
       ,r.qty,r.med_interval_type_id,met.interval_name as inname,r.orderstatus,dr.name,med.orderdate,med.offdate
       ,pt.drugallergy,dr.units , i.entry_staff , doc.name as stname, a.age_y, a.age_m, a.age_d, k.prediag
       ,os.bw ,os.height,if(du.name1 is not null ,du.name1,du.common_name) as drugusename1
       ,if(du.name2 is not null,du.name2,'') as drugusename2,if(du.name3 is not null,du.name3,'')as drugusename3
       ,(k.bw/1000) as bw_1 ,med.med_plan_number,
       pt.birthday,now()as today,dr.hintcode_eng,med.orderdate,
timestampdiff(year,pt.birthday,curdate()) as count_year,
timestampdiff(month,pt.birthday,curdate())-(timestampdiff(year,pt.birthday,curdate())*12) as count_month,
timestampdiff(day,date_add(pt.birthday,interval (timestampdiff(month,pt.birthday,curdate())) month),curdate()) as count_day
from ipd_mar r

          left outer join drugitems dr on dr.icode=r.icode
 left outer join an_stat a on a.an=r.an
  left outer join opitemrece op on op.an=a.an
 left outer join drugusage du on du.drugusage=op.drugusage
 left outer join sp_use sp on op.sp_use=sp.sp_use
          left outer join patient pt on pt.hn=a.hn
          left outer join ward w on w.ward=a.ward
          left outer join iptadm b on b.an=r.an
          left outer join pttype pty on pty.pttype=a.pttype
          left outer join med_interval_type met on met.med_interval_type_id=r.med_interval_type_id
          left outer join ipt_order_no i on i.order_no = r.med_rx_number
          left outer join doctor doc on doc.code = i.entry_staff
          left outer join ipt k on k.an=r.an
          left outer join opdscreen os on os.vn=a.vn
          left outer join medpay_ipd medp on medp.icode = r.icode  and medp.med_rx_number = r.med_rx_number
          left outer join medplan_ipd  med  on med.icode=r.icode and med.med_plan_number  = medp.med_plan_number
where r.med_rx_number='895654'  and r.icode <'2000000' and r.icode not in('1900273','1900274','1900623')
order by r.orderstatus


ลองดูนะครับ
---------------------------------------------------------
Mr. Sitichart  Wongyuttanapong
Inventory  Team
---------------------------------------------------------
Bangkok  Medical  Software  Co,.Ltd
---------------------------------------------------------

ออฟไลน์ asawincyber

  • Hero Member
  • *****
  • กระทู้: 1,011
  • สู้ต่อไป ทาเกชิ
  • Respect: 0
    • ดูรายละเอียด
    • http://www.okhospital.net
Re: ขอความช่วยเหลือค่ะ...ปรับแก้IPD-MAR
« ตอบกลับ #4 เมื่อ: กรกฎาคม 02, 2013, 11:03:11 AM »
0
เจ้าหน้าที่ BMS ไวจริงแท้  ;D ;D
เสน่ห์  คงมูล (เอก)
โรงพยาบาลองครักษ์ อ.องครักษ์ จ.นครนายก
HOSxP  3.56.2.26  Activate License
Server : DELL T710 Xeon 5500 Ram 64Gb (16 X 4GB) 10600R Centos 5.5 64 bit MySQL 5.5.11 percona By อ.อ็อด
Server : IBM X3400 2.4 Ghz. Ram 4Gb. Centos 5.5 64 bit MySQL 5.5.11 percona By อ.อ็อด

ออฟไลน์ rapassaya

  • Newbie
  • *
  • กระทู้: 46
  • Respect: 0
    • ดูรายละเอียด
Re: ขอความช่วยเหลือค่ะ...ปรับแก้IPD-MAR
« ตอบกลับ #5 เมื่อ: กรกฎาคม 02, 2013, 11:19:52 AM »
0
ขอบคุณมากเลยค่ะ จะลองดูนะคะ

ออฟไลน์ realaerm

  • Full Member
  • ***
  • กระทู้: 152
  • Aerm
  • Respect: +1
    • ดูรายละเอียด
Re: ขอความช่วยเหลือค่ะ...ปรับแก้IPD-MAR
« ตอบกลับ #6 เมื่อ: กรกฎาคม 02, 2013, 11:28:35 AM »
0
เจ้าหน้าที่ BMS ไวจริงแท้  ;D ;D

คุณเอกยังไวกว่าผมครับ  ;D
---------------------------------------------------------
Mr. Sitichart  Wongyuttanapong
Inventory  Team
---------------------------------------------------------
Bangkok  Medical  Software  Co,.Ltd
---------------------------------------------------------

ออฟไลน์ rapassaya

  • Newbie
  • *
  • กระทู้: 46
  • Respect: 0
    • ดูรายละเอียด
Re: ขอความช่วยเหลือค่ะ...ปรับแก้IPD-MAR
« ตอบกลับ #7 เมื่อ: กรกฎาคม 02, 2013, 13:17:52 PM »
0
select r.an,r.icode,r.mar_time,r.mar_date,concat(dr.name,'  ',dr.strength ) as drname,dr.units,a.hn,
       concat(pt.pname,' ',pt.fname,'   ',pt.lname) as ptname,a.ward,w.name as wname,b.bedno
       ,r.drugusage,pty.name as pttype,r.med_rx_number,concat(du.name1," ",du.name2," ",du.name3) as dd
       ,r.qty,r.med_interval_type_id,met.interval_name as inname,r.orderstatus,sp.name1,sp.name2
       ,sp.name3,dr.ename,med.orderdate,med.offdate
       ,pt.drugallergy,dr.units , i.entry_staff , doc.name as stname, a.age_y, a.age_m, a.age_d, k.prediag,du.shortlist
       ,os.bw ,os.height,r.sp_use,if(sp.name1 is not null ,sp.name1,du.common_name) as drugusename1
       ,if(sp.name2 is not null,sp.name2,'') as drugusename2,if(sp.name3 is not null,sp.name3,'')as drugusename3
       ,(k.bw/1000) as bw_1 ,med.med_plan_number,
       pt.birthday,now()as today,dr.hintcode_eng,med.orderdate,
timestampdiff(year,pt.birthday,curdate()) as count_year,
timestampdiff(month,pt.birthday,curdate())-(timestampdiff(year,pt.birthday,curdate())*12) as count_month,
timestampdiff(day,date_add(pt.birthday,interval (timestampdiff(month,pt.birthday,curdate())) month),curdate()) as count_day
from ipd_mar r

          left outer join drugitems dr on dr.icode=r.icode
          left outer join drugusage du on du.drugusage=r.drugusage
          left outer join an_stat a on a.an=r.an
          left outer join patient pt on pt.hn=a.hn
          left outer join ward w on w.ward=a.ward
          left outer join iptadm b on b.an=r.an
          left outer join pttype pty on pty.pttype=a.pttype
          left outer join med_interval_type met on met.med_interval_type_id=r.med_interval_type_id
          left outer join sp_use sp on sp.sp_use=r.sp_use
          left outer join ipt_order_no i on i.order_no = r.med_rx_number
          left outer join doctor doc on doc.code = i.entry_staff
          left outer join ipt k on k.an=r.an
          left outer join opdscreen os on os.vn=a.vn
          left outer join medpay_ipd medp on medp.icode = r.icode  and medp.med_rx_number = r.med_rx_number
          and medp.drugusage = r.drugusage and  medp.sp_use = r.sp_use
          left outer join medplan_ipd  med  on med.icode=r.icode and med.med_plan_number  = medp.med_plan_number         
where r.med_rx_number="90089"  and r.icode <'2000000' and r.icode not in('1900273','1900274','1900623')
order by r.orderstatus


อันนี้รองดู



ลองดูแล้วไม่ได้ค่ะ  โค้ดเดิมเป็นแบบนี้นะคะ (แต่พอดีในตาราง ipd_mar ฟิลด์ drugusage กับ sp_use มีข้อมูลไม่ครบค่ะ) เลยอยากจะดึงวิธีใช้ยาจากตาราง opitemrece แทน จะแก้ตรงไหนบ้างคะ?

select r.an,r.icode,r.mar_time,r.mar_date,concat(dr.name,'  ',dr.strength ) as drname,dr.units,a.hn,
       concat(pt.pname,' ',pt.fname,'   ',pt.lname) as ptname,a.ward,w.name as wname,b.bedno
       ,r.drugusage,pty.name as pttype,r.med_rx_number,du.name1,du.name2,du.name3
       ,r.qty,r.med_interval_type_id,met.interval_name as inname,r.orderstatus,sp.name1,sp.name2
       ,sp.name3,dr.name,med.orderdate,med.offdate
       ,pt.drugallergy,dr.units , i.entry_staff , doc.name as stname, a.age_y, a.age_m, a.age_d, k.prediag
       ,os.bw ,os.height,if(sp.name1 is not null ,sp.name1,du.common_name) as drugusename1
       ,if(sp.name2 is not null,sp.name2,'') as drugusename2,if(sp.name3 is not null,sp.name3,'')as drugusename3
       ,(k.bw/1000) as bw_1 ,med.med_plan_number,
       pt.birthday,now()as today,dr.hintcode_eng,med.orderdate,
timestampdiff(year,pt.birthday,curdate()) as count_year,
timestampdiff(month,pt.birthday,curdate())-(timestampdiff(year,pt.birthday,curdate())*12) as count_month,
timestampdiff(day,date_add(pt.birthday,interval (timestampdiff(month,pt.birthday,curdate())) month),curdate()) as count_day
from ipd_mar r

          left outer join drugitems dr on dr.icode=r.icode
          left outer join drugusage du on du.drugusage=r.drugusage
          left outer join an_stat a on a.an=r.an
          left outer join patient pt on pt.hn=a.hn
          left outer join ward w on w.ward=a.ward
          left outer join iptadm b on b.an=r.an
          left outer join pttype pty on pty.pttype=a.pttype
          left outer join med_interval_type met on met.med_interval_type_id=r.med_interval_type_id
          left outer join sp_use sp on sp.sp_use=r.sp_use
          left outer join ipt_order_no i on i.order_no = r.med_rx_number
          left outer join doctor doc on doc.code = i.entry_staff
          left outer join ipt k on k.an=r.an
          left outer join opdscreen os on os.vn=a.vn
          left outer join medpay_ipd medp on medp.icode = r.icode  and medp.med_rx_number = r.med_rx_number
          and medp.drugusage = r.drugusage and  medp.sp_use = r.sp_use
          left outer join medplan_ipd  med  on med.icode=r.icode and med.med_plan_number  = medp.med_plan_number         
where r.med_rx_number='895654'  and r.icode <'2000000' and r.icode not in('1900273','1900274','1900623')
order by r.orderstatus

ออฟไลน์ rapassaya

  • Newbie
  • *
  • กระทู้: 46
  • Respect: 0
    • ดูรายละเอียด
Re: ขอความช่วยเหลือค่ะ...ปรับแก้IPD-MAR
« ตอบกลับ #8 เมื่อ: กรกฎาคม 02, 2013, 13:23:09 PM »
0
IPD-MAR

ออฟไลน์ realaerm

  • Full Member
  • ***
  • กระทู้: 152
  • Aerm
  • Respect: +1
    • ดูรายละเอียด
Re: ขอความช่วยเหลือค่ะ...ปรับแก้IPD-MAR
« ตอบกลับ #9 เมื่อ: กรกฎาคม 02, 2013, 13:33:03 PM »
0
คำสั่งที่ผมให้ไปดึง drugusage และ sp_use ที่ opitemrece แล้วนี่ครับ ที่ฟิลที่ชื่อ opi_drugusage
---------------------------------------------------------
Mr. Sitichart  Wongyuttanapong
Inventory  Team
---------------------------------------------------------
Bangkok  Medical  Software  Co,.Ltd
---------------------------------------------------------

ออฟไลน์ rapassaya

  • Newbie
  • *
  • กระทู้: 46
  • Respect: 0
    • ดูรายละเอียด
Re: ขอความช่วยเหลือค่ะ...ปรับแก้IPD-MAR
« ตอบกลับ #10 เมื่อ: กรกฎาคม 02, 2013, 13:52:03 PM »
0
คำสั่งที่ผมให้ไปดึง drugusage และ sp_use ที่ opitemrece แล้วนี่ครับ ที่ฟิลที่ชื่อ opi_drugusage

พอสั่งพิมพ์แล้วรายการยาซ้ำค่ะ