Mine

รูปภาพของฉัน
หาดใหญ่, ภาคใต้, Thailand
ชอบเอาใจ แต่ก็เอาแต่ใจ

วันอาทิตย์ที่ 20 มีนาคม พ.ศ. 2554

ตัวชี้วัดที่ 4 ร้อยละของคนไข้ที่ไม่ได้รับยาปฏิชีวนะ - สืบเนื่องจากลุง

สืบเนื่องจากลุงได้ post เอาไว้ ก็เลยนำมาเขียนต่อนิดหน่อย
http://www.hospital-os.com/th/phpbb/viewtopic.php?f=5&t=3009&p=17100#p17100

ตัวชี้วัดที่ 4 ร้อยละของคนไข้ที่ไม่ได้รับยาปฏิชีวนะ จุดประสงค์ ใช้เสริมตัวชี้วัดที่ 1 ในการประเมินผลกระทบของโครงการต่อพฤติกรรมการสั่งใช้ยาหน่วยวัด ร้อยละ

สูตรคำนวณ
4.1 ร้อยละของคนไข้หวัดเจ็บคอ(J069,J00......) ที่ไม่ได้รับยาปฏิชีวนะ
      = (จำนวนคนไข้หวัดเจ็บคอที่ไม่ได้รับยาปฏิชีวนะ x 100) / จำนวนคนไข้หวัดเจ็บคอทั้งหมด (J069,J00......)

4.2 ร้อยละของคนไข้ท้องเสียเฉียบพลัน (A09) ที่ไม่ได้รับยาปฏิชีวนะ
      = (จำนวนคนไข้ท้องเสียเฉียบพลันที่ไม่ได้รับยาปฏิชีวนะ x 100) / จำนวนคนไข้ท้องเสียเฉียบพลันทั้งหมด (A09)

4.3 ร้อยละของคนไข้ที่มีแผลสะอาดที่ไม่ได้รับยาปฏิชีวนะ
      = (จำนวนคนไข้ที่มีแผลสะอาดที่ไม่ได้รับยาปฏิชีวนะ x 100) / จำนวนคนไข้ที่มีแผลสะอาดทั้งหมด

จากสูตรคำนวณข้างต้นเราต้องวิเคราะห์ข้อมูลเพิ่มเติม

1. โรคที่เราสนใจบอกได้จาก ICD10 หรือไม่และตัวไหนบ้าง
โรคที่ 1
- J069 ( UPI )
- J009 ( หวัดใหญ่)
- J028 ( คออักเสบ )
- J039 ( ทอลซิลอักเสบ )
- H71 ( หูชั้นกลางอักเสบ ร้ายแรง )
- H652 (หูชั้นกลางอักเสบ เรื้องรัง )
- H654
- J01 ( ไซนัส , โพรงจมูกอักเสบ)

โรคที่ 2 ท้องเสีย
- U6980 ( ท้องเดิน , ท้องเสีย )
- A09 ( ท้องร่วง กระเพาะสำไล้ ติดเชื้อ)

โรคที่ 3 แผล
- L89 ( แผลกดทับ )
- W26 ( ถูกมีดบาด)
- U7062 ( แผลอักเสบ )
- L984 (แผลที่ผิวหนังเรื้อรัง )
- S601 ( แผลช้ำที่เล็บ )
- T019 (แผลเปิดหลายที่ )
- S517 ( แผลที่แขน )
- O901 (แผลที่ฝีเย็บแยก)
- O900 ( แผลผ่าตัดคลอดแยก )
- K501 (แผลในช่องปาก )
- O713 (แผลฉีกขาดปากมดลูก)
- V03 ( คนเดินถูกรถยนต์ชน)
- V234 ( ขับรถเครื่องชนรถยนต์ )
- V335 ( 3 ล้อ ชนรถยนต์ )
- V499 ( อุบัติเหตุรถชน)
- V23
- V13 ( รถจักรยาน & รถยนต์ )
- V63 ( รถใหญ่)
- V031
- S433 ( การบาดเจ็บ , รับสารพิษ )

2. ยาปฏิชีวนะ คือ item ไหนบ้าง ต้องตรวจสอบตาราง r_aric_antibiotic ซึ่งเป็นตารางที่เก็บรายการยาปฏิชีวนะ

Query จากลุงชุมสินมองเรื่องค่าใช้จ่าย เมื่อได้รับยาปฏิชีวนะ

--เงื่อนไขคือ จะต้องเพิ่ม จำนวน anti biotic ในรายการ aric ก่อน

select distinct
t_visit.visit_hn
,t_visit.visit_vn
,t_visit.f_visit_type_id
,t_order.order_common_name
,t_order.order_qty || ' ' || b_item_drug_uom.item_drug_uom_description as purch
,t_order.order_price
,t_order.order_cost as cosperU
,t_order.order_qty * cast(t_order.order_cost as numeric) as cost_per_item
,t_order.order_qty * cast(t_order.order_price as numeric) as price_per_item
from t_visit left join t_order
on t_visit.t_visit_id = t_order.t_visit_id and t_order.f_order_status_id not in ('0','3')
inner join t_order_drug
on t_order.t_order_id = t_order_drug.t_order_id
inner join b_item_drug_uom
on t_order_drug.b_item_drug_uom_id_purch = b_item_drug_uom.b_item_drug_uom_id
where substr(t_visit.visit_begin_visit_time,1,10) between substr('2553-10-01',1,10) and substr('2553-10-31',1,10)
and t_visit.f_visit_status_id <> '4'
and t_visit.f_visit_type_id = '0'
and t_order.b_item_id in (select r_aric_antibiotic.b_item_id from r_aric_antibiotic);

แต่ถ้าต้องการเขียน Query รายงานตามตัวชี้วัด ดังนี้


select
--หาก diag ตามเงื่อนไข when ให้แสดงข้อความตาม then
case when t_diag_icd10.diag_icd10_number in ('J06.9','J00.9','J02.8','J03.9','H71','H65.2','H65.4','J01')
         then 'ร้อยละของคนไข้หวัดเจ็บคอ(J069,J00......) ที่ไม่ได้รับยาปฏิชีวนะ'
        when t_diag_icd10.diag_icd10_number in ('U69.80','A09')
         then 'ร้อยละของคนไข้ท้องเสียเฉียบพลัน (A09) ที่ไม่ได้รับยาปฏิชีวนะ'
        when t_diag_icd10.diag_icd10_number in ('L89','W26','U70.62','L98.4','S60.1','T01.9','S51.7','O90.1','O90.0','K50.1','O71.3','V03','V23.4','V33.5','V49.9','V23','V13','V63','V03.1','S43.3')
         then 'ร้อยละของคนไข้ที่มีแผลสะอาดที่ไม่ได้รับยาปฏิชีวนะ'
         else ''
end as disease_kpi
,count(distinct t_visit.visit_vn) as count_visit
,count(distinct case when t_order.t_order_id is null
           then t_visit.visit_vn
           else null
           end) as count_not_anti
,(count(distinct case when t_order.t_order_id is null
                               then t_visit.visit_vn
                               else null
   end) * 100) / count(distinct t_visit.visit_vn)  || '%' || as percent
from t_visit inner join t_diag_icd10
on t_visit.t_visit_id = t_diag_icd10.diag_icd10_vn
left join t_order
on t_visit.t_visit_id = t_order.t_visit_id and t_order.f_order_status_id not in ('0','3')
       and t_order.b_item_id in (select r_aric_antibiotic.b_item_id from r_aric_antibiotic)
left join t_order_drug
on t_order.t_order_id = t_order_drug.t_order_id
left join b_item_drug_uom
on t_order_drug.b_item_drug_uom_id_purch = b_item_drug_uom.b_item_drug_uom_id
where
substr(t_visit.visit_begin_visit_time,1,10) between substr('2553-10-01',1,10) and substr('2553-12-31',1,10)
and t_visit.f_visit_status_id <> '4' and t_visit.f_visit_type_id = '0' and t_diag_icd10.diag_icd10_active = '1'
and (t_diag_icd10.diag_icd10_number in ('J06.9','J00.9','J02.8','J03.9','H71','H65.2','H65.4','J01')
       or t_diag_icd10.diag_icd10_number in ('U69.80','A09')
       or t_diag_icd10.diag_icd10_number in  ('L89','W26','U70.62','L98.4','S60.1','T01.9','S51.7','O90.1','O90.0','K50.1','O71.3','V03','V23.4','V33.5','V49.9','V23','V13','V63','V03.1','S43.3')

)
group by disease_kpi ;


อาจจะไม่ได้อธิบายมาก หากสงสัยตรงไหนก็ถามนะคะ หากไม่สงสัยก็นำไปใช้เลยละกัน  และอย่าลืมนะคะ ขอคำชี้แนะด้วยค่ะ .... โปรดติดตามตอนต่อไป -> "KPI ตาม Toward Clinical Excellence Network (TCEN) เราคงจัดการมันได้"

2 ความคิดเห็น:

  1. t_visit.visit_vn) || '%' || as percent
    อาจารยครับ || เกินมาคู่นึงครับ

    ตอบลบ
  2. ขอบคุณค่ะ ไม่บอกอายุไม่เชื่อเลยนะว่าแก่ ตาดีจริงๆ (หรือว่าสายตายาว อิอิ ล้อเล่นค่ะ) ขอบคุณนะคะ ไม่ error เลยไม่เอะใจ 555

    ตอบลบ