NCD_KPI2561

   ระบบตรวจสอบตัวชี้วัด SERVICE PLAN DMHT-CKD รายเรคคอร์ด

 @Views : 5,233

  KPI CKD 2.3 การชะลอความเสื่อมของไต ผู้ป่วยมีอัตราการลดลงของ eGFR < 4 ml/min/1.73 m2/yr ปีงบประมาณ 2562
หน้าหลัก
B: จำนวนผู้ป่วยโรคไตเรื้อรัง Stage 3-4 สัญชาติไทยที่มารับบริการที่โรงพยาบาลได้รับการตรวจ creatinine/มีผล eGFR ≥ 2 ค่า
A: จำนวนผู้ป่วยโรคไตเรื้อรัง Stage 3-4 สัญชาติไทยที่มารับบริการที่โรงพยาบาลได้รับการตรวจ creatinine/มีผล eGFR ≥ 2 ค่า และมีค่าเฉลี่ยการเปลี่ยนแปลง < 4
เกณฑ์ :   66.00
รหัสจังหวัด
จังหวัด
เป้าหมาย(B)
ผลงาน(A)
ร้อยละ(A/B)x100
40 ขอนแก่น 32 21 65.63
รหัสเครือข่าย
ชื่อเครือข่าย
เป้าหมาย(B)
ผลงาน(A)
ร้อยละ(A/B)x100
10999   โรงพยาบาลสีชมพู 5 1 20.00
11001   โรงพยาบาลอุบลรัตน์ 1 1 100.00
11003   โรงพยาบาลเปือยน้อย 2 0 0.00
11007   โรงพยาบาลหนองสองห้อง 5 2 40.00
11008   โรงพยาบาลภูเวียง 11 9 81.82
11009   โรงพยาบาลมัญจาคีรี 3 3 100.00
11010   โรงพยาบาลชนบท 5 5 100.00
 หน้าหลัก
 แหล่งข้อมูล :- HDC ขอนแก่น
สำนักงานสาธารณสุขจังหวัด ขอนแก่น
อัพเดท  2018-11-19 20:25:07

เงื่อนไข
 :SET @prov_c='%s'; SET @id:= '%s'; SET @cat_id := '%s'; SET @send := IF((SELECT active FROM sys_report WHERE cat_id = @cat_id and id = @id )=1,0,2); SET @b_year:=(SELECT yearprocess FROM pk_byear LIMIT 1); SET @start_d:=concat(@b_year-1,'1001'); SET @end_d:=concat(@b_year,'0930'); CREATE TABLE IF NOT EXISTS s_kpi_ckd_egfr ( id varchar(32) NOT NULL, hospcode varchar(5) NOT NULL, areacode varchar(8) NOT NULL, splevel varchar(2) DEFAULT NULL, flag_sent varchar(1) DEFAULT NULL, date_com varchar(14) DEFAULT NULL, b_year varchar(4) NOT NULL, target int(10) NOT NULL DEFAULT 0, result int(10) NOT NULL DEFAULT 0, PRIMARY KEY (id,hospcode,areacode,b_year), KEY (hospcode), KEY (areacode), KEY (b_year) ) ENGINE=MyISAM DEFAULT CHARSET=utf8; DELETE FROM s_kpi_ckd_egfr WHERE id=@id AND b_year=(@b_year+543); DROP TEMPORARY TABLE IF EXISTS ckd_egfr; CREATE TEMPORARY TABLE IF NOT EXISTS ckd_egfr( egfr_avg DECIMAL(10,2) DEFAULT NULL , PRIMARY KEY(hospcode,pid),KEY(hospcode,pid)) IGNORE AS SELECT i.* ,IF(s.egfr_d1>= i.min_datediag,s.egfr_d1,NULL) egfr_d1 ,IF(s.egfr_d2>= i.min_datediag,s.egfr_d2,NULL) egfr_d2 ,IF(s.egfr_d3>= i.min_datediag,s.egfr_d3,NULL) egfr_d3 ,IF(s.egfr_d4>= i.min_datediag,s.egfr_d4,NULL) egfr_d4 ,IF(s.egfr_d1>= i.min_datediag,s.egfr_r1,NULL) egfr_r1 ,IF(s.egfr_d2>= i.min_datediag,s.egfr_r2,NULL) egfr_r2 ,IF(s.egfr_d3>= i.min_datediag,s.egfr_r3,NULL) egfr_r3 ,IF(s.egfr_d4>= i.min_datediag,s.egfr_r4,NULL) egfr_r4 ,IF(s.egfr_d2>= i.min_datediag ,TIMESTAMPDIFF(day,s.egfr_d2,s.egfr_d1),NULL) day1 ,IF(s.egfr_d3>= i.min_datediag ,TIMESTAMPDIFF(day,s.egfr_d3,s.egfr_d2),NULL) day2 ,IF(s.egfr_d4>= i.min_datediag ,TIMESTAMPDIFF(day,s.egfr_d4,s.egfr_d3),NULL) day3 ,IF(s.egfr_d4>= i.min_datediag AND s.egfr_d4 is not null,4, IF(s.egfr_d3>= i.min_datediag AND s.egfr_d3 is not null,3, IF(s.egfr_d2>= i.min_datediag AND s.egfr_d2 is not null,2, IF(s.egfr_d1>= i.min_datediag AND s.egfr_d1 is not null,1,0 )))) egfrvisit,NULL AS egfr_avg FROM (SELECT i.HOSPCODE,i.PID ,IF(INSTR(GROUP_CONCAT(i.date_serv ORDER BY i.date_serv),',' ), SUBSTR(GROUP_CONCAT( i.date_serv ORDER BY i.date_serv),1 ,instr(GROUP_CONCAT(i.date_serv ORDER BY i.date_serv),',' )-1), GROUP_CONCAT(i.date_serv ORDER BY i.date_serv) ) min_datediag ,IF(INSTR(GROUP_CONCAT(i.date_serv ORDER BY i.date_serv),',' ), SUBSTR(GROUP_CONCAT(i.diagcode ORDER BY i.date_serv),1 ,instr(GROUP_CONCAT(i.diagcode ORDER BY i.date_serv),',' )-1), GROUP_CONCAT( i.diagcode ORDER BY i.date_serv) ) diagcode ,IF(INSTR(GROUP_CONCAT(i.date_serv ORDER BY i.date_serv),',' ), SUBSTR(GROUP_CONCAT(i.egfr_ok ORDER BY i.date_serv),1 ,instr(GROUP_CONCAT(i.egfr_ok ORDER BY i.date_serv),',' )-1), GROUP_CONCAT( i.egfr_ok ORDER BY i.date_serv) ) egfr FROM t_ckd_service i WHERE /*Stage3-4*/ ( LEFT( i.DIAGCODE,4) IN ('N183','N184') OR (LEFT( i.DIAGCODE,4) IN ('N189') AND ( i.egfr_ok<60 AND i.egfr_ok>=15)) OR ( (LEFT( DIAGCODE,4) IN ('E102','E112','E122','E132','E142','I151','N083') OR LEFT(diagcode,3) IN('I12','I13','N02','N03','N04','N05','N06','N07','N08','N11','N13','N14','N20','N21','N22','N23') ) AND ( i.egfr_ok<60 AND i.egfr_ok>=15) ) ) AND i.date_serv BETWEEN @start_d AND @end_d GROUP BY i.HOSPCODE,i.PID ) i INNER JOIN t_ckd_egfr s ON i.hospcode=s.hospcode AND i.pid=s.pid AND s.nation in(99) AND s.sumseq>1 INNER JOIN chospital h ON h.hoscode=s.HOSPCODE AND h.hdc_regist=1 AND h.provcode in(@prov_c) AND h.hostype IN(5,6,7,11,15); UPDATE ckd_egfr e SET e.egfr_avg= ROUND((((egfr_r2-egfr_r1) /day1))*365,2) WHERE e.egfrvisit = 2; UPDATE ckd_egfr e SET e.egfr_avg= ROUND(( ( ((egfr_r3-egfr_r2) /day2) + ((egfr_r2-egfr_r1) /day1) )/2 )*365,2) WHERE e.egfrvisit = 3; UPDATE ckd_egfr e SET e.egfr_avg= ROUND((( ((egfr_r4-egfr_r3) /day3) + ((egfr_r3-egfr_r2) /day2) + ((egfr_r2-egfr_r1) /day1) )/3)*365,2) WHERE e.egfrvisit > 3; INSERT IGNORE INTO s_kpi_ckd_egfr ( SELECT @id,s.HOSPCODE,CONCAT(h.provcode,h.distcode,h.subdistcode,SUBSTR(CONCAT('00',h.mu),-2)) areacode,NULL as splevel ,@send,DATE_FORMAT(now(),'%Y%m%d%H%i') as d_com,@b_year+543 as b_year ,COUNT(DISTINCT s.hospcode,s.pid) t ,COUNT(DISTINCT IF(s.egfr_avg <4 ,CONCAT(s.hospcode,'-',s.pid),null)) r FROM ckd_egfr s INNER JOIN chospital h ON h.hoscode=s.HOSPCODE AND h.hdc_regist=1 AND h.provcode in(@prov_c) AND h.hostype IN(5,6,7,11,15) WHERE s.egfrvisit>1 GROUP BY s.HOSPCODE );

หมายเหตุ :
 
จำนวนผู้ป่วยโรคไตเรื้อรัง Stage 3-4 หมายถึง ผู้ป่วยจากแฟ้ม DIAGNOSIS_OPD ที่มีรหัสโรคเป็น
1. N183-184 หรือ
2. N189,E102, E112, E122, E132, E142 ,I12*, I13*, I151, N083, N02*, N03*, N04*, N05*, N06*, N07*, N08*, N11*, N13*, N14*, N20*, N21*, N22*, N23* ที่มี 60 > eGFR>= 15
คำนวน Stage เมื่อสิ้นสุดไตรมาส
ผู้ป่วยจะต้องได้รับการตรวจ creatinine/มีผล eGFR ≥ 2 ค่า จึงจะถูกนำมาประเมินอัตราการลดลงของ eGFR ได้

เครดิต : HDC TEAM