BMS-HOSxP Community
HOSxP => แจ้งปัญหา / ขอความช่วยเหลือ => ข้อความที่เริ่มโดย: Tigger ที่ เมษายน 27, 2011, 09:39:44 AM
-
พอดีลองเขียนดูแล้ว จาก an_stat ตัว lastvisit จะไม่ใช่จากโรคเดิมอ่ะ
จะเป็นจากครั้งล่าสุดที่มา ซึ่งอาจจะไม่ใช่โรคเดิม ถ้าอยากได้ re-admit
ด้วยโรคเดิม ใน 28 วันต้องดูจากอะไรค่ะ
-
พอดีลองเขียนดูแล้ว จาก an_stat ตัว lastvisit จะไม่ใช่จากโรคเดิมอ่ะ
จะเป็นจากครั้งล่าสุดที่มา ซึ่งอาจจะไม่ใช่โรคเดิม ถ้าอยากได้ re-admit
ด้วยโรคเดิม ใน 28 วันต้องดูจากอะไรค่ะ
ลองดูแบบนี้ครับ
select a.hn,a.an,b.an,concat(p.pname,p.fname," ",p.lname)as ptname,b.pdx as old_pdx,a.pdx,a.dx0,a.dx1,a.dx2,a.dx3,a.dx4,a.dx5,
a.regdate,a.dchdate,b.regdate,b.dchdate,a.age_y,a.age_m,a.age_d,a.aid,w.name,i.name as pdxname,a.lastvisit
from an_stat a
left outer join an_stat b on a.hn=b.hn and a.pdx=b.pdx and a.an>b.an
left outer join patient p on a.hn=p.hn
left outer join icd101 i on i.code=a.pdx
left outer join ipt ip on ip.an=a.an
left outer join ward w on w.ward=a.ward
where (a.dchdate between "2011-03-01" and "2011-03-31" ) and a.lastvisit <= "28"
and ((to_days(a.regdate))-(to_days(b.dchdate)))<="28"
and a.pdx is not null and a.pdx<>"" and a.pdx not like "Z%"
order by a.an
-
OK เลยค่ะ ขอบคุณมากนะคะ
-
ได้รับคำถามมาจาก ร.พ. แห่งหนึ่งครับ "อยากทราบโรค 5 อันดับแรกของการ re-admit 28 วัน"
ผมเอา SQL ของท่าน Nuttavut มาปรับเป็นดังนี้ครับ
select tempx1.pdx, tempx1.name, tempx1.cases
from
(select pdx, name, count(pdx) as cases
from
(select b.pdx, i.name
from an_stat a
left outer join an_stat b on a.hn=b.hn and a.pdx=b.pdx and a.an>b.an
left outer join icd101 i on i.code=a.pdx
left outer join ipt ip on ip.an=a.an
where (a.dchdate between "2011-01-01" and "2011-03-31" ) and a.lastvisit <= "28"
and ((to_days(a.regdate))-(to_days(b.dchdate)))<="28"
and a.pdx is not null and a.pdx<>"" and a.pdx not like "Z%") as temp
group by pdx
order by cases desc) as tempx1
join
(select cases, count(cases) as freq from(
select count(pdx) as cases
from
(select b.pdx, i.name
from an_stat a
left outer join an_stat b on a.hn=b.hn and a.pdx=b.pdx and a.an>b.an
left outer join icd101 i on i.code=a.pdx
left outer join ipt ip on ip.an=a.an
where (a.dchdate between "2011-01-01" and "2011-03-31" ) and a.lastvisit <= "28"
and ((to_days(a.regdate))-(to_days(b.dchdate)))<="28"
and a.pdx is not null and a.pdx<>"" and a.pdx not like "Z%") as temp
group by pdx
order by cases desc) as temp2
group by cases
order by cases desc
limit 5) as tempx2
on tempx1.cases =tempx2.cases
ใครลองเอาไปใช้แล้ว มีความเห็นอย่างไร ช่วยบอกหน่อยครับ ผฒจะดูว่าใครเห็นแบบที่ผมต้องการไหม
-
pdx สลับกัน
ครั้งแรก
pdx---> A
ครั้งที่สอง
pdx --> b
แบบนี้จะนับเป็น 28 ชม ด้วยหรือเปล่า
หรือว่าต้องตรวจสอบโรคด้วยว่าโรคเดิมหรือเปล่า
-
pdx สลับกัน
ครั้งแรก
pdx---> A
ครั้งที่สอง
pdx --> b
แบบนี้จะนับเป็น 28 ชม ด้วยหรือเปล่า
หรือว่าต้องตรวจสอบโรคด้วยว่าโรคเดิมหรือเปล่า
ดูตามรูปของ อ.nuttavut
-
บางทีโรคเดิม แต่คนละ Dx ได้นะครับ เช่น J449 กับ J448
ดังนั้น ที่ติ๊กตรง re-admitt ด้วยโรคเดิม ในหน้าจอ การลงทะเบียนผู้ป่วยใน ด้วย แน่นอน 100 %
-
บางทีโรคเดิม แต่คนละ Dx ได้นะครับ เช่น J449 กับ J448
ดังนั้น ที่ติ๊กตรง re-admitt ด้วยโรคเดิม ในหน้าจอ การลงทะเบียนผู้ป่วยใน ด้วย แน่นอน 100 %
แล้วถ้าลืม ติ๊กตรง re-admitt ด้วยโรคเดิม ก็จบ
-
ลองเอาไปดูครับหมอเอ็นดูแบบโรคดเดิมกับไม่ใช่โรคเดิมใส่ชั่วโมงเอาเอง