BMS-HOSxP Community

HOSxP => Report Exchange => ข้อความที่เริ่มโดย: [-_เอ็ม_-] ที่ ตุลาคม 05, 2009, 22:12:23 PM

หัวข้อ: รายงาน Re-visit ใน 24 ชั่วโมง
เริ่มหัวข้อโดย: [-_เอ็ม_-] ที่ ตุลาคม 05, 2009, 22:12:23 PM
เอามาแจก และให้ทดสอบครับ เป็นรายงานการ Re-Visit ของ
ผู้ป่วยนอกทั้งหมดครับ รูปร่างหน้าตาคร่าวๆ ดังรูปครับ

คิดว่ามีข้อบกพร่อง แน่นอน (น้อมรับคำแนะนำเสมอครับ) ถ้าไม่มีก็แล้วไปครับ
ผมเอาจากในบอร์ดนี้ มา พัฒนาต่อครับ หัดเขียนไปเรื่อยๆ เผื่อจะเก่งเหมือน
ท่านเทพในบอร์ดแห่งนี้บ้าง

หวังว่าคงเป็นแนวทางสำหรับท่านที่กำลังหัดเขียน Report เหมือนกัน
หรือท่านที่นำไปใช้นะครับ  แก้ไข ต่อเติมได้ ไม่ว่ากัน แต่อย่าลืม
เอามาแจกกันต่อด้วยนะครับ  ;)  :D  ;D
หัวข้อ: Re: รายงาน Re-visit ใน 24 ชั่วโมง
เริ่มหัวข้อโดย: asawincyber ที่ ตุลาคม 06, 2009, 07:17:00 AM
สู้ต่อไป ทาเกชิ  ;D ;D
หัวข้อ: Re: รายงาน Re-visit ใน 24 ชั่วโมง
เริ่มหัวข้อโดย: โรงพยาบาลหนองแค ที่ ตุลาคม 06, 2009, 09:45:11 AM
ขอบคุณมากครับ
หัวข้อ: Re: รายงาน Re-visit ใน 24 ชั่วโมง
เริ่มหัวข้อโดย: chimchang ที่ ตุลาคม 06, 2009, 12:28:31 PM
 :)ขอบคุณครับผม
หัวข้อ: Re: รายงาน Re-visit ใน 24 ชั่วโมง
เริ่มหัวข้อโดย: npk_songdao ที่ ตุลาคม 06, 2009, 12:43:35 PM
ขอบคุณมากค่ะ   :D
หัวข้อ: Re: รายงาน Re-visit ใน 24 ชั่วโมง
เริ่มหัวข้อโดย: siemens ที่ ตุลาคม 13, 2009, 10:20:50 AM
ลองแก้ไข+เพิ่มเติม เป็นรายงาน revisit in 48 hr. กับ เลือก diag 2 แบบ - diag เดียวกัน กับ คนละ diag ในแต่ละ revisit

' revisit in 48 hr, diag เดียวกัน

select op.vn as vn_1,op.vstdate as d1,i1.name as icdname_1,d1.name as doctor_name1,
 concat(p.pname,"",p.fname,"  ",p.lname) as ptname ,
 v.hn,count(v.hn),
op2.vn as vn_2,op2.vstdate as d2,op.vsttime as time_1,op2.vsttime as time_2, i2.name as icdname_2, d2.name as doctor_name2 ,
(((to_days(op2.vstdate)*24)- ((to_days(op.vstdate)*24)) + (( time_to_sec(op2.vsttime))/3600)) - (( time_to_sec(op.vsttime))/3600))
as revist_time
from opitemrece op
left outer join vn_stat v on v.vn=op.vn
left outer join ovst o on o.hn=v.hn  and o.vn > v.vn  and o.vn is not null
left outer join vn_stat v2 on v2.vn=o.vn
left outer join opitemrece op2 on o.vn=op2.vn and  op2.vn is not null
left outer join icd101 i1 on i1.code=v.pdx
left outer join icd101 i2 on i2.code=v2.pdx
left outer join doctor d1 on d1.code=v.dx_doctor
left outer join doctor d2 on d2.code=v2.dx_doctor
left outer join patient p on p.hn=o.hn 
where op.vstdate between'2009-03-01'and'2009-03-01'
 and (((to_days(op2.vstdate)*24)- ((to_days(op.vstdate)*24)) + (( time_to_sec(op2.vsttime))/3600)) - (( time_to_sec(op.vsttime))/3600)) between 0.001 and 48  
and v.pdx=v2.pdx
group by v.hn
having count(v.hn)>1
order by op.vstdate

...............................................................

' revisit in 48 hr, คนละ diag 


select op.vn as vn_1,op.vstdate as d1,i1.name as icdname_1,d1.name as doctor_name1,
 concat(p.pname,"",p.fname,"  ",p.lname) as ptname ,
 v.hn,count(v.hn),
op2.vn as vn_2,op2.vstdate as d2,op.vsttime as time_1,op2.vsttime as time_2, i2.name as icdname_2, d2.name as doctor_name2 ,
(((to_days(op2.vstdate)*24)- ((to_days(op.vstdate)*24)) + (( time_to_sec(op2.vsttime))/3600)) - (( time_to_sec(op.vsttime))/3600))
as revist_time
from opitemrece op
left outer join vn_stat v on v.vn=op.vn
left outer join ovst o on o.hn=v.hn  and o.vn > v.vn  and o.vn is not null
left outer join vn_stat v2 on v2.vn=o.vn
left outer join opitemrece op2 on o.vn=op2.vn and  op2.vn is not null
left outer join icd101 i1 on i1.code=v.pdx
left outer join icd101 i2 on i2.code=v2.pdx
left outer join doctor d1 on d1.code=v.dx_doctor
left outer join doctor d2 on d2.code=v2.dx_doctor
left outer join patient p on p.hn=o.hn 
where op.vstdate between'2009-03-01'and'2009-03-01'
 and (((to_days(op2.vstdate)*24)- ((to_days(op.vstdate)*24)) + (( time_to_sec(op2.vsttime))/3600)) - (( time_to_sec(op.vsttime))/3600)) between 0.001 and 48  
and v.pdx<>v2.pdx
group by v.hn
having count(v.hn)>1
order by op.vstdate

..........................................................................

// ลองรันดูนะครับ

ผมลองแล้วแต่ยังไม่ได้ลองทานสอบกับ database แบบ manual ดู 
หัวข้อ: Re: รายงาน Re-visit ใน 24 ชั่วโมง
เริ่มหัวข้อโดย: thannawe ที่ ตุลาคม 13, 2009, 13:30:28 PM
ลองแก้ไข+เพิ่มเติม เป็นรายงาน revisit in 48 hr. กับ เลือก diag 2 แบบ - diag เดียวกัน กับ คนละ diag ในแต่ละ revisit

' revisit in 48 hr, diag เดียวกัน

select op.vn as vn_1,op.vstdate as d1,i1.name as icdname_1,d1.name as doctor_name1,
 concat(p.pname,"",p.fname,"  ",p.lname) as ptname ,
 v.hn,count(v.hn),
op2.vn as vn_2,op2.vstdate as d2,op.vsttime as time_1,op2.vsttime as time_2, i2.name as icdname_2, d2.name as doctor_name2 ,
(((to_days(op2.vstdate)*24)- ((to_days(op.vstdate)*24)) + (( time_to_sec(op2.vsttime))/3600)) - (( time_to_sec(op.vsttime))/3600))
as revist_time
from opitemrece op
left outer join vn_stat v on v.vn=op.vn
left outer join ovst o on o.hn=v.hn  and o.vn > v.vn  and o.vn is not null
left outer join vn_stat v2 on v2.vn=o.vn
left outer join opitemrece op2 on o.vn=op2.vn and  op2.vn is not null
left outer join icd101 i1 on i1.code=v.pdx
left outer join icd101 i2 on i2.code=v2.pdx
left outer join doctor d1 on d1.code=v.dx_doctor
left outer join doctor d2 on d2.code=v2.dx_doctor
left outer join patient p on p.hn=o.hn 
where op.vstdate between'2009-03-01'and'2009-03-01'
 and (((to_days(op2.vstdate)*24)- ((to_days(op.vstdate)*24)) + (( time_to_sec(op2.vsttime))/3600)) - (( time_to_sec(op.vsttime))/3600)) between 0.001 and 48  
and v.pdx=v2.pdx
group by v.hn
having count(v.hn)>1
order by op.vstdate

...............................................................

' revisit in 48 hr, คนละ diag 


select op.vn as vn_1,op.vstdate as d1,i1.name as icdname_1,d1.name as doctor_name1,
 concat(p.pname,"",p.fname,"  ",p.lname) as ptname ,
 v.hn,count(v.hn),
op2.vn as vn_2,op2.vstdate as d2,op.vsttime as time_1,op2.vsttime as time_2, i2.name as icdname_2, d2.name as doctor_name2 ,
(((to_days(op2.vstdate)*24)- ((to_days(op.vstdate)*24)) + (( time_to_sec(op2.vsttime))/3600)) - (( time_to_sec(op.vsttime))/3600))
as revist_time
from opitemrece op
left outer join vn_stat v on v.vn=op.vn
left outer join ovst o on o.hn=v.hn  and o.vn > v.vn  and o.vn is not null
left outer join vn_stat v2 on v2.vn=o.vn
left outer join opitemrece op2 on o.vn=op2.vn and  op2.vn is not null
left outer join icd101 i1 on i1.code=v.pdx
left outer join icd101 i2 on i2.code=v2.pdx
left outer join doctor d1 on d1.code=v.dx_doctor
left outer join doctor d2 on d2.code=v2.dx_doctor
left outer join patient p on p.hn=o.hn 
where op.vstdate between'2009-03-01'and'2009-03-01'
 and (((to_days(op2.vstdate)*24)- ((to_days(op.vstdate)*24)) + (( time_to_sec(op2.vsttime))/3600)) - (( time_to_sec(op.vsttime))/3600)) between 0.001 and 48  
and v.pdx<>v2.pdx
group by v.hn
having count(v.hn)>1
order by op.vstdate

..........................................................................

// ลองรันดูนะครับ

ผมลองแล้วแต่ยังไม่ได้ลองทานสอบกับ database แบบ manual ดู 

เยี่ยมครับ  :D
หัวข้อ: Re: รายงาน Re-visit ใน 24 ชั่วโมง
เริ่มหัวข้อโดย: udomchok ที่ พฤศจิกายน 24, 2009, 20:42:53 PM
ตรงเงื่อนไขต่าง ๆ เช่น จำนวนชั่วโมง หรือ diag ทำเป็นตัวแปรไว้ แล้วใช้การรับค่าจากผู้ใช้ จะได้ไม่ต้องมีรายงานหลายตัวครับ
หัวข้อ: Re: รายงาน Re-visit ใน 24 ชั่วโมง
เริ่มหัวข้อโดย: siemens ที่ พฤศจิกายน 26, 2009, 11:01:05 AM
ตรงเงื่อนไขต่าง ๆ เช่น จำนวนชั่วโมง หรือ diag ทำเป็นตัวแปรไว้ แล้วใช้การรับค่าจากผู้ใช้ จะได้ไม่ต้องมีรายงานหลายตัวครับ


อยากได้แบบตัวแปรเหมือนกันคับ แต่ยังเขียนไม่เป็น.......................... :'(

// เพื่อน ๆ สงเคราะห์ได้บ้างครับ?
หัวข้อ: Re: รายงาน Re-visit ใน 24 ชั่วโมง
เริ่มหัวข้อโดย: udomchok ที่ พฤศจิกายน 26, 2009, 19:46:59 PM
อยากได้แบบตัวแปรเหมือนกันคับ แต่ยังเขียนไม่เป็น.......................... :'(
// เพื่อน ๆ สงเคราะห์ได้บ้างครับ?
ลองศึกษาจาก http://hosxp.net/index.php?option=com_smf&Itemid=28&topic=12664.0 ครับ
หัวข้อ: Re: รายงาน Re-visit ใน 24 ชั่วโมง
เริ่มหัวข้อโดย: siemens ที่ พฤศจิกายน 27, 2009, 19:06:13 PM
อยากได้แบบตัวแปรเหมือนกันคับ แต่ยังเขียนไม่เป็น.......................... :'(
// เพื่อน ๆ สงเคราะห์ได้บ้างครับ?
ลองศึกษาจาก http://hosxp.net/index.php?option=com_smf&Itemid=28&topic=12664.0 ครับ

ขอบคุณครับ................. :) จะโหลดไปศึกษาดูครับ




หัวข้อ: Re: รายงาน Re-visit ใน 24 ชั่วโมง
เริ่มหัวข้อโดย: E-Hos ที่ กรกฎาคม 27, 2011, 16:24:30 PM
เอามาแจก และให้ทดสอบครับ เป็นรายงานการ Re-Visit ของ
ผู้ป่วยนอกทั้งหมดครับ รูปร่างหน้าตาคร่าวๆ ดังรูปครับ

คิดว่ามีข้อบกพร่อง แน่นอน (น้อมรับคำแนะนำเสมอครับ) ถ้าไม่มีก็แล้วไปครับ
ผมเอาจากในบอร์ดนี้ มา พัฒนาต่อครับ หัดเขียนไปเรื่อยๆ เผื่อจะเก่งเหมือน
ท่านเทพในบอร์ดแห่งนี้บ้าง

หวังว่าคงเป็นแนวทางสำหรับท่านที่กำลังหัดเขียน Report เหมือนกัน
หรือท่านที่นำไปใช้นะครับ  แก้ไข ต่อเติมได้ ไม่ว่ากัน แต่อย่าลืม
เอามาแจกกันต่อด้วยนะครับ  ;)  :D  ;D

 :D :D ขอบคุณครับ
ลองแก้ไข+เพิ่มเติม เป็นรายงาน revisit in 48 hr. กับ เลือก diag 2 แบบ - diag เดียวกัน กับ คนละ diag ในแต่ละ revisit

' revisit in 48 hr, diag เดียวกัน

select op.vn as vn_1,op.vstdate as d1,i1.name as icdname_1,d1.name as doctor_name1,
 concat(p.pname,"",p.fname,"  ",p.lname) as ptname ,
 v.hn,count(v.hn),
op2.vn as vn_2,op2.vstdate as d2,op.vsttime as time_1,op2.vsttime as time_2, i2.name as icdname_2, d2.name as doctor_name2 ,
(((to_days(op2.vstdate)*24)- ((to_days(op.vstdate)*24)) + (( time_to_sec(op2.vsttime))/3600)) - (( time_to_sec(op.vsttime))/3600))
as revist_time
from opitemrece op
left outer join vn_stat v on v.vn=op.vn
left outer join ovst o on o.hn=v.hn  and o.vn > v.vn  and o.vn is not null
left outer join vn_stat v2 on v2.vn=o.vn
left outer join opitemrece op2 on o.vn=op2.vn and  op2.vn is not null
left outer join icd101 i1 on i1.code=v.pdx
left outer join icd101 i2 on i2.code=v2.pdx
left outer join doctor d1 on d1.code=v.dx_doctor
left outer join doctor d2 on d2.code=v2.dx_doctor
left outer join patient p on p.hn=o.hn 
where op.vstdate between'2009-03-01'and'2009-03-01'
 and (((to_days(op2.vstdate)*24)- ((to_days(op.vstdate)*24)) + (( time_to_sec(op2.vsttime))/3600)) - (( time_to_sec(op.vsttime))/3600)) between 0.001 and 48  
and v.pdx=v2.pdx
group by v.hn
having count(v.hn)>1
order by op.vstdate

...............................................................

' revisit in 48 hr, คนละ diag 


select op.vn as vn_1,op.vstdate as d1,i1.name as icdname_1,d1.name as doctor_name1,
 concat(p.pname,"",p.fname,"  ",p.lname) as ptname ,
 v.hn,count(v.hn),
op2.vn as vn_2,op2.vstdate as d2,op.vsttime as time_1,op2.vsttime as time_2, i2.name as icdname_2, d2.name as doctor_name2 ,
(((to_days(op2.vstdate)*24)- ((to_days(op.vstdate)*24)) + (( time_to_sec(op2.vsttime))/3600)) - (( time_to_sec(op.vsttime))/3600))
as revist_time
from opitemrece op
left outer join vn_stat v on v.vn=op.vn
left outer join ovst o on o.hn=v.hn  and o.vn > v.vn  and o.vn is not null
left outer join vn_stat v2 on v2.vn=o.vn
left outer join opitemrece op2 on o.vn=op2.vn and  op2.vn is not null
left outer join icd101 i1 on i1.code=v.pdx
left outer join icd101 i2 on i2.code=v2.pdx
left outer join doctor d1 on d1.code=v.dx_doctor
left outer join doctor d2 on d2.code=v2.dx_doctor
left outer join patient p on p.hn=o.hn 
where op.vstdate between'2009-03-01'and'2009-03-01'
 and (((to_days(op2.vstdate)*24)- ((to_days(op.vstdate)*24)) + (( time_to_sec(op2.vsttime))/3600)) - (( time_to_sec(op.vsttime))/3600)) between 0.001 and 48  
and v.pdx<>v2.pdx
group by v.hn
having count(v.hn)>1
order by op.vstdate

..........................................................................

// ลองรันดูนะครับ

ผมลองแล้วแต่ยังไม่ได้ลองทานสอบกับ database แบบ manual ดู 


 ;D ;D ;D ขออนุญาติขุดกระทู้ขึ้นมาครับ คือหยั่งงี้ครับ อ.ทั้งหลาย
ถ้าจะเอา อับดับโรคที่มีการ  re visit 20 อันดับ
 จาก รายงานตัวนี้ครับ   ;D ;D ;D ;D
หัวข้อ: Re: รายงาน Re-visit ใน 24 ชั่วโมง
เริ่มหัวข้อโดย: nano ที่ ตุลาคม 16, 2012, 16:04:31 PM
48 ชั่วโมงต้องแก้ตรงไหนบ้างครับ....เป็นงงๆ ครับ
หัวข้อ: Re: รายงาน Re-visit ใน 24 ชั่วโมง
เริ่มหัวข้อโดย: เกื้อกูล ครับ.. ที่ ตุลาคม 16, 2012, 19:41:58 PM
48 ชั่วโมงต้องแก้ตรงไหนบ้างครับ....เป็นงงๆ ครับ

ลองดูทีี่ตาราง vn_stat ครับ..น่าจะมีคอลัมน์เก็บค่าชั่วโมงอยู่แล้ว  8) 8)